Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorCastro, David
dc.contributor.authorHammond, Kevin
dc.contributor.authorSarkar, Susmit
dc.date.accessioned2016-11-11T15:30:17Z
dc.date.available2016-11-11T15:30:17Z
dc.date.issued2016-09-04
dc.identifier243004874
dc.identifier7c87862e-3116-4bac-916c-85a727c8278c
dc.identifier85031007825
dc.identifier000393580700004
dc.identifier.citationCastro , D , Hammond , K & Sarkar , S 2016 , Farms, pipes, streams and reforestation : reasoning about structured parallel processes using types and hylomorphisms . in Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016) . ACM SIGPLAN Notices , no. 9 , vol. 51 , ACM , New York , pp. 4-17 , ICFP 2016 - 21st ACM SIGPLAN International Conference on Functional Programming , Nara , Japan , 18/09/16 . https://doi.org/10.1145/2951913.2951920en
dc.identifier.citationconferenceen
dc.identifier.isbn9781450342193
dc.identifier.issn0362-1340
dc.identifier.otherORCID: /0000-0002-4326-4562/work/33080446
dc.identifier.otherORCID: /0000-0002-4259-9213/work/125727586
dc.identifier.urihttps://hdl.handle.net/10023/9810
dc.description.abstractThe 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.
dc.format.extent380271
dc.language.isoeng
dc.publisherACM
dc.relation.ispartofProceedings of the 21st ACM SIGPLAN International Conference on Functional Programming (ICFP 2016)en
dc.relation.ispartofseriesACM SIGPLAN Noticesen
dc.subjectParallelismen
dc.subjectType-systemsen
dc.subjectHylomorphismsen
dc.subjectTerm rewriting systemsen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectNDASen
dc.subjectBDCen
dc.subjectR2Cen
dc.subject~DC~en
dc.subjectMCPen
dc.subject.lccQA75en
dc.titleFarms, pipes, streams and reforestation : reasoning about structured parallel processes using types and hylomorphismsen
dc.typeConference itemen
dc.contributor.sponsorEPSRCen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEPSRCen
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.doi10.1145/2951913.2951920
dc.identifier.grantnumberEP/M027317/1en
dc.identifier.grantnumber644235en
dc.identifier.grantnumberFP&-ICT-2011-7en
dc.identifier.grantnumber611242en
dc.identifier.grantnumberEP/F030657/1en


This item appears in the following Collection(s)

Show simple item record