Priority Inheritance Spin Locks for Multiprocessor Real-Time Systems
نویسندگان
چکیده
When a real-time system is realized on a shared-memory multiprocessor, priority-ordered spin locks are often required to reduce priority inversions. However, simple priority-ordered spin locks can cause uncontrolled priority inversions when they are used for nested spin locks. This paper points out the problem of uncontrolled priority inversions in the context of spin locks and proposes priority inheritance spin locks, spin lock algorithms that are enhanced with the priority inheritance scheme, to solve the problem. Two algorithms of priority inheritance spin locks are presented and their effectiveness is demonstrated through performance measurements.
منابع مشابه
A Prioritized Multiprocessor Spin Lock
In this paper, we present the PR-lock, a prioritized spin-lock mutual exclusion algorithm for real time systems. The PR-lock is a contention-free spin lock, in which blocked processes spin on locally stored or cached variables. In contrast to previous work on prioritized spin locks, our algorithm maintains a pointer to the lock holder. As a result, our spin lock can support priority inheritance...
متن کاملReducing Queue Lock Pessimism in Multiprocessor Schedulability Analysis
Although many multiprocessor resource sharing protocols have been proposed, their impacts on the schedulability of real-time tasks are largely ignored in most of the existing literature. Recently, work has been done to integrate queue locks (FIFO-queue-based non-preemptive spin locks) with multiprocessor schedulability analysis but the techniques used introduce a substantial amount of pessimism...
متن کاملImproved Schedulability Analysis for Multiprocessor Systems with Resource Sharing
Abstract—This report presents our recent efforts to close the gap between the state-of-the-art homogeneous (or identical) multiprocessor and uniprocessor schedulability analyses in the context of resource sharing. Although many multiprocessor resource sharing protocols have been proposed, their impact on the schedulability of real-time tasks is largely ignored in most existing literature. Recen...
متن کاملThe Case for Migratory Priority Inheritance in Linux: Bounded Priority Inversions on Multiprocessors
Linux’s real-time performance crucially depends on priority inheritance because—on uniprocessors—it limits the maximum duration of priority inversion to one critical section per lock while ensuring that tasks remain fully preemptable even when holding locks. Unfortunately, priority inheritance is ineffective on multiprocessors under non-global scheduling (i.e., if some tasks may not execute on ...
متن کاملMultiprocessor Priority Ceiling Based Protocols
We study resource synchronization in multiprocessor hard real-time systems. Speciically, we propose a multiprocessor resource control protocol which allows a job to simultaneously lock multiple global resources, removing a restriction from previous protocols. Allowing nested critical sections may permit a ner granularity of synchronization, increasing parallelism and throughput. All the protoco...
متن کامل