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.
Similar content being viewed by others
References
Albers, S.: Energy-efficient algorithms. Commun. ACM 53(5), 86–96 (2010)
Albers, S., Fujiwara, H.: Energy-efficient algorithms for flow time minimization. ACM Trans. Algorithms 3(4), 49 (2007)
Bansal, N., Kimbrel, T., Pruhs, K.: Dynamic speed scaling to manage energy and temperature. J. ACM 54(1), 3 (2007)
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)
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)
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)
Bansal, N., Pruhs, K., Stein, C.: Speed scaling for weighted flow time. SIAM J. Comput. 39(4), 1294–1308 (2009)
Bansal, N., Bunde, D.P., Chan, H.-L., Pruhs, K.: Average rate speed scaling. Algorithmica 60(4), 877–889 (2011)
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)
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)
Barroso, L.A.: The price of performance. ACM Queue 3(7), 48–53 (2005)
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)
Bunde, D.P.: Power-aware scheduling for makespan and flow. J. Sched. 12, 489–500 (2009)
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)
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)
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)
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)
Garay, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, New York (1979)
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)
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)
Hochbaum, D.S., Shmoys, D.B.: Using dual approximation algorithms for scheduling problems: theoretical and practical results. J. ACM 34, 144–162 (1987)
Intel pressroom. http://www.intel.com/pressroom/kits/teraflops/ or http://download.intel.com/pressroom/kits/Teraflops/Teraflops_Research_Chip_Overview.pdf
Irani, S., Pruhs, K.: Algorithmic problems in power management. SIGACT News 36(2), 63–76 (2005)
Irani, S., Shukla, S., Gupta, R.: Algorithms for power savings. ACM Trans. Algorithms 3(4), 41 (2007)
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)
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)
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)
Pruhs, K., van Stee, R., Uthaisombut, P.: Speed scaling of tasks with precedence constraints. Theory Comput. Syst. 43(1), 67–80 (2008)
Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM 28, 202–208 (1985)
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)
Author information
Authors and Affiliations
Corresponding author
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≤i≤n, 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≤k≤m, 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≤k≤m, 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
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=(∑ a∈A a)/m. (A,m)∈Multi- Partition if and only if an optimal schedule for \(\mathcal{J}\) incurs an energy of
Proof
By Lemma 10, in any optimal schedule each job i, with 1≤i≤n, 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
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 i≠j, 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 a∈A, we have B/4<a<B/2 and ∑ a∈A a=mB. Since 3-Partition is strongly NP-hard [18], we obtain Theorem 3 as a consequence of Theorem 9.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-012-9678-7