Real-time garbage collection on general-purpose machines
Journal of Systems and Software
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Generational stack collection and profile-driven pretenuring
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Eliminating external fragmentation in a non-moving garbage collector for Java
CASES '00 Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems
List processing in real time on a serial computer
Communications of the ACM
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
An efficient, incremental, automatic garbage collector
Communications of the ACM
A real-time garbage collector with low overhead and consistent utilization
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The Real-Time Specification for Java
Computer
Time-triggered garbage collection: robust and adaptive real-time GC scheduling for embedded systems
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Hard Real-Time Garbage-Collection in the Jamaica Virtual Machine
RTCSA '99 Proceedings of the Sixth International Conference on Real-Time Computing Systems and Applications
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Real-Time Garbage Collection for Java
ISORC '06 Proceedings of the Ninth IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing
Garbage collection for safety critical Java
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
JTRES '07 Proceedings of the 5th international workshop on Java technologies for real-time and embedded systems
Design and implementation of a comprehensive real-time java virtual machine
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Stopless: a real-time garbage collector for multiprocessors
Proceedings of the 6th international symposium on Memory management
Non-blocking root scanning for real-time garbage collection
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
Non-blocking object copy for real-time garbage collection
JTRES '08 Proceedings of the 6th international workshop on Java technologies for real-time and embedded systems
Educational case studies with an open source embedded real-time Java processor
WESE '09 Proceedings of the 2009 Workshop on Embedded Systems Education
Hi-index | 0.00 |
Garbage collection (GC) is a well known approach to simplify software development. Recently, it has started to gain acceptance also in the real-time community. Several hard real-time GC algorithms have been proposed for uniprocessors. However, the growing popularity of multi-processors for real-time systems entails that algorithms and techniques have to be developed that allow hard realtime GC on multi-processors as well. We propose a novel root cache, which aggregates information of the processor-local root sets in multi-processor systems. It allows that the root scanning phase of the garbage collector is decoupled from the root scanning phase of working threads. Thread-local root scanning can be scheduled flexibly, without impeding the garbage collector. Additionally, the new cache lowers both the blocking time and the memory bandwidth consumption due to the root scanning phase of GC. The proposed solution has been implemented for evaluation in a chip multi-processor system based on the Java Optimized Processor. We show how bounds on the garbage collector period can be extended to take into account the root cache. We also present experimental results, which highlight the advantages and limits of the proposed approach.