skip to main content
research-article

MDARTS: A Multiprocessor Database Architecture for Hard Real-Time Systems

Published: 01 July 2000 Publication History

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.

References

[1]
R. Abbott and H. Garcia-Molina, “Scheduling Real-Time Transactions,” SIGMOD Record, vol. 17, no. 1, pp. 71–81, Mar. 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.L. 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 P. Krupp R.A. Sigel M. Squadrito B. Thuraisingham and T. Wheeler, “Object-Oriented Implementation of an Infrastructure and Data Manager for Real-Time Command and Control Systems,” Proc. Workshop Object-Oriented Real-Time Dependable Systems, pp. 201–209, 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.J. 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.C. Cheng and J.A. Stankovic, “Scheduling Algorithms for Hard Real-Time Systems: A Brief Survey,” IEEE Tutorial: Hard Real-Time Systems, J. Stankovic and K. Ramamritham, eds., IEEE Press, 1988.
[9]
L.B.C. DiPippo and V.F. Wolfe, “Object-Based Semantic Real-Time Concurrency Control,” Proc. Real-Time Systems Symp., pp. 87–96, Dec. 1993.
[10]
R. Elmasri and S.B. Navathe, Fundamentals of Database Systems, second ed., Addison-Wesley, 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]
J.R. Haritsa M.J. Carey and M. Livny, “Data Access Scheduling in Firm Real-Time Database Systems,” J. Real-Time Systems, vol. 4, no. 3, pp. 203–241, Sept. 1992.
[14]
J. Huang J.A. Stankovic K. Ramamritham and D. Towsley, “Experimental Evaluation of Real-Time Optimistic Concurrency Control Schemes,” Proc. Int'l Conf. Very Large Data Bases, pp. 35–46, Sept. 1991.
[15]
J. Huang J.A. Stankovic K. Ramamritham D. Towsley and B. Purimetla, “Priority Inheritance in Soft Real-Time Databases,” J. Real-Time Systems, vol. 4, no. 3, pp. 243–268, 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, “Dali: 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 Multihop Networks,” Proc. 11th Int'l Conf. Distributed Computer Systems, pp. 300–307, May 1991. An improved version appeared in the IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 10 pp. 1,044–1,056, Oct. 1994.
[20]
T.-W. Kuo and A.K. Mok, “Ssp: A Semantics-Based Protocol for Real-Time Data Access,” Proc. Real-Time Systems Symp., pp. 76–86, Dec. 1993.
[21]
J. Lee and S.H. Son, “Using Dynamic Adjustment of Serialization Order for Real-Time Database Systems,” Proc. Real-Time Systems Symp., pp. 66–75, 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 Int'l Conf. System Sciences, 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. 46–61, Jan. 1973.
[28]
V.M. Nirkhe S.K. Tripathi and A.K. 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. Real-Time Systems Symp., pp. 259–269, Dec. 1988.
[32]
R. Rajkumar, SYNCHRONIZATION IN REAL-TIME SYSTEMS: A Priority Inheritance Approach. 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.P. Lehoczky, “Concurrency Control for Distributed Real-Time Databases,” SIGMOD Record, vol. 17, no. 1, pp. 82–98, Mar. 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,” SIGMOD Record, vol. 17, no. 1, pp. 4–18, 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, second edition, Addison Wesley, 1991.
[46]
H. Tokuda and C. Mercer, “Arts: A Distributed Real-Time Kernel,” SIGOPS, vol. 23, no. 3, 1989.
[47]
O. Ulusoy and G.G. Belford, “Real-Time Lock-Based Concurrency Control in Distributed Database Systems,” Proc. Int'l Conf. Distributed Computer 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.J. Prichard J.M. Peckham and P. Fortier, “The Design of Real-Time Extensions to the Open Object-Oriented Database System,” Proc. Workshop Object-Oriented Real-Time Dependable Systems, Oct. 1994.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Knowledge and Data Engineering
IEEE Transactions on Knowledge and Data Engineering  Volume 12, Issue 4
July 2000
192 pages

Publisher

IEEE Educational Activities Department

United States

Publication History

Published: 01 July 2000

Author Tags

  1. Real-time databases
  2. atomic data types.
  3. concurrency control
  4. exemplar-based programming
  5. object-oriented systems
  6. semantic constraints
  7. shared memory

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media