Intel Concurrent Collections for Haskell

Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models fo...

Full description

Bibliographic Details
Main Authors: Newton, Ryan, Chen, Chih-Ping, Marlow, Simon
Other Authors: Arvind
Published: 2011
Subjects:
Online Access:http://hdl.handle.net/1721.1/61759
_version_ 1826200088349769728
author Newton, Ryan
Chen, Chih-Ping
Marlow, Simon
author2 Arvind
author_facet Arvind
Newton, Ryan
Chen, Chih-Ping
Marlow, Simon
author_sort Newton, Ryan
collection MIT
description Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Evaluation Strategies, but more explicit about granularity and the structure of the parallel computation, which affords the programmer greater control over parallel performance. We present results on 4, 8, and 32-core machines demonstrating parallel speedups over 20x on non-trivial benchmarks.
first_indexed 2024-09-23T11:31:01Z
id mit-1721.1/61759
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T11:31:01Z
publishDate 2011
record_format dspace
spelling mit-1721.1/617592019-04-12T11:55:59Z Intel Concurrent Collections for Haskell Newton, Ryan Chen, Chih-Ping Marlow, Simon Arvind Computation Structures Arvind Computation Structures dataflow computation task graphs I-structures Intel Concurrent Collections (CnC) is a parallel programming model in which a network of steps (functions) communicate through message-passing as well as a limited form of shared memory. This paper describes a new implementation of CnC for Haskell. Compared to existing parallel programming models for Haskell, CnC occupies a useful point in the design space: pure and deterministic like Evaluation Strategies, but more explicit about granularity and the structure of the parallel computation, which affords the programmer greater control over parallel performance. We present results on 4, 8, and 32-core machines demonstrating parallel speedups over 20x on non-trivial benchmarks. 2011-03-22T17:00:16Z 2011-03-22T17:00:16Z 2011-03-22 http://hdl.handle.net/1721.1/61759 MIT-CSAIL-TR-2011-015 Creative Commons Attribution 3.0 Unported http://creativecommons.org/licenses/by/3.0/ 21 p. application/pdf
spellingShingle dataflow computation
task graphs
I-structures
Newton, Ryan
Chen, Chih-Ping
Marlow, Simon
Intel Concurrent Collections for Haskell
title Intel Concurrent Collections for Haskell
title_full Intel Concurrent Collections for Haskell
title_fullStr Intel Concurrent Collections for Haskell
title_full_unstemmed Intel Concurrent Collections for Haskell
title_short Intel Concurrent Collections for Haskell
title_sort intel concurrent collections for haskell
topic dataflow computation
task graphs
I-structures
url http://hdl.handle.net/1721.1/61759
work_keys_str_mv AT newtonryan intelconcurrentcollectionsforhaskell
AT chenchihping intelconcurrentcollectionsforhaskell
AT marlowsimon intelconcurrentcollectionsforhaskell