Skip to main content
Log in

Speed Scaling on Parallel Processors

  • Published:
Algorithmica Aims and scope Submit manuscript

Abstract

In this paper we investigate dynamic speed scaling, a technique to reduce energy consumption in variable-speed microprocessors. While prior research has focused mostly on single processor environments, in this paper we investigate multiprocessor settings. We study the basic problem of scheduling a set of jobs, each specified by a release date, a deadline and a processing volume, on variable-speed processors so as to minimize the total energy consumption.

We first settle the problem complexity if unit size jobs have to be scheduled. More specifically, we devise a polynomial time algorithm for jobs with agreeable deadlines and prove NP-hardness results if jobs have arbitrary deadlines. For the latter setting we also develop a polynomial time algorithm achieving a constant factor approximation guarantee. Additionally, we study problem settings where jobs have arbitrary processing requirements and, again, develop constant factor approximation algorithms. We finally transform our offline algorithms into constant competitive online strategies.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  1. Albers, S.: Energy-efficient algorithms. Commun. ACM 53(5), 86–96 (2010)

    Article  MathSciNet  Google Scholar 

  2. Albers, S., Fujiwara, H.: Energy-efficient algorithms for flow time minimization. ACM Trans. Algorithms 3(4), 49 (2007)

    Article  MathSciNet  Google Scholar 

  3. Bansal, N., Kimbrel, T., Pruhs, K.: Dynamic speed scaling to manage energy and temperature. J. ACM 54(1), 3 (2007)

    Article  MathSciNet  Google Scholar 

  4. Bansal, N., Chan, H.-L., Lam, T.-W., Lee, K.-L.: Scheduling for speed bounded processors. In: Proc. 35th International Colloquium on Automata, Languages and Programming. LNCS, vol. 5125, pp. 409–420. Springer, Berlin (2008)

    Chapter  Google Scholar 

  5. Bansal, N., Chan, H.-L., Pruhs, K.: Speed scaling with an arbitrary power function. In: Proc. 20th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 693–701 (2009)

    Chapter  Google Scholar 

  6. Bansal, N., Chan, H.-L., Pruhs, K., Katz, D.: Improved bounds for speed scaling in devices obeying the cube-root rule. In: Proc. 36th International Colloqium on Automata, Languages and Programming. LNCS, vol. 5555, pp. 144–155. Springer, Berlin (2009)

    Chapter  Google Scholar 

  7. Bansal, N., Pruhs, K., Stein, C.: Speed scaling for weighted flow time. SIAM J. Comput. 39(4), 1294–1308 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  8. Bansal, N., Bunde, D.P., Chan, H.-L., Pruhs, K.: Average rate speed scaling. Algorithmica 60(4), 877–889 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  9. Baptiste, P.: Scheduling unit tasks to minimize the number of idle periods: A polynomial time algorithm for offline dynamic power management. In: Proc. 17th Annual ACM-SIAM Symposium on Discrete Algorithms, pp. 364–367 (2006)

    Google Scholar 

  10. Baptiste, P., Chrobak, M., Dürr, C.: Polynomial time algorithms for minimum energy scheduling. In: Proc. 15th Annual European Symposium on Algorithms. LNCS, vol. 4698, pp. 136–150. Springer, Berlin (2007)

    Google Scholar 

  11. Barroso, L.A.: The price of performance. ACM Queue 3(7), 48–53 (2005)

    Article  Google Scholar 

  12. Bell, P.C., Wong, P.W.H.: Multiprocessor speed scaling for jobs with arbitrary sizes and deadlines. In: Proc. 8th Annual Conference on Theory and Applications of Models of Computation (TAMC). LNCS, vol. 6648, pp. 27–36. Springer, Berlin (2011)

    Google Scholar 

  13. Bunde, D.P.: Power-aware scheduling for makespan and flow. J. Sched. 12, 489–500 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  14. Chan, H.-L., Chan, J.W.-T., Lam, T.W., Lee, L.-K., Mak, K.-S., Wong, P.W.H.: Optimizing throughput and energy in online deadline scheduling. ACM Trans. Algorithms 6(1), 10 (2009)

    Article  MathSciNet  Google Scholar 

  15. Chen, J.-J., Hsu, H.-R., Chuang, K.-H., Yang, C.-L., Pang, A.-C., Kuo, T.-W.: Multiprocessor energy-efficient scheduling with task migration considerations. In: Proc. 16th Euromicro Conference of Real-Time Systems, pp. 101–108 (2004)

    Google Scholar 

  16. Chen, J.-J., Kuo, T.-W., Lu, H.-I.: Power-saving scheduling for weakly dynamic voltage scaling devices. In: Proc. 9th International Workshop on Algorithms and Data Structures. LNCS, vol. 3608, pp. 338–349. Springer, Berlin (2005)

    Google Scholar 

  17. Demaine, E.D., Ghodsi, M., Hajiaghayi, M.T., Sayedi-Roshkhar, A.S., Zadimoghaddam, M.: Scheduling to minimize gaps and power consumption. In: Proc. 19th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 46–54 (2007)

    Google Scholar 

  18. Garay, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York (1979)

    Google Scholar 

  19. Greiner, G., Nonner, T., Souza, A.: The bell is ringing in speed-scaled multiprocessor scheduling. In: Proc. 21st Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 11–18 (2009)

    Google Scholar 

  20. Gupta, A., Im, S., Krishnaswamy, R., Moseley, B., Pruhs, K.: Scheduling heterogeneous processors isn’t as easy as you think. In: Proc. 22nd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 1242–1253 (2012)

    Chapter  Google Scholar 

  21. Hochbaum, D.S., Shmoys, D.B.: Using dual approximation algorithms for scheduling problems: theoretical and practical results. J. ACM 34, 144–162 (1987)

    Article  MathSciNet  Google Scholar 

  22. Intel pressroom. http://www.intel.com/pressroom/kits/teraflops/ or http://download.intel.com/pressroom/kits/Teraflops/Teraflops_Research_Chip_Overview.pdf

  23. Irani, S., Pruhs, K.: Algorithmic problems in power management. SIGACT News 36(2), 63–76 (2005)

    Article  Google Scholar 

  24. Irani, S., Shukla, S., Gupta, R.: Algorithms for power savings. ACM Trans. Algorithms 3(4), 41 (2007)

    Article  MathSciNet  Google Scholar 

  25. Lam, T.-W., Lee, L.-K., To, I.K.-K., Wong, P.W.H.: Energy efficient deadline scheduling in two processor systems. In: Proc. 18th International Symposium on Algorithms and Computation. LNCS, vol. 4835, pp. 476–487. Springer, Berlin (2007)

    Google Scholar 

  26. Lam, T.W., Lee, L.-K., To, I.K.-K., Wong, P.W.H.: Nonmigratory multiprocessor scheduling for response time and energy. IEEE Trans. Parallel Distrib. Syst. 19(11), 1527–1539 (2008)

    Article  Google Scholar 

  27. Lam, T.W., Lee, L.-K., To, I.K.-K., Wong, P.W.H.: Improved multi-processor scheduling for flow time and energy. J. Sched. 15(1), 105–116 (2012)

    Article  MathSciNet  Google Scholar 

  28. Pruhs, K., van Stee, R., Uthaisombut, P.: Speed scaling of tasks with precedence constraints. Theory Comput. Syst. 43(1), 67–80 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  29. Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM 28, 202–208 (1985)

    Article  MathSciNet  Google Scholar 

  30. Yao, F., Demers, A., Shenker, S.: A scheduling model for reduced CPU energy. In: Proc. 36th Annual Symposium on Foundations of Computer Science, pp. 374–382 (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Susanne Albers.

Additional information

A preliminary version of this paper has appeared in the Proceedings of the 19th Annual ACM Symposium on Parallelism in Algorithms and Architectures (SPAA) , 289–298, 2007.

Most of this work was done while at the University of Freiburg and supported by the German Research Foundation, projects AL 464/4-1 and 4-2.

Appendix

Appendix

In this appendix we establish the NP-hardness results stated in Theorems 2 and 3 based on the reduction described in Section 3. Given a schedule S, let l S (i) be the total length of intervals in S where job i is executed. The energy consumption of job i is at least (1/l S (i))α−1. Furthermore, for a set \(\mathcal{S}\) of jobs (or intervals in S) let \(l(\mathcal{S})\) (\(l_{S}(\mathcal{S})\), respectively) denote the sum of the lengths of all jobs (intervals) in \(\mathcal{S}\).

We will determine the minimum energy necessary to schedule \(\mathcal{J}\) on m processors. To this end we need two lemmas on the structure of an optimal schedule for \(\mathcal{J}\).

Lemma 9

In any optimal schedule S for \(\mathcal{J}\) no two jobs numbered larger than n are executed on the same processor.

Proof

Consider an optimal schedule S and assume for the sake of contradiction there were jobs i>n and i′>n running on the same processor j. Then one of the two jobs, say job i, is executed in intervals of total length at most 3d(n)/2 and incurs an energy consumption of at least (2/(3d(n)))α−1. Furthermore, there must exist one processor on which no job is executed in the interval [d(n),3d(n)) because we have only m jobs with a deadline greater than d(n) and two of these are executed on processor j. We can now schedule job i in this idle period, generating an energy consumption of at most (1/(2d(n)))α−1 for job i. This is less than the initial consumption, contradicting the optimality of the considered schedule. □

Lemma 10

In any optimal schedule S for \(\mathcal{J}\) each job i, with 1≤in, is processed continuously throughout its execution interval [r(i),d(i)).

Proof

Consider any optimal schedule S. A first observation is that S does not contain processor idle times, i.e. each processor executes jobs throughout [0,3d(n)): Suppose there were some processor j and an interval I⊆[0,3d(n)) during which the processor would not execute any job. By Lemma 9 some job n+k, where 1≤km, is executed in processor j. We now modify S by executing job n+k additionally during I. Thereby we reduce the speed needed to process job n+k and hence the total energy of the schedule.

Assume that in S some job i is not executed over its full possible interval I=[r(i),d(i)), i.e. l S (i)=l(i)−ε for some 0<ε<l(i). Since the execution intervals of all jobs i′ with 1≤i′≤n are pairwise disjoint, no such job i′≠i can be scheduled in I. Hence, by the above observation, some job n+k, with 1≤km, is partially executed in I on the processor where i is scheduled. As shown in Lemma 9 only this one job is processed in I. Furthermore, l S (n+k)>2d(n). Now we can construct a better schedule by executing job i over its full possible length l(i) and reducing the execution interval of job n+k by ϵ. This modified schedule has a strictly smaller energy consumption because the energy consumed by jobs i and n+k satisfies

$$\underbrace{ \biggl(\frac{1}{l_S(i)} \biggr)^{\alpha-1}+ \biggl( \frac{1}{l_S(n+k)} \biggr)^{\alpha-1} }_{\textrm{energy consumption in initial schedule}} \\ > \underbrace{ \biggl(\frac{1}{l_S(i)+\varepsilon} \biggr)^{\alpha-1} + \biggl( \frac{1}{l_S(n+k)-\varepsilon} \biggr)^{\alpha-1} }_{\textrm{energy consumption in new schedule}}. $$

This follows from Lemma 1, by setting c=l S (n+k)+l S (i) and x=l S (i). We note that l S (i)<l S (i)+ε=l(i)<c/2 as l(i)≤d(n) and l S (n+k)>2d(n). This contradicts the assumption that schedule S was optimal. □

Theorem 9

Let A⊂ℤ+, m∈ℕ and B=(∑ aA a)/m. (A,m)∈Multi- Partition if and only if an optimal schedule for \(\mathcal{J}\) incurs an energy of

$$E_{OPT} = \sum_{i=1}^{n} \biggl( \frac{1}{l(i)} \biggr)^{\alpha-1} + m \biggl(\frac{1}{3d(n)-B} \biggr)^{\alpha-1}. $$

Proof

By Lemma 10, in any optimal schedule each job i, with 1≤in, is processed continuously throughout its execution interval [r(i),d(i)). Hence it requires an energy of exactly (1/l(i))α−1, and the total energy spent for jobs 1,…,n is \(\sum_{i=1}^{n}(1/l(i))^{\alpha-1}\). Thus the energy consumption of an optimal solution depends only on the energy consumed by jobs n+1,n+2,…,n+m. Let k∈{1,2,…,m}. By Lemma 9, all these jobs are executed on separate machines. We assume w.l.o.g. that job n+k is executed on processor k. Let \(\mathcal{J}_{k}\subseteq\{1, 2,\ldots, n\}\) be the set of jobs scheduled on processor k. We can now easily compute the energy used by n+k as

$$\biggl({1\over l_S(n+k)} \biggr)^{\alpha-1} = \biggl( \frac{1}{3d(n)- \sum_{i\in \mathcal{J}_k}l(i)} \biggr)^{\alpha-1}. $$

By Lemma 1 we find that the sum of the energy consumptions of jobs n+1,n+2,…,n+m is minimal if and only if l S (n+1)=l S (n+2)=…=l S (n+m). This is the case if and only if \(\sum_{i\in \mathcal{J}_{1}}l(i) = \sum_{i\in \mathcal{J}_{2}}l(i)=\ldots = \sum_{i\in \mathcal{J}_{m}}l(i) = d(n)/m=B\). By our construction this is possible if and only if there exist sets A 1,A 2,…,A m A with \(\bigcup_{i=1}^{m} A_{i}=A\) and, for all ij, there holds A i A j =∅ as well as \(\sum_{a\in A_{i}}a =\sum_{a\in A_{j}}a\). Finally, this is the case if and only if (A,m)∈Multi-Partition. □

We are now ready to derive the desired NP-hardness results. Setting m=2, the NP-hard Partition problem [18] is a special case of our Multi-Partition problem. Theorem 9 yields Theorem 2. Another special case of Multi-Partition is 3-Partition. In this case A satisfies the property that there exists a B∈ℤ+ such that, for all aA, we have B/4<a<B/2 and ∑ aA a=mB. Since 3-Partition is strongly NP-hard [18], we obtain Theorem 3 as a consequence of Theorem 9.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Albers, S., Müller, F. & Schmelzer, S. Speed Scaling on Parallel Processors. Algorithmica 68, 404–425 (2014). https://doi.org/10.1007/s00453-012-9678-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00453-012-9678-7

Keywords

Navigation