MMTk provides language implementers with a memory management library and the memory management research community with a toolkit for memory management research within multiple languages and compelling language runtime implementations.
MMTk was originally implemented in Java by Steve Blackburn, Perry Cheng and Kathryn McKinley as a part of the Jikes RVM research virtual machine.
We have completely re-written MMTk from scratch. The re-write had two high-level objectives: a) implement the toolkit in a language that was not tightly coupled with a single runtime and its infrastructure, and b) implement the toolkit in a way that ensured that it could be runtime-agnostic, allowing it to be used with multiple language runtimes. The re-write has been done by a group from the Australian National University led by one of the original MMTk authors (Steve Blackburn). Members of the team, led by Yi Lin, ran a successful pilot study of the viability of Rust as an implementation language for high performance garbage collection, which was written up and published at ISMM’16.
The original implementation was integrated into Jikes RVM in October 2002, and was written up in publications at ICSE’04 and SIGMETRICS’04. The toolkit evolved over time, adding garbage collectors, including many of the seminal algorithms from the literature as well as novel algorithms that were developed within MMTk. In its early days, MMTk was ported to Rotor, an open-source fork of the .NET runtime, but the effort was limited by Rotor lacking many of the performance-critical elements of .NET. MMTk was also the basis for the VMKit project which provided a framework for building managed runtimes. The sources of VMKit remain available via the llvm svn.
When you use MMTk in an academic publication, please cite one of the original papers.
- Blackburn, Cheng, McKinley, Oil and water? High performance garbage collection in Java with MMTk, in ICSE 2004, 26th International Conference on Software Engineering, Edinburgh, Scotland, May 23-28, 2004.
- Blackburn, Cheng, McKinley, Myths and realities: The performance impact of garbage collection, in SIGMETRICS – Performance 2004, Joint International Conference on Measurement and Modeling of Computer Systems, New York, NY, USA, June 12–16, 2004.
We hope to have more up to date references for MMTk before too long.