Projects per year
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.
Original language | English |
---|---|
Publication status | Accepted/In press - 1 Jul 2020 |
Event | 13th International Symposium on High-Level Parallel Programming and Applications (HLPP 2020) Porto, Portugal July 9-10, 2020 - Duration: 9 Jul 2020 → 10 Jul 2020 Conference number: 13 https://hlpp2020.dcc.fc.up.pt/ |
Conference
Conference | 13th International Symposium on High-Level Parallel Programming and Applications (HLPP 2020) Porto, Portugal July 9-10, 2020 |
---|---|
Abbreviated title | HLPP 2020 |
Period | 9/07/20 → 10/07/20 |
Internet address |
Keywords
- Parallel patterns
- Restoration
- pthreads
- Program transformation
- Code analysis
Fingerprint
Dive into the research topics of 'Restoration of legacy parallelism in C and C++ applications'. Together they form a unique fingerprint.Projects
- 1 Finished