The acronym CRUD 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 waitfree 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.

, ,
,
CWI
Software Engineering [SEN]

Hesselink, W., & Groote, J. F. (1998). Waitfree distributed memory management by Create, and Read Until Deletion (CRUD). Software Engineering [SEN]. CWI.