This thesis aims at the development of a comprehensive set of techniques for synchronizing real-time tasks on uniprocessors, multiprocessors, distributed systems and distributed real-time databases. In particular, we investigate the class of priority inheritance protocols that solve the uncontrolled priority inversion problem. We show that there exist efficient priority inheritance protocols on uniprocessors that exhibit two very desirable properties. First, they minimize the worst-case blocking time of a task to at most the duration of execution of a single critical section. Secondly, these protocols prevent the formation of deadlocks. These properties allow us to derive a set of sufficient conditions under which a set of periodic tasks using one of these protocols is schedulable. The semaphore control protocol is an efficient priority inheritance protocol and is optimal in the sense that it embeds sufficient and necessary conditions to obtain these two properties. This protocol forms the basis of other approximations which can be easily implemented. Experimental studies comparing the relative performances of these protocols and commonly used protocols are carried out by modifying an Ada run-time system.
The priority inversion problem becomes even more acute in the context of multiprocessors and distributed systems. We develop a priority inheritance protocol for multiprocessor systems that solves this problem by bounding the blocking duration of a task waiting for globally shared resources. We also extend the priority inheritance protocols to distinguish between the read and write semantics of locks in real-time databases. We show that compatible locks are not necessarily useful in real-time databases, but our protocol shall exploit such lock compatibility only when it enhances guaranteed performance. This protocol can be extended to decomposable distributed real-time databases as well.
This work is being done as part of the Advanced Real-time Technologies (ART) project at Carnegie Mellon University. (Abstract shortened with permission of author.)
Cited By
- Shanker U, Misra M and Sarje A OCP Proceedings of the 17th Australasian Database Conference - Volume 49, (193-202)
- Wedde H and Lind J (2019). Building Large, Complex, Distributed Safety-Critical OperatingSystems, Real-Time Systems, 13:3, (277-302), Online publication date: 1-Nov-1997.
- Lam K, Hung S and Son S (2019). On Using Real-Time Static Locking Protocols for DistributedReal-Time Databases, Real-Time Systems, 13:2, (141-166), Online publication date: 1-Sep-1997.
- Kropf T and Ruf J Using MTBDDs for Discrete Timed Symbolic Model Checking Proceedings of the 1997 European conference on Design and Test
- Campos S, Clarke E, Marrero W and Minea M Verus Proceedings of the ACM SIGPLAN 1995 workshop on Languages, compilers, & tools for real-time systems, (70-78)
- Campos S, Clarke E, Marrero W and Minea M (2019). Verus, ACM SIGPLAN Notices, 30:11, (70-78), Online publication date: 1-Nov-1995.
- Blázquez V, Correa A and Freniche J (1994). Advancing Ada 9X solutions in real time avionics computers, ACM SIGAda Ada Letters, XIV:5, (80-87), Online publication date: 1-Sep-1994.
- Katcher D, Arakawa H and Strosnider J (2019). Engineering and Analysis of Fixed Priority Schedulers, IEEE Transactions on Software Engineering, 19:9, (920-934), Online publication date: 1-Sep-1993.
Recommendations
Synchronization protocols in distributed real-time systems
ICDCS '96: Proceedings of the 16th International Conference on Distributed Computing Systems (ICDCS '96)In many distributed real-time systems, the workload can be modeled as a set of periodic tasks, each of which consists of a chain of subtasks executing on different processors. Synchronization protocols are used to govern the release of subtasks so that ...
Task Synchronization in Reservation-Based Real-Time Systems
In this paper, we present the BandWidth Inheritance (BWI) protocol, a new strategy for scheduling real-time tasks in dynamic systems, which extends the resource reservation framework to systems where tasks can interact through shared resources. The ...
Semaphore Queue Priority Assignment for Real-Time Multiprocessor Synchronization
Prior work on real-time scheduling with global shared resources in multiprocessor systems assigns as much blocking as possible to the lowest-priority tasks. In this paper, we show that better schedulability can be achieved if global blocking is ...