[Haskell-cafe] Immix GC as a Soc proposal

Thomas Schilling nominolo at googlemail.com
Thu Apr 1 17:19:03 EDT 2010

In my opinion the project would be worthwhile even if it's not in the
Top 8.  Mentors vote on the accepted projects based both on the
priority of the project and the applying student, so it's probably not
a bad idea to apply for other projects as well so you don't put all
your stakes on just a single horse.

Looking at your current proposal, however, I think that your timeline
is, well, impossible.  You seem to suggest to build a new allocator
and garbage collector from scratch.  GHC's allocator is already quite
similar to Immix, so you don't really have to re-implement much.  The
main differences (OTTOH) are the different region sizes, the marking
accuracy (Immix marks 128 byte blocks, GHC is word-accurate), and
eager compaction.

Therefore I'd suggest to move in small steps:  Change some parameters
(e.g., region size), fix the resulting bugs and benchmark each change.
 Then, maybe, implement eager compaction on top of the existing
system.  I believe this will keep you busy enough.  If in the end GC
is 5% faster that would be a very good outcome!

I also don't know how much complexity the parallel GC and other
synchronisation stuff will introduce.  Maybe Simon (CC'd) can comment
on that.

/ Thomas

On 1 April 2010 22:00, Marco Túlio Gontijo e Silva <marcot at debian.org> wrote:
> Hi.
> I've written a Google Summer of Code proposal for implementing the Immix
> Garbage Collector in GHC[0].  It's not on dons list of the 8 most important
> projects[1], but I only saw that list after the proposal is done.  I'd like to
> hear comments about it, specially about its relevance, since it's not on the
> list of 8.
> 0: http://www2.dcc.ufmg.br/laboratorios/llp/wiki/doku.php?do=show&id=marco_soc
> 1: http://donsbot.wordpress.com/2010/04/01/the-8-most-important-haskell-org-gsoc-projects/
> I'm planning to write another proposal, maybe about "LLVM Performance Study",
> "LLVM Cross Compiler", "A Package Versioning Policy Checker" or "“cabal
> test”", if mentors think they're more relevant than my current proposal.
> Please let me know if this is the case.
> Greetings.
> --
> marcot
> http://wiki.debian.org/MarcoSilva
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

Push the envelope.  Watch it bend.

More information about the Haskell-Cafe mailing list