Characterizing computer performance with a single number
Communications of the ACM
Real-time garbage collection on general-purpose machines
Journal of Systems and Software
Real-time replication garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Performance of a hardware-assisted real-time garbage collector
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
The Deferrable Server Algorithm for Enhanced Aperiodic Responsiveness in Hard Real-Time Environments
IEEE Transactions on Computers
Real-Time Schedulability Tests for Preemptive Multitasking
WPDRTS Selected papers from the 4th workshop on Parallel and distributed real-time systems
Measuring computer performance: a practitioner's guide
Measuring computer performance: a practitioner's guide
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
A parallel, real-time garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
The Real-Time Specification for Java
The Real-Time Specification for Java
Joint scheduling of garbage collector and hard real-time tasks for embedded applications
Journal of Systems and Software
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
Effective Analysis for Engineering Real-Time Fixed Priority Schedulers
IEEE Transactions on Software Engineering
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
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
Trading data space for reduced time and code space in real-time garbage collection on stock hardware
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Real-Time Garbage Collection in Multi-Threaded Systems on a Single Processor
RTSS '99 Proceedings of the 20th IEEE Real-Time Systems Symposium
Heap compression for memory-constrained Java environments
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Mackinac: Making HotSpot" Real-Time
ISORC '05 Proceedings of the Eighth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Scalable real-time parallel garbage collection for symmetric multiprocessors
Scalable real-time parallel garbage collection for symmetric multiprocessors
On measuring garbage collection responsiveness
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Reflexes: abstractions for highly responsive systems
Proceedings of the 3rd international conference on Virtual execution environments
Design and implementation of a comprehensive real-time java virtual machine
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
A real-time Java virtual machine with applications in avionics
ACM Transactions on Embedded Computing Systems (TECS)
The worst-case execution-time problem—overview of methods and survey of tools
ACM Transactions on Embedded Computing Systems (TECS)
Memory Management for Real-Time Java: State of the Art
ISORC '08 Proceedings of the 2008 11th IEEE Symposium on Object Oriented Real-Time Distributed Computing
Tax-and-spend: democratic scheduling for real-time garbage collection
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
Joint garbage collection and hard real-time scheduling
Journal of Embedded Computing - Best Papers of RTS' 2005
Accurate garbage collection in uncooperative environments revisited
Concurrency and Computation: Practice & Experience
CDx: a family of real-time Java benchmarks
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
On transforming Java-like programs into memory-predictable code
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Scheduling Hard Real-Time Garbage Collection
RTSS '09 Proceedings of the 2009 30th IEEE Real-Time Systems Symposium
A real-time Java chip-multiprocessor
ACM Transactions on Embedded Computing Systems (TECS)
Scheduling of hard real-time garbage collection
Real-Time Systems
Replicating real-time garbage collector
Concurrency and Computation: Practice & Experience
Generational real-time garbage collection: a three-part invention for young objects
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
About 15 years of real-time Java
Proceedings of the 10th International Workshop on Java Technologies for Real-time and Embedded Systems
The case for the three R's of systems research: repeatability, reproducibility and rigor
Proceedings of the 10th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Hi-index | 0.01 |
Managed languages such as Java and C# are increasingly being considered for hard real-time applications because of their productivity and software engineering advantages. Automatic memory management, or garbage collection, is a key enabler for robust, reusable libraries, yet remains a challenge for analysis and implementation of real-time execution environments. This article comprehensively compares leading approaches to hard real-time garbage collection. There are many design decisions involved in selecting a real-time garbage collection algorithm. For time-based garbage collectors on uniprocessors one must choose whether to use periodic, slack-based or hybrid scheduling. A significant impediment to valid experimental comparison of such choices is that commercial implementations use completely different proprietary infrastructures. We present Minuteman, a framework for experimenting with real-time collection algorithms in the context of a high-performance execution environment for real-time Java. We provide the first comparison of the approaches, both experimentally using realistic workloads, and analytically in terms of schedulability.