PSBS: Practical Size-Based Scheduling

Size-based schedulers have very desirable performance properties: optimal or near-optimal response time can be coupled with strong fairness. Despite this, however, such systems are rarely implemented in practical settings, because they require knowing a priori the amount of work needed to complete jobs: this assumption is difficult to satisfy in concrete systems. It is definitely more likely to inform the system with an estimate of the job sizes, but existing studies point to somewhat pessimistic results if size-based policies use imprecise job size estimations. We take the goal of designing scheduling policies that explicitly deal with inexact job sizes. First, we prove that, in the absence of errors, it is always possible to improve any scheduling policy by designing a size-based one that dominates it: in the new policy, no jobs will complete later than in the original one. Unfortunately, size-based schedulers can perform badly with inexact job size information when job sizes are heavily skewed; we show that this issue, and the pessimistic results shown in the literature, are due to problematic behavior when large jobs are underestimated. Once the problem is identified, it is possible to amend size-based schedulers to solve the issue. We generalize FSP-a fair and efficient size-based scheduling policy-to solve the problem highlighted above; in addition, our solution deals with different job weights (that can be assigned to a job independently from its size). We provide an efficient implementation of the resulting protocol, which we call Practical Size-Based Scheduler (PSBS). Through simulations evaluated on synthetic and real workloads, we show that PSBS has near-optimal performance in a large variety of cases with inaccurate size information, that it performs fairly and that it handles job weights correctly. We believe that this work shows that PSBS is indeed pratical, and we maintain that it could inspire the design of schedulers in a wide array of real-world use cases.

[1]  Kun-Lung Wu,et al.  FLEX: A Slot Allocation Scheduling Optimizer for MapReduce Workloads , 2010, Middleware.

[2]  Adam Wierman,et al.  Scheduling despite inexact job-size information , 2008, SIGMETRICS '08.

[3]  Thomas H. Cormen,et al.  Introduction to algorithms [2nd ed.] , 2001 .

[4]  SchroederBianca,et al.  Size-based scheduling to improve web performance , 2003 .

[5]  Mor Harchol-Balter,et al.  Size-based scheduling to improve web performance , 2003, TOCS.

[6]  Robert B. Cooper,et al.  Queueing systems, volume II: computer applications : By Leonard Kleinrock. Wiley-Interscience, New York, 1976, xx + 549 pp. , 1977 .

[7]  John Nagle,et al.  On Packet Switches with Infinite Storage , 1985, IEEE Trans. Commun..

[8]  Kirk Pruhs,et al.  Semi-clairvoyant scheduling , 2004, Theor. Comput. Sci..

[9]  Peter A. Dinda,et al.  Size-based scheduling policies with inaccurate scheduling information , 2004, The IEEE Computer Society's 12th Annual International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems, 2004. (MASCOTS 2004). Proceedings..

[10]  Rajmohan Rajaraman,et al.  Improved algorithms for stretch scheduling , 2002, SODA '02.

[11]  Stuart A. Klugman,et al.  Loss Models: From Data to Decisions , 1998 .

[12]  Adam Wierman,et al.  Fairness and scheduling in single server queues , 2011 .

[13]  Murali S. Kodialam,et al.  Scheduling in mapreduce-like systems for fast completion time , 2011, 2011 Proceedings IEEE INFOCOM.

[14]  S. Wittevrongel,et al.  Queueing Systems , 2019, Introduction to Stochastic Processes and Simulation.

[15]  Anastasia Ailamaki,et al.  Same Queries, Different Data: Can We Predict Runtime Performance? , 2012, 2012 IEEE 28th International Conference on Data Engineering Workshops.

[16]  Thomas Porter,et al.  Random insertion into a priority queue structure , 1974, IEEE Transactions on Software Engineering.

[17]  Peter J. Denning,et al.  Operating Systems Theory , 1973 .

[18]  Liang Guo,et al.  Scheduling flows with unknown sizes: approximate analysis , 2002, SIGMETRICS '02.

[19]  Yanpei Chen,et al.  Interactive Analytical Processing in Big Data Systems: A Cross-Industry Study of MapReduce Workloads , 2012, Proc. VLDB Endow..

[20]  Linus Schrage,et al.  The Queue M/G/1 with the Shortest Remaining Processing Time Discipline , 1966, Oper. Res..

[21]  E.L. Lawler,et al.  Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey , 1977 .

[22]  Mor Harchol-Balter,et al.  Analysis of SRPT scheduling: investigating unfairness , 2001, SIGMETRICS '01.

[23]  Tom White,et al.  Hadoop: The Definitive Guide , 2009 .

[24]  Matteo Dell'Amico,et al.  A Simulator for Data-Intensive Job Scheduling , 2013, ArXiv.

[25]  G. J. A. Stern,et al.  Queueing Systems, Volume 2: Computer Applications , 1976 .

[26]  Mor Harchol-Balter,et al.  Web servers under overload: How scheduling can help , 2006, TOIT.

[27]  Guillaume Urvoy-Keller,et al.  Analysis of LAS scheduling for job size distributions with high variance , 2003, SIGMETRICS '03.

[28]  Sergey Gorinsky,et al.  Fair Efficiency, or Low Average Delay without Starvation , 2007, 2007 16th International Conference on Computer Communications and Networks.

[29]  Leonard Kleinrock,et al.  Queueing Systems: Volume I-Theory , 1975 .

[30]  Pietro Michiardi,et al.  HFSP: Size-based scheduling for Hadoop , 2013, 2013 IEEE International Conference on Big Data.

[31]  Eric J. Friedman,et al.  Fairness and efficiency in web server protocols , 2003, SIGMETRICS '03.

[32]  Pietro Michiardi,et al.  Revisiting Size-Based Scheduling with Estimated Job Sizes , 2014, 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems.

[33]  Roy H. Campbell,et al.  ARIA: automatic resource inference and allocation for mapreduce environments , 2011, ICAC '11.

[34]  Adam Wierman,et al.  Fairness and classifications , 2007, PERV.

[35]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[36]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[37]  Sem C. Borst,et al.  Beyond processor sharing , 2007, PERV.

[38]  Jeffrey F. Naughton,et al.  Query Size Estimation by Adaptive Sampling , 1995, J. Comput. Syst. Sci..

[39]  Srikanth Kandula,et al.  Reoptimizing Data Parallel Computing , 2012, NSDI.