Concurrent, parallel garbage collection in linear time

Steven R. Brandt, Hari Krishnan, Gokarna Sharma, Costas Busch

Research output: Contribution to journalArticlepeer-review

4 Scopus citations


This paper presents a new concurrent garbage collection algorithm based on two types of reference, strong and weak, to link the graph of objects. Strong references connect the roots to all the nodes in the graph but do not contain cycles.Weak references may, however, contain cycles. Advantages of this system include: (1) reduced processing, nontrivial garbage collection work is only required when the last strong reference is lost; (2) fewer memory traces to delete objects, a garbage cycle only needs to be traversed twice to be deleted; (3) fewer memory traces to retain objects, since the collector can often prove objects are reachable without fully tracing support cycles to which the objects belong; (4) concurrency, it can run in parallel with a live system without "stopping the world;" (5) parallel, because collection operations in different parts of the memory can proceed at the same time. Previous variants of this technique required exponential cleanup time [27, 31], but our algorithm is linear in total time, i.e. any changes in the graph take only O(N) time steps, where N is the number of edges in the affected subgraph (e.g. the subgraph whose strong support is affected by the operations).

Original languageEnglish (US)
Pages (from-to)47-58
Number of pages12
JournalInternational Symposium on Memory Management, ISMM
Issue number11
StatePublished - Jun 12 2014
Externally publishedYes
Event2014 ACM SIGPLAN International Symposium on Memory Management, ISMM 2014 - Edinburgh, United Kingdom
Duration: Jun 12 2014 → …


  • Compilers and runtime systems
  • Concurrent data structures
  • Garbage Collection
  • Parallel algorithms
  • Parallel programming theory and models
  • Software for productivity parallel programming

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'Concurrent, parallel garbage collection in linear time'. Together they form a unique fingerprint.

Cite this