Difference between revisions of "Parallel/Reading"
< Parallel
Jump to navigation
Jump to search
m (→Papers: from Don's list) |
m |
||
(11 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}} |
||
+ | <font size="+3" face="Times New Roman">Learning: Parallelism and concurrency</font> |
||
+ | |||
+ | ''Note: you may want to read [[Parallelism vs. Concurrency]], as the terms have historically been conflated.'' |
||
+ | |||
+ | __TOC__ |
||
+ | |||
== Tutorials == |
== Tutorials == |
||
+ | * [http://community.haskell.org/~simonmar/par-tutorial.pdf Parallel and Concurrent Programming in Haskell] - tutorial by Simon Marlow. Code [https://github.com/simonmar/par-tutorial available on GitHub] |
||
− | * |
+ | * "Real World Haskell" [http://book.realworldhaskell.org/read/concurrent-and-multicore-programming.html chapter 24]: an introduction to the most common forms of concurrent and parallel programming in GHC. |
− | * Step by step guide to implicit and explicit parallelism in Haskell, and transactional memory - “[http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/AFP08-notes.pdf A Tutorial on Parallel and Concurrent Programming in Haskell]”, Peyton Jones and Singh. 2008 |
||
+ | * “[https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.8322&rep=rep1&type=pdf 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 [[Performance/Concurrency|concurrent Haskell performance]] |
* Improving [[Performance/Concurrency|concurrent Haskell performance]] |
||
+ | * [http://www.well-typed.com/Hal6/ Deterministic Parallel Programming in Haskell] : a tutorial in parallel programming, with sample code and exercises |
||
− | == Papers == |
+ | == Papers to learn with == |
+ | See also [[Parallel/Research]] if you'd like to dig into the more research-oriented papers on Parallel Haskell |
||
⚫ | |||
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
== Surveys == |
== Surveys == |
||
− | * A [http://donsbot.wordpress.com/2009/09/03/parallel-programming-in-haskell-a-reading-list/ reading list for parallelism in Haskell]. |
||
* The [http://stackoverflow.com/questions/3063652/whats-the-status-of-multicore-programming-in-haskell status of parallel and concurrent programming] in Haskell. |
* The [http://stackoverflow.com/questions/3063652/whats-the-status-of-multicore-programming-in-haskell status of parallel and concurrent programming] in Haskell. |
||
+ | |||
+ | |||
+ | == Other == |
||
+ | |||
+ | * [http://en.wikipedia.org/wiki/Concurrent_Haskell Concurrent Haskell] in Wikipedia |
Latest revision as of 12:02, 9 May 2024
Learning: Parallelism and concurrency
Note: you may want to read Parallelism vs. Concurrency, as the terms have historically been conflated.
Tutorials
- 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
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
- The status of parallel and concurrent programming in Haskell.
Other
- Concurrent Haskell in Wikipedia