Difference between revisions of "Parallel"

From HaskellWiki
Jump to navigation Jump to search
Line 6: Line 6:
   
 
# Speed up your code by making it run on multicore:
 
# Speed up your code by making it run on multicore:
#: Start with Control.Parallel and refine with Strategies
+
#: Start with Control.Parallel ('''pseq''', '''par''') and refine with Strategies
 
# Manage simultaneous IO actions (eg. multiple connections on a web server)
 
# Manage simultaneous IO actions (eg. multiple connections on a web server)
#: Start with Concurrent Haskell
+
#: Start with Concurrent Haskell ('''forkIO''', '''MVar''')
 
# Work with clusters or do distributed programming
 
# Work with clusters or do distributed programming
 
#: Distributed programming is still ongoing research. See below for current efforts.
 
#: Distributed programming is still ongoing research. See below for current efforts.

Revision as of 13:21, 16 March 2011

Parallelism and Concurrency in Haskell

Get started

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 (pseq, par) and refine with Strategies
  2. Manage simultaneous IO actions (eg. multiple connections on a web server)
    Start with Concurrent Haskell (forkIO, MVar)
  3. Work with clusters or do distributed programming
    Distributed programming is still ongoing research. See below for current efforts.
    In the meantime, you could use the Haskell MPI bindings, which use Concurrent Haskell and the MPI library.

Dig deeper

Tools

Community

Find out more

Research