Oil and water? High performance garbage collection in Java with MMTk

Stephen M. Blackburn*, Perry Cheng, Kathryn S. McKinley

*Corresponding author for this work

    Research output: Contribution to journalConference articlepeer-review

    165 Citations (Scopus)

    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.

    Original languageEnglish
    Pages (from-to)137-146
    Number of pages10
    JournalProceedings - International Conference on Software Engineering
    Volume26
    Publication statusPublished - 2004
    EventProceedings - 26th International Conference on Software Engineering, ICSE 2004 - Edinburgh, United Kingdom
    Duration: 23 May 200428 May 2004

    Fingerprint

    Dive into the research topics of 'Oil and water? High performance garbage collection in Java with MMTk'. Together they form a unique fingerprint.

    Cite this