DocumentCode
3231787
Title
Oil and water? High performance garbage collection in Java with MMTk
Author
Blackburn, Stephen M. ; Cheng, Perry ; McKinley, Kathryn S.
Author_Institution
Dept. of Comput. Sci., Australian Nat. Univ., Canberra, ACT, Australia
fYear
2004
fDate
23-28 May 2004
Firstpage
137
Lastpage
146
Abstract
Increasingly popular languages such as Java and C# require efficient garbage collection. This paper presents the design, implementation, and evaluation of MMTk, a Memory Management Toolkit for and in Java. MMTk is an efficient, composable, extensible, and portable framework for building garbage collectors. MMTk uses design patterns and compiler cooperation to combine modularity and efficiency. The resulting system is more robust, easier to maintain, and has fewer defects than monolithic collectors. Experimental comparisons with monolithic Java and C implementations reveal MMTk has significant performance advantages as well. Performance critical system software typically uses monolithic C at the expense of flexibility. Our results refute common wisdom that only this approach attains efficiency, and suggest that performance critical software can embrace modular design and high-level languages.
Keywords
C++ language; Java; high level languages; software performance evaluation; storage management; C# language; Java language; MMTk; compiler cooperation; design patterns; garbage collection; high-level languages; memory management toolkit; software performance evaluation; systems development; Buildings; Computer science; Hybrid power systems; Java; Memory management; Petroleum; Robustness; Software engineering; System software; Virtual machining;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
ISSN
0270-5257
Print_ISBN
0-7695-2163-0
Type
conf
DOI
10.1109/ICSE.2004.1317436
Filename
1317436
Link To Document