Show simple item record

Files in this item

Thumbnail

Item metadata

dc.contributor.authorJanjic, Vladimir
dc.contributor.authorBrown, Christopher Mark
dc.contributor.authorBarwell, Adam
dc.date.accessioned2021-06-11T10:30:09Z
dc.date.available2021-06-11T10:30:09Z
dc.date.issued2021-06-11
dc.identifier273979329
dc.identifierbba2d940-7823-4c79-8b10-cd2f7093c3f2
dc.identifier85107596583
dc.identifier000659778800001
dc.identifier.citationJanjic , V , Brown , C M & Barwell , A 2021 , ' Restoration of legacy parallelism : transforming pthreads into farm and pipeline patterns ' , International Journal of Parallel Programming , vol. First Online . https://doi.org/10.1007/s10766-021-00716-zen
dc.identifier.issn0885-7458
dc.identifier.otherORCID: /0000-0001-6030-2885/work/95418448
dc.identifier.urihttps://hdl.handle.net/10023/23346
dc.descriptionFunding: This work was generously supported by the EU Horizon 2020 project, TeamPlay (https://www.teamplay-h2020.eu), grant number 779882, and UK EPSRC Discovery, grant number EP/P020631/1.en
dc.description.abstractParallel patterns are a high-level programming paradigm that enables non-experts in parallelism to develop structured parallel programs that are maintainable, adaptive, and portable whilst achieving good performance on a variety of parallel systems. However, there still exists a large base of legacy-parallel code developed using ad-hoc methods and incorporating low-level parallel/concurrency libraries such as pthreads without any parallel patterns in the fundamental design. This code would benefit from being restructured and rewritten into pattern-based code. However, the process of rewriting the code is laborious and error-prone, due to typical concurrency and pthreading code being closely intertwined throughout the business logic of the program. In this paper, we present a new software restoration methodology, to transform legacy-parallel programs implemented using pthreads into structured farm and pipeline patterned equivalents. We demonstrate our restoration technique on a number of benchmarks, allowing the introduction of patterned farm and pipeline parallelism in the resulting code; we record improvements in cyclomatic complexity and speedups on a number of representative benchmarks.
dc.format.extent25
dc.format.extent1361991
dc.language.isoeng
dc.relation.ispartofInternational Journal of Parallel Programmingen
dc.subjectParallel patternsen
dc.subjectRestorationen
dc.subjectpthreadsen
dc.subjectPrograme transformationen
dc.subjectRefactoringen
dc.subjectCode analysisen
dc.subjectFarmen
dc.subjectPipelineen
dc.subjectTBBen
dc.subjectQA75 Electronic computers. Computer scienceen
dc.subjectT-NDASen
dc.subject.lccQA75en
dc.titleRestoration of legacy parallelism : transforming pthreads into farm and pipeline patternsen
dc.typeJournal articleen
dc.contributor.sponsorEPSRCen
dc.contributor.sponsorEuropean Commissionen
dc.contributor.institutionUniversity of St Andrews. School of Computer Scienceen
dc.identifier.doi10.1007/s10766-021-00716-z
dc.description.statusPeer revieweden
dc.identifier.grantnumberEP/P020631/1en
dc.identifier.grantnumber779882en


This item appears in the following Collection(s)

Show simple item record