Dynamic scheduling techniques for heterogeneous computing systems
- 1 October 1995
- journal article
- research article
- Published by Wiley in Concurrency: Practice and Experience
- Vol. 7 (7) , 633-652
- https://doi.org/10.1002/cpe.4330070705
Abstract
There has been a recent increase of interest in heterogeneous computing systems, due partly to the fact that a single parallel architecture may not be adequate for exploiting all of a program's available parallelism. In some cases, heterogeneous systems have been shown to produce higher performance for lower cost than a single large machine. However, there has been only limited work on developing techniques and frameworks for partitioning and scheduling applications across the components of a heterogeneous system. In this paper we propose a general model for describing and evaluating heterogeneous systems that considers the degree of uniformity in the processing elements and the communication channels as a measure of the heterogeneity in the system. We also propose a class of dynamic scheduling algorithms for a heterogeneous computing system interconnected with an arbitrary communication network. These algorithms execute a novel optimization technique to dynamically compute schedules based on the potentially non‐uniform computation and communication costs on the processors of a heterogeneous system. A unique aspect of these algorithms is that they easily adapt to different task granularities, to dynamically varying processor and system loads, and to systems with varying degrees of heterogeneity. Our simulations are designed to facilitate the evaluation of different scheduling algorithms under varying degrees of heterogeneity. The results show improved performance for our algorithms compared to the performance resulting from existing scheduling techniques.Keywords
This publication has 33 references indexed in Scilit:
- A multiprocessor architecture combining fine-grained and coarse-grained parallelism strategiesParallel Computing, 1994
- Using processor affinity in loop scheduling on shared-memory multiprocessorsIEEE Transactions on Parallel and Distributed Systems, 1994
- Trapezoid self-scheduling: a practical scheduling scheme for parallel compilersIEEE Transactions on Parallel and Distributed Systems, 1993
- Factoring: a method for scheduling parallel loopsCommunications of the ACM, 1992
- MetacomputingCommunications of the ACM, 1992
- An analytical approach to performance/ cost modeling of parallel computersJournal of Parallel and Distributed Computing, 1991
- Limits of instruction-level parallelismACM SIGOPS Operating Systems Review, 1991
- Single instruction stream parallelism is greater than twoACM SIGARCH Computer Architecture News, 1991
- PVM: A framework for parallel distributed computingConcurrency: Practice and Experience, 1990
- The greedy load sharing algorithmJournal of Parallel and Distributed Computing, 1990