Skip to main content

Posts

Database for Hard Real time Systems

Databases for real time systems are meant for the use of both hard and soft systems. Since hard real time systems needs strict timing constraints, conventional disk based databases are not suitable, but soft real time systems makes use of disk based systems through FCFS, Elevator or scan policy algorithm. 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. Features 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. Constraints Specifications Access time ”write The above are the constraints which can be included in the application code directly without the recompilation of the MDAR...

Databases for Soft Real Time System

In disk based scheduling, the disks are located and traced by traversing the sectors and tracks. Tracks are concentric circles and sectors are just originating from the center of the disks. So, disk scheduling algorithms are slower when compared with the memory based scheduling. Under disk based scheduling Ta=Tw+Tp+Tt Ta is the access time Tw is the time spent in queue Tp is the time to position the arm to locate the sectors and track Tt is the time taken to transfer the block of data. Since Tp is in the order of few milliseconds, but CPU time is hardly around 50nano seconds, so disk based scheduling algorithms are not suitable for hard real time systems. However these algorithms, can be made useful for soft real time systems. Disk based scheduling will be useful for Soft Real time system based on the following algorithms First Come First Serve (FCFS) The task or transaction which comes first will be scheduled and then the next, here the main problem is if the requests are huge then t...

Concurrency Control Issues

Pessimistic Concurrency Control The transactions are been checking for violating the serialization consistency before letting it execute is called pessimistic concurrency control Two phase locking Scheme Read /Write lock as a phase Unlock – another phase Both the above phases wont interleave, because of this, there may be deadlock, which can be detected by means of deadlock detection algorithm and if deadlock is there, one of the transactions is aborted with the nearer timestamp. Multiversion Scheme There are three locks Read, Write and Certify Read lock – Read the needed data from the database Write lock – Writing to its own private space Certify lock – Updates to the database, this stage is the committed stage. General locking Rules Lock Already Set Lock Requested Read Write Certify Read Granted Granted Blocked Write Granted Granted Granted Certify Blocked Granted Blocked   Locking rules for priority Inversion Lock Already Set by a Low Priority Transaction Lock Requested by a High Pr...

Transaction Abortions

Transaction Abortions Transaction abortion is of two types, either Termination abortion or The Transaction which is aborted in this way won't be restarted Example: An attempt to divide by zero error Non Termination Abortion The transaction which will be restarted after it is being aborted Example: data conflict due to a deadlock, If two transactions are involved in a deadlock, one of the transaction will be aborted and will be restarted

Transaction Priorities

Transaction Priorities Transactions are granted access to the processors based on their priorities. All the transactions in the real time DB are associated with a deadline, hence Earliest Deadline First (EDF) algorithm finds a greater solution to schedule those transactions. But EDF algorithm will be working efficiently if the number of transactions are moderate. But usually the DB transactions are huge in a systems and EDF may not be suitable which leads to congestion. To avoid the above solution an algorithm Adaptive Earliest Deadline (AED) algorithm which uses congestion control and also can process huge number of transactions. It uses two groups HIT and MISS group. All the transactions in the HIT group will be meeting their deadlines, if by chance any transaction does not meets its deadline, then that transaction will be aborted. Operation of AED When a transaction arrives, the system randomly inserts it in a list of pending transactions, if the assigned transaction is in the list ...