Discrete and continuous min-energy schedules for variable voltage processors

Current dynamic voltage scaling techniques allow the speed of processors to be set dynamically to save energy consumption, which is a major concern in microprocessor design. A theoretical model for min-energy job scheduling was first proposed a decade ago, and it was shown that for any convex energy function, the min-energy schedule for a set of n jobs has a unique characterization and is computable in O(n(3)) time. This algorithm has remained as the most efficient known despite many investigations of this model. In this work, we give an algorithm with running time O(n(2) log n) for finding the min-energy schedule. In contrast to the previous algorithm, which outputs optimal speed levels from high to low iteratively, our algorithm is based on finding successive approximations to the optimal schedule. At the core of the approximation is an efficient partitioning of the job set into high and low speed subsets by any speed threshold, without computing the exact speed function.

[1]  Taewhan Kim,et al.  Optimal voltage allocation techniques for dynamically variable voltage processors , 2003, DAC '03.

[2]  Minming Li,et al.  An Efficient Algorithm for Computing Optimal Discrete Voltage Schedules , 2005, SIAM J. Comput..

[3]  Kirk Pruhs,et al.  Dynamic speed scaling to manage energy and temperature , 2004, 45th Annual IEEE Symposium on Foundations of Computer Science.

[4]  Sandy Irani,et al.  Algorithmic problems in power management , 2005, SIGA.

[5]  F. Frances Yao,et al.  A scheduling model for reduced CPU energy , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[6]  Minming Li,et al.  Min-energy voltage allocation for tree-structured tasks , 2006, J. Comb. Optim..