MDARTS: A multiprocessor database architecture for hard real-time systems

Citation
Vb. Lortz et al., MDARTS: A multiprocessor database architecture for hard real-time systems, IEEE KNOWL, 12(4), 2000, pp. 621-644
Citations number
51
Categorie Soggetti
AI Robotics and Automatic Control
Journal title
IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING
ISSN journal
10414347 → ACNP
Volume
12
Issue
4
Year of publication
2000
Pages
621 - 644
Database
ISI
SICI code
1041-4347(200007/08)12:4<621:MAMDAF>2.0.ZU;2-9
Abstract
Complex real-time systems need databases to support concurrent data access and provide well-defined interfaces between software modules. However, conv entional database systems and prior real-time database systems do not provi de the performance or predictability needed by high-speed, hard real-time a pplications. To address this need, we have designed, implemented, and evalu ated an object-oriented database system called MDARTS (Multiprocessor Datab ase Architecture for Real-Time Systems). MDARTS avoids the client-server ov erhead of most prior real-time database systems and object-oriented, real-t ime systems by moving transaction execution into application tasks. By elim inating these sources of overhead and focusing on basic data management ser vices for control systems (data sharing, serializable transactions, and mul tiprocessor support), our MDARTS prototype provides hard real-time transact ion times approximately three orders of magnitude faster than prior real-ti me database systems. MDARTS ensures bounded locking delay by disabling pree mption when a transaction is waiting for a lock and, hence, allows for the estimation of worst-case transaction execution times. Another contribution of MDARTS is that it supports explicit declarations of real-time requiremen ts and semantic constraints within application code. The MDARTS library exa mines these declarations at application initialization time and attempts to construct objects that are compatible with the requirements. Besides local shared-memory transactions with hard real-time response time guarantees, M DARTS also supports remote transactions that use remote procedure calls for data access with less stringent timing constraints. Our MDARTS prototype i s implemented in C++ and it runs on VME-based multiprocessors and Sun works tations.