This paper presents a lock-free parallel algorithm for garbage collection in a realistic model using synchronization primitives offered by machine architectures. Mutators and collectors can simultaneously operate on the data structure. In particular no strict alternation between usage and cleaning up is necessary, contrary to what is common in most other garbage collection algorithms. We first design and prove an algorithm with a coarse grain of atomicity and subsequently apply the reduction theorem developed in  to implement the higher-level atomic steps by means of the low-level primitives.
|Title of host publication||Parallel and distributed processing and applications (Third International Symposium, ISPA'05, Nanjing, China, November 2-5, 2005. Proceedings)|
|Editors||Y. Pan, D. Chen, M. Guo, J. Cao, J.J. Dongarra|
|Place of Publication||Berlin|
|Publication status||Published - 2005|
|Name||Lecture Notes in Computer Science|
Gao, H., Groote, J. F., & Hesselink, W. H. (2005). Lock-free parallel garbage collection. In Y. Pan, D. Chen, M. Guo, J. Cao, & J. J. Dongarra (Eds.), Parallel and distributed processing and applications (Third International Symposium, ISPA'05, Nanjing, China, November 2-5, 2005. Proceedings) (pp. 263-274). (Lecture Notes in Computer Science; Vol. 3758). Springer. https://doi.org/10.1007/11576235_31