Version 26 (modified by kevinhammond, 8 years ago) (diff)


Parallel Haskell Hackathon


Dates : 10-12 December

Location : St Andrews


Vladimir Janjic (Host), Hans-Wolfgang Loidl, Kevin Hammond, Mustafa Aswad, Henrique Ferreiro, Philip W Trinder, Patrick Maier, Abyd Al Zain, Mischa Dieterle, Thomas Horstmeyer, Jost Berthold, Simon Marlow (virtual),

Source code

Important: if you can, please prepare a setup of the latest sources in advance. A darcs repository has been set up on the server in Marburg, please read here how to get a working setup: Repository Briefing.

You should contact Mischa (dieterle@mathematik...) in order to get access, or check out read-only via http (which is of course not what we want later). If you have questions or problems, edit the page or mail Jost (berthold@mathematik...)


An Agenda Proposal is now on a separate page.

Topics to cover in the Hackathon:

  • Short overview sessions on implementation internals (KH: these should not all be on the first afternoon!):
    • GUM (Mustafa)
    • Eden (Jost)
    • Globus (Abyd)
    • Migration/Load Balancing (Vladimir)
    • ghc HEAD developments (Simon)
    • GUM/Eden Compilation and Debugging (Vladimir?)
  • GUM-6 port
  • Merging GUM and Eden implementations
    • Packing code
    • Scheduler
    • GC interface
    • Tagging
  • Usage of new tracing infrastructure
  • Development infrastructure
    • Unified revision control (darcs)
    • Debugging infrastructure
    • Packaging
    • Setup for automatic tests
  • Parallel nofib-suite
  • Planned extensions and applications
    • Integration with GHC/SMP
    • Integrating migration
    • Globus interface
    • pre-SCSCP GAP interface
    • Micro-kernel/substrate approach to the RTS
  • Nominating people in charge of sub-projects
    • parallel nofib suite
    • Eden/GUM code maintenance
    • testing framework
  • Prize for the most awkward bug fixed in the Hackaton. Jost: I am non-competitive in this contest, since my task is to introduce them ;) HWL: Clearly you are at an disadvantage: you first have to introduce the bug; we don't have that problem;-)

Expected Outcomes

Concrete Deliverables

  • Tracing mechanism
  • Unified repository, containing Eden and GUM code
  • Common test platform
  • List of people in charge of sub-projects
  • Longer Term: Eden&GUM in GHC HEAD

Sub-tasks in Eden/GUM/GHC integration:

  • Merge Eden/GUM repository
  • Merge GUM into current Eden version
  • Adapt for per-CPU/Core GC
  • Integrating Vladimirs work (load balancing, migration)

Longer term system issues

  • Manycore
  • Hierarchies
  • HPC
  • Grid
  • Cloud
  • GPGPUs
  • Artcop


  • Update plan btw Eden/GUM and GHC-HEAD
  • Community creation
  • PhD Topic for Henrique
  • Benchmarks/Parallel NoFib suite
  • Launch GpH book
  • Long Term: Build Franchise
  • Agree on new Strategies module (rewrite applications)
  • Visualisation tools (which?)
  • Revisit design decisions for Eden/GUM


We prioritised setting up a common repository and Eden/GUM integration. Benchmarking and packaging were seen as longer term issues.

We agreed to use the GHC ticketing system, with some specific identification for Eden/GUM issues. We agreed to use a common darcs repository for Eden/GUM.

Community Building

We need to find common ways of working to maximise our effort.

darcs for repositories

skype for commication

do we want dedicated mailing lists/IRC channels?

Who Does What

We agreed to setup teams to work on different issues as follows

Repository: VJ + JB

GHC/Eden Integration

Integrating basic GUM code into Eden version 6.13: HWL?

Packing code (incl. tags): HWL+ MKA + JB

Scheduler: HWL + HF + PM + PWT

GC Interface + Global Addresses (with tags): HWL + VJ

Do we retain FETCHME closures or e.g. use a table

Tracing (agree format): KH + JB + MD + TH + HWL

We need to agree a format! We want tools to work on all formats. We agreed with SM to extend the threadscope event format, adding in new event types for distributed/more detailed events.

Thread Migration (packing TSOs, dealing with black holes, plus shark etc mechanisms): PWT + VJ

Visualisation Tools: HF + JB + KH + MKA + PWT

The visualisation tools need to work with the agreed format. We may need more detailed views and/or interactive versus publication tools.

Benchmarking: HF + MD + JB + everyone

We agreed to hold a discussion on benchmarking on Friday.