Database for Hard Real time Systems
There should be some solution for Hard Real time systems with high performance and guaranteed response time constraints. MDARTS (Multiprocessor Database Architecture for Real Time System) is one such main memory database which uses VME based processors.
- This is for Hard Real time Systems
- It is a main memory database (the entire database resides on the main memory)
- Object oriented database (C++ elements)
- Supports explicit declaration of real time constraints and semantic constraints within the application code.
Access time ”write <=80usec ; read<=50usec” Staleness ”stale<=20msec” Persistence ”volatile”
- The above are the constraints which can be included in the application code directly without the recompilation of the MDARTS library.
- Supports direct, concurrent, shared memory data access.
Shared Memory Objects
- This is suitable for NGC (Next generation Workstation/machine controller) for automated factories
- The timing constraints of some real time applications are such that database transactions on the order of tens of microseconds may be needed
- The above diagram shows the access to the data from the shared memory
- The control task is periodic with hard deadline every msec. Each time the control task runs, it extracts the current sensor values from the database and computes new control signals for the actuators.
- Data accessed extremely high speed must be stored in the physical shared memory as the virtual memory and disk based databases may generate the page faults which should not be generated for main memory.
- Applications need not know whether the database access is local or remote. The database handler hides the information of being remote. Remote access achieved through Remote Procedure calls (RPC). There may be some communication delay when the data is accessed remotely.
- The shared data manager (SDM) tracks the location and identity of the shared memory objects and also constructs its own database handle for each object to service remote requests.