Improving locality of reference in a garbage-collecting memory management system
Communications of the ACM
Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Simple generational garbage collection and fast allocation
Software—Practice & Experience
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
An adaptive tenuring policy for generation scavengers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Using key object opportunism to collect old objects
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
A comparative performance evaluation of write barrier implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
A third-generation SELF implementation: reconciling responsiveness with performance
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Region-based memory management
Information and Computation
Generational garbage collection and the radioactive decay model
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Generational stack collection and profile-driven pretenuring
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Memory management with explicit regions
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A study of large object spaces
Proceedings of the 1st international symposium on Memory management
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Contaminated garbage collection
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Thread-specific heaps for multi-threaded programs
Proceedings of the 2nd international symposium on Memory management
A nonrecursive list compacting algorithm
Communications of the ACM
A parallel, real-time garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Controlling garbage collection and heap growth to reduce the execution time of Java applications
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
In or out?: putting write barriers in their place
Proceedings of the 3rd international symposium on Memory management
Incremental Collection of Mature Objects
IWMM '92 Proceedings of the International Workshop on Memory Management
Uniprocessor Garbage Collection Techniques
IWMM '92 Proceedings of the International Workshop on Memory Management
Garbage collection in a large LISP system
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Comparative performance evaluation of garbage collection algorithms
Comparative performance evaluation of garbage collection algorithms
Properties of age-based automatic memory reclamation algorithms
Properties of age-based automatic memory reclamation algorithms
The GC Interface in the EVM1
IBM Systems Journal
In or out?: putting write barriers in their place
Proceedings of the 3rd international symposium on Memory management
An experimental study of renewal-older-first garbage collection
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
GCspy: an adaptable heap visualisation framework
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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
Older-first garbage collection in practice: evaluation in a Java Virtual Machine
Proceedings of the 2002 workshop on Memory system performance
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
Mark-copy: fast copying GC with less space overhead
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Ulterior reference counting: fast garbage collection without a long wait
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Connectivity-based garbage collection
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Oil and Water? High Performance Garbage Collection in Java with MMTk
Proceedings of the 26th International Conference on Software Engineering
Myths and realities: the performance impact of garbage collection
Proceedings of the joint international conference on Measurement and modeling of computer systems
A unified theory of garbage collection
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Finding your cronies: static analysis for dynamic object colocation
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic selection of application-specific garbage collectors
Proceedings of the 4th international symposium on Memory management
Proceedings of the 4th international symposium on Memory management
Generating object lifetime traces with Merlin
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reducing generational copy reserve overhead with fallback compaction
Proceedings of the 5th international symposium on Memory management
Impact of virtual execution environments on processor energy consumption and hardware adaptation
Proceedings of the 2nd international conference on Virtual execution environments
Relative factors in performance analysis of Java virtual machines
Proceedings of the 2nd international conference on Virtual execution environments
Understanding the behavior of compiler optimizations
Software—Practice & Experience - Research Articles
On the Prediction of Java Object Lifetimes
IEEE Transactions on Computers
Five perspectives on modern memory management: systems, hardware and theory
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
On measuring garbage collection responsiveness
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
Linear combinations of radioactive decay models for generational garbage collection
Science of Computer Programming - Special issue on five perspectives on modern memory management: Systems, hardware and theory
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Application-specific garbage collection
Journal of Systems and Software
Isla Vista Heap Sizing: Using Feedback to Avoid Paging
Proceedings of the International Symposium on Code Generation and Optimization
Incremental copying garbage collection for WAM-based Prolog systems
Theory and Practice of Logic Programming
Proceedings of the 6th international symposium on Memory management
Microphase: an approach to proactively invoking garbage collection for improved performance
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Garbage collection: Java application servers' Achilles heel
Science of Computer Programming
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
A study of Java object demographics
Proceedings of the 7th international symposium on Memory management
MTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
ECOOP'07 Proceedings of the 2007 conference on Object-oriented technology
Implementation, compilation, optimization of object-oriented languages, programs and systems
ECOOP'06 Proceedings of the 2006 conference on Object-oriented technology: ECOOP 2006 workshop reader
The locality of concurrent write barriers
Proceedings of the 2010 international symposium on Memory management
Compartmental memory management in a modern web browser
Proceedings of the international symposium on Memory management
Bounded-latency regional garbage collection
Proceedings of the 7th symposium on Dynamic languages
Improve google android user experience with regional garbage collection
NPC'11 Proceedings of the 8th IFIP international conference on Network and parallel computing
Age-Oriented concurrent garbage collection
CC'05 Proceedings of the 14th international conference on Compiler Construction
Barriers reconsidered, friendlier still!
Proceedings of the 2012 international symposium on Memory Management
AS-GC: an efficient generational garbage collector for java application servers
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Control theory for principled heap sizing
Proceedings of the 2013 international symposium on memory management
POPL 2003: A real-time garbage collector with low overhead and consistent utilization
ACM SIGPLAN Notices - Supplemental issue
Hi-index | 0.00 |
We present the design and implementation of a new garbage collection framework that significantly generalizes existing copying collectors. The Beltway framework exploits and separates object age and incrementality. It groups objects in one or more increments on queues called belts, collects belts independently, and collects increments on a belt in first-in-first-out order. We show that Beltway configurations, selected by command line options, act and perform the same as semi-space, generational, and older-first collectors, and encompass all previous copying collectors of which we are aware. The increasing reliance on garbage collected languages such as Java requires that the collector perform well. We show that the generality of Beltway enables us to design and implement new collectors that are robust to variations in heap size and improve total execution time over the best generational copying collectors of which we are aware by up to 40%, and on average by 5 to 10%, for small to moderate heap sizes. New garbage collection algorithms are rare, and yet we define not just one, but a new family of collectors that subsumes previous work. This generality enables us to explore a larger design space and build better collectors.