Farms, pipes, streams and reforestation: reasoning about structured parallel processes using types and hylomorphisms

David Castro, Kevin Hammond, Susmit Sarkar

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

8 Citations (Scopus)
2 Downloads (Pure)

Abstract

The increasing importance of parallelism has motivated the creation of better abstractions for writing parallel software, including structured parallelism using nested algorithmic skeletons. Such approaches provide high-level abstractions that avoid common problems, such as race conditions, and often allow strong cost models to be defined. However, choosing a combination of algorithmic skeletons that yields good parallel speedups for a program on some specific parallel architecture remains a difficult task. In order to achieve this, it is necessary to simultaneously reason both about the costs of different parallel structures and about the semantic equivalences between them. This paper presents a new type-based mechanism that enables strong static reasoning about these properties. We exploit well-known properties of a very general recursion pattern, hylomorphisms, and give a denotational semantics for structured parallel processes in terms of these hylomorphisms. Using our approach, it is possible to determine formally whether it is possible to introduce a desired parallel structure into a program without altering its functional behaviour, and also to choose a version of that parallel structure that minimises some given cost model.
Original languageEnglish
Title of host publicationProceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)
Place of PublicationNew York
PublisherACM
Pages4-17
ISBN (Print)9781450342193
DOIs
Publication statusPublished - 4 Sept 2016
EventICFP 2016 - 21st ACM SIGPLAN International Conference on Functional Programming - Nara Kasugano International Forum, Nara, Japan
Duration: 18 Sept 201624 Sept 2016
Conference number: 21
http://conf.researchr.org/home/icfp-2016

Publication series

NameACM SIGPLAN Notices
PublisherAssociation for Computing Machinery
Number9
Volume51
ISSN (Print)0362-1340
ISSN (Electronic)1558-1160

Conference

ConferenceICFP 2016 - 21st ACM SIGPLAN International Conference on Functional Programming
Abbreviated titleICFP 2016
Country/TerritoryJapan
CityNara
Period18/09/1624/09/16
Internet address

Keywords

  • Parallelism
  • Type-systems
  • Hylomorphisms
  • Term rewriting systems

Fingerprint

Dive into the research topics of 'Farms, pipes, streams and reforestation: reasoning about structured parallel processes using types and hylomorphisms'. Together they form a unique fingerprint.

Cite this