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...
Main Authors: | , , |
---|---|
Other Authors: | |
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 |