Mr. Graves co-founded McObject in 2001. As the company’s president and CEO, he has both spearheaded McObject’s growth and helped the company attain its goal of providing embedded database technology that makes embedded systems smarter, more reliable and more cost-effective to develop and maintain. Prior to McObject, Mr. Graves was president and chairman of Centura Solutions Corporation, and vice president of worldwide consulting for Centura Software Corporation (NASDAQ: CNTR); he also served as president and chief operating officer of Raima Corporation. Mr. Graves is a member of the advisory board for the University of Washington’s certificate program in Embedded and Real-time Systems Programming.
Historically, real-time systems and database systems have been like oil and water. The reason? Making an API call to a non-deterministic database system could cause a real-time task to exceed its deadline. Previously, real-time systems were not overly complex and could do without database support. Today, however, real-time systems’ tasks need to collect, aggregate, correlate and analyze data from disparate sources (sensor data fusion) and could benefit greatly from a shared repository. This MicroTalk will present a solution: adding time-cognizance to database transactions, and suitable transaction schedulers.
EBecause real-time databases remove the need for a real-time operating system and its scheduling guarantees.
Which mechanism did the speaker describe as enabling a real-time database to make reliable commit/abort decisions so transactions do not miss deadlines?
AImplementing a time-bounded transaction abort procedure that guarantees rollback time will not exceed apply time, allowing a commit/abort decision at T2/2.
BPreemptively killing any lower-priority tasks whenever a database transaction starts to reserve CPU for commit.
CRelying on extremely fast hardware so transactions always finish before deadlines without special abort procedures.
DAccepting late updates (eventual consistency) so deadline misses are tolerated by the system.
EBatching multiple transactions to increase throughput and hoping deadlines align with batch completion times.
How does Steven Graves recommend choosing a transaction-scheduling policy for a real-time database?
AEvaluate the system's operational characteristics and choose (or implement) the scheduler—EDF or priority-inheritance—that maximizes committed transactions for that workload.
BAlways use Earliest Deadline First (EDF) because ordering by deadline is always optimal for real-time databases.
CAlways use priority inheritance because it prevents priority inversion in every scenario, making it universally superior.
DUse a conventional non-real-time scheduler and rely on database speed to avoid deadline misses.
ESelect the scheduler that yields the highest average throughput, without considering deadline misses.