Abstract
Heterogeneous computing technologies, such as multi-core CPUs, GPUs and FPGAs can provide significant performance improvements. However, developing applications for these technologies often results in coupling applications to specific devices, typically through the use of proprietary tools. This paper presents SHEPARD, a compile time and run-time framework that decouples application development from the target platform and enables run-time allocation of tasks to heterogeneous computing devices. Through the use of special annotated functions, called managed tasks, SHEPARD approximates a task's performance on available devices, and coupled with the approximation of current device demand, decides which device can satisfy the task with the lowest overall execution time. Experiments using a task parallel application, based on an in-memory database, demonstrate the opportunity for automatic run-time task allocation to achieve speed-up over a static allocation to a single specific device.
Original language | English |
---|---|
Title of host publication | Proceedings - 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2014 |
Publisher | Institute of Electrical and Electronics Engineers Inc. |
Pages | 213-217 |
Number of pages | 5 |
ISBN (Print) | 9781479927289 |
DOIs | |
Publication status | Published - 2014 |
Event | 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2014 - Turin, Italy Duration: 12 Feb 2014 → 14 Feb 2014 |
Conference
Conference | 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing, PDP 2014 |
---|---|
Country/Territory | Italy |
City | Turin |
Period | 12/02/2014 → 14/02/2014 |
Keywords
- heterogeneous computation
- LLVM
- managed tasks
- OpenCL
- run-time allocation
ASJC Scopus subject areas
- Computer Networks and Communications
- Software