Finding your cronies: static analysis for dynamic object colocation

SZ Guyer, KS McKinley - ACM SIGPLAN Notices, 2004 - dl.acm.org
ACM SIGPLAN Notices, 2004dl.acm.org
This paper introduces dynamic object colocation, an optimization to reduce copying costs in
generational and other incremental garbage collectors by allocating connected objects
together in the same space. Previous work indicates that connected objects belong together
because they often have similar lifetimes. Generational collectors, however, allocate all new
objects in a nursery space. If these objects are connected to data structures residing in the
mature space, the collector must copy them. Our solution is a cooperative optimization that …
This paper introduces dynamic object colocation, an optimization to reduce copying costs in generational and other incremental garbage collectors by allocating connected objects together in the same space. Previous work indicates that connected objects belong together because they often have similar lifetimes. Generational collectors, however, allocate all new objects in a nursery space. If these objects are connected to data structures residing in the mature space, the collector must copy them. Our solution is a cooperative optimization that exploits compiler analysis to make runtime allocation decisions. The compiler analysis discovers potential object connectivity for newly allocated objects. It then replaces these allocations with calls to coalloc, which takes an extra parameter called the colocator object. At runtime, coalloc determines the location of the colocator and allocates the new object together with it in either the nursery or mature space. Unlike pretenuring, colocation makes precise per-object allocation decisions and does not require lifetime analysis or allocation site homogeneity. Experimental results for SPEC Java benchmarks using Jikes RVM show colocation can reduce garbage collection time by 50% to 75%, and total performance by up to 1%.
ACM Digital Library
Showing the best result for this search. See all results