ACM Home Page
Please provide us with feedback. Feedback
Safe memory reclamation for dynamic lock-free objects using atomic reads and writes
Full text PdfPdf (1.13 MB)
Source Annual ACM Symposium on Principles of Distributed Computing archive
Proceedings of the twenty-first annual symposium on Principles of distributed computing table of contents
Monterey, California
SESSION: Session 1 table of contents
Pages: 21 - 30  
Year of Publication: 2002
ISBN:1-58113-485-1
Author
Maged M. Michael  IBM, Yorktown Heights NY
Sponsors
SIGOPS: ACM Special Interest Group on Operating Systems
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 61,   Citation Count: 25
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/571825.571829
What is a DOI?

ABSTRACT

A major obstacle to the wide use of lock-free data structures, despite their many performance and reliability advantages, is the absence of a practical lock-free method for reclaiming the memory of dynamic nodes removed from dynamic lock-free objects for arbitrary reuse.The only prior lock-free memory reclamation method depends on the DCAS atomic primitive, which is not supported on any current processor architecture. Other memory management methods are blocking, require special operating system support, or do not allow arbitrary memory reuse.This paper presents the first lock-free memory management method for dynamic lock-free objects that allows arbitrary memory reuse, and does not require special operating system or hardware support. It guarantees an upper bound on the number of removed nodes not yet freed at any time, regardless of thread failures and delays. Furthermore, it is wait-free, it is only logarithmically contention-sensitive, and it uses only atomic reads and writes for its operations. In addition, it can be used to prevent the ABA problem for pointers to dynamic nodes in most algorithms, without requiring extra space per pointer or per node.


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
3
 
4
 
5
6
 
7
 
8
9
10
11
 
12
IBM System/370 Extended Architecture, Principles of Operation. IBM Publication No. SA22-7085, 1983.
13
 
14
Paul E. McKenney and John D. Slingwine. Read-Copy Update: Using Execution History to Solve Concurrency Problems. In Proceedings of the 11th International Conference on Parallel and Distributed Computing Systems, October 1998.
 
15
Maged M. Michael. Dynamic Lock-Free Deque Algorithm Using Single-Address Double-Word CAS. Research Report RC 22401, IBM T. J. Watson Research Center, April 2002.
16
17
18
 
19
 
20
 
21
Nir Shavit and Dan Touitou. Software Transactional Memory. Distributed Computing 10(2): 99-116, 1997.
 
22
R. Kent Treiber. Systems Programing: Coping with Parallelism. Research Report RJ 5118, IBM Almaden Research Center, April 1986.
23
 
24
John D. Valois. Implementing Lock-Free Queues. In Proceedings of the 7th International Conference on Parallel and Distributed Computing Systems, pages 64-69, October 1994.
25

CITED BY  25