Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBerthold, Jost
dc.contributor.authorLoidl, Hans-Wolfgang
dc.contributor.authorHammond, Kevin
dc.date.accessioned2017-01-14T00:31:47Z
dc.date.available2017-01-14T00:31:47Z
dc.date.issued2016
dc.identifier.citationBerthold , J , Loidl , H-W & Hammond , K 2016 , ' PAEAN : portable and scalable runtime support for parallel Haskell dialects ' , Journal of Functional Programming , vol. 26 , e10 . https://doi.org/10.1017/S0956796816000010en
dc.identifier.issn0956-7968
dc.identifier.otherPURE: 148543359
dc.identifier.otherPURE UUID: 004c1788-6ec3-4594-9f73-e7430e690232
dc.identifier.otherScopus: 84978128870
dc.identifier.otherORCID: /0000-0002-4326-4562/work/33080447
dc.identifier.otherWOS: 000381160000001
dc.identifier.urihttp://hdl.handle.net/10023/10103
dc.description.abstractOver time, several competing approaches to parallel Haskell programming have emerged. Different approaches support parallelism at various different scales, ranging from small multicores to massively parallel high-performance computing systems. They also provide varying degrees of control, ranging from completely implicit approaches to ones providing full programmer control. Most current designs assume a shared memory model at the programmer, implementation and hardware levels. This is, however, becoming increasingly divorced from the reality at the hardware level. It also imposes significant unwanted runtime overheads in the form of garbage collection synchronisation etc. What is needed is an easy way to abstract over the implementation and hardware levels, while presenting a simple parallelism model to the programmer. The PArallEl shAred Nothing runtime system design aims to provide a portable and high-level shared-nothing implementation platform for parallel Haskell dialects. It abstracts over major issues such as work distribution and data serialisation, consolidating existing, successful designs into a single framework. It also provides an optional virtual shared-memory programming abstraction for (possibly) shared-nothing parallel machines, such as modern multicore/manycore architectures or cluster/cloud computing systems. It builds on, unifies and extends, existing well-developed support for shared-memory parallelism that is provided by the widely used GHC Haskell compiler. This paper summarises the state-of-the-art in shared-nothing parallel Haskell implementations, introduces the PArallEl shAred Nothing abstractions, shows how they can be used to implement three distinct parallel Haskell dialects, and demonstrates that good scalability can be obtained on recent parallel machines.
dc.format.extent39
dc.language.isoeng
dc.relation.ispartofJournal of Functional Programmingen
dc.rights© 2016, Cambridge University Press. This work is made available online in accordance with the publisher’s policies. This is the author created, accepted version manuscript following peer review and may differ slightly from the final published version. The final published version of this work is available at journals.cambridge.org / https://dx.doi.org/10.1017/S0956796816000010en
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectDASen
dc.subject.lccQA75en
dc.titlePAEAN : portable and scalable runtime support for parallel Haskell dialectsen
dc.typeJournal articleen
dc.description.versionPostprinten
dc.contributor.institutionUniversity of St Andrews.School of Computer Scienceen
dc.contributor.institutionUniversity of St Andrews.Centre for Interdisciplinary Research in Computational Algebraen
dc.identifier.doihttps://doi.org/10.1017/S0956796816000010
dc.description.statusPeer revieweden
dc.date.embargoedUntil2017-01-13


This item appears in the following Collection(s)

Show simple item record