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 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.
| Original language | English |
|---|---|
| Number of pages | 25 |
| Journal | International Journal of Parallel Programming |
| Volume | First Online |
| DOIs | |
| Publication status | Published - 11 Jun 2021 |
Keywords
- Parallel patterns
- Restoration
- pthreads
- Programe transformation
- Refactoring
- Code analysis
- Farm
- Pipeline
- TBB
Fingerprint
Dive into the research topics of 'Restoration of legacy parallelism: transforming pthreads into farm and pipeline patterns'. Together they form a unique fingerprint.Projects
- 2 Finished
-
TeamPlay: H2020 ICT-5 Teamplay
Brown, C. (PI)
European Commission Joint Research Centre
1/01/18 → 31/12/20
Project: Standard
-
Discovery: Pattern Discovery and Program: Discovery: Pattern Discovery and Program Shaping for Manycore Systems
Thomson, J. (PI), Hammond, K. (CoI) & Sarkar, S. (CoI)
1/07/17 → 31/12/20
Project: Standard