Abstract
On shared memory multiprocessors, synchronization often turns out to be a performance bottleneck and the source of poor fault-tolerance. By avoiding locks, the significant benefit of lock (or wait)-freedom for real-time systems is that the potentials for deadlock and priority inversion are avoided. The lock-free algorithms often require the use of special atomic processor primitives such as CAS (Compare And Swap) or LL/SC (Load Linked/Store Conditional). However, many machine architectures support either CAS or LL/SC, but not both. In this paper, we present a lock-free implementation of the ideal semantics of LL/SC using only pointer-size CAS, and show how to use refinement mapping to prove the correctness of the algorithm.
Original language | English |
---|---|
Title of host publication | EPRINTS-BOOK-TITLE |
Publisher | University of Groningen, Johann Bernoulli Institute for Mathematics and Computer Science |
Number of pages | 6 |
ISBN (Print) | 9780769539294 |
Publication status | Published - 2009 |
Keywords
- Refinement mapping
- Verification
- PVS
- Lock-free