Abstract
Algorithmic skeletons abstract commonly used patterns of parallel computation, communication, and interaction. Based on the algorithmic skeleton concept, structured parallelism provides a high-level parallel programming technique that allows the conceptual description of parallel programs while fostering platform independence and algorithm abstraction. This work presents a methodology to improve skeletal parallel programming in heterogeneous distributed systems by introducing adaptivity through resource awareness. As we hypothesise that a skeletal program should be able to adapt to the dynamic resource conditions over time using its structural forecasting information, we have developed adaptive structured parallelism (ASPara). ASPara is a generic methodology to incorporate structural information at compilation into a parallel program, which will help it to adapt at execution. ASPara comprises four phases: programming, compilation, calibration, and execution. We illustrate the feasibility of this approach and its associated performance improvements using independent case studies based on two algorithmic skeletons-the task farm and the pipeline-evaluated in a non-dedicated heterogeneous multi-cluster system.
| Original language | English |
|---|---|
| Pages (from-to) | 2073-2094 |
| Number of pages | 22 |
| Journal | Concurrency and Computation: Practice and Experience |
| Volume | 22 |
| Issue number | 15 |
| Early online date | 22 Jan 2010 |
| DOIs | |
| Publication status | Published - Oct 2010 |
Keywords / Materials (for Non-textual outputs)
- structured parallelism
- algorithmic skeletons
- parallel patterns
- parallel programming
- concurrent programming structures
- cluster computing