Garbage Collection for Large Memory Java Applications

Andreas Krall and Philipp Tomsich

Institut für Computersprachen
Technische Universität Wien
Argentinierstraße 8
A-1040 Wien, Austria

Institut of Software Technology
Vienna University of Technology
Resselgasse 3/E188
A-1040 Wien, Austria

{andi, phil}@complang.tuwien.ac.at

Abstract

The possible applications of Java range from small applets to large, data-intensive scientific applications allocating memory in the multi-gigabyte range. As a consequence copying garbage collectors can not fulfill the requirements, as large objects can not be copied efficiently. We analyze the allocation patterns and object lifespans for different Java applications and present garbage collection techniques for these. Various heuristics to reduce fragmentation are compared. We propose just-in-time generated customized marker functions as a promising optimization during the mark-phase.