Weighted Flowtime on Capacitated Machines

It is well-known that SRPT is optimal for minimizing flow time on machines that run one job at a time. However, running one job at a time is a big under-utilization for modern systems where sharing, simultaneous execution, and virtualization-enabled consolidation are a common trend to boost utilization. Such machines, used in modern large data centers and clouds, are powerful enough to run multiple jobs/VMs at a time subject to overall CPU, memory, network, and disk capacity constraints. Motivated by this prominent trend and need, in this work, we give the first scheduling algorithms to minimize weighted flow time on such capacitated machines. To capture the difficulty of the problem, we show that without resource augmentation, no online algorithm can achieve a bounded competitive ratio. We then investigate algorithms with a small resource augmentation in speed and/or capacity. Our first result is a simple (2 + e)-capacity O(1/e)-competitive greedy algorithm. Using only speed augmentation, we then obtain a 1.75-speed O(1)-competitive algorithm. Our main technical result is a near-optimal (1+e)-speed, (1+e)-capacity O(1/e3)-competitive algorithm using a novel combination of knapsacks, densities, job classification into categories, and potential function methods. We show that our results also extend to the multiple unrelated capacitated machines setting.

[1]  Aameek Singh,et al.  Server-storage virtualization: Integration and load balancing in data centers , 2008, 2008 SC - International Conference for High Performance Computing, Networking, Storage and Analysis.

[2]  Nikhil Bansal,et al.  Minimizing weighted flow time , 2007, ACM Trans. Algorithms.

[3]  V. N. Muralidhara,et al.  A competitive algorithm for minimizing weighted flow time on unrelatedmachines with speed augmentation , 2009, STOC '09.

[4]  Kirk Pruhs,et al.  Online weighted flow time and deadline scheduling , 2001, J. Discrete Algorithms.

[5]  Chita R. Das,et al.  Modeling and synthesizing task placement constraints in Google compute clusters , 2011, SoCC.

[6]  Raouf Boutaba,et al.  Characterizing Task Usage Shapes in Google Compute Clusters , 2011 .

[7]  Stefano Leonardi,et al.  Approximating total flow time on parallel machines , 1997, STOC '97.

[8]  Yossi Azar,et al.  Competitive routing of virtual circuits with unknown duration , 1994, SODA '94.

[9]  Aameek Singh,et al.  Server-storage virtualization: integration and load balancing in data centers , 2008, HiPC 2008.

[10]  Bala Kalyanasundaram,et al.  On-Line Load Balancing of Temporary Tasks , 1993, J. Algorithms.

[11]  Amit Kumar,et al.  Minimizing Average Flow-time : Upper and Lower Bounds , 2007, 48th Annual IEEE Symposium on Foundations of Computer Science (FOCS'07).

[12]  Sanjeev Khanna,et al.  Algorithms for minimizing weighted flow time , 2001, STOC '01.

[13]  Andrzej Kochut,et al.  Dynamic Placement of Virtual Machines for Managing SLA Violations , 2007, 2007 10th IFIP/IEEE International Symposium on Integrated Network Management.

[14]  Bala Kalyanasundaram,et al.  Speed is as powerful as clairvoyance , 2000, JACM.

[15]  Amit Kumar,et al.  Resource augmentation for weighted flow-time explained by dual fitting , 2012, SODA.

[16]  Paolo Toth,et al.  Knapsack Problems: Algorithms and Computer Implementations , 1990 .

[17]  Eugene L. Lawler,et al.  Fast approximation algorithms for knapsack problems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[18]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[19]  Benjamin Moseley,et al.  An online scalable algorithm for minimizing lk-norms of weighted flow time on unrelated machines , 2011, SODA '11.

[20]  Bala Kalyanasundaram,et al.  On-Line Load Balancing of Temporary Tasks , 1997, J. Algorithms.

[21]  Eric Torng,et al.  Greedy multiprocessor server scheduling , 2006, Oper. Res. Lett..

[22]  Chita R. Das,et al.  Towards characterizing cloud backend workloads: insights from Google compute clusters , 2010, PERV.

[23]  Oscar H. Ibarra,et al.  Fast Approximation Algorithms for the Knapsack and Sum of Subset Problems , 1975, JACM.

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

[25]  Nikhil Bansal,et al.  Weighted flow time does not admit O(1)-competitive algorithms , 2009, SODA.

[26]  Kirk Pruhs,et al.  A tutorial on amortized local competitiveness in online scheduling , 2011, SIGA.

[27]  Bala Kalyanasundaram,et al.  Speed is as powerful as clairvoyance [scheduling problems] , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[28]  Kyle Fox,et al.  Online scheduling on identical machines using SRPT , 2010, SODA '11.