Implementation of a Garbage Collection Heuristic in the Java Virtual Machine

  • Héberte Fernandes de Moraes UFRJ
  • Luciano J. Chaves UNICAMP
  • Marcelo Lobosco UFJF

Abstract


The Garbage Collector mechanism frees the programmer from manually dealing with memory management. This is a standard feature of several programming languages, such as Java, but imposes an additional cost on program execution. An attempt to minimize this cost is to increase the size available for allocations, but memory can be wasted. If too little memory is available for allocation, the number of garbage collections increases, which in turn impacts negatively the computation time. In this work we present, implement and evaluate a new heuristic that aims to adjust automatically the total amount of memory available for allocation. The heuristic was implemented in the Java Virtual Machine.

References

Lindholm, T.; Yellin, F. (1999) “The Java Virtual Machine Specification”, 2nd Edition, Prentice Hall PTR.

Bacon, D.; Cheng, P.; Rajan, V. T. (2004) “A Unified Theory of Garbage Collection”. In: ACM SIGPLAN Notices, Vol. 39, Issue 10, pp. 50-68. Nova Iorque: ACM Press.

Ungar, D. M. (1984) “Generation scavenging: A non-disruptive high-performance storage reclamation algorithm”. In: ACM SIGPLAN Notices, vol. 19, issue 5, pp. 157-167, ACM, 1984.

Boehm, H. “An Artificial Garbage Collection Benchmark” [link]

Detlefs, D. (2005) “GCOld: a benchmark to stress old-generation collection”, [link]

Bull, J. M.; Smith, L. A.; Westhead, M. D.; Henty, D. S.; Davey, R. A.. (2000) “A Benchmark Suite for High Performance Java”, In: Concurrency: Practice and Experience, vol. 12, pp. 375-388, 2000.

Tagtraum industries, inc (2005) [link].

Jones, Richard e Lins, Rafael. (1996). Garbage Collection: Algorithms for automatic dynamic memory management. Publicado por John Wiley & Sons. 329p.
Published
2008-07-12
MORAES, Héberte Fernandes de; CHAVES, Luciano J.; LOBOSCO, Marcelo. Implementation of a Garbage Collection Heuristic in the Java Virtual Machine. In: WORKSHOP ON OPERATING SYSTEMS (WSO), 5. , 2008, Belém/PA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 57-68.