Algorithms for on-the-fly garbage collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Real-time garbage collection on general-purpose machines
Journal of Systems and Software
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
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
Portable, unobtrusive garbage collection for multiprocessor systems
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Concurrent replicating garbage collection
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Using generational garbage collection to implement cache-conscious data placement
Proceedings of the 1st international symposium on Memory management
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
On-the-fly garbage collection: an exercise in cooperation
Communications of the ACM
An exercise in proving parallel programs correct
Communications of the ACM
Multiprocessing compactifying garbage collection
Communications of the ACM
A generational mostly-concurrent garbage collector
Proceedings of the 2nd international symposium on Memory management
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
Sapphire: copying GC without stopping the world
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
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 parallel, incremental and concurrent GC for servers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
On-the-Fly Garbage Collection: New Algorithms Inspired by Program Proofs
Proceedings of the 9th Colloquium on Automata, Languages and Programming
Garbage collection and task deletion in distributed applicative processing systems
LFP '82 Proceedings of the 1982 ACM symposium on LISP and functional programming
Mostly concurrent garbage collection revisited
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Write barrier elision for concurrent garbage collectors
Proceedings of the 4th international symposium on Memory management
Garbage-first garbage collection
Proceedings of the 4th international symposium on Memory management
Compile-Time Concurrent Marking Write Barrier Removal
Proceedings of the international symposium on Code generation and optimization
A parallel, incremental, mostly concurrent garbage collector for servers
ACM Transactions on Programming Languages and Systems (TOPLAS)
An on-the-fly reference-counting garbage collector for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Portable, mostly-concurrent, mostly-copying garbage collection for multi-processors
Proceedings of the 5th international symposium on Memory management
Correctness-preserving derivation of concurrent garbage collection algorithms
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
The Compressor: concurrent, incremental, and parallel compaction
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Controlling garbage collection and heap growth to reduce the execution time of Java applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Lock-free parallel and concurrent garbage collection by mark&sweep
Science of Computer Programming
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A study of concurrent real-time garbage collectors
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Path specialization: reducing phased execution overheads
Proceedings of the 7th international symposium on Memory management
Automated verification of practical garbage collectors
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A lock-free, concurrent, and incremental stack scanning for garbage collectors
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Space-and-time efficient garbage collectors for parallel systems
Proceedings of the 6th ACM conference on Computing frontiers
Online reorganization of databases
ACM Computing Surveys (CSUR)
The single-referent collector: Optimizing compaction for the common case
ACM Transactions on Architecture and Code Optimization (TACO)
A lock-free, concurrent, and incremental stack scanning mechanism for garbage collectors
ACM SIGOPS Operating Systems Review
Data caching, garbage collection, and the Java memory model
Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Compile-time concurrent marking write barrier removal
Compile-time concurrent marking write barrier removal
Dynamic filtering: multi-purpose architecture support for language runtime systems
Proceedings of the fifteenth edition of ASPLOS on Architectural support for programming languages and operating systems
Tracing garbage collection on highly parallel platforms
Proceedings of the 2010 international symposium on Memory management
Nonblocking real-time garbage collection
ACM Transactions on Embedded Computing Systems (TECS)
Simple concurrent garbage collection almost without synchronization
Formal Methods in System Design
Formal derivation of concurrent garbage collectors
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Iterative data-parallel mark&sweep on a GPU
Proceedings of the international symposium on Memory management
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Improve google android user experience with regional garbage collection
NPC'11 Proceedings of the 8th IFIP international conference on Network and parallel computing
Cyclic reference counting by typed reference fields
Computer Languages, Systems and Structures
Age-Oriented concurrent garbage collection
CC'05 Proceedings of the 14th international conference on Compiler Construction
An efficient on-the-fly cycle collection
CC'05 Proceedings of the 14th international conference on Compiler Construction
Derivation and evaluation of concurrent collectors
ECOOP'05 Proceedings of the 19th European conference on Object-Oriented Programming
Parallel memory defragmentation on a GPU
Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Scalable concurrent and parallel mark
Proceedings of the 2012 international symposium on Memory Management
A study of data structures with a deep heap shape
Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Hi-index | 0.00 |
With concurrent and garbage collected languages like Java and C# becoming popular, the need for a suitable non-intrusive, efficient, and concurrent multiprocessor garbage collector has become acute. We propose a novel mark and sweep on-the-fly algorithm based on the sliding views mechanism of Levanoni and Petrank. We have implemented our collector on the Jikes Java Virtual Machine running on a Netfinity multiprocessor and compared it to the concurrent algorithm and to the stop-the-world collector supplied with Jikes JVM. The maximum pause time that we measured with our benchmarks over all runs was 2ms. In all runs, the pause times were smaller than those of the stop-the-world collector by two orders of magnitude and they were also always shorter than the pauses of the Jikes concurrent collector. Throughput measurements of the new garbage collector show that it outperforms the Jikes concurrent collector by up to 60%. As expected, the stop-the-world does better than the on-the-fly collectors with results showing about 10% difference.On top of being an effective mark and sweep on-the-fly collector standing on its own, our collector may also be used as a backup collector (collecting cyclic data structures) for the Levanoni-Petrank reference counting collector. These two algorithms perfectly fit sharing the same allocator, a similar data structure, and a similar JVM interface.