Implementing an on-the-fly garbage collector for Java

  • Authors:
  • Tamar Domani;Elliot K. Kolodner;Ethan Lewis;Eliot E. Salant;Katherine Barabash;Itai Lahan;Yossi Levanoni;Erez Petrank;Igor Yanorer

  • Affiliations:
  • IBM Haifa Research Laboratory, MATAM Advanced Technology Center, Haifa 31905, ISRAEL;IBM Haifa Research Laboratory, MATAM Advanced Technology Center, Haifa 31905, ISRAEL;IBM Haifa Research Laboratory, MATAM Advanced Technology Center, Haifa 31905, ISRAEL;IBM Haifa Research Laboratory, MATAM Advanced Technology Center, Haifa 31905, ISRAEL;IBM Haifa Research Laboratory, MATAM Advanced Technology Center, Haifa 31905, ISRAEL;-;Computer Science Department, Technion - Israel Institute of Technology;Computer Science Department, Technion - Israel Institute of Technology;-

  • Venue:
  • Proceedings of the 2nd international symposium on Memory management
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Java uses garbage collection (GC) for the automatic reclamation of computer memory no longer required by a running application. GC implementations for Java Virtual Machines (JVM) are typically designed for single processor machines, and do not necessarily perform well for a server program with many threads running on a multiprocessor. We designed and implemented an on-the-fly GC, based on the algorithm of Doligez, Leroy and Gonthier [13, 12] (DLG), for Java in this environment. An on-the-fly collector, a collector that does not stop the program threads, allows all processors to be utilized during collection and provides uniform response times. We extended and adapted DLG for Java (e.g., adding support for weak references) and for modern multiprocessors without sequential consistency, and added performance improvements (e.g., to keep track of the objects remaining to be traced). We compared the performance of our implementation with stop-the-world mark-sweep GC. Our measurements show that the performance advantage for our collector increases as the number of threads increase and that it provides uniformly low response times.