Low pain vs no pain multi-core Haskells

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

  • Mustafa Aswad
  • Phil Trinder
  • Abyd Al Zain
  • Greg Michaelson
  • Jost Berthold
Multicore and NUMA architectures are becoming the dominant processor technology and functional languages are theoretically well suited to exploit them. In practice, however, implementing effective high level parallel functional languages is extremely challenging.
This paper is a systematic programming and performance comparison of four parallel Haskell implementations on a common multicore architecture. It provides a detailed analysis of the performance, and contrasts the programming effort that each language requires with the parallel performance delivered. The study uses 15 ’typical’ programs to compare a ‘no pain’, i.e. entirely implicit, parallel implementation with three ‘low pain’, i.e. semi-explicit, language implementations.
We report detailed studies comparing the parallel performance delivered. The comparative performance metric is speedup which normalises against sequential performance. We ground the speedup comparisons by reporting both sequential and parallel runtimes and efficiencies for three of the languages. To measure the programming effort required by each language we record the number of programs improved and the relative and absolute program changes required to coordinate the parallelism.
The results of the study are encouraging and, on occasion, surprising. We find that fully implicit parallelism as implemented in FDIP cannot yet compete with semi-explicit parallel approaches. Semi-explicit parallelism shows encouraging speedup for many of the programs in the test suite. Languages with implementations designed for distributed memory architectures perform surprisingly well given their high message-passing costs. This leads us to speculate that, as the number of cores grow, implementations with some form of independent heap will outperform those with shared heaps.
Original languageEnglish
Title of host publicationTrends in Functional Programming 10
EditorsZoltán Horváth, Viktória Zsók, Peter Achten, Pieter Koopman
Number of pages16
PublisherIntellect
Publication date2011
Pages49-64
Chapter4
ISBN (Print)978-1-84150-158-1
ISBN (Electronic)978-1-84150-442-1
Publication statusPublished - 2011
Event10th Symposium on Trends in Functional Programming - Selye János University, Komárno, Slovakia
Duration: 2 Jun 20094 Jun 2009
Conference number: 10

Conference

Conference10th Symposium on Trends in Functional Programming
Nummer10
LocationSelye János University
LandSlovakia
ByKomárno
Periode02/06/200904/06/2009

Bibliographical note

Extended and revised version of an article in TFP 2009

ID: 173536116