Title :
SHEPARD: Scheduling on Heterogeneous Platforms Using Application Resource Demands
Author :
O´Neill, Eoghan ; McGlone, John ; Milligan, P. ; Kilpatrick, P.
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.
Keywords :
multiprocessing systems; parallel processing; processor scheduling; program compilers; FPGAs; GPUs; application resource demands; automatic run-time allocation framework; compile time framework; heterogeneous computing devices; heterogeneous computing technology; heterogeneous platforms; in-memory database; managed tasks; multicore CPUs; task parallel application; Dictionaries; Equations; Graphics processing units; Kernel; Mathematical model; Performance evaluation; Resource management; LLVM; OpenCL; heterogeneous computation; managed tasks; run-time allocation;
Conference_Titel :
Parallel, Distributed and Network-Based Processing (PDP), 2014 22nd Euromicro International Conference on
Conference_Location :
Torino
DOI :
10.1109/PDP.2014.53