On the Dynamic Scheduling of Task Farm Patterns on a Heterogeneous CPU-GPGPU Environment
Wei Zhang, Dhrubajyoti Goswami, Bahareh Goodarzi · 2008
Heterogeneous clusters and multi-core environments are gradually surpassing the homogeneous systems due to their high performance and flexibility. Task scheduling in these systems is an extensively studied subject. However, in a heterogeneous architecture consisting of multi-core CPUs and many-core GPGPUs (General Purpose Graphics Processor Units), task mapping becomes much more complex due to differences in architectures and programming models among the processors. Consequently, designing a scheduler which facilities a balanced distribution of loads by taking full advantage of the processing power of a CPU-GPGPU system is nontrivial. In this paper we discuss a multi-round scheduling algorithm and a scheduling framework for farm-pattern based applications on such a system. This is an important step towards designing a full-scale pattern-based scheduler to automatically and efficiently map the parallel tasks to the heterogeneous processors. As a proof of concept, we have designed a scheduling framework for the task-farm pattern based applications. The framework provides the necessary "separation of concerns" and hides the underlying complex scheduling details from the programmer. The experimental results demonstrate that our dynamic scheduling algorithm achieves better to similar performances as compared to some of the well-known scheduling algorithms for CPU-GPGPU systems.