Something old, something new: memory management today and looking forwards

I will give this talk in two parts. First I will present the Immix garbage collector, which I developed with Kathryn McKinley, and which is now used as the default collector in a number of virtual machines. I will then discuss where I think memory management is headed, supported by unpublished results from our current research. An abstract of our Immix work follows:

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 SPEC jbb by 5%. These innovations and the identification of a new family of collectors open new opportunities for garbage collector design.

Speaker Details

Stephen Blackburn is an Associate Professor in the Research School of Computer Science at the Australian National University. His research focus is on programming language implementation, and in particular the interplay between managed programming languages and microarchitecture. He is interested in understanding, measuring and addressing the narrowing memory bottleneck, and the characteristics of modern languages and architectures that exacerbate this problem. His service includes program committees and external review committees such as ASPLOS, ISCA, OOPSLA, ISMM, VEE, and PLDI, and the program chair of ISMM 2008. He has led the development tools and benchmarks in wide use: the MMTk garbage collection toolkit and the DaCapo Java Benchmarks. He is on the Jikes RVM Steering committee and leads the DaCapo Benchmark Suite consortium.

Date:
Speakers:
Stephen Blackburn
Affiliation:
Australian National University
    • Portrait of Jeff Running

      Jeff Running