Wait-Free Reference Counting and Memory Management
Report, 2004

We present a practical wait-free implementation of a garbage collection scheme based on reference counting that uses atomic primitives which are available in modern computer systems. To the best of our knowledge, this is the first wait-free algorithm of a reference counting scheme that can support dynamic concurrent data structures. As all operations of wait-free algorithms are guaranteed to always finish in a finite number of their own steps independently of the other operations' actions, the new algorithm is especially suitable for real-time systems where execution time guarantees are of significant importance. We also present a wait-free algorithm of a free-list, for supporting concurrent allocation and freeing of memory blocks. The new algorithms are linearizable and are compatible to previous implementations of non-blocking dynamic data structures.



garbage collection

memory management

shared memory

reference counting


Håkan Sundell

Chalmers, Department of Computing Science, Distributed Computing and Systems

Subject Categories

Computer and Information Science

Technical report - Department of Computing Science, Chalmers University of Technology and Göteborg University: 2004-10

More information