Files in this item
Restoration of legacy parallelism in C and C++ applications
Item metadata
dc.contributor.author | Brown, Christopher Mark | |
dc.contributor.author | Barwell, Adam David | |
dc.contributor.author | Janjic, Vladimir | |
dc.date.accessioned | 2020-07-10T14:30:01Z | |
dc.date.available | 2020-07-10T14:30:01Z | |
dc.date.issued | 2020-07-01 | |
dc.identifier.citation | Brown , C M , Barwell , A D & Janjic , V 2020 , ' Restoration of legacy parallelism in C and C++ applications ' , Paper presented at 13th International Symposium on High-Level Parallel Programming and Applications (HLPP 2020) Porto, Portugal July 9-10, 2020 , 9/07/20 - 10/07/20 . | en |
dc.identifier.citation | conference | en |
dc.identifier.other | PURE: 269101193 | |
dc.identifier.other | PURE UUID: 3e5934c6-efa3-4bc6-a0fd-a0d12c3da683 | |
dc.identifier.uri | http://hdl.handle.net/10023/20232 | |
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 e.g. pthreads into structured patterned equivalents. We demonstrate our restoration technique on a number of benchmarks, allowing the introduction of patterned parallelism in the resulting code; we record improvements in cyclomatic complexity and speedups. | |
dc.language.iso | eng | |
dc.rights | Copyright © 2020 the Author(s). This work has been made available online in accordance with publisher policies or with permission. Permission for further reuse of this content should be sought from the publisher or the rights holder. This is the author created accepted manuscript following peer review and may differ slightly from the final published version. | en |
dc.subject | Parallel patterns | en |
dc.subject | Restoration | en |
dc.subject | pthreads | en |
dc.subject | Program transformation | en |
dc.subject | Code analysis | en |
dc.subject | QA75 Electronic computers. Computer science | en |
dc.subject.lcc | QA75 | en |
dc.title | Restoration of legacy parallelism in C and C++ applications | en |
dc.type | Conference paper | en |
dc.contributor.sponsor | European Commission | en |
dc.description.version | Postprint | en |
dc.contributor.institution | University of St Andrews. School of Computer Science | en |
dc.description.status | Peer reviewed | 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.