Multicore Garbage Collection with Local Heaps

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.

In  ISMM '11: Proceedings of the 10th International Symposium on Memory Management

Publisher  ACM

Details

TypeInproceedings
> Publications > Multicore Garbage Collection with Local Heaps