ACM Home Page
Please provide us with feedback. Feedback
Immix: a mark-region garbage collector with space efficiency, fast collection, and mutator performance
Full text PdfPdf (405 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation table of contents
Tucson, AZ, USA
SESSION: Session II table of contents
Pages 22-32  
Year of Publication: 2008
ISBN:978-1-59593-860-2
Also published in ...
Authors
Stephen M. Blackburn  Australian National University, Canberra, Australia
Kathryn S. McKinley  University of Texas at Austin, Austin, TX, USA
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 52,   Downloads (12 Months): 284,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1375581.1375586
What is a DOI?

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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
3
 
4
5
 
6
C. Attanasio, D. Bacon, A. Cocchi, and S. Smith. A comparative evaluation of parallel garbage collectors. In Proceedings of the Workshop on Languages and Compilers for Parallel Computing, Cumberland Falls, KY, Aug. 2001.
7
8
9
10
 
11
BEA Systems Inc. Using the JRockit runtime analyzer. http://edocs.bea.com/wljrockit/docs142/usingJRA/looking.html, 2007.
12
 
13
14
 
15
S. M. Blackburn, R. Garner, C. Hoffman, A. M. Khan, K. S. McKinley, R. Bentzur, A. Diwan, D. Feinberg, D. Frampton, S. Z. Guyer, M. Hirzel, A. Hosking, M. Jump, H. Lee, J. E. B. Moss, A. Phansalkar, D. Stefanović, T. VanDrunen, D. von Dincklage, and B. Wiedermann. The DaCapo Benchmarks: Java benchmarking development and analysis (extended version). Technical Report TR-CS-06-01, Dept. of Computer Science, Australian National University, 2006. http://www.dacapobench.org.
16
17
 
18
S. Borman. Sensible sanitation ? understanding the IBM Java garbage collector. http://www.ibm.com/developerworks/ibm/library/i-garbage1/, Aug. 2002.
19
20
21
22
23
24
 
25
D. Frampton, D. F. Bacon, P. Cheng, and D. Grove. Generational realtime garbage collection: A a three-part invention for young obects. In European Conference on Object-Oriented Programming, pages 101--125, Berlin, Germany, July 2007.
 
26
 
27
Jikes RVMCore Team. VMperformance comparisons. http://jikesrvm.anu.edu.au/~dacapo/index.php?category=release, 2007.
28
 
29
D. Lea. A memory allocator. Technical report, SUNY at Oswego, 1996.
30
31
 
32
M. Pettersson. Linux Intel/x86 performance counters, 2003. http://user.it.uu.se/~mikpe/linux/perfctr/.
33
34
 
35
Standard Performance Evaluation Corporation. SPECjbb2000 Documentation, release 1.01 edition, 2001.
36
 
37
P. Styger. LISP 2 garbage collector specifications. Technical Report TM-3417/500/00 1, System Development Cooperation, Santa Monica, CA, Apr. 1967.

Collaborative Colleagues:
Stephen M. Blackburn: colleagues
Kathryn S. McKinley: colleagues