We investigate static scheduling of taskgraphs onto parallel machines where the frequency of processors can be scaled at runtime. Given a deadline until which execution of the resulting schedule must be completed, we aim at minimizing the energy consumed by the parallel processors during execution. We present optimal and heuristic solutions to this problem and partial problems. We quantify the increase in energy consumption when switching from a globally optimal solution via a combination of optimal partial solutions to heuristic solutions.We find that, on our set of benchmark taskgraphs, the increase is 32.56% on average for a combination of heuristic solutions and thus tolerable. KEYWORDS energy efficiency, linear program, scheduling heuristics, static scheduling
INTRODUCTIONTaskgraphs form a popular model for many parallel applications, 1 and static scheduling of taskgraphs onto parallel platforms has been studied for decades. 2 Most scheduling approaches have strived to minimize the makespan, ie, execution time, for a schedule for a taskgraph, assuming a fixed processing speed of the parallel platform. We will call this type of scheduling ''classical'' in the sequel. In recent years, however, energy consumption of computations has become as important as runtime, as power consumption of processors has risen to unprecedented heights.Energy consumption can be influenced as processors can scale their frequency according to need and can even be put to sleep mode if not needed for a while. 3 Hence, in our work, we study how to construct schedules for taskgraphs that minimize the energy consumption, given the taskgraph, a deadline that should be reached by the schedule's makespan, and a power profile, ie, a table of available frequency levels and associated power consumption values, of the processors to be used. In addition to a mapping to a processor and a starting time, such a schedule also contains an operating frequency for each task.As most optimization problems, static scheduling of taskgraphs is an NP-hard problem. Hence, unless = , we cannot expect scheduling algorithms that always find the schedule with minimum energy consumption and are always efficient in the sense that their scheduling time is bounded by a polynomial in the taskgraph size. 2 Hence, optimal schedules (no matter whether makespan or energy optimal) will only be available for small taskgraphs. We investigate the question of which factor of additional energy consumption we have to expect when we switch from optimal to heuristic solutions. To this end, we first present a mixed-integer linear program to find an energy-optimal schedule, and a mixed-integer linear program that optimally scales task operating frequencies given a classic (makespan-optimal) schedule, for which an integer linear program (ILP) was given in related work. 4 We show both theoretically and experimentally with the help of a set of benchmark taskgraphs 5 that splitting the problem into two parts already leads to an energy increase, even if both partial problems are sol...