Publication | Closed Access
A real-time garbage collector with low overhead and consistent utilization
322
Citations
23
References
2003
Year
Unknown Venue
Cluster ComputingStorage PerformanceEngineeringIn-memory DatabaseComputer ArchitectureSoftware EngineeringReal-time ResolutionSoftware AnalysisSystem SoftwareParallel ComputingData ManagementMemory ManagementComputer EngineeringReal-time Garbage CollectorComputer ScienceVirtual MemoryMemory ArchitectureExternal-memory AlgorithmProgram AnalysisReal-time BoundsReal-time SystemsParallel ProgrammingGarbage CollectionIn-storage Computing
Now that the use of garbage collection in languages like Java is becoming widely accepted due to the safety and software engineering benefits it provides, there is significant interest in applying garbage collection to hard real-time systems. Past approaches have generally suffered from one of two major flaws: either they were not provably real-time, or they imposed large space overheads to meet the real-time bounds. We present a mostly non-moving, dynamically defragmenting collector that overcomes both of these limitations: by avoiding copying in most cases, space requirements are kept low; and by fully incrementalizing the collector we are able to meet real-time bounds. We implemented our algorithm in the Jikes RVM and show that at real-time resolution we are able to obtain mutator utilization rates of 45% with only 1.6--2.5 times the actual space required by the application, a factor of 4 improvement in utilization over the best previously published results. Defragmentation causes no more than 4% of the traced data to be copied.
| Year | Citations | |
|---|---|---|
Page 1
Page 1