Ticket #1566 (closed proposed-project: wontfix)
Implement the Immix garbage collector in GHC
| Reported by: | simonmar | Owned by: | |
|---|---|---|---|
| Priority: | good | Keywords: | |
| Cc: | mad.one@…, marcot@…, milos.hadzic@… | Topic: | GHC |
| Difficulty: | 1 person Summer | Mentor: | not-accepted |
Description (last modified by nagnatron) (diff)
Paper: http://cs.anu.edu.au/techreports/2007/TR-CS-07-04.pdf
The Immix collector by all accounts is a better compromise that either copying or mark/sweep.
It's not a terribly hard job to implement it, but it needs a student that isn't afraid to get their hands dirty in the GC code. I've already done some initial work on it: GHC has a mark-region collector that can reclaim whole blocks, the main difference between this and Immix is that Immix uses a much smaller block size. In GHC we'd have to subdivide blocks and keep track of a liveness bitmap or something - there's a bit of design work to be done anyway.
Comments from Thomas Schilling who looked into this earlier: http://www.haskell.org/pipermail/cvs-ghc/2009-February/047626.html
Interested Mentors
- Simon Marlow
Interested Students
- Austin Seipp <mad.one@…>
- Marco Túlio Gontijo e Silva <marcot@…>
- Milos Hadzic <milos.hadzic@…>
