Abstract
Despite years of research, the design of efficient nonblocking algorithms remains difficult. A key reason is that current shared-memory multiprocessor architectures support only single-location synchronisation primitives such as compare-and-swap (CAS) and load-linked/store-conditional (LL/SC). Recently researchers have investigated the utility of doublecompare-and-swap (DCAS)-a generalisation of CAS that supports atomic access to two memory locations-in over-coming these problems. We summarise recent research in this direction and present a detailed case study concerning a previously published nonblocking DCAS-based double-ended queue implementation. Our summary and case study clearly show that DCAS does not provide a silver bullet for nonblocking synchronisation. That is, it does not make the design and verification of even mundane nonblocking data structures with desirable properties easy. Therefore, our position is that while slightly more powerful synchronisation primitives can have a profound effect on ease of algorithm design and verification, DCAS does not provide sufficient additional power over CAS to justify supporting it in hardware.
Original language | English |
---|---|
Pages | 216-224 |
Number of pages | 9 |
DOIs | |
State | Published - 2004 |
Externally published | Yes |
Event | SPAA 2004 - Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures - Barcelona, Spain Duration: 27 Jun 2004 → 30 Jun 2004 |
Conference
Conference | SPAA 2004 - Sixteenth Annual ACM Symposium on Parallelism in Algorithms and Architectures |
---|---|
Country/Territory | Spain |
City | Barcelona |
Period | 27/06/04 → 30/06/04 |
Keywords
- Concurrent data structures
- DCAS
- Double-compare-and-swap
- Linked lists
- Lock-free
- Multiprocessors
- Nonblocking synchronization