Algorithms for on-the-fly garbage collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A methodology for implementing highly concurrent data objects
ACM Transactions on Programming Languages and Systems (TOPLAS)
A method for implementing lock-free shared-data structures
SPAA '93 Proceedings of the fifth annual ACM symposium on Parallel algorithms and architectures
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
A scalable mark-sweep garbage collector on large-scale shared-memory machines
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
Distributed Algorithms
Fault-Tolerant Parallel Computation
Fault-Tolerant Parallel Computation
Safe memory reclamation for dynamic lock-free objects using atomic reads and writes
Proceedings of the twenty-first annual symposium on Principles of distributed computing
Lock-Free Garbage Collection for Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
Nonblocking k-compare-single-swap
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
Distributed Computing - Special issue: Selected papers from PODC '01
Scalable and lock-free concurrent dictionaries
Proceedings of the 2004 ACM symposium on Applied computing
Wait-free concurrent memory management by create and read until deletion (CaRuD)
Distributed Computing
Parallel garbage collection for shared memory multiprocessors
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
ATerms for manipulation and exchange of structured data: It's all about sharing
Information and Software Technology
Lock-free parallel and concurrent garbage collection by mark&sweep
Science of Computer Programming
A general lock-free algorithm using compare-and-swap
Information and Computation
Hi-index | 0.00 |
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 [11] to implement the higher-level atomic steps by means of the low-level primitives.