Competitive online adaptive scheduling for sets of parallel jobs with fairness and efficiency

We study online adaptive scheduling for multiple sets of parallel jobs, where each set may contain one or more jobs with time-varying parallelism. This two-level scheduling scenario arises naturally when multiple parallel applications are submitted by different users or user groups in large parallel systems, where both user-level fairness and system-wide efficiency are of important concerns. To achieve fairness, we use the well-known equi-partitioning algorithm to distribute the available processors among the active job sets at any time. For efficiency, we apply a feedback-driven adaptive scheduler that periodically adjusts the processor allocations within each set by consciously exploiting the jobs' execution history. We show that our algorithm achieves asymptotically competitive performance with respect to the set response time, which incorporates two widely used performance metrics, namely, total response time and makespan, as special cases. Both theoretical analysis and simulation results demonstrate that our algorithm improves upon an existing scheduler that provides only fairness but lacks efficiency. Furthermore, we provide a generalized framework for analyzing a family of scheduling algorithms based on feedback-driven policies with provable efficiency. Finally, we consider an extended multi-level hierarchical scheduling model and present a fair and efficient solution that effectively reduces the problem to the two-level model.

[1]  Henri Casanova,et al.  Dynamic Fractional Resource Scheduling versus Batch Scheduling , 2012, IEEE Transactions on Parallel and Distributed Systems.

[2]  Julien Robert,et al.  Non-clairvoyant Batch Sets Scheduling: Fairness Is Fair Enough , 2006, ESA.

[3]  Amin Vahdat,et al.  Usher: An Extensible Framework for Managing Clusters of Virtual Machines , 2007, LISA.

[4]  Julien Robert,et al.  Pull-based data broadcast with dependencies: be fair to users, not to items , 2007, SODA '07.

[5]  Rajesh Sudarsan,et al.  Design and performance of a scheduling framework for resizable parallel applications , 2010, Parallel Comput..

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

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

[8]  Yuxiong He,et al.  Provably Efficient Online Nonclairvoyant Adaptive Scheduling , 2007, IEEE Transactions on Parallel and Distributed Systems.

[9]  Jon B. Weissman,et al.  Integrated scheduling: the best of both worlds , 2003, J. Parallel Distributed Comput..

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

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

[12]  Allan Borodin,et al.  Online computation and competitive analysis , 1998 .

[13]  Yuxiong He,et al.  Improved results for scheduling batched parallel jobs by using a generalized analysis framework , 2010, J. Parallel Distributed Comput..

[14]  Depei Qian,et al.  Malleable-Lab: A Tool for Evaluating Adaptive Online Schedulers on Malleable Jobs , 2010, 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing.

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

[16]  Wen-Jing Hsu,et al.  Competitive Two-Level Adaptive Scheduling Using Resource Augmentation , 2009, JSSPP.

[17]  Wen-Jing Hsu,et al.  Fair and Efficient Online Adaptive Scheduling for Multiple Sets of Parallel Applications , 2011, 2011 IEEE 17th International Conference on Parallel and Distributed Systems.

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

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

[20]  Depei Qian,et al.  Scalable Hierarchical Scheduling for Multiprocessor Systems Using Adaptive Feedback-Driven Policies , 2010, International Symposium on Parallel and Distributed Processing with Applications.

[21]  Kirk Pruhs,et al.  Scalably scheduling processes with arbitrary speedup curves , 2009, TALG.

[22]  Jesús Labarta,et al.  Performance-driven processor allocation , 2000, IEEE Transactions on Parallel and Distributed Systems.

[23]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[24]  Kirk Pruhs Competitive online scheduling for server systems , 2007, PERV.

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

[26]  Wen-Jing Hsu,et al.  Efficient Adaptive Scheduling of Multiprocessors with Stable Parallelism Feedback , 2011, IEEE Transactions on Parallel and Distributed Systems.

[27]  Wen-Jing Hsu,et al.  Adaptive B-Greedy (ABG): A simple yet efficient scheduling algorithm , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[28]  Yuxiong He,et al.  Speed Scaling for Energy and Performance with Instantaneous Parallelism , 2011, TAPAS.

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