Select Page

eXtremeDB/rt: Adjustable to RTOS Scheduling for Temporal Data Consistency

Real-time operating systems use various techniques to achieve deterministic behavior and to complete tasks within predefined time windows. The eXtremeDB/rt transaction managers adapt to the underlying operating systems schedulers, yet do not make any assumptions about transactions patterns and/or the applications’ data flow. The schedulers can handle periodic and aperiodic transactions and do not require any execution-time estimates to enforce transaction deadlines. Consider, for example, ASTERIOS® which statically allocates execution time slices, and a CPU budget and defines the order for each running task at compile time. Then there is DEOS™ for which a thread is statically assigned a period of execution and the CPU budget (a predefined time slice within each period). Thread scheduling is dynamic though — a thread that attempts to exceed its CPU budget is (generally) preempted. Lastly, consider RTLinux, an extension to the Linux kernel that merely assists real-time tasks (tasks that must run with minimal latency and jitter) to finish within their assigned deadlines. Regardless of the approach, the RTOS interrupts the running task when it runs out of its allotted time slice. If the activities performed by the task were atomic, that would not present a problem for the application’s logic. In real life, though, there can be multiple logically related yet independent activities performed within a time slice. For example, the application could read a sensor value and then store that value in the database. Non-real time database systems can’t be used in this scenario because the database internals can be left in an inconsistent state if the time allotted to the task expires prior to the sensor value being fully committed to the database. eXtremeDB/rt, on the other hand, is able to adjust its transaction deadline to the operating system’s time slice so that the entire operation — the sensor access and the database access either succeeds or is rejected as one (i.e., is atomic). In either case, the system retains temporal data consistency.

eXtremeDB/rt offers dynamically assigned transaction deadlines

Click to enlarge

Dynamically assigned transaction deadlines example

Let’s consider the following example for a task running under DEOS operating system. The task performs some activities unrelated to the database and then creates a transaction with the database in an infinite loop. Each iteration must fit into single time slice in order to guarantee transaction completion within a thread’s CPU budget. In order to achieve that, the developer of an eXtremeDB/rt application would specify a deadline value when starting a transaction. This value must also account for the estimated transaction rollback time. If a thread’s CPU budget is 50 ms, and non-database activities (e.g. accessing hardware, reading sensor data, etc.) take 10 ms, then the eXtremeDB/rt operations are left with 40 ms. A portion of this 40 ms slice is reserved for the transaction rollback time, which is roughly zero for read-only transactions, and up to 100% of the transaction’s execution time for read-write transactions. Thus, in our example, a conservative estimate for the deadline value would be 20 ms if read-write transactions are used. If a transaction attempts to overrun the 20 ms deadline, it is interrupted, and the remaining 20 ms of the CPU budget will be used to perform a safe rollback without compromising data integrity.

Dynamically assigned transaction deadlines example

Let’s consider the following example for a task running under DEOS operating system. The task performs some activities unrelated to the database and then creates a transaction with the database in an infinite loop. Each iteration must fit into single time slice in order to guarantee transaction completion within a thread’s CPU budget. In order to achieve that, the developer of an eXtremeDB/rt application would specify a deadline value when starting a transaction. This value must also account for the estimated transaction rollback time. If a thread’s CPU budget is 50 ms, and non-database activities (e.g. accessing hardware, reading sensor data, etc.) take 10 ms, then the eXtremeDB/rt operations are left with 40 ms. A portion of this 40 ms slice is reserved for the transaction rollback time, which is roughly zero for read-only transactions, and up to 100% of the transaction’s execution time for read-write transactions. Thus, in our example, a conservative estimate for the deadline value would be 20 ms if read-write transactions are used. If a transaction attempts to overrun the 20 ms deadline, it is interrupted, and the remaining 20 ms of the CPU budget will be used to perform a safe rollback without compromising data integrity.

Click to enlarge

eXtremeDB/rt offers dynamically assigned transaction deadlines to ensure temporal data consistency

The eXtremeDB/rt allows setting the transaction deadline value individually just prior to the start of the transaction. The deadline value can be chosen based on the application’s current state. If necessary, the transaction is interrupted by the eXtremeDB/rt runtime and the deadline is guaranteed to be satisfied. The transaction deadline mechanism allows using RTOS time slices accurately and effectively to store and retrieve applications’ data.

Related Resources

Documentation & Collateral

b

Review the eXtremeDB/rt data sheet

U

Learn more about eXtremeDB/rt in our on-line documentation

To Err is Human. The Case for Buy Over Build in Hard Real-time Database Management Systems

t

eXtremeDB/rt Q & A: what distinguishes a true real-time database?

eXtremeDB/rt offers deterministic ACID-compliant transactions
Real-time transaction timeline

Chart from the white paper, “Real-time Deterministic Database Management” about the objectives of deterministic, predictable database management in the context of real-time application design.

In the News

Tailored to your needs


The nature of eXtremeDB/rt’s tight integration with the RTOS and target hardware requires that each evaluation package be assembled uniquely for your needs.  Please contact us so that we can gather information on your RTOS vendor, version, target hardware, tool chain, and so on.

View the ever-expanding list of supported real-time operating systems.

