Managed languages such as Java and C# are being considered for use in hard real-time systems. A hurdle to their widespread adoption is the lack of garbage collection algorithms that offer predictable space-and-time performance in the face of fragmentation. We introduce SCHISM/CMR, a new concurrent and real-time garbage collector that is fragmentation tolerant and guarantees time-and-space worst-case bounds while providing good throughput. SCHISM/CMR combines mark-region collection of fragmented objects and arrays (arraylets) with separate replication-copying collection of immutable arraylet spines, so as to cope with external fragmentation when running in small heaps. We present an implementation of SCHISM/CMR in the Fiji VM, a high-performance Java virtual machine for mission-critical systems, along with a thorough experimental evaluation on a wide variety of architectures, including server-class and embedded systems. The results show that SCHISM/CMR tolerates fragmentation better than previous schemes, with a much more acceptable throughput penalty.
%0 Conference Paper
%1 1806615
%A Pizlo, Filip
%A Ziarek, Lukasz
%A Maj, Petr
%A Hosking, Antony L.
%A Blanton, Ethan
%A Vitek, Jan
%B PLDI '10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation
%C New York, NY, USA
%D 2010
%I ACM
%K Fragmentation GC GarbageCollection Me:ToRead RealTime SummerSchool Vitek
%P 146--159
%R 10.1145/1806596.1806615
%T Schism: fragmentation-tolerant real-time garbage collection
%U http://portal.acm.org/citation.cfm?id=1806596.1806615&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692
%X Managed languages such as Java and C# are being considered for use in hard real-time systems. A hurdle to their widespread adoption is the lack of garbage collection algorithms that offer predictable space-and-time performance in the face of fragmentation. We introduce SCHISM/CMR, a new concurrent and real-time garbage collector that is fragmentation tolerant and guarantees time-and-space worst-case bounds while providing good throughput. SCHISM/CMR combines mark-region collection of fragmented objects and arrays (arraylets) with separate replication-copying collection of immutable arraylet spines, so as to cope with external fragmentation when running in small heaps. We present an implementation of SCHISM/CMR in the Fiji VM, a high-performance Java virtual machine for mission-critical systems, along with a thorough experimental evaluation on a wide variety of architectures, including server-class and embedded systems. The results show that SCHISM/CMR tolerates fragmentation better than previous schemes, with a much more acceptable throughput penalty.
%@ 978-1-4503-0019-3
@inproceedings{1806615,
abstract = {Managed languages such as Java and C# are being considered for use in hard real-time systems. A hurdle to their widespread adoption is the lack of garbage collection algorithms that offer predictable space-and-time performance in the face of fragmentation. We introduce SCHISM/CMR, a new concurrent and real-time garbage collector that is fragmentation tolerant and guarantees time-and-space worst-case bounds while providing good throughput. SCHISM/CMR combines mark-region collection of fragmented objects and arrays (arraylets) with separate replication-copying collection of immutable arraylet spines, so as to cope with external fragmentation when running in small heaps. We present an implementation of SCHISM/CMR in the Fiji VM, a high-performance Java virtual machine for mission-critical systems, along with a thorough experimental evaluation on a wide variety of architectures, including server-class and embedded systems. The results show that SCHISM/CMR tolerates fragmentation better than previous schemes, with a much more acceptable throughput penalty.},
added-at = {2010-07-25T22:15:25.000+0200},
address = {New York, NY, USA},
author = {Pizlo, Filip and Ziarek, Lukasz and Maj, Petr and Hosking, Antony L. and Blanton, Ethan and Vitek, Jan},
biburl = {https://www.bibsonomy.org/bibtex/2af79ed907efb7618c991197eaf823e81/gron},
booktitle = {PLDI '10: Proceedings of the 2010 ACM SIGPLAN conference on Programming language design and implementation},
description = {Schism},
doi = {10.1145/1806596.1806615},
interhash = {a5f8f0f046da4a3f8738ba02fb2083f7},
intrahash = {af79ed907efb7618c991197eaf823e81},
isbn = {978-1-4503-0019-3},
keywords = {Fragmentation GC GarbageCollection Me:ToRead RealTime SummerSchool Vitek},
location = {Toronto, Ontario, Canada},
pages = {146--159},
publisher = {ACM},
timestamp = {2010-07-25T22:15:25.000+0200},
title = {Schism: fragmentation-tolerant real-time garbage collection},
url = {http://portal.acm.org/citation.cfm?id=1806596.1806615&coll=Portal&dl=GUIDE&CFID=98230158&CFTOKEN=87309692},
year = 2010
}