Files in this item
Restoration of legacy parallelism : transforming pthreads into farm and pipeline patterns
Item metadata
dc.contributor.author | Janjic, Vladimir | |
dc.contributor.author | Brown, Christopher Mark | |
dc.contributor.author | Barwell, Adam | |
dc.date.accessioned | 2021-06-11T10:30:09Z | |
dc.date.available | 2021-06-11T10:30:09Z | |
dc.date.issued | 2021-06-11 | |
dc.identifier | 273979329 | |
dc.identifier | bba2d940-7823-4c79-8b10-cd2f7093c3f2 | |
dc.identifier | 85107596583 | |
dc.identifier | 000659778800001 | |
dc.identifier.citation | Janjic , 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-z | en |
dc.identifier.issn | 0885-7458 | |
dc.identifier.other | ORCID: /0000-0001-6030-2885/work/95418448 | |
dc.identifier.uri | https://hdl.handle.net/10023/23346 | |
dc.description | Funding: 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.abstract | Parallel 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.extent | 25 | |
dc.format.extent | 1361991 | |
dc.language.iso | eng | |
dc.relation.ispartof | International Journal of Parallel Programming | en |
dc.subject | Parallel patterns | en |
dc.subject | Restoration | en |
dc.subject | pthreads | en |
dc.subject | Programe transformation | en |
dc.subject | Refactoring | en |
dc.subject | Code analysis | en |
dc.subject | Farm | en |
dc.subject | Pipeline | en |
dc.subject | TBB | en |
dc.subject | QA75 Electronic computers. Computer science | en |
dc.subject | T-NDAS | en |
dc.subject.lcc | QA75 | en |
dc.title | Restoration of legacy parallelism : transforming pthreads into farm and pipeline patterns | en |
dc.type | Journal article | en |
dc.contributor.sponsor | EPSRC | en |
dc.contributor.sponsor | European Commission | en |
dc.contributor.institution | University of St Andrews. School of Computer Science | en |
dc.identifier.doi | 10.1007/s10766-021-00716-z | |
dc.description.status | Peer reviewed | en |
dc.identifier.grantnumber | EP/P020631/1 | en |
dc.identifier.grantnumber | 779882 | en |
This item appears in the following Collection(s)
Items in the St Andrews Research Repository are protected by copyright, with all rights reserved, unless otherwise indicated.