Skip to content

GSOC 2022 PROJECT

MMTk Port for GHC: An alternative of the current GHC storage manager

Contributor
Junming Zhao
Mentors
Dom Mills, Ben Gamari
Organization
Haskell.orgProgramming languages
Program
GSoC 2022Completed

About this project

Description from the program archive

The proposed project aims at establishing a port between GHC and [MMTk](https://www.mmtk.io/) -- an external memory management toolkit that provides languages with a set of memory management primitives and garbage collectors.

The current existing GHC storage manager (GHCSM) has a sophisticated generational GC; However, it's also optimized and integrated into GHC's runtime, making it difficult to switch to a broader range of collectors. It would be beneficial to generalize GHC's runtime, make it separable from GHCSM, and connect it with a suite of different garbage collections from MMTk.

To achieve this goal, we propose to: 1. Refactor GHC's runtime system to more effectively abstract over storage management operations; 2. Introduce a storage management backend using MMTk's trivial no-GC collection plan; 3. Integrate write barriers necessary for generational collection with MMTk; 4. Introduce support for MMTk's semi-space and mark-sweep GC plans.

Tags

From the people who did it

No proposal or progress posts shared yet

Worked on this project? Share the proposal that got you selected and the posts you wrote.

Claim this project
  1. Improve HLS Support for Record-Dot-Syntax

    ColtenMentored by Michael Peyton Jones, Dom Mills

  2. Operating Chrome with Haskell

    Arsalan CheemaMentored by Jasper Van der Jeugt, Albert Krewinkel

  3. Hackage - Package Rank

    KubanekOMentored by Gershom

  4. [Haskell.org] Support more LSP features in Haskell Language Server

    Aarush Bhat (sloorush)Mentored by Michael Peyton Jones

  5. Modularizing GHC

    Dominik PetelerMentored by Ericson2314

  6. reimplement `cabal check`

    Francesco AriisMentored by Jasper Van der Jeugt, Andreas Abel

  7. Implementing a GPU Backend for Advanced Machine Learning Algorithms

    Zarak MahmudMentored by Sacha Sokoloski, Junji Hashimoto

  8. Formalising Konnakol using Haskell

    Aravind MohandasMentored by Alex McLean

  9. New Hackage Features

    Alias QliMentored by Gershom

Data: Google Summer of Code public archive. This project in the official archive