A distributed garbage collection algorithm
Proc. of a conference on Functional programming languages and computer architecture
Distributed garbage collection using reference counting
Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
An efficient garbage collection scheme for parallel computer architectures
Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe
Garbage collection in an uncooperative environment
Software—Practice & Experience
Simple generational garbage collection and fast allocation
Software—Practice & Experience
Generational reference counting: a reduced-communication distributed storage reclamation scheme
PLDI '89 Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation
A new external reference management and distributed unification for KL1
New Generation Computing - Selected papers on parallel logic programming from the International Conference on Fifth Generation Computer Systems, 1988
Indirect reference counting: a distributed garbage collection algorithm
PARLE '91 Proceedings on Parallel architectures and languages Europe : volume I: parallel architectures and algorithms: volume I: parallel architectures and algorithms
Compiling with continuations
POPL '92 Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Astrophysical N-body simulations using hierarchical tree data structures
Proceedings of the 1992 ACM/IEEE conference on Supercomputing
Space efficient conservative garbage collection
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
A parallel hashed Oct-Tree N-body algorithm
Proceedings of the 1993 ACM/IEEE conference on Supercomputing
AP1000+: architectural support of PUT/GET interface for parallelizing compiler
ASPLOS VI Proceedings of the sixth international conference on Architectural support for programming languages and operating systems
Distributed snapshots: determining global states of distributed systems
ACM Transactions on Computer Systems (TOCS)
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
POPL '96 Proceedings of the 23rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation
Efficient parallel global garbage collection on massively parallel computers
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
Scalable parallel formulations of the barnes-hut method for n-body simulations
Proceedings of the 1994 ACM/IEEE conference on Supercomputing
A Survey of Distributed Garbage Collection Techniques
IWMM '95 Proceedings of the International Workshop on Memory Management
Comprehensive and Robust Garbage Collection in a Distributed System
IWMM '92 Proceedings of the International Workshop on Memory Management
Collection Schemes for Distributed Garbage
IWMM '92 Proceedings of the International Workshop on Memory Management
StackThreads: An Abstract Machine for Scheduling Fine-Grain Threads on Stock CPUs
TPPP '94 Proceedings of the International Workshop on Theory and Practice of Parallel Programming
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
A scalable mark-sweep garbage collector on large-scale shared-memory machines
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
Comparing Reference Counting and Global Mark-and-Sweep on Parallel Computers
LCR '98 Selected Papers from the 4th International Workshop on Languages, Compilers, and Run-Time Systems for Scalable Computers
Phoenix: a parallel programming model for accommodating dynamically joining/leaving resources
Proceedings of the ninth ACM SIGPLAN symposium on Principles and practice of parallel programming
On bounding time and space for multiprocessor garbage collection
ACM SIGPLAN Notices - Best of PLDI 1979-1999
Supporting Huge Address Spaces in a Virtual Machine for Java on a Cluster
Languages and Compilers for Parallel Computing
A localized tracing scheme applied to garbage collection
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Hi-index | 0.00 |
This paper describes the design and implementation of a garbage collection scheme on large-scale distributed-memory computers and reports various experimental results. The collector is based on the conservative GC library by Boehm & Weiser. Each processor traces local pointers using the GC library while traversing remote pointers by exchanging "mark messages" between processors. It exhibits a promising performance---in the most space-intensive settings we tested, the total collection overhead ranges from 5% up to 15% of the application running time (excluding idle time). We not only examine basic performance figures such as the total overhead or latency of a global collection, but also demonstrate how local collection scheduling strategies affect application performance. In our collector, a local collection is scheduled either independently or synchronously. Experimental results show that the benefit of independent local collections has been overstated in the literature. Independent local collections slowed down application performance to 40%, by increasing the average communication latency. Synchronized local collections exhibit much more robust performance characteristics than independent local collections and the overhead for global synchronization is not significant. Furthermore, we show that an adaptive collection scheduler can select the appropriate local collection strategy based on the application's behavior. The collector has been used in a concurrent object-oriented language ABCL/f and the performance is measured on a large-scale parallel computer (256 processors) using four non-trivial applications written in ABCL/f.