Abstract
This paper presents a number of flexible parallelism control mechanisms in the form of evaluation strategies for tree-like data structures implemented in Glasgow parallel Haskell. We achieve additional flexibility by using laziness and circular programs in the coordination code. Heuristics-based parameter selection is employed to auto-tune these strategies for improved performance on a sharedmemory machine without programmer-specified parameters. In particular for unbalanced trees we demonstrate improved performance on a state-of-the-art multi-core server: giving a speedup of up to 37.5 on 48 cores for a constructed test program, and up to 15 for two other non-trivial applications using these strategies, a Barnes-Hut implementation of the n-body problem and a sparse matrix multiplication implementation. Copyright is held by the owner/author(s).
Original language | English |
---|---|
Title of host publication | Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP |
Publisher | Association for Computing Machinery |
Pages | 63-74 |
Number of pages | 12 |
ISBN (Print) | 9781450330404 |
DOIs | |
Publication status | Published - 1 Jan 2014 |
Event | 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing - Gothenburg, United Kingdom Duration: 4 Sept 2014 → 4 Sept 2014 |
Conference
Conference | 3rd ACM SIGPLAN Workshop on Functional High-Performance Computing |
---|---|
Abbreviated title | FHPC 2014 |
Country/Territory | United Kingdom |
City | Gothenburg |
Period | 4/09/14 → 4/09/14 |
Keywords
- Dynamic parallelism control
- Parallel Haskell
- Quadtrees
ASJC Scopus subject areas
- Software