Replicating Real-Time Garbage Collector
Real-time Java is becoming a viable platform for real-time applications, bringing new challenges to a garbage collector. A real-time collector has to be incremental as not to cause deadline misses by suspending an application for too long. In particular, if a real-time collector has to relocate objects in the heap, it must do so incrementally and transparently to the application. This is usually achieved via an indirection that has to be followed on every read and write to the heap. The authors present an alternative solution, based on object replication, which does not need any special handling for memory reads, but writes are more expensive: every value is written twice.