Algorithms for on-the-fly garbage collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A hybrid multiple processor garbage collection algorithm
The Computer Journal
Concurrent garbage collection on stock hardware
Proc. of a conference on Functional programming languages and computer architecture
Real-time concurrent collection on stock multiprocessors
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Parallel program design: a foundation
Parallel program design: a foundation
Mostly parallel garbage collection
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Compiling with continuations
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
Performance analysis of on-the-fly garbage collection
Communications of the ACM
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
Analysis of an algorithm for real time garbage collection
Communications of the ACM
Replication-Based Incremental Copying Collection
IWMM '92 Proceedings of the International Workshop on Memory Management
A practical parallel garbage collection algorithm and its implementation
ISCA '80 Proceedings of the 7th annual symposium on Computer Architecture
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
Concurrent replicating garbage collection
LFP '94 Proceedings of the 1994 ACM conference on LISP and functional programming
Formal Verification of Concurrent Programs Using the Larch Prover
IEEE Transactions on Software Engineering
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A generational on-the-fly garbage collector for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
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
A parallel, real-time 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
Reducing pause time of conservative collectors
Proceedings of the 3rd international symposium on Memory management
Proceedings of the 3rd international symposium on Memory management
A parallel, incremental and concurrent GC for servers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Virtual-machine-based heterogeneous checkpointing
Software—Practice & Experience
Constant-Time Root Scanning for Deterministic Garbage Collection
CC '01 Proceedings of the 10th International Conference on Compiler Construction
Experience with Predicate Abstraction
CAV '99 Proceedings of the 11th International Conference on Computer Aided Verification
Concurrent Remembered Set Refinement in Generational Garbage Collection
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Automatic detection of immutable fields in Java
CASCON '00 Proceedings of the 2000 conference of the Centre for Advanced Studies on Collaborative research
Mostly concurrent garbage collection revisited
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
An on-the-fly mark and sweep garbage collector based on sliding views
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
On bounding time and space for multiprocessor garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Garbage-first garbage collection
Proceedings of the 4th international symposium on Memory management
ACM SIGOPS Operating Systems Review
Yama: A Scalable Generational Garbage Collector for Java in Multiprocessor Systems
IEEE Transactions on Parallel and Distributed Systems
A parallel, incremental, mostly concurrent garbage collector for servers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Birrell's distributed reference listing revisited
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
A secure javaTM virtual machine
SSYM'00 Proceedings of the 9th conference on USENIX Security Symposium - Volume 9
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
Mostly accurate stack scanning
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Parallel garbage collection for shared memory multiprocessors
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Design and implementation of a comprehensive real-time java virtual machine
EMSOFT '07 Proceedings of the 7th ACM & IEEE international conference on Embedded software
Status report: the manticore project
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Stopless: a real-time garbage collector for multiprocessors
Proceedings of the 6th international symposium on Memory management
A study of concurrent real-time garbage collectors
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Limits of parallel marking garbage collection
Proceedings of the 7th international symposium on Memory management
Path specialization: reducing phased execution overheads
Proceedings of the 7th international symposium on Memory management
A scheduling framework for general-purpose parallel languages
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
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
Tax-and-spend: democratic scheduling for real-time garbage collection
EMSOFT '08 Proceedings of the 8th ACM international conference on Embedded software
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
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
Integrating generations with advanced reference counting garbage collectors
CC'03 Proceedings of the 12th international conference on Compiler construction
Tracing garbage collection on highly parallel platforms
Proceedings of the 2010 international symposium on Memory management
Concurrent, parallel, real-time garbage-collection
Proceedings of the 2010 international symposium on Memory management
Optimizations in a private nursery-based garbage collector
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
Cross-language, type-safe, and transparent object sharing for co-located managed runtimes
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Formal derivation of concurrent garbage collectors
MPC'10 Proceedings of the 10th international conference on Mathematics of program construction
Garbage collection for multicore NUMA machines
Proceedings of the 2011 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Hard real-time garbage collection for a Java chip multi-processor
Proceedings of the 9th International Workshop on Java Technologies for Real-Time and Embedded Systems
Age-Oriented concurrent garbage collection
CC'05 Proceedings of the 14th international conference on Compiler Construction
A black-box approach to understanding concurrency in DaCapo
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
A study of data structures with a deep heap shape
Proceedings of the ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Specification and Verification of Concurrent Programs Through Refinements
Journal of Automated Reasoning
Hi-index | 0.00 |
We describe and prove the correctness of a new concurrent mark-and-sweep garbage collection algorithm. This algorithm derives from the classical on-the-fly algorithm from Dijkstra et al. [9]. A distinguishing feature of our algorithm is that it supports multiprocessor environments where the registers of running processes are not readily accessible, without imposing any overhead on the elementary operations of loading a register or reading or initializing a field. Furthermore our collector never blocks running mutator processes except possibly on requests for free memory; in particular, updating a field or creating or marking or sweeping a heap object does not involve system-dependent synchronization primitives such as locks. We also provide support for process creation and deletion, and for managing an extensible heap of variable-sized objects.