Provably Efficient Online Nonclairvoyant Adaptive Scheduling

Multiprocessor scheduling in a shared multiprogramming environment can be structured in two levels, where a kernel-level job scheduler allots processors to jobs and a user-level thread scheduler maps the ready threads of a job onto the allotted processors. We present two provably-efficient two-level scheduling schemes called G-RAD and S-RAD respectively. Both schemes use the same job scheduler RAD for the processor allotments that ensures fair allocation under all levels of workload. In G-RAD, RAD is combined with a greedy thread scheduler suitable for centralized scheduling; in S-RAD, RAD is combined with a work-stealing thread scheduler more suitable for distributed settings. Both G-RAD and S-RAD are non-clairvoyant. Moreover, they provide effective control over the scheduling overhead and ensure efficient utilization of processors. We also analyze the competitiveness of both G-RAD and S-RAD with respect to an optimal clairvoyant scheduler. In terms of makespan, both schemes can achieve O(1)-competitiveness for any set of jobs with arbitrary release time. In terms of mean response time, both schemes are O(1)-competitive for arbitrary batched jobs. To the best of our knowledge, G-RAD and S-RAD are the first non-clairvoyant scheduling algorithms that guarantee provable efficiency, fairness and minimal overhead.

[1]  Kenneth C. Sevcik,et al.  Application Scheduling and Processor Allocation in Multiprogrammed Parallel Processing Systems , 1994, Perform. Evaluation.

[2]  Mary K. Vernon,et al.  The performance of multiprogrammed multiprocessor scheduling algorithms , 1990, SIGMETRICS '90.

[3]  Raj Vaswani,et al.  A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors , 1993, TOCS.

[4]  Philip S. Yu,et al.  Scheduling parallel tasks to minimize average response time , 1994, SODA '94.

[5]  Mor Harchol-Balter The Effect of Heavy-Tailed Job Size Distributions on Computer System Design , 1999 .

[6]  Yuxiong He,et al.  Provably Efficient Two-Level Adaptive Scheduling , 2006, JSSPP.

[7]  Luca Becchetti,et al.  Nonclairvoyant scheduling to minimize the total flow time on single and parallel machines , 2004, JACM.

[8]  Dror G. Feitelson,et al.  Job Scheduling in Multiprogrammed Parallel Systems , 1997 .

[9]  Xiaotie Deng,et al.  Competitive dynamic multiprocessor allocation for parallel applications , 1995, Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing.

[10]  David P. Williamson,et al.  Scheduling parallel machines on-line , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[11]  Philip S. Yu,et al.  Smart SMART Bounds for Weighted Response Time Scheduling , 1999, SIAM J. Comput..

[12]  Rajeev Motwani,et al.  Non-clairvoyant scheduling , 1994, SODA '93.

[13]  Philip S. Yu,et al.  Scheduling parallelizable tasks to minimize average response time , 1994, SPAA '94.

[14]  Mark S. Squillante,et al.  On the Benefits and Limitations of Dynamic Partitioning in Parallel Computer Systems , 1995, JSSPP.

[15]  F. Warren Burton,et al.  Executing functional programs on a virtual tree of processors , 1981, FPCA '81.

[16]  C. Greg Plaxton,et al.  Thread Scheduling for Multiprogrammed Multiprocessors , 1998, SPAA '98.

[17]  Yuxiong He,et al.  Adaptive Scheduling with Parallelism Feedback , 2006, 2007 IEEE International Parallel and Distributed Processing Symposium.

[18]  Dror G. Feitelson,et al.  Packing Schemes for Gang Scheduling , 1996, JSSPP.

[19]  Bala Kalyanasundaram,et al.  Minimizing flow time nonclairvoyantly , 2003, JACM.

[20]  Steven Lucco,et al.  A dynamic scheduling method for irregular parallel programs , 1992, PLDI '92.

[21]  Eli Upfal,et al.  A simple load balancing scheme for task allocation in parallel machines , 1991, SPAA '91.

[22]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[23]  George Kingsley Zipf,et al.  Human behavior and the principle of least effort , 1949 .

