16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008) (2014)
Torino, Italy Italy
Feb. 12, 2014 to Feb. 14, 2014
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PDP.2014.53
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.
Kernel, Performance evaluation, Graphics processing units, Resource management, Mathematical model, Equations, Dictionaries,LLVM, heterogeneous computation, run-time allocation, managed tasks, OpenCL
Eoghan O'Neill, John McGlone, Peter Milligan, Peter Kilpatrick, "SHEPARD: Scheduling on Heterogeneous Platforms Using Application Resource Demands", 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008), vol. 00, no. , pp. 213-217, 2014, doi:10.1109/PDP.2014.53