PETS: Performance, energy and thermal aware scheduler for job mapping with resource allocation in heterogeneous systems

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%.