[24]  Yuxiong He,et al.  An empirical evaluation of work stealing with parallelism feedback , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

[25]  Shikharesh Majumdar,et al.  Scheduling in multiprogrammed parallel systems , 1988, SIGMETRICS 1988.

[26]  Denis Trystram,et al.  Efficient approximation algorithms for scheduling malleable tasks , 1999, SPAA '99.

[27]  John Zahorjan,et al.  Processor scheduling in shared memory multiprocessors , 1990, SIGMETRICS '90.

[28]  Robert H. Halstead,et al.  Implementation of multilisp: Lisp on a multiprocessor , 1984, LFP '84.

[29]  Klaus Jansen,et al.  Scheduling malleable tasks with precedence constraints , 2005, SPAA '05.

[30]  Guy E. Blelloch,et al.  Space-efficient scheduling of nested parallelism , 1999, TOPL.

[31]  David P. Williamson,et al.  Scheduling parallel machines on-line , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[32]  Jeff Edmonds,et al.  Scheduling in the dark , 1999, STOC '99.

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

[34]  Mary K. Vernon,et al.  Dynamic vs. Static Quantum-Based Parallel Processor Allocation , 1996, JSSPP.

[35]  Amitabh Sinha,et al.  Non-Clairvoyant Scheduling for Minimizing Mean Slowdown , 2003, Algorithmica.

[36]  Nian Gu Competitive Analysis of Dynamic Multiprocessor Allocation Strategies , 1995 .

[37]  Xiaotie Deng,et al.  Preemptive Scheduling of Parallel Jobs on Multiprocessors , 1996, SIAM J. Comput..

[38]  Charles E. Leiserson,et al.  Space-Efficient Scheduling of Multithreaded Computations , 1998, SIAM J. Comput..

[39]  Kasper Østerbye,et al.  A Framework for Discrete Event Modelling & Simulation , 2002 .

[40]  Mor Harchol-Balter,et al.  Exploiting process lifetime distributions for dynamic load balancing , 1995, SIGMETRICS.

[41]  Xiaotie Deng,et al.  Non-Clairvoyant Multiprocessor Scheduling of Jobs with Changing Execution Characteristics , 2003, J. Sched..

[42]  Siddhartha Sen,et al.  Dynamic Processor Allocation for Adaptively Parallel Work-Stealing Jobs , 2004 .

[43]  Anoop Gupta,et al.  Process control and scheduling issues for multiprogrammed shared-memory multiprocessors , 1989, SOSP '89.

[44]  Dror G. Feitelson,et al.  The workload on parallel supercomputers: modeling the characteristics of rigid jobs , 2003, J. Parallel Distributed Comput..

[45]  David J. Lilja,et al.  Implementing a dynamic processor allocation policy for multiprogrammed parallel applications in the SolarisTM , 2001, Concurr. Comput. Pract. Exp..

[46]  Yuxiong He,et al.  Work Stealing with Parallelism Feedback , 2008 .

[47]  Xiaotie Deng,et al.  On Multiprocessor System Scheduling , 1996, SPAA '96.

[48]  Kasper Østerbye,et al.  BetaSIM: A framework for discrete event modelling and simulation , 1998, Simul. Pract. Theory.

[49]  Jianer Chen,et al.  A polynomial time approximation scheme for general multiprocessor job scheduling (extended abstract) , 1999, STOC '99.

[50]  ZahorjanJohn,et al.  A dynamic processor allocation policy for multiprogrammed shared-memory multiprocessors , 1993 .

[51]  Francine Berman,et al.  A model for moldable supercomputer jobs , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[52]  Bin Song,et al.  Scheduling Adaptively Parallel Jobs , 1998 .

[53]  Charles E. Leiserson,et al.  Space-efficient scheduling of multithreaded computations , 1993, SIAM J. Comput..

[54]  Tim Brecht,et al.  Using Parallel Program Characteristics in Dynamic Processor Allocation Policies , 1996, Perform. Evaluation.

[55]  Guy E. Blelloch,et al.  A provable time and space efficient implementation of NESL , 1996, ICFP '96.