JVM 2001 Abstract
HotSwapping between a Mark&Sweep and a Mark&Compact
Garbage Collector in a Generational Environment
Tony Printezis, University of Glasgow
This paper describes a novel method for dynamically
switching between a Mark&Compact (M&C) and a
Mark&Sweep (M&S) garbage collector in the generational
memory system of a high performance Java virtual
machine. A M&C collector reclaims space by sliding
all live objects towards the beginning of the heap. A
M&S collector de-allocates garbage objects inplace. In
this paper, both algorithms are assumed to operate over
the old generation of a generational memory system and
on their own provide different trade-offs to the application
that uses them: faster old collections but with slower
young collections and the possibility of fragmentation
(M&S) or slower old collections but with faster young
collections and the guarantee to eliminate fragmentation
(M&C). We propose Hot-Swapping, a technique for dynamically
switching between these two algorithms, to attempt
to achieve the "best of both worlds". Its introduction
to the memory system of the virtual machine imposed
minimal changes to the existing implementations of M&C
and M&S and virtually no extra performance overhead.
Experimental results, presented in the paper, show that
this hybrid scheme can either outperform both algorithms,
or is very close to the faster of the two (whether this is
M&S or M&C), while never being the slowest.
- View the full text of this paper in
- If you need the latest Adobe Acrobat Reader, you can download it from Adobe's site.
- To become a USENIX Member, please see our Membership Information.