This Article 
 Bibliographic References 
 Add to: 
MDARTS: A Multiprocessor Database Architecture for Hard Real-Time Systems
July/August 2000 (vol. 12 no. 4)
pp. 621-644

Abstract—Complex real-time systems need databases to support concurrent data access and provide well-defined interfaces between software modules. However, conventional database systems and prior real-time database systems do not provide the performance or predictability needed by high-speed, hard real-time applications. To address this need, we have designed, implemented, and evaluated an object-oriented database system called MDARTS (Multiprocessor Database Architecture for Real-Time Systems). MDARTS avoids the client-server overhead of most prior real-time database systems and object-oriented, real-time systems by moving transaction execution into application tasks. By eliminating these sources of overhead and focusing on basic data management services for control systems (data sharing, serializable transactions, and multiprocessor support), our MDARTS prototype provides hard real-time transaction times approximately three orders of magnitude faster than prior real-time database systems. MDARTS ensures bounded locking delay by disabling preemption 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 requirements and semantic constraints within application code. The MDARTS library examines 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, MDARTS also supports remote transactions that use remote procedure calls for data access with less stringent timing constraints. Our MDARTS prototype is implemented in C++ and it runs on VME-based multiprocessors and Sun workstations.

[1] R. Abbott and H. Garcia-Molina, “Scheduling Real-Time Transactions,” ACM SIGMOD RECORD, 1988.
[2] B. Adelberg, B. Kao, and H. Garcia-Molina, “Overview of the STanford Real-time Information Processor (STRIP),” SIGMOD Record, vol. 25, no. 1, pp. 34–37, Mar. 1996.
[3] P.M.G. Apers, C.A. van den Berg, J. Flokstra, P.W.P. J. Grefen, M. Kersten, and A.N. Wilschut, “PRISMA/DB: A Parallel Main Memory Relational DBMS,” IEEE Trans. Knowledge and Data Eng., vol. 4, no. 6, pp. 541-554, Dec. 1992.
[4] A. Attoui and M. Schneider, “An Object-Oriented Model for Parallel and Reactive Systems,” Proc. Real-Time Systems Symp., pp. 84–93, Dec. 1991.
[5] E. Bensley et al., "Object Technology for the Design and Implementation of an Infrastructure and Data Manager for Real-Time Command and Control Systems," Proc. WORDS,California, Feb. 1996.
[6] A.P. Buchmann, D.R. McCarthy, M. Hsu, and U. Dayal, “Time-Critical Database Scheduling: A Framework for Integrating Real-Time Scheduling and Concurrency Control,” Proc. IEEE Int'l Conf. Data Eng., pp. 470–480, Feb. 1989.
[7] M. Carey, R. Jauhari, and M. Livny, "Priority in DBMS Resource Scheduling," Proc. Int'l Conf. Very Large Data Bases, pp. 397-410, 1989.
[8] S. Cheng and J.A. Stankovic,“Scheduling algorithms for hard real-time systems-a brief survey,” Hard Real-Time Systems, IEEE Press, vol. 88, pp. 88-173.
[9] L.B.C. Dipippo and V.F. Wolfe, “Object-Based Semantic Real-Time Concurrency Control,” Proc. IEEE Real-Time Systems Symp., Dec. 1993.
[10] R. Elmasri and S.B. Navathe, Fundamentals of Database Systems, second ed., Benjamin/Cummings, 1994.
[11] H. Garcia-Molina and K. Salem, “Main Memory Database Systems: An Overview,” IEEE Trans. Knowledge and Data Eng., vol. 4, no. 6, pp. 509-516, Dec. 1992.
[12] P. Gopinath, R. Ramnath, and K. Schwan, “Data Base Design for Real-Time Adaptations,” J. Systems Software, vol. 17, no. 1, pp. 155–167, 1992.
[13] M. Turk and A. Pentland, "Face Recognition Using Eigenfaces," Proc. IEEE Conf. on Computer Vision and Pattern Recognition, 1991, pp. 586-591.
[14] J. Huang, J. Stankovic, K. Ramamritham, and D. Towsley, “Experimental Evaluation of Real-Time Concurrency Control Schemes,” Proc. 17th Int'l Conf. Very Large Data Bases, 1991.
[15] J. Huang, J.A. Stankovic, K. Ramamritham, D. Towsley, and B. Purimetla, “On Using Priority Inheritance in Real-Time Databases,” Special Issue of Real-Time Systems J., vol. 4. no. 3, Sept. 1992.
[16] Y. Ishikawa, H. Tokuda, and C.W. Mercer, “An Object-Oriented Real-Time Programming Language,” Computer, vol. 25, no. 10, pp. 66–73, Oct. 1992.
[17] H.V. Jagadish, D. Lieuwen, R. Rastogi, A. Silberschatz, and S. Sudarshan, Dalí: A High Performance Main-Memory Storage Manager Proc. Int'l Conf. Very Large Databases, 1994.
[18] D. Jordan, “Instantiation of C++ Objects in Shared Memory,” J. Object-Oriented Programming, pp. 21–28, Mar./Apr. 1991.
[19] D.D. Kandlur, K.G. Shin, and D. Ferrari, "Real-Time Communication in Multi-Hop Networks," Proc. 11th Int'l. Conf. Distributed Computing Systems, pp. 300-307, 1991. (An improved version appeared in the Oct. 1994 issue of IEEE Trans. Parallel and Distributed Systems.)
[20] T.-W. Kuo and A.K. Mok, “SSP: A Semantics-Based Protocol for Real-Time Data Access,” Proc. IEEE 14th Real-Time Systems Symp., Dec. 1993.
[21] J. Lee and S.H. Son, “Using Dynamic Adjustment of Serialization Order for Real-Time Database Systems,” Proc. IEEE Real-Time Systems Symp., Dec. 1993.
[22] T.J. Lehman, E.J. Shekita, and L.-F. Cabrera, “An Evaluation of Starburst's Memory Resident Storage Component,” IEEE Trans. Knowledge and Data Eng., vol. 4, no. 6, pp. 555–565, Dec. 1992.
[23] M. Lehr, Y. Kim, and S.H. Son, “StarBase: A Firm Real-Time Database Manager for Time-Critical Applications,” Proc. Seventh Euromicro Workshop Real-Time Systems, pp. 317–322, 1995.
[24] S.T. Levi, S.K. Tripathi, S.D. Carson, and A.K. Agrawala, “The MARUTI Hard Real-Time Operating System,” ACM Operating System Review, vol. 23, no. 3, June 1989.
[25] K. Li and J.F. Naughton, “Multiprocessor Main Memory Transaction Processing,” Proc. IEEE Int'l Symp. Databases in Parallel and Distributed Systems, pp. 177–187, Dec. 1988.
[26] K.-J. Lin, “Consistency Issues in Real-Time Database Systems,” Proc. 22nd Hawaiin Int'l Conf. System Sciences, pp. 654-661, Jan. 1989.
[27] C.L. Liu and J.W. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” J. ACM, vol. 20, no. 1, pp. 40-61, 1973.
[28] V. Nirkhe, S. Tripathi, and A. Agrawala, Language Support for the Maruti Real-Time System Proc. Real-Time Systems Symp., pp. 257-266, Dec. 1990.
[29] S. Nishio, K.F. Li, and E.G. Manning, “A Time-Out Based Resilient Token Transfer Algorithm for Mutual Exclusion in Computer Networks,” Proc. Int'l Conf. Distributed Computing Systems, pp. 386–393, June 1989.
[30] S. Nishio, S. Taniguchi, and T. Ibaraki, “On the Efficiency of Cautious Schedulers for Database Concurrency Control—Why Insist on Two-Phase Locking?,” J. Real-Time Systems, vol. 1, pp. 177–195, 1989.
[31] R. Rajkumar, L. Sha, and J.P. Lehoczky, "Real-Time Synchronization Protocols for Multiprocessors," Proc. IEEE Real-Time Systems Symp., pp. 259-269, 1988.
[32] R. Rajkumar, Synchronization in Real-Time Systems: A Priority Inheritance Approach. Norwell,Mass.: Kluwer Academic, 1991.
[33] K. Ramamritham, “Real-Time Databases,” Int'l J. Distributed and Parallel Databases, 1992. (Invited Paper).
[34] K. Schwan, P. Gopinath, and W. Bo, "CHAOS-Kernel Support for Objects in the Real-Time Domain," IEEE Trans. Computers, vol. 36, no. 8, pp. 904-916, Aug. 1987.
[35] L. Sha, R. Rajkumar, and J. Lehoczky, “Concurrency Control for Distributed Real-Time Databases,” ACM SIGMOD Record, vol. 17, 1988.
[36] M. Singhal, “A Fully-Distributed Approach to Concurrency Control in Replicated Database Systems,” Proc. IEEE Int'l. Computer Software and Applications Conf., pp. 353–360, 1988.
[37] M. Singhal, "Issues and Approaches to Design of Real-Time Database Systems," SIGMOD Record, vol. 17, no. 1, pp. 19-33, Mar. 1988.
[38] P. Sleat and P. Osmon, “A Methodology for Real-Time Database System Construction,” Proc. Int'l Conf. Software Eng. for Real Time Systems, pp. 233–238, Sept. 1991.
[39] S.H. Son, “Semantic Information and Consistency in Distributed Real-Time Systems,” Information and Software Technology, vol. 30, no. 7, pp. 443–449, Sept. 1988.
[40] S.H. Son and Y. Kim, “A Software Prototyping Environment and Its Use in Developing a Multiversion Distributed Database System,” Proc. Int'l Conf. Parallel Processing, vol. 2 pp. 81–88, Aug. 1989.
[41] S. H. Son, “Recovery in Main Memory Database Systems for Engineering Design Applications,” Information and Software Technology, vol. 31, no. 2, pp. 85–90, Mar. 1989.
[42] S.H. Son, “Scheduling Real-Time Transactions,” Proc. EuroMicro '90 Workshop Real Time, pp. 25–32, 1990.
[43] J.A. Stankovic and W. Zhao,“On real-time transactions,” ACM SIGMOD Record, vol. 17, no. 1, Mar. 1988.
[44] D.B. Stewart, R.A. Volpe, and P.K. Khosla, “Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects,” Technical Report CMU-RI-TR-93-11, Carnegie Mellon Univ., July 1993.
[45] B. Stroustrup,The C++ Programming Language. Reading MA: Addison-Wesley, 1991, 2nd ed.
[46] H. Tokuda and C.W. Mercer, "ARTS: A Distributed Real-Time Kernel," ACM Operating Systems Rev., vol. 23, no. 3, pp. 29-53, July 1989.
[47] O. Ulusoy and G.G. Belford,“Real-time lock based concurrency control in a distributed databasesystem,” Proc. 12th Int’l Conf. Distributed Computing Systems, pp. 136-143, 1992.
[48] O. Ulusoy and A. Buchmann, “Exploiting Main Memory DBMS Features to Improve Real-Time Concurrency Control Protocols,” SIGMOD Record, vol. 25, no. 1, pp. 23–25, Mar. 1996.
[49] K. Vidyasankar, “An Elegant One-Writer Multireader Multivalued Atomic Register,” Information Processing Letters, pp. 221–223, Mar. 1989.
[50] K. Vidyasankar, “Concurrent Reading while Writing Revisited,” Distributed Computing, pp. 81–85, 1990.
[51] V.F. Wolfe, L.C. DiPippo, J. Prichard, and J. Peckham, "The Design of Real-Time Extensions to the Open Object-Oriented Database System," First IEEE Workshop Object-Oriented Real-Time Dependable Systems, Oct. 1994.

Index Terms:
Real-time databases, object-oriented systems, exemplar-based programming, semantic constraints, concurrency control, shared memory, atomic data types.
Victor B. Lortz, Kang G. Shin, Jinho Kim, "MDARTS: A Multiprocessor Database Architecture for Hard Real-Time Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 12, no. 4, pp. 621-644, July-Aug. 2000, doi:10.1109/69.868911
Usage of this product signifies your acceptance of the Terms of Use.