Personal tools

Parallel

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
m (Getting started)
(Documentation: Added link to "Parallel and Concurrent Programming in Haskell")
 
(17 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Parallelism and Concurrency in Haskell
+
__NOTOC__
   
== Getting started ==
+
'''Parallelism and Concurrency in Haskell'''
   
 
Haskell supports both pure parallelism and explicit concurrency. How would you like to begin?
 
Haskell supports both pure parallelism and explicit concurrency. How would you like to begin?
Line 12: Line 12:
 
#: ''Find out more about [[Concurrency|concurrency basics]]''
 
#: ''Find out more about [[Concurrency|concurrency basics]]''
 
# Work with clusters or do distributed programming
 
# Work with clusters or do distributed programming
#: Learn about concurrency first, and pick up [[Network#Libraries| libraries]] implementing standard network protocols like HTTP, zeromq or MPI.
+
#: Learn about concurrency first, then try using [[Applications_and_libraries/Network#Libraries|network protocol libraries]] like HTTP or zeromq.
 
#: Meanwhile look out for [[Parallel/Research|ongoing research]] into distributed Haskell.
 
#: Meanwhile look out for [[Parallel/Research|ongoing research]] into distributed Haskell.
   
Line 19: Line 19:
 
* Ask questions on [[Mailing lists|Haskell Cafe]]
 
* Ask questions on [[Mailing lists|Haskell Cafe]]
 
* See what [https://groups.google.com/group/parallel-haskell parallel-haskell] researchers and developers are working on
 
* See what [https://groups.google.com/group/parallel-haskell parallel-haskell] researchers and developers are working on
  +
* Get the latest from the [[Parallel GHC Project]]
 
* Follow [http://twitter.com/#!/parallelhaskell @parallelhaskell] on Twitter [[image:Twitter-mini.png]]
 
* Follow [http://twitter.com/#!/parallelhaskell @parallelhaskell] on Twitter [[image:Twitter-mini.png]]
 
* StackOverflow on Haskell [http://stackoverflow.com/questions/tagged/haskell%2bparallel parallelism] and [http://stackoverflow.com/questions/tagged/haskell%2bconcurrency concurrency]
 
* StackOverflow on Haskell [http://stackoverflow.com/questions/tagged/haskell%2bparallel parallelism] and [http://stackoverflow.com/questions/tagged/haskell%2bconcurrency concurrency]
Line 24: Line 25:
 
== News ==
 
== News ==
   
* 2011-03-17 [https://groups.google.com/d/topic/parallel-haskell/K-IJ2roA59I/discussion Second SISCA Multicore Challenge] - N body problem (registration deadline 18 May)
+
* 2012-04-20 [http://www.well-typed.com/blog/65 Parallel Haskell Digest 9]
* 2011-03-31 [http://www.well-typed.com/blog/52 Parallel Haskell Digest 1]
+
* 2012-03-02 [http://www.well-typed.com/blog/64 Parallel Haskell Digest 8]
  +
* 2011-12-24 [http://www.well-typed.com/blog/62 Parallel Haskell Digest 7]
  +
* 2011-11-21 [http://www.haskell.org/pipermail/haskell-cafe/2011-November/097008.html Job Opportunity at Parallel Scientific]
   
 
== Tools ==
 
== Tools ==
   
* [http://research.microsoft.com/en-us/projects/threadscope Threadscope] - parallel programs not getting faster? Use the Threadscope debugger and watch sparks fly.
+
* [[ThreadScope]] - parallel programs not getting faster? Use the Threadscope debugger and watch sparks fly.
 
* Comprehensive list of [[Applications_and_libraries/Concurrency_and_parallelism|Parallelism and Concurrency libraries]]
 
* Comprehensive list of [[Applications_and_libraries/Concurrency_and_parallelism|Parallelism and Concurrency libraries]]
   
Line 37: Line 38:
 
* [[Parallel/Reading|Parallel Haskell reading]]
 
* [[Parallel/Reading|Parallel Haskell reading]]
 
* [[Parallel/Research|Current research]]
 
* [[Parallel/Research|Current research]]
  +
* [http://chimera.labs.oreilly.com/books/1230000000929/index.html Parallel and Concurrent Programming in Haskell] (online book)
   
 
[[Category:Parallel]]
 
[[Category:Parallel]]

Latest revision as of 15:17, 6 September 2013


Parallelism and Concurrency in Haskell

Haskell supports both pure parallelism and explicit concurrency. How would you like to begin?

  1. Speed up your code by making it run on multicore:
    Start with Control.Parallel (par, pseq) and refine with Strategies
    Find out more about parallelism basics
  2. Manage simultaneous IO actions (eg. multiple connections on a web server)
    Start with Concurrent Haskell (forkIO, MVar)
    Find out more about concurrency basics
  3. Work with clusters or do distributed programming
    Learn about concurrency first, then try using network protocol libraries like HTTP or zeromq.
    Meanwhile look out for ongoing research into distributed Haskell.

[edit] 1 Community

[edit] 2 News

[edit] 3 Tools

[edit] 4 Documentation