Immix: A Mark-Region Garbage Collector with Space Efficiency, Fast Collection, and Mutator Performance
Loading...
Date
Authors
Blackburn, Stephen
McKinley, Kathryn
Journal Title
Journal ISSN
Volume Title
Publisher
Association for Computing Machinery Inc (ACM)
Abstract
Programmers are increasingly choosing managed languages for modern applications, which tend to allocate many short-to-medium lived small objects. The garbage collector therefore directly determines program performance by making a classic space-time tradeoff that seeks to provide space efficiency, fast reclamation, and mutator performance. The three canonical tracing garbage collectors: semi-space, mark-sweep, and mark-compact each sacrifice one objective. This paper describes a collector family, called mark-region, and introduces opportunistic defragmentation, which mixes copying and marking in a single pass. Combining both, we implement immix, a novel high performance garbage collector that achieves all three performance objectives. The key insight is to allocate and reclaim memory in contiguous regions, at a coarse block grain when possible and otherwise in groups of finer grain lines. We show that immix outperforms existing canonical algorithms, improving total application performance by 7 to 25% on average across 20 benchmarks. As the mature space in a generational collector, immix matches or beats a highly tuned generational collector, e.g. it improves jbb2000 by 5%. These innovations and the identification of a new family of collectors open new opportunities for garbage collector design.
Description
Citation
Collections
Source
Proceedings of the ACM SIGNPLAN 2008 Conference on Programming Language Design and Implementation
Type
Book Title
Entity type
Access Statement
License Rights
Restricted until
2037-12-31