Sleep Management on Multiple Machines for Energy and Flow Time

In large data centers, determining the right number of operating machines is often non-trivial, especially when the workload is unpredictable. Using too many machines would waste energy, while using too few would affect the performance. This paper extends the traditional study of online flow-time scheduling on multiple machines to take sleep management and energy into consideration. Specifically, we study online algorithms that can determine dynamically when and which subset of machines should wake up (or sleep), and how jobs are dispatched and scheduled. We consider schedules whose objective is to minimize the sum of flow time and energy, and obtain O(1)-competitive algorithms for two settings: one assumes machines running at a fixed speed, and the other allows dynamic speed scaling to further optimize energy usage. Like the previous work on the tradeoff between flow time and energy, the analysis of our algorithms is based on potential functions. What is new here is that the online and offline algorithms would use different subsets of machines at different times, and we need a more general potential analysis that can consider different match-up of machines.

[1]  Kirk Pruhs,et al.  Scalably Scheduling Power-Heterogeneous Processors , 2010, ICALP.

[2]  Mor Harchol-Balter,et al.  Optimality analysis of energy-performance trade-off for server farm management , 2010, Perform. Evaluation.

[3]  Joseph Y.-T. Leung,et al.  Handbook of Scheduling: Algorithms, Models, and Performance Analysis , 2004 .

[4]  Kirk Pruhs,et al.  Speed Scaling with an Arbitrary Power Function , 2009, TALG.

[5]  Kurt Mehlhorn,et al.  Algorithms - ESA 2008, 16th Annual European Symposium, Karlsruhe, Germany, September 15-17, 2008. Proceedings , 2008, ESA.

[6]  Yossi Azar,et al.  Minimizing Total Flow Time and Total Completion Time with Immediate Dispatching , 2003, SPAA '03.

[7]  Susanne Albers,et al.  Energy-efficient algorithms for flow time minimization , 2006, STACS.

[8]  Ashish Goel,et al.  Multi-processor scheduling to minimize flow time with ε resource augmentation , 2004, STOC '04.

[9]  Prudence W. H. Wong,et al.  Deadline scheduling and power management for speed bounded processors , 2010, Theor. Comput. Sci..

[10]  J. Steele The Cauchy–Schwarz Master Class: References , 2004 .

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

[12]  Prudence W. H. Wong,et al.  Competitive non-migratory scheduling for flow time and energy , 2008, SPAA '08.

[13]  Nikhil Bansal,et al.  Scheduling for Speed Bounded Processors , 2008, ICALP.

[14]  Sandy Irani,et al.  Algorithms for power savings , 2003, SODA '03.

[15]  Samir Khuller,et al.  Energy efficient scheduling via partial shutdown , 2009, SODA '10.

[16]  Kirk Pruhs,et al.  Speed scaling for weighted flow time , 2007, SODA '07.

[17]  Prudence W. H. Wong,et al.  Sleep with Guilt and Work Faster to Minimize Flow Plus Energy , 2009, ICALP.

[18]  Yossi Azar,et al.  Minimizing the Flow Time Without Migration , 2002, SIAM J. Comput..

[19]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[20]  Alexander Souza,et al.  The Bell Is Ringing in Speed-Scaled Multiprocessor Scheduling , 2013, Theory of Computing Systems.

[21]  Kirk Pruhs,et al.  Online scheduling , 2003 .

[22]  Prudence W. H. Wong,et al.  Speed Scaling Functions for Flow Time Scheduling Based on Active Job Count , 2008, ESA.

[23]  Lachlan L. H. Andrew,et al.  Optimal speed scaling under arbitrary power functions , 2009, SIGMETRICS Perform. Evaluation Rev..