An on-the-fly reference counting garbage collector for Java

Citation
Y. Levanoni et E. Petrank, An on-the-fly reference counting garbage collector for Java, ACM SIGPL N, 36(11), 2001, pp. 367-380
Citations number
43
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM SIGPLAN NOTICES
ISSN journal
15232867 → ACNP
Volume
36
Issue
11
Year of publication
2001
Pages
367 - 380
Database
ISI
SICI code
1523-2867(200111)36:11<367:AORCGC>2.0.ZU;2-Q
Abstract
Reference counting is not naturally suitable for running on multiprocessors . The update of pointers and reference counts requires atomic and synchroni zed operations. We present a novel reference counting algorithm suitable fo r a multiprocessor that does not require any synchronized operation in its write barrier (not even a compare-and-swap type of synchronization). The al gorithm is efficient and may compete with any tracing algorithm. We have implemented our algorithm on SUN's Java Virtual Machine 1.2.2 and r an it on a 4-way IBM Netfinity 8500R server with 550MHz Intel Pentium III X eon and 2GB of physical memory. It turns out that our algorithm has an extr emely low latency and throughput that is comparable to the mark and sweep a lgorithm used in the original JVM.