A real-time locking protocol
Summary (2 min read)
1. Introduction
- In a real-time database context, concurrency control protocols must not only maintain the consistency constraints of the database but also satisfy the timing requirements of the transactions accessing the database.
- Next, the authors process transactions in priority order.
- The preemption of T3, and hence the blocking of T1, will continue until T2 and any other pending intermediate-priority level transactions are completed.
- An objective of this paper is to design an appropriate priority management protocol for a given concurrency control protocol so that deadlocks can be avoided and the duration of blocking can be tightly bounded.
2.1. Basic Concepts
- Real-time databases are often used by applications such as tracking.
- The authors assume that an embedded transaction consists of a sequence of read and write operations operating upon the database.
- Task τ0 will therefore continue and execute its transaction, thereby effectively preempting T2 in its transaction and not encountering any blocking.
2.2. Definitions and Properties
- Having reviewed the basic concepts, the authors now review their assumptions and state the notation used.
- The authors also assume that a transaction does not attempt to lock an object that it has already locked and thus deadlock with itself.
- Under the read- or write-priority ceiling protocol, mutual deadlock of transactions cannot occur and each task can be blocked by at most one embedded transaction until it completes or suspends itself.
- The authors now develop a set of sufficient conditions under which a set of periodic tasks with hard deadlines at the end of the periods can be scheduled by the rate-monotonic algorithm [15] when the read- or write-priority ceiling protocol is used.
3. Performance Evaluation
- In the previous section, the authors have assumed that all the tasks are periodic and that all the database objects are in the main memory.
- For each experiment and for each algorithm tested, the authors collected performance statistics and averaged over 10 runs.
- The two important factors affecting the performance of locking protocols are their abilities to resolve the locking conflicts and to perform the I/O and transactions in parallel.
- The main weakness of the read- or write-priority ceiling protocol is its inability to perform I/O and transactions in parallel.
- In their experiments, each transaction’s deadline is set proportional to its size and system workload (number of transactions), and the transaction with the shorter deadline is assigned a higher priority.
4. Conclusions
- Real-time database is an important area of research, with applications ranging from surveillance to reliable manufacturing and production control.
- The authors have investigated the read- or write-priority ceiling protocol, which integrates the two-phase lock protocol with priority-driven real-time scheduling.
- The authors have also developed schedulability bounds for periodic tasks in a centralized in-core database.
- Finally, the authors experimentally evaluated the performance of this protocol when the tasks are invoked aperiodically and the database is no longer in-core.
Did you find this useful? Give us your feedback
Citations
636 citations
Cites background or methods from "A real-time locking protocol"
...Sha, Rajkumar and Lehoczky introduced the family of priority inheritance protocols as a solution approach to the priority inversion problem [192, 196, 197, 178]....
[...]
...It is the basis of several locking protocols, including the Priority Ceiling Protocol (PCP), [192, 196, 197, 178, 176], the Stack Resource Protocol (SRP) [27], the Ada 95 programming language ceiling locking protocol [29], and the POSIX mutex PTHREAD PRIO PROTECT protocol[64]....
[...]
516 citations
184 citations
Cites background or methods from "A real-time locking protocol"
...In [58], a xed priority was used for the priority ceiling approach....
[...]
...The priority ceiling scheme in [57, 58] can reduce the blocking time to one transaction execution 16...
[...]
...In [57, 58], a read/write priority ceiling protocol was proposed where a high priority transaction can be blocked by at most the duration of a single low priority transaction....
[...]
144 citations
134 citations
References
5,397 citations
3,891 citations
2,443 citations
"A real-time locking protocol" refers background in this paper
...With only two-phase locking and priority assignment, we can encounter the problem of unbounded priority inversion as illustrated in Example 1. However, the idea of priority inheritance [ 24 ] solves the unbounded priority inversion problem....
[...]
2,031 citations
"A real-time locking protocol" refers methods in this paper
...Each embedded transaction will follow the two-phase lock protocol [ 6 ], which requires a transaction to acquire all the locks before it releases any lock....
[...]
...For example, we may require each transaction to use a well-known concurrency protocol such as the two-phase lock protocol [ 6 ] and assign priorities to transactions according to some well-known scheduling algorithms such as the earliest deadline algorithm [19]....
[...]
1,582 citations
"A real-time locking protocol" refers background in this paper
...An exact characterization of rate-monotonic schedulability can be found in [ 12 ]....
[...]