Mark-Region and Other Advances in Garbage Collection

Programmers are increasingly choosing managed languages for modern
applications, which rely on garbage collection to manage dynamically
allocated objects. The garbage collector 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 talk
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 for the first time achieves all
three performance objectives simultaneously. The key insight is to
allocate and reclaim memory in contiguous regions, at a coarse block
grain when possible and otherwise reclaim 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 total performance for SPECjbb by 5%. These innovations and
the identification of a new family of collectors open new
opportunities for garbage collector design.

Speaker Details

Kathryn S. McKinley is an Associate Professor at the University of Texas at Austin. She received her PhD from Rice University in 1992. Her research interests include compilers and runtime systems with a particular focus on memory hierarchy, high performance, and program analysis; architecture; parallel and distributed computing; and information retrieval. She received an NSF CAREER Award, 1996-2000, a Texas Institute for Computation and Applied Mathematics (TICAM) Visitor Fellowship, 1999-2000, a Chateaubriand Scholarship for the Exact Sciences, Engineering, and Medicine, 1992, and a DARPA/NASA Assistantship in Parallel Processing, 1991. She has served on over 25 program committees, in a number of other conference organization positions, and as the Treasurer/Secretary for the ACM Special Interest Group on Programming Languages (SIGPLAN, 1999-2001). She is the program chair for the ACM conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) 2004. She has served three times as a mentor in the CRA Distributed Mentor Program for Woman. She has supervised 4 PhD degrees, and published over 40 refereed articles in conferences, journals, and books.

Date:
Speakers:
Kathryn McKinley
Affiliation:
University of Texas
    • Portrait of Jeff Running

      Jeff Running

    • Portrait of Kathryn McKinley

      Kathryn McKinley