Resource-aware Data Parallel Array Processing
| Authors |
|
|---|---|
| Publication date | 08-2020 |
| Journal | International Journal of Parallel Programming |
| Volume | Issue number | 48 | 4 |
| Pages (from-to) | 652-674 |
| Number of pages | 23 |
| Organisations |
|
| Abstract |
Malleable applications may run with varying numbers of threads, and thus on varying numbers of cores, while the precise number of threads is irrelevant for the program logic. Malleability is a common property in data-parallel array processing. With ever growing core counts we are increasingly faced with the problem of how to choose the best number of threads. We propose a compiler-directed, almost automatic tuning approach for the functional array processing language SaC. Our approach consists of an offline training phase during which compiler-instrumented application code systematically explores the design space and accumulates a persistent database of profiling data. When generating production code our compiler consults this database and augments each data-parallel operation with a recommendation table. Based on these recommendation tables the runtime system chooses the number of threads individually for each data-parallel operation. With energy/power efficiency becoming an ever greater concern, we explicitly distinguish between two application scenarios: aiming at best possible performance or aiming at a beneficial trade-off between performance and resource investment.
|
| Document type | Article |
| Note | In: Special Issue on High Level Parallel Programming. |
| Language | English |
| Related publication | Resource-aware Data Parallel Array Processing Resource-aware Data Parallel Array Processing |
| Published at | https://doi.org/10.1007/s10766-020-00664-0 |
| Downloads |
Grelck-Blom2020_Article_Resource-AwareDataParallelArra
(Final published version)
|
| Permalink to this page | |