References for GHC usage of multiple capabilities

Ben Gamari ben at
Thu Dec 6 15:46:56 UTC 2018

Artem Pelenitsyn <a.pelenitsyn at> writes:

> Hello devs,
> I've been working on a short survey devoted to a topic of multithreading
> inside the GHC compiler and runtime. So far I was mostly looking at the
> following three papers
> [1] P. W. Trinder, K. Hammond, J. S. Mattson, Jr., A. S. Partridge, and S.
> L. Peyton Jones. Gum: A portable parallel implementation of Haskell.  PLDI
> ’96
> [2] Tim Harris, Simon Marlow, and Simon Peyton Jones. Haskell on a
> shared-memory multiprocessor. Haskell ’05
> [3] Simon Marlow, Simon Peyton Jones, and Satnam Singh. Runtime support for
> multicore Haskell. ICFP ’09
> Can you suggest any other papers adding insights on how GHC uses multiple
> capabilities for anything from GC to the implementation of
> Parallel/Concurrent Haskell? Perhaps, something more recent than the above,
> but preferably published in academic venues.
Here are a few others but I may have missed a few:

 * Parallel Generational-Copying Garbage Collection with a Block-Structured Heap (Simon Marlow, Tim Harris, Roshan P. James, Simon Peyton Jones) In ISMM '08: Proceedings of the 7th international symposium on Memory management, Tucson, Arizona, ACM, June 2008 
 * Concurrent Haskell, Simon Peyton Jones, Andrew Gordon, Sigbjorn Finne.
 * Composable Memory Transactions, Tim Harris, Simon Marlow, Simon Peyton-Jones, and Maurice Herlihy. In Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming (PPoPP '05) 
 * Transactional Memory with Data Invariants, Tim Harris and Simon Peyton Jones. In TRANSACT '06 


- Ben
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 487 bytes
Desc: not available
URL: <>

More information about the ghc-devs mailing list