Parallel/Reading: Difference between revisions
mNo edit summary |
Noughtmare (talk | contribs) m (Fix one of the broken citeseerx links) |
||
Line 18: | Line 18: | ||
See also [[Parallel/Research]] if you'd like to dig into the more research-oriented papers on Parallel Haskell | See also [[Parallel/Research]] if you'd like to dig into the more research-oriented papers on Parallel Haskell | ||
* “[https:// | * “[https://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/multicore-ghc.pdf Runtime Support for Multicore Haskell]”, Marlow, Peyton Jones, Singh. 2009. Describes the architecture of the sparks and parallel GC | ||
* “[http://www.haskell.org/~simonmar/papers/threadscope.pdf Parallel Performance Tuning for Haskell]”, Jones, Marlow, Singh, 2009 Introduces ThreadScope, and methodical parallel performance advice | * “[http://www.haskell.org/~simonmar/papers/threadscope.pdf Parallel Performance Tuning for Haskell]”, Jones, Marlow, Singh, 2009 Introduces ThreadScope, and methodical parallel performance advice | ||
* “[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.141.1748&rep=rep1&type=pdf Harnessing the Multicores: Nested Data Parallelism in Haskell]”, Peyton Jones, Leshchinkskiy, Keller, Chakravarty, 2008. the Barnes-Hut algorithm in Data Parallel Haskell | * “[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.141.1748&rep=rep1&type=pdf Harnessing the Multicores: Nested Data Parallelism in Haskell]”, Peyton Jones, Leshchinkskiy, Keller, Chakravarty, 2008. the Barnes-Hut algorithm in Data Parallel Haskell |
Latest revision as of 12:50, 1 November 2024
Learning: Parallelism and concurrency
Note: you may want to read Parallelism vs. Concurrency, as the terms have historically been conflated.
Tutorials[edit]
- Parallel and Concurrent Programming in Haskell - tutorial by Simon Marlow. Code available on GitHub
- "Real World Haskell" chapter 24: an introduction to the most common forms of concurrent and parallel programming in GHC.
- “A Tutorial on Parallel and Concurrent Programming in Haskell”, Peyton Jones and Singh. 2008, a Step by step guide to implicit and explicit parallelism in Haskell, and transactional memory
- Improving concurrent Haskell performance
- Deterministic Parallel Programming in Haskell : a tutorial in parallel programming, with sample code and exercises
Papers to learn with[edit]
See also Parallel/Research if you'd like to dig into the more research-oriented papers on Parallel Haskell
- “Runtime Support for Multicore Haskell”, Marlow, Peyton Jones, Singh. 2009. Describes the architecture of the sparks and parallel GC
- “Parallel Performance Tuning for Haskell”, Jones, Marlow, Singh, 2009 Introduces ThreadScope, and methodical parallel performance advice
- “Harnessing the Multicores: Nested Data Parallelism in Haskell”, Peyton Jones, Leshchinkskiy, Keller, Chakravarty, 2008. the Barnes-Hut algorithm in Data Parallel Haskell
- “Haskell on a Shared-Memory Multiprocessor”, Harris, Marlow, Peyton Jones, 2005 The original SMP runtime implementation paper
- “Beautiful Concurrency”, Peyton Jones, O’Reilly 2007 Introduction to software transactional memory
- “Composable memory transactions“, Harris, Marlow, Peyton Jones, and Herlihy, 2005 - Introduces composable software transactional memory
- “Algorithm + Strategy = Parallelism”, Trinder, Hammond, Loidl, Peyton Jones, 1998. Introduces parallel sparks and strategies
- “Concurrent Haskell”, Peyton Jones, Gordon, Finne, 1996. Introduces concurrent Haskell and forkIO.
- “Tackling the Awkward Squad”, Peyton Jones, 2001. Classic introduction to concurrency in Haskell (and IO), and how to use MVars and Channels.
Surveys[edit]
- The status of parallel and concurrent programming in Haskell.
Other[edit]
- Concurrent Haskell in Wikipedia