Appendix A: eXtremeDB/rt

Motivation

For mission- and safety-critical systems software in avionics, autonomous systems, railroad, critical control systems, and the like, time is of the essence. These systems demand deterministic, predictable, fully controllable database management that complements modern real-time operating systems’ time and space partitioning and advanced real-time schedulers. Often non-interruptible and with stringent requirements on timely execution, these systems’ data management impose temporal constraints on critical data and transactions.

eXtremeDB/rt is the first of its kind commercial, supported, database management system designed to preserve the temporal validity of data through time-cognizant transaction processing that guarantees predictable execution of transactions. In simpler terms, eXtremeDB/rt is a deterministic, hard real-time database system.

Overview

eXtremeDB/rt extends conventional eXtremeDB transaction processing by adding semantics for, and enforcing, database transaction priorities and deadline scheduling. Like conventional eXtremeDB, eXtremeDB/rt is an embedded database management system that provides services for the storage, retrieval and manipulation of data. The differences lay in the temporal requirements of the managed data, transaction scheduling policies, timing constraints on transactions, and performance goals. Conventional eXtremeDB, like other ACID-compliant DBMSs, maintains the internal consistency of databases, preventing contradictory data in the same database. In addition to preserving internal consistency, eXtremeDB/rt safeguards the temporal consistency of data. The eXtremeDB/rt kernel exposes transaction deadline semantics through a real-time transaction manager that ensures that transactions can “meet” (successfully commit) or “miss” (successfully abort) their deadlines, but can never be “late” (run past their deadline) to commit or abort.

The eXtremeDB/rt kernel modifies the conventional eXtremeDB  kernel by making sure that all database kernel components are time-cognizant. The eXtremeDB/rt transaction scheduler offers a High Priority Earliest Deadline First (EDF) algorithm: transactions are scheduled for execution based on their priority and deadline, and a Priority Inheritance (PI) algorithm. Read here for additional information. The deadlines are enforced through a sophisticated rollback mechanism, that allows transactions to modify or retrieve data only if they are able to complete within the set deadlines. The database kernel identifies transactions destined to be “late”, interrupts them, and forces the rollback in time to satisfy the deadlines.