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 | 269101193 | |
dc.identifier | 3e5934c6-efa3-4bc6-a0fd-a0d12c3da683 | |
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.uri | https://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.format.extent | 319421 | |
dc.language.iso | eng | |
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.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.