Wait-Free Reference Counting and Memory Management
Rapport, 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, Institutionen för datavetenskap, Datakommunikation och Distribuerade System


Data- och informationsvetenskap

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