Computing Publications

Publications Home » Exploring the Barrier to Entry - ...

Exploring the Barrier to Entry - Incremental Generational Garbage Collection for Haskell

Andrew Cheadle, A. J. Field, Simon Marlow, Simon Peyton Jones, R. Lyndon While

Conference or Workshop Paper
ISSM'04, ACM SIGPLAN International Symposium on Memory Management
October, 2004
ACM Press
ISBN 1-58113-945-4
DOI 10.1145/1029873.1029893

We document the design and implementation of a "production" incremental garbage collector for GHC 6.02. It builds on our earlier work (Non-stop Haskell) that exploited GHC's dynamic dispatch mechanism to hijack object code pointers so that objects in to-space automatically scavenge themselves when the mutator attempts to "enter" them. This paper details various optimisations based on code specialisation that remove the dynamic space (and associated time) overheads that accompanied our earlier scheme. We detail important implementation issues and provide a detailed evaluation of a range of design alternatives in comparison with Non-stop Haskell and and GHC's current generational collector. We also show how the same code specialisation techniques can be used to eliminate the write barrier in a generational collector.

PDF of full publication (410 kilobytes)
(need help viewing PDF files?)
BibTEX file for the publication
Conditions for downloading publications from this site. built & maintained by Ashok Argent-Katwala.