Polynomial-time algorithms for minimum energy scheduling
Summary (2 min read)
1 Introduction
- The aim of power management policies is to reduce the amount of energy consumed by computer systems while maintaining satisfactory level of performance.
- The intuition is that the authors can reduce energy consumption if they schedule the work to performed so that they reduce the weighted sum of two quantities: the total number of busy periods and the total length of “short” idle periods, when the system is left on.
- The authors algorithms are developed gradually in the sections that follow.
- As the energy required to perform the job increases quickly with the speed of the processor, speed scaling policies tend to slow down the processor while ensuring that all jobs meet their deadlines (see [8], for example).
2 Preliminaries
- Changing the state from off to on (waking up) requires additional L units of energy.
- Using the standard exchange argument, any schedule can be converted into one that satisfies the earliest-deadline property and has the same support.
- The authors algorithms will compute the function Uk,s,g and use it to determine a minimum energy schedule.
- The algorithm computing Uk,s,g for unit jobs is called AlgA and the one for arbitrary length jobs is called AlgB.
- This reduction, itself, involves again dynamic programming.
3 Minimizing the Number of Gaps for Unit Jobs
- As explained in the previous section, the algorithm computes the table Uk,s,g.
- The construction of Sk,s,g depends on which expression realizes the maximum (2).
- (This property will be useful in the proof below.).
- Thus each value Uk,s,g can be computed in time O(n), and the overall running time is O(n4).
4 Minimizing the Number of Gaps for Arbitrary Jobs
- That is for the scheduling problem 1|rj ; pmtn;L = 1|E.the authors.
- The proof of the lemma will appear in the final version.
- Then (a) If Uk,s,g(p) < dk, then in the schedule realizing Uk,s,g(p) the last block has at least one job other than k.
- The cases considered in the algorithm are illustrated in Figure 2.
5 Minimizing the Energy
- The authors now show how minimize the energy for an arbitrary L. This new algorithm consists of computing the table Uk,s,g (using either Algorithm AlgA or AlgB) and an O(n2)-time post-processing.
- For those sub-instances, the cost is simply the number of gaps times L. To compute the overall cost, the authors add to this quantity the total size of short gaps.
- This relation defines a total order on all schedules.
- The authors now prove the correctness of Algorithm AlgC and analyze its running time.
- For any job s, the authors now prove that any s-schedule Q has cost at least Es. Proof.
6 Final Comments
- The authors presented an O(n5)-time algorithm for the minimum energy scheduling problem 1|rj ; pmtn|E, and an O(n4) algorithm for 1|rj ; pj = 1|E.
- To their knowledge, no work has been done on the multiprocessor case.
- Another generalization is to allow multiple power-down states [8, 7].
Did you find this useful? Give us your feedback
Citations
436 citations
87 citations
64 citations
56 citations
52 citations
References
42,654 citations
40,020 citations
12,336 citations
1,828 citations
286 citations
Related Papers (5)
Frequently Asked Questions (14)
Q2. What is the aim of power management policies?
The aim of power management policies is to reduce the amount of energy consumed by computer systems while maintaining satisfactory level of performance.
Q3. How can the authors show that the algorithm is NP-hard?
The non-preemptive version of their problem, that is 1|rj |E, can be easily shown to be NP-hard in the strong sense, even for L = 1 (when the objective is to only minimize the number of gaps), by reduction from 3-Partition [4, problem SS1].
Q4. How can the authors find the index l in time?
Es to compute, for each s the authors minimize over n values of g, and for fixed s and g the authors can find the index l in time O(log n) with binary search.
Q5. What is the earliest-deadline property of R?
Suppose that there is a time t, u < t ≤ v, such that there are no jobs i ≤ k with u ≤ ri < t, and that R executes some job m < k with rm ≤ u at or after time t.
Q6. What is the way to reduce the time of a l?
(Finding this l can be in fact reduced to amortized time O(1) if the authors process g in increasing order, for then the values of Un,s,g, and thus also of l, increase monotonically as well.)
Q7. What is the way to maximize over pairs?
In the last choice the authors maximize over pairs (l, h) that satisfy the condition rl = Uk−1,s,h + 1, and thus the authors only have O(n) such pairs.
Q8. What is the main difference between the two types of speed scaling policies?
As the energy required to perform the job increases quickly with the speed of the processor, speed scaling policies tend to slow down the processor while ensuring that all jobs meet their deadlines (see [8], for example).
Q9. What is the name of the scheduling problem?
an instance of the scheduling problem 1|rj ; pmtn|E consists of n jobs, where each job j is specified by its processing time pj , release time rj and deadline dj .
Q10. What is the definition of a (k, s)-schedule?
For jobs k and s, a partial schedule S is called a (k, s)-schedule if it schedules all jobs j ≤ k with rs ≤ rj < Cmax(S) (recall that Cmax(S) denotes the completion time of schedule S).
Q11. What is the recurrence relation for Uk,s,g?
For k ≥ 1, Uk,s,g is defined recursively as follows:Uk,s,g ← max l<k,h≤g Uk−1,s,gUk−1,s,g + 1 if rs ≤ rk ≤ Uk−1,s,g & ∀j < k rj 6= Uk−1,s,g dk if g > 0 & ∀j < k rj < Uk−1,s,g−1
Q12. What is the main difference between the two types of jobs?
In these works, however, jobs are critical, that is, they must be executed as soon as they are released, and the online algorithm only needs to determine the appropriate power-down state when the machine is idle.
Q13. What is the way to determine the optimal suspension and wake-up times?
this formula reflects the fact that once the support of a schedule is given, the optimal suspension and wake-up times are easy to determine: the authors suspend the machine during a gap if and only if its length is more than L, for otherwise it would be cheaper to keep the processor on during the gap.
Q14. what is the minimum energy of the whole instance?
El otherwise, where u = Un,s,g, rl = min {rj : rj > u}(5)The minimum energy of the whole instance is then E1, where r1 is the first release time.