Multi-tasking, managed runtime environments (MREs) for modern type-safe, object-oriented programming languages enable isolated, concurrent execution of multiple applications within a single operating system process. Multi-tasking MREs can potentially extract high-performance on desktop and hand-held systems through aggressive sharing of classes and compiled code, and by exploiting high-level dynamic program information. We investigate the performance of a state-of-the-art multi-taking MRE for concurrent program execution. We find that due to limited support for multi-tasking and performance isolation in the memory management subsystem, multi-tasking performs poorly compared to a production-quality, single-tasking MRE. We present MTM 2: a comprehensive memory management system for concurrent multi-tasking. MTM 2 facilitates performance isolation and efficient heap space usage through on-demand allocation of application-private regions. MTM 2 mitigates fragmentation using a novel hybrid garbage collector that combines mark-sweep with opportunistic copying. Our evaluation shows that MTM 2 improves overall performance, scalability, and footprint for concurrent workloads over state-of-the-art, multi- and single-tasking MREs. © 2008 Springer-Verlag.
CITATION STYLE
Soman, S., Krintz, C., & Daynès, L. (2008). MTM2: Scalable memory management for multi-tasking managed runtime environments. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5142 LNCS, pp. 335–361). https://doi.org/10.1007/978-3-540-70592-5_15
Mendeley helps you to discover research relevant for your work.