|
ABSTRACT
This paper partly addresses the question of whether, in principle, there is any point in adding richer hardware synchronization primitives when the existing set is "universal", and therefore sufficient to synchronize any data structure in a non-blocking manner. The context of this paper is the ongoing investigation of the utility of adding a DCAS instruction to modern processors to aid the design and performance of non-blocking algorithms. We add one more piece of evidence in support of this instruction.In particular, we demonstrate that DCAS is sufficient to enable a technique called "two-handed emulation" which yields efficient and understandable implementations of a class of data structures. We present a non-blocking implementation of a doubly-linked list to show the basic technique. We describe a non-blocking implementation of a dynamically resizable hash-table to illustrate how the technique is amenable to optimizations that improve performance and increase concurrency.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
Ole Agesen , David L. Detlefs , Christine H. Flood , Alexander T. Garthwaite , Paul A. Martin , Nir N. Shavit , Guy L. Steele, Jr., DCAS-based concurrent deques, Proceedings of the twelfth annual ACM symposium on Parallel algorithms and architectures, p.137-146, July 09-13, 2000, Bar Harbor, Maine, United States
[doi> 10.1145/341800.341817]
|
 |
3
|
|
 |
4
|
|
| |
5
|
|
| |
6
|
|
| |
7
|
David Detlefs , Christine H. Flood , Alex Garthwaite , Paul Martin , Nir Shavit , Guy L. Steele, Jr., Even Better DCAS-Based Concurrent Deques, Proceedings of the 14th International Conference on Distributed Computing, p.59-73, October 04-06, 2000
|
 |
8
|
David L. Detlefs , Paul A. Martin , Mark Moir , Guy L. Steele, Jr., Lock-free reference counting, Proceedings of the twentieth annual ACM symposium on Principles of distributed computing, p.190-199, August 2001, Newport, Rhode Island, United States
[doi> 10.1145/383962.384016]
|
 |
9
|
Kourosh Gharachorloo , Daniel Lenoski , James Laudon , Phillip Gibbons , Anoop Gupta , John Hennessy, Memory consistency and event ordering in scalable shared-memory multiprocessors, Proceedings of the 17th annual international symposium on Computer Architecture, p.15-26, May 28-31, 1990, Seattle, Washington, United States
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
 |
14
|
|
| |
15
|
Prince Kohli, Gil Neiger, and Mustaque Ahamad. A characterization of scalable shared memories. In Proceedings of the 1993 International Conference on Parallel Processing, volume I - Architecture, pages 332-334, Boca Raton, FL, 1993. CRC Press.
|
| |
16
|
David M. Koppelman. Version L3.11 Proteus Changes. Louisiana State University, Baton Rouge, August 1997. ftp://ftp.ee.lsu.edu/pub/koppel/proteus/proteusl.pdf.
|
 |
17
|
|
 |
18
|
Maged M. Michael , Michael L. Scott, Simple, fast, and practical non-blocking and blocking concurrent queue algorithms, Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing, p.267-275, May 23-26, 1996, Philadelphia, Pennsylvania, United States
[doi> 10.1145/248052.248106]
|
| |
19
|
|
| |
20
|
R.K.Treiber. Systems programming: Coping with parallelism. Technical Report RJ5118, IBM Almaden Research Center, April 1986.
|
CITED BY 6
|
|
|
|
|
Simon Doherty , David L. Detlefs , Lindsay Grove , Christine H. Flood , Victor Luchangco , Paul A. Martin , Mark Moir , Nir Shavit , Guy L. Steele, Jr., DCAS is not a silver bullet for nonblocking algorithm design, Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures, June 27-30, 2004, Barcelona, Spain
|
|
|
|
|
|
|
|
|
|
|
|
|
|