Deterministic Parallel Programming with Haskell
summary
Claims that pure deterministic parallelism gives the same result regardless of cores and scheduler and avoids data races while still getting real speedups, demonstrated with GHC runtime sparks, work stealing and primitives par and pseq, higher level strategies like parListChunk and the array library repper. Shows ThreadScope profiling, spark histograms and spark pool overflow (100000 sparks vs a 4000 pool), a portfolio report case (hundreds of portfolios, chunk 10 scales to 4 cores) and a Los Alamos simulation that is clearer in Haskell and scales well.
AI-written summary · about
chapters (11)
- 0:00Start
- 2:56Concurrency
- 4:03Non Determinism
- 8:26Styles for Doing Parallel Programming
- 9:38Concurrency in Haskell
- 10:24Transactional Memory
- 22:08The Spark Notion
- 27:26The Power Primitive
- 30:45Power List
- 39:05Histogram of the Spark Evaluation Time
- 44:19Nested Data Parallelism
related talks
01h 22mHaskell for Everyday Programmers
46mPainless software development with Haskell
01h 04mHaskell - A Peek Inside the Ivory Tower
01h 05mAccelerate Haskell for GPU and Multicores
38mLightning talks
53mCan Haskell Become a Great Language for Data Science?
01h 00mCause and Effect(s): Towards a More Programmable Haskell
01h 06mTransient: Unrestricted Algebraic and Monadic Composability
