This paper considers scheduling tasks while minimizing the power consumption of one or more processors, each of which can go to sleep at a fixed cost
. There are two natural versions of this problem, both considered extensively in recent work: minimize the total power consumption (including computation time), or minimize the number of ‘gaps’ in execution. For both versions in a multiprocessor system, we develop a polynomial‐time algorithm based on sophisticated dynamic programming. In a generalization of the power‐saving problem, where each task can execute in any of a specified set of time intervals, we develop a
‐approximation, and show that dependence on
is necessary. In contrast, the analogous multi‐interval gap scheduling problem is set‐cover hard (and thus not
‐approximable), even in the special cases of just two intervals per job or just three unit intervals per job. We also prove several other hardness‐of‐approximation results. Finally, we give an
‐approximation for maximizing throughput given a hard upper bound on the number of gaps.