Wait-free concurrent memory management by create and read until deletion (CaRuD)

  • Authors:
  • Wim H. Hesselink;Jan Friso Groote

  • Affiliations:
  • Deptartment of Mathematics and Computing Science, University of Groningen, P. O. Box 800, 9700 AV Groningen, The Netherlands;CWI, P. O. Box 94079, 1090 GB Amsterdam, The Netherlands and Department of Mathematics and Computing Science, Eindhoven University of Technology, P. O. Box 513, 5600 MB Eindhoven, The Netherlands

  • Venue:
  • Distributed Computing
  • Year:
  • 2001

Quantified Score

Hi-index 0.01

Visualization

Abstract

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.