Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorBarwell, Adam David
dc.contributor.authorBrown, Christopher Mark
dc.contributor.authorCastro, David
dc.contributor.authorHammond, Kevin
dc.date.accessioned2016-09-23T23:36:06Z
dc.date.available2016-09-23T23:36:06Z
dc.date.issued2016-09-23
dc.identifier.citationBarwell , A D , Brown , C M , Castro , D & Hammond , K 2016 , Towards semi-automatic data-type translation for parallelism in Erlang . in Proceedings of the 15th International Workshop on Erlang . ACM , New York , pp. 60-61 , 15th ACM SIGPLAN Workshop on Erlang , Nara , Japan , 23/09/16 . https://doi.org/10.1145/2975969.2975978en
dc.identifier.citationworkshopen
dc.identifier.isbn9781450344319
dc.identifier.otherPURE: 244421324
dc.identifier.otherPURE UUID: aa70b318-9b22-465b-bcff-8f1086e6d8c7
dc.identifier.otherScopus: 85030981725
dc.identifier.otherORCID: /0000-0002-4326-4562/work/33080444
dc.identifier.otherORCID: /0000-0003-1236-7160/work/57821940
dc.identifier.otherORCID: /0000-0001-6030-2885/work/70619186
dc.identifier.urihttps://hdl.handle.net/10023/9545
dc.description.abstractAs part of our ongoing research programme into programmer-in-the-loop parallelisation, we are studying the problem of introducing alternative data structures to support parallelism. Automated support for data structure transformations makes it easier to produce the best parallelisation for some given program, or even to make parallelisation feasible. We use a refactoring approach to choose and introduce these transformations for specific algorithmic skeletons, structured forms of parallelism that capture common patterns of parallelism. Our approach integrates with the Wrangler refactoring tool for Erlang, and uses the advanced Skel [4] skeleton library for Erlang. This library has previously been shown to give good parallelisations for a number of applications, including a multi-agent system [1] where we have achieved speedups of up to 142.44 on a 61-core machine with 244 threads. We have investigated three widely-used Erlang data structures: lists, binary structures and ETS (Erlang Term Storage) tables. In general, we have found that ETS tables deliver the best parallel performance for the examples that we have considered. However, our results show that simple lists may deliver similar performance to the use of ETS tables, and better performance than using binary structures. This means that we cannot blindly choose to implement a single optimisation as part of the compilation process. Our approach also allows the use of new (possibly user-defined) data structures and other transformations in future, giving a high level of flexibility and generality.
dc.language.isoeng
dc.publisherACM
dc.relation.ispartofProceedings of the 15th International Workshop on Erlangen
dc.rights© 2016, ACM. 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 dl.acm.org / http://dx.doi.org/10.1145/2975969.2975978en
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectNDASen
dc.subject.lccQA75en
dc.titleTowards semi-automatic data-type translation for parallelism in Erlangen
dc.typeConference itemen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.sponsorEuropean Commissionen
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.1145/2975969.2975978
dc.date.embargoedUntil2016-09-23
dc.identifier.grantnumber644235en
dc.identifier.grantnumberFP7-ICT-2011-7en


This item appears in the following Collection(s)

Show simple item record