Realtime Garbage Collection in the JamaicaVM 3.0

James J. Hunt, Isabel Tonin, Michael Benkel, Mirko Seifert, Katja Siegemund, Niko Feiertag


28 Sep 2007
JTRES'07 - The 5th International Workshop on Java Technologies for Real-time and Embedded Systems - JTRES 2007 - Vienna, Austria



This paper provides an overview of the realtime garbage collector used by the RTSJ Java Virtual Machine JamaicaVM. A particular emphasis will be made on the improvements made in with release 3.0 JamaicaVM.

The JamaicaVM garbage collector is incremental to an extreme extent: single incremental steps of the garbage collector correspond to scanning only 32 bytes of memory and have a worst-case execution time in the order of one usec. The JamaicaVM garbage collector uses automatic pacing, making the system easier to configure than a garbage collector using explicit pacing that requires information on the application's allocation rate.

The recent improvements of the garbage collector that will be present in this paper include support for automatic heap expansion; reduction of the memory overhead for garbage collector internal structures; and significant performance optimisation such as a faster write-barrier and a sweep phase that does not need to touch the objects and therefore reduces the number of cache misses caused during sweep.

Download: PDF icon PDF (226kB)