MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
On bounding time and space for multiprocessor garbage collection
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
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
A scalable mark-sweep garbage collector on large-scale shared-memory machines
SC '97 Proceedings of the 1997 ACM/IEEE conference on Supercomputing
An algorithm for parallel incremental compaction
Proceedings of the 3rd international symposium on Memory management
Evaluation of Parallel Copying Garbage Collection on a Shared-Memory Multiprocessor
IEEE Transactions on Parallel and Distributed Systems
The nofib Benchmark Suite of Haskell Programs
Proceedings of the 1992 Glasgow Workshop on 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
Haskell on a shared-memory multiprocessor
Proceedings of the 2005 ACM SIGPLAN workshop on Haskell
A parallel, incremental, mostly concurrent garbage collector for servers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Improving locality with parallel hierarchical copying GC
Proceedings of the 5th international symposium on Memory management
Parallel garbage collection for shared memory multiprocessors
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
A comparative evaluation of parallel garbage collector implementations
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
Parallel execution of multi-set constraint rewrite rules
Proceedings of the 10th international ACM SIGPLAN conference on Principles and practice of declarative programming
A new approach to parallelising tracing algorithms
Proceedings of the 2009 international symposium on Memory management
Runtime support for multicore Haskell
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Parallelizing calling context profiling in virtual machines on multicores
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Efficient parallel programming in Poly/ML and Isabelle/ML
Proceedings of the 5th ACM SIGPLAN workshop on Declarative aspects of multicore programming
Iterative data-parallel mark&sweep on a GPU
Proceedings of the international symposium on Memory management
Multicore garbage collection with local heaps
Proceedings of the international symposium on Memory management
An efficient non-moving garbage collector for functional languages
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Assessing the scalability of garbage collectors on many cores
PLOS '11 Proceedings of the 6th Workshop on Programming Languages and Operating Systems
Places: adding message-passing parallelism to racket
Proceedings of the 7th symposium on Dynamic languages
Concurrent non-deferred reference counting on the Microgrid: first experiences
IFL'10 Proceedings of the 22nd international conference on Implementation and application of functional languages
Assessing the scalability of garbage collectors on many cores
ACM SIGOPS Operating Systems Review
Parallel memory defragmentation on a GPU
Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness
Memory management for many-core processors with software configurable locality policies
Proceedings of the 2012 international symposium on Memory Management
GPUs as an opportunity for offloading garbage collection
Proceedings of the 2012 international symposium on Memory Management
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
A study of the scalability of stop-the-world garbage collectors on multicores
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
On the limits of modeling generational garbage collector performance
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.00 |
We present a parallel generational-copying garbage collector implemented for the Glasgow Haskell Compiler. We use a block-structured memory allocator, which provides a natural granularity for dividing the work of GC between many threads, leading to a simple yet effective method for parallelising copying GC. The results are encouraging: we demonstrate wall-clock speedups of on average a factor of 2 in GC time on a commodity 4-core machine with no programmer intervention, compared to our best sequential GC.