What's the status of multicore programming in Haskell? What projects, tools, and libraries are available now? What experience reports have there been?
Asked
Active
Viewed 1.4k times
1 Answers
180
In the 2009-2012 period, the following things have happened:
2012:
- From 2012, the parallel Haskell status updates began appearing in the Parallel Haskell Digest.
2011:
- Parallel and Concurrent Programming in Haskell, a tutorial. version 1.1 released by Simon Marlow
- Haskell and parallelism, mentioned in an article in the Economist magazine, Jun 2nd 2011.
- Parallel tree scans via composition, an article by Conal Elliott
- Numeric Haskell, a tutorial on parallel array programming with Repa, released
- Works has begun on extending GHC eventlog and Threadscope to support multi-process or distributed Haskell systems
- Parallel Haskell Digest: Edition 2.
- The par-monad package and a monad for deterministic parallelism, Simon Marlow -- more control over pure parallelism than strategies/par/pseq.
- Cloud Haskell: Erlang-style message passing between distributed Haskell nodes.
- Parallel Haskell: Embracing Diversity, a talk by SPJ.
- Real time edge detection in parallel Haskell
- Parallel Haskell Digest: news on parallel Haskell
- Composable parallel scanning
- Haskell-MPI is released
2010:
- Parallel futures for Haskell, in GHC.
- The Orc language, for concurrent job scheduling and scripting, was released.
- A new scalable thread event manager was merged into GHC.
- An improved approach to parallel sparks and strategies was developed.
- The Nikola EDSL for embedding GPU programs in Haskell was developed.
- The LLVM backend for GHC was merged in, with good performance improvements.
- ghc 6.12.x series: with parallel performance improvements
- Microsoft announces 2 years of funding to support commercial users of Parallel Haskell
- Google published their experience report on the use of Haskell (PDF)
- Intel announced the Concurrent Collections for Haskell library, including scalability numbers -- scaling results for 32 and 48 cores
- Sun/Oracle bought us a machine and funded work on improving parallel performance.
- Recent updates to the status of Data Parallelism in Haskell
- MSR released ThreadScope, a graphical profiler for parallel Haskell programs
- The GHC runtime got extensively tuned for sparks and futures
- There was a good discussion on additional ways to improve parallel performance
- A collection of reading material on parallelism in Haskell to help you get started
- The Snap guys are getting 45k req/sec on their 4 way box, by using all the cores.
- Even the Erlang guys are taking notice.
- Meanwhile, there is work to make the IO manager more scalable -- now with a paper on the design :: PDF.
- We're out there teaching people too .. all .. over .. the ... place.
- Starling Software wrote about their real time, multicore financial trading system in Haskell.
- Ericsson published a parallel language for DSP based on, and written in Haskell
- Galois published an implementation of Orc, a concurrent workflow language, in Haskell.
- And a new library for fast regular, parallel arrays appeared
- And Haskell continues to do well on the quad-core shootout.
- Snap, a multicore-enabled scalable web server with great performance numbers
- haskell-torrent - benchmarking a mulitcore-enabled bittorrent client in Haskell
- Haskell code was published at Supercomputing 09 -- our first appearance at SC!

LyingOnTheSky
- 2,844
- 1
- 14
- 33

Don Stewart
- 137,316
- 36
- 365
- 468
-
3Posted so there's a place to record the evolving answer to this common question. – Don Stewart Jun 17 '10 at 16:41
-
1so in that case this q&a should be community-wiki (according to my understanding of SO etiquette). btw thanks for this summary – yairchu Jun 17 '10 at 18:24
-
Is the "new scalable thread event manager" part of a GHC *released* version yet? – gawi Oct 09 '10 at 02:36
-
gawi: it is part of GHC 7. The release candidate for that was put out two weeks ago. – Don Stewart Oct 09 '10 at 16:43
-
1As far as the Computer Language Benchmarks Game goes Java 7 has pulled out ahead of Haskell. I remember Haskell doing much better a couple of years ago. Does this indicate a possible performance regression in GHC 7? – Alain O'Dea Aug 12 '11 at 02:42
-
The "[new scalable thread event manager](http://www.serpentine.com/bos/files/ghc-event-manager.pdf)" link appears to be broken (404) – Brandon Cook Dec 08 '12 at 22:26
-
Looks like the "new scalable thread event manager" paper is available from http://research.google.com/pubs/archive/36841.pdf – Steven Shaw Aug 23 '16 at 02:22