Towards Dynamic Multi-task Schedulling of OpenCL Programs on Emerging CPU-GPU-FPGA Heterogeneous Platforms: A Fuzzy Logic Approach
Ahmad Al-Zoubi, Konstantinos Tatas, Costas Kyriacou · 2018
Heterogeneous systems featuring multiple kinds of processors are becoming increasingly attractive due to their high performance and energy saving over the homogeneous systems. With the OpenCL as a unified programming language providing programs portability, and the recent advances in transistor technology allowing multi-core CPUs, GPUs and FPGA to be on the same chip, finding the best task-to-device mapping will be the key to gain such high performance and leverage their use from application dedicated devices to platforms for concurrent user applications. This work proposes an energy-efficient scheduling scheme to schedule concurrent OpenCl tasks targeting CPU+GPU+FPGA heterogeneous systems by setting the best kernel-device pair at run-time. The scheme is expected to provide the best mapping in terms of throughput and energy consumption under the constraints of hardware resources, concurrent execution and contention scenarios.