Many computing systems today are heterogeneous in that they consist of a mix of different types of processing units (e.g., CPUs, GPUs). Each of these processing units has different performance capabilities and energy consumption characteristics. Job mapping and scheduling play a crucial role in such systems as they strongly affect the overall system performance, energy consumption, peak power and peak temperature. Allocating resources (e.g., core scaling, threads allocation) is another challenge since different sets of resources exhibit different behavior in terms of performance and energy consumption. Many studies have been conducted on job scheduling with an eye on performance improvement. However, few of them consider both performance and energy. We thus propose our approach we call Performance, Energy and Thermal aware Scheduler (PETS) to combine job mapping, core scaling, and threads allocation into one scheduler. We apply an evolutionary algorithm (a Genetic Algorithm — GA) to find an efficient job schedule in terms of both execution time and energy consumption, under peak power and peak temperature constraints. Compared to a performance-based GA and other schedulers, on average, our PETS scheduler can achieve up to a 4.7x of speedup and an energy saving of up to 195%.
[1]
John H. Holland,et al.
Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control, and Artificial Intelligence
,
1992
.
[2]
David S. Johnson,et al.
Computers and Intractability: A Guide to the Theory of NP-Completeness
,
1978
.
[3]
Kevin Skadron,et al.
Rodinia: A benchmark suite for heterogeneous computing
,
2009,
2009 IEEE International Symposium on Workload Characterization (IISWC).
[4]
Hyesoon Kim,et al.
Qilin: Exploiting parallelism on heterogeneous multiprocessors with adaptive mapping
,
2009,
2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).