The design and implementation of GUMSMP: A multilevel parallel haskell implementation

Malak Aljabri*, Hans Wolfgang Loidl, Philip William Trinder

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

5 Citations (Scopus)

Abstract

The most widely available high performance platforms today are multilevel clusters of multicores. The Glasgow Haskell Compiler (GHC) provides a number of parallel Haskell implementations targeting different parallel architectures. In particular, GHC-SMP supports shared memory, and GHC-GUM supports distributed memory machines. Both implementations use different, but related, runtime environment (RTE) mechanisms. Good performance results can be achieved on shared memory architectures and on networks individually. However, a combination of both, for networks of multicores, is lacking. We present the design and implementation of a new parallel Haskell RTE implementation, GUMSMP, which exploits hierarchical platforms more effectively. It is designed to efficiently combine distributed memory parallelism, using a virtual shared heap over a cluster, with low-overhead shared memory parallelism on the multicores. Key design objectives for realising this system are: asymmetric load balance, effective latency hiding, and mostly passive load distribution. We show that the automatic hierarchical load distribution policies must be carefully tuned to obtain good performance, showing the impact of several policies, including work pre-fetching and favouring inter-node work distribution.We present the initial performance results for this implementation, demonstrating the good scalability of a set of 8 benchmarks on up to 100 cores, and show performance gains of up to 20% compared to GHC-GUM.

Original languageEnglish
Title of host publicationACM International Conference Proceeding Series
PublisherAssociation for Computing Machinery
Pages37-48
Number of pages12
ISBN (Print)9781450329880
Publication statusPublished - 1 Jan 2013
Event25th International Symposium on Implementation and Application of Functional Languages - Nijmegen, United Kingdom
Duration: 28 Aug 201330 Aug 2013

Conference

Conference25th International Symposium on Implementation and Application of Functional Languages
Abbreviated titleIFL 2013
Country/TerritoryUnited Kingdom
CityNijmegen
Period28/08/1330/08/13

Keywords

  • Distributed Architectures
  • Parallel Haskell
  • Virtual Shared Memory

ASJC Scopus subject areas

  • Human-Computer Interaction
  • Computer Networks and Communications
  • Computer Vision and Pattern Recognition
  • Software

Fingerprint

Dive into the research topics of 'The design and implementation of GUMSMP: A multilevel parallel haskell implementation'. Together they form a unique fingerprint.

Cite this