An object-oriented real-time database system for multiprocessors
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 software 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 hard real-time systems (data sharing, serializable transactions, and multiprocessor support), our MDARTS prototype provides guaranteed transaction times approximately three orders of magnitude faster than prior real-time database systems. 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 database object initialization time and attempts to construct objects that are compatible with the requirements. MDARTS supports both local shared-memory transactions and remote transactions that use remote procedure calls. Except for variations in transaction time guarantees, the locations and implementations of MDARTS objects are transparent to applications. MDARTS provides a C++ interface rather than a query language interface. Our MDARTS prototype runs on VME-based multiprocessors and Sun workstations, and we have used MDARTS to implement a controller for an actual manufacturing machine."
What people are saying - Write a review
We haven't found any reviews in the usual places.
SEMAPHORE QUEUE PRIORITY ASSIGNMENT IN MULTIPROCES
4 other sections not shown
algorithm application programming interface architecture array base class benchmark BINP blocking delays blocking tolerance bound calibration class hierarchy client client-server computation concurrency control constraints constructor critical sections data structures database class database objects database service classes database systems database transactions deadlines delta execution priorities exemplars experiments FIFO Figure getlValue hard real-time systems hardware higher-priority tasks implementation inter-process communication interface interrupt latency lock lower-priority tasks main memory databases MDARTS class MDARTS objects MDARTS transaction MdartsArray Mdartslnt microseconds milliseconds multiple multiprocessor NQLock object-oriented operating system overhead parameters performance platform PMAC pointer preemption priority inversion priority queue processor programming protocols rate monotonic scheduling real-time applications real-time database remote remote procedure calls RMSS runtime RW_Mdarts semantic semaphore queue priorities serializability server class server object shared memory software contracts specify spinlock spinlock queue task sets techniques throughput transaction execution transaction-time guarantees utilization VME bus