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
-
-
Discovery: Pattern Discovery and Program: Discovery: Pattern Discovery and Program Shaping for Manycore Systems
Thomson, J. D. (PI), Hammond, K. (CoI) & Sarkar, S. (CoI)
1/07/17 → 31/12/20
Project: Standard