A computational logic handbook
A computational logic handbook
A methodology for implementing highly concurrent data structures
PPOPP '90 Proceedings of the second ACM SIGPLAN symposium on Principles & practice of parallel programming
ACM Transactions on Programming Languages and Systems (TOPLAS)
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Lock-free linked lists using compare-and-swap
Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
The discrete time TOOLBUS—a software coordination architecture
Science of Computer Programming
Software—Practice & Experience
A Discipline of Programming
Lock-Free Garbage Collection for Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
The design of a linearization of a concurrent data object
PROCOMET '98 Proceedings of the IFIP TC2/WG2.2,2.3 International Conference on Programming Concepts and Methods
Waitfree distributed memory management by Create, and Read Until Deletion (CRUD)
Waitfree distributed memory management by Create, and Read Until Deletion (CRUD)
Progress under bounded fairness
Distributed Computing
Wait-Free Reference Counting and Memory Management
IPDPS '05 Proceedings of the 19th IEEE International Parallel and Distributed Processing Symposium (IPDPS'05) - Papers - Volume 01
Lock-free dynamic hash tables with open addressing
Distributed Computing - Special issue: PODC 02
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
Lock-Free parallel garbage collection
ISPA'05 Proceedings of the Third international conference on Parallel and Distributed Processing and Applications
Hi-index | 0.01 |
The acronym CaRuD represents an interface specification and an algorithm for the management of memory shared by concurrent processes. The memory cells form a directed acyclic graph. This graph is only modified by adding a new node with a list of reachable children, and by removing unreachable nodes. If memory is not full, the algorithm ensures wait-free redistribution of free nodes. It uses atomic counters for reference counting and consensus variables to ensure exclusive access. Performance is enhanced by using nondeterminacy guided by insecure knowledge. Experiments indicate that the algorithm is very suitable for multiprocessing.