Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Cyclic reference counting with local mark-scan
Information Processing Letters
Cyclic reference counting with lazy mark-scan
Information Processing Letters
Real-time replication garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
A concurrent copying garbage collector for languages that distinguish (im)mutable data
PPOPP '93 Proceedings of the fourth ACM SIGPLAN symposium on Principles and practice of parallel programming
A concurrent, generational garbage collector for a multithreaded implementation of ML
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Very concurrent mark-&-sweep garbage collection without fine-grain synchronization
Proceedings of the 1st international symposium on Memory management
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A generational on-the-fly garbage collector for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
Managing Reentrant Structures Using Reference Counts
ACM Transactions on Programming Languages and Systems (TOPLAS)
An efficient, incremental, automatic garbage collector
Communications of the ACM
Multiprocessing compactifying garbage collection
Communications of the ACM
Implementing an on-the-fly garbage collector for Java
Proceedings of the 2nd international symposium on Memory management
Recursive functions of symbolic expressions and their computation by machine, Part I
Communications of the ACM
A method for overlapping and erasure of lists
Communications of the ACM
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
Cyclic Distributed Garbage Collection with Group Merger
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Cyclic Weighted Reference Counting without Delay
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
On-the-fly garbage collection: an exercise in cooperation
Language Hierarchies and Interfaces, International Summer School
An efficient parallel garbage collection system and ITS correctness proof
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
An on-the-fly reference counting garbage collector for Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A Multithreaded Concurrent Garbage Collector Parallelizing the New Instruction in Java
IPDPS '02 Proceedings of the 16th International Parallel and Distributed Processing Symposium
Decreasing Memory Overhead in Hard Real-Time Garbage Collection
EMSOFT '02 Proceedings of the Second International Conference on Embedded Software
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
The space cost of lazy reference counting
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
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
An on-the-fly reference-counting garbage collector for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Generating object lifetime traces with Merlin
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler optimizations for nondeferred reference: counting garbage collection
Proceedings of the 5th international symposium on Memory management
A stackless runtime environment for a Pi-calculus
Proceedings of the 2nd international conference on Virtual execution environments
Low memory overhead real-time garbage collection for Java
JTRES '06 Proceedings of the 4th international workshop on Java technologies for real-time and embedded systems
PPPJ '06 Proceedings of the 4th international symposium on Principles and practice of programming in Java
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple and efficient algorithm for cycle collection
ACM SIGPLAN Notices
Proceedings of the 6th international symposium on Memory management
Garbage collection: Java application servers' Achilles heel
Science of Computer Programming
Integrating generations with advanced reference counting garbage collectors
CC'03 Proceedings of the 12th international conference on Compiler construction
An efficient multi-processor architecture for parallel cyclic reference counting
VECPAR'02 Proceedings of the 5th international conference on High performance computing for computational science
Incorporating precise garbage collection in an Ada compiler
Ada-Europe'07 Proceedings of the 12th international conference on Reliable software technologies
An efficient approach to cyclic reference counting based on a coarse-grained search
Information Processing Letters
Deferred gratification: engineering for high performance garbage collection from the get go
Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Cyclic reference counting by typed reference fields
Computer Languages, Systems and Structures
Hardware concurrent garbage collection for short-lived objects in mobile java devices
EUC'05 Proceedings of the 2005 international conference on Embedded and Ubiquitous Computing
Incremental distributed garbage collection using reverse reference tracking
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
An efficient on-the-fly cycle collection
CC'05 Proceedings of the 14th international conference on Compiler Construction
New algorithms and applications of cyclic reference counting
ICGT'06 Proceedings of the Third international conference on Graph Transformations
A lightweight cyclic reference counting algorithm
GPC'06 Proceedings of the First international conference on Advances in Grid and Pervasive Computing
Down for the count? Getting reference counting back in the ring
Proceedings of the 2012 international symposium on Memory Management
Proceedings of the International Workshop on Smalltalk Technologies
Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Taking off the gloves with reference counting Immix
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Fully concurrent garbage collection of actors on many-core machines
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Non-blocking garbage collection for real-time Android
Proceedings of the 11th International Workshop on Java Technologies for Real-time and Embedded Systems
Hi-index | 0.00 |
Automatic storage reclamation via reference counting has important advantages, but has always suffered from a major weakness due to its inability to reclaim cyclic data structures.We describe a novel cycle collection algorithm that is both concurrent -- it is capable of collecting garbage even in the presence of simultaneous mutation -- and localized--it never needs to perform a global search of the entire data space. We describe our algorithm in detail and present a proof of correctness.We have implemented our algorithm in the Jalape帽o Java virtual machine as part of the Recycler, a concurrent multiprocessor reference counting garbage collector that achieves maximum mutator pause times of only 6 milliseconds. We present measurements of the behavior of the cycle collection algorithm over a set of eight benchmarks that demonstrate the effectiveness of the algorithm at finding garbage cycles, handling concurrent mutation, and eliminating global tracing.