Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
Multicore Garbage Collection with Local Heaps

Simon Marlow and Simon Peyton Jones


In a parallel, shared-memory, language with a garbage collected heap, it is desirable for each processor to perform minor garbage collections independently. Although obvious, it is difficult to make this idea pay off in practice, especially in languages where mutation is common. We present several techniques that substantially improve the state of the art. We describe these techniques in the context of a full-scale implementation of Haskell, and demonstrate that our local-heap collector substantially improves scaling, peak performance, and robustness.


Publication typeInproceedings
Published inISMM '11: Proceedings of the 10th International Symposium on Memory Management
> Publications > Multicore Garbage Collection with Local Heaps