Send us an email

Give us a call

+1-425-888-8505

Desktop distributions

Free desktop evaluation packages of eXtremeDB/rt for Linux, MacOS, QNX and Windows platforms are available for immediate no-hassle download. Learn more about the programming interface and various real-time and non-real-time features of eXtremeDB/rt. After you have tried the desktop version, we hope you’ll contact us for a free trial of eXtremeDB/rt tailored to the needs of your RTOS.

You are also welcome to contact us, and we will send you a download of eXtremeDB/rt running in the FreeRTOS simulator.

News and articles about real-time database management.

COTS Cover photo July 2022

"Soft v Hard Real-time Systems" Embedded Computing, November 4, 2022

Real-time transaction timeline

"Embedded Databases in Real-Time Systems" CircuitCellar.com, March 14, 2022

Steve Graves, President and CEO, McObject

"Embedded Executive: Steve Graves, President and CEO, McObject" EmbeddedComputing.com, January, 2022 An interview reviewing key concepts in real-time computing.

COTS article about eXtremeDB/rt

"Databases in Hard Real Time" McObject Launches True Real-Time Deterministic Database for embOS Real-time Operating System Applications, Wilmott.com, October 15, 2021

COTS article about eXtremeDB/rt

"Keeping A Mission-Critical Deterministic DBMS On Time" by McObject CTO Andrei Gorine EmbeddedComputing.com, September 20, 2021

COTS article about eXtremeDB/rt

"Real time tasks need real time data" Read the Wind River blog, September 7, 2021

We’re grateful for the partnerships we have with industry leaders, and invite you to read what they say about eXtremeDB/rt in our joint press releases.

Azure RTOS ThreadX

“Managing data with a hard real-time requirement is a challenge for developers,” comments Tony Shakib, Partner General Manager, Microsoft Azure IoT. “Developers have had to use current solutions that may not meet time constraints or write their own database system. eXtremeDB/rt brings a solution to Microsoft Azure developers that eliminates this trade off.”

Read the joint press release.

DDC-I’s Deos

eXtremeDB/rt provides an excellent option for developers of resource-constrained, mission-critical embedded systems who require a compact, real-time embedded database,” said Greg Rose, vice president of marketing and product management at DDC-I. “We look forward to working with McObject to offer eXtremeDB/rt to embedded developers utilizing our Deos real-time operating system.”

Read the joint press release.

embOS from SEGGER

SEGGER’s CEO, Ivo Geilenbruegge, had this to say: “We are excited that McObject has created a first-of-its-kind real-time database system to complement our embOS RTOS and extend support for hard real-time systems to include database operations. Real-time systems are following the trend of embedded systems in that they are being called upon to manage more (and more complex) data.”

Read the joint press release.

FreeRTOS

Richard Barry, FreeRTOS founder, said “It is good to have another high-quality option for FreeRTOS users, this time providing a real-time deterministic database which can, as just one example, fulfill a crucial role in the Industrial Internet of Things (IIoT): data collection, aggregation, and distribution in oil rig blow-out prevention (BOP) systems. A BOP is a specialized device equipped with sensors to detect a “kick” and actuate valves to prevent a catastrophic blowout.” Richard continued, “The need to detect and respond within deadlines is emblematic of real-time industrial systems.”

Read the press release.

INTEGRITY from Green Hills Software

Joe Fabbre, Global Technology Director for Green Hills had this to say: “McObject has created a unique real-time database that complements our INTEGRITY RTOS and extends hard real-time support to database operations. Advanced applications in real-time systems are being called upon to manage more (and more complex) data. eXtremeDB/rt gives developers of these systems an off the shelf solution for real-time data management.”

Read the joint press release.

LynxOS

“We were delighted to work with McObject to bring eXtremeDB/rt to the LynxOS partner ecosystem. Our companies share the vision that real-time systems are becoming more sophisticated and consequently have to manage more complex data. eXtremeDB/rt fills a critical gap in the technology stack,” said Pavan Singh, VP of product management, Lynx Software Technologies.

Read the joint press release.

QNX Neutrino RTOS

“Real-time performance can benefit embedded software developers in many market segments including autonomous systems, industrial control, robotics and medical devices,” said Romain Saha, Strategic Alliances Director at BlackBerry QNX: “McObject builds upon many years of QNX support by bringing eXtremeDB/rt to the latest version of the QNX Software Development Platform.”

Read the joint press release.

SIEMENS Nucleus RTOS

“McObject’s eXtremeDB/rt allows Nucleus customers to have a truly embedded database solution that allows them to meet the determinism they require in a commercial-off-the-shelf solution.” said Jeff Hancock, Siemens Embedded Senior Product Manager. “eXtremeDB/rt helps Nucleus customers manage ever-growing data requirements.”

Read the joint press release.

WindRiver VxWorks

“Through our work with McObject, we’re helping customers modernize and accelerate the delivery of reliable intelligent systems that demand real-time requirements,” said Michel Chabroux, Senior Director, Product Management, Wind River. “We look forward to building on our proven track record of success with McObject to help advance the next generation of cloud-connected intelligent systems with increasingly challenging edge compute needs.”

Read the joint press release.