This work aims to establish the viabilityoflock-free object sharing in uniprocessor real-time systems. Naive usage of conventional lock-based object-sharing schemes in real-time systems leads to unbounded priority inversion. A priority inversion occurs when a task is blocked by a lower-priority task that is inside a critical section. Mechanisms that bound priority inversion usually entail kernel overhead that is sometimes excessive. We propose that lock-free objects o er an attractive alternative to lock-based schemes because they eliminate priority inversion and its associated problems. On the surface, lock-free objects may seem to be unsuitable for hard real-time systems because accesses to such objects are not guaranteed to complete in bounded time. Nonetheless, we present scheduling conditions that demonstrate the applicability of lock-free objects in hard real-time systems. Our scheduling conditions are applicable to schemes such as rate-monotonic scheduling and earliest-deadline- rst scheduling. Previously known lock-free constructions are targeted towards asynchronous sys-tems; such constructions require hardware support for strong synchronization primitives
|
2168
|
Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment
– Liu, Layland
- 1973
|
|
640
|
ªPriority Inheritance Protocols: An Approach to Real-Time Synchronization,º
– Sha, Rajkumar, et al.
- 1990
|
|
531
|
Linearizability: a correctness condition for concurrent objects
– Herlihy, Wing
- 1990
|
|
498
|
Wait-Free Synchronization
– Herlihy
- 1991
|
|
439
|
The rate monotonic scheduling algorithm-Exact characterization and average case behavior
– Lehoczky, Sha, et al.
- 1989
|
|
348
|
On optimistic methods for concurrency control
– Kung, Robinson
- 1981
|
|
261
|
A methodology for implementing highly concurrent data objects
– Herlihy
- 1993
|
|
211
|
Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment
– Mok
- 1993
|
|
192
|
Software transactional memory
– Shavit, Touitou
- 1995
|
|
170
|
Specifying concurrent program modules
– Lamport
- 1983
|
|
150
|
Control robotics : the procedural control of physical processors
– Dertouzos
- 1974
|
|
146
|
Scheduling processes with release times, deadlines, precedence, and exclusion relations
– Xu, Parnas
- 1990
|
|
141
|
Stack-Based Scheduling of Real-Time Processes
– Baker
- 1991
|
|
127
|
Memory Requirements for Agreement Among Unreliable Asynchronous Processes
– Loui, Abu-Amara
- 1987
|
|
125
|
ªOn Being Optimistic about Real-Time Constraints,º
– Haritsa, Carey, et al.
- 1990
|
|
123
|
Experiences with processes and monitors in Mesa
– Lampson, Redell
- 1980
|
|
118
|
Atomic Snapshots of Shared Memory
– Afek, Attiya, et al.
|
|
115
|
Synchronization in Real-Time Systems: A Priority Inheritance Approach
– Rajkumar
- 1991
|
|
93
|
Composite Registers
– Anderson
- 1990
|
|
93
|
Concurrent Reading and Writing
– Lamport
- 1977
|
|
91
|
Experimental Evaluation of Real-Time Optimistic Concurrency Control Schemes
– Huang, Stankovic, et al.
- 1991
|
|
90
|
Dynamic priority ceiling: A concurrency control protocol for real time systems. Real-time Systems
– Chen, Lin
- 1990
|
|
84
|
The synergy between non-blocking synchronization and operating system structure
– GREENWALD, CHERITON
- 1996
|
|
84
|
Axioms for Concurrent Objects
– Herlihy, Wing
- 1987
|
|
83
|
A Lock-Free Multiprocessor OS Kernel
– Massalin, Pu
|
|
73
|
Concurrent Reading While Writing
– Peterson
- 1983
|
|
71
|
Impossibility and universality results for wait-free synchronization
– Herlihy
- 1988
|
|
63
|
Universal Constructions for Multi-Object Operations
– Anderson, Moir
- 1995
|
|
63
|
Wait-Free Data Structures in the Asynchronous PRAM Model
– Aspnes, Herlihy
- 1990
|
|
62
|
Constructing two-writer atomic registers
– Bloom
- 1988
|
|
61
|
Accounting for interrupt han-dling costs in dynamic priority task systems
– Jeffay, Stone
- 1993
|
|
60
|
real-time scheduling: The deadline monotonic approach
– Hard
- 1991
|
|
60
|
A Method for Implementing Lock-Free Shared Data Structures
– Barnes
- 1993
|
|
60
|
Practical considerations for non-blocking concurrent objects
– Bershad
- 1993
|
|
58
|
Constructing Multi-Reader Atomic Values from Non-Atomic Values
– Burns, Peterson
- 1987
|
|
58
|
Lock-free linked lists using compare-and-swap
– VALOIS
- 1995
|
|
57
|
practical non-blocking and blocking concurrent queue algorithms
– Simple
- 1996
|
|
56
|
Concurrent Reading While Writing II: The Multi-Writer Case
– Peterson, Burns
- 1987
|
|
52
|
Fixed priority scheduling of periodic tasks with arbitrary deadlines
– Lehoczky
- 1990
|
|
50
|
Universal Constructions for Large Objects
– Anderson, Moir
- 1995
|
|
47
|
Lock-Free Data Structures
– Valois
- 1995
|
|
43
|
Implementing Lock-Free Queues
– Valois
- 1994
|
|
42
|
Bounded concurrent time-stamp systems are constructible
– Dolcv, Shavit
- 1989
|
|
41
|
Mode Change Protocols for Priority-Driven Preemptive Scheduling
– Sha, Rajkumar, et al.
- 1989
|
|
36
|
The Elusive Atomic Register, Revisited
– Singh, Anderson, et al.
- 1987
|
|
34
|
Some results on the impossibility, universality, and decidability of consensus
– Jayanti, Toueg
- 1992
|
|
34
|
A protocol for wait-free, atomic, multi-reader shared variables
– Newman-Wolfe
- 1987
|
|
33
|
Atomic snapshots in O(n log n) operations
– Attiya, Rachman
- 1998
|
|
33
|
Atomic Multireader Register
– Kirousis, Kranakis, et al.
- 1987
|
|
27
|
Feasibility problems for recurring tasks on one processor
– Baruah, Howell, et al.
- 1993
|