Scheduling parallel jobs on multicore clusters using CPU oversubscription

Job scheduling strategies in multiprocessing systems aim to minimize waiting times of jobs while satisfying user requirements in terms of number of execution units. However, the lack of flexibility in the requests leaves the scheduler a reduced margin of action for scheduling decisions. Many of such decisions consist on just moving ahead some specific jobs in the wait queue. In this work, we propose a job scheduling strategy that improves the overall performance and maximizes resource utilization by allowing jobs to adapt to variations in the load through CPU oversubscription and backfilling. The experimental evaluations include both real executions on multicore clusters and simulations of workload traces from real production systems. The results show that our strategy provides significant improvements over previous proposals like Gang Scheduling with Backfilling, especially in medium to high workloads with strong variations.

[1]  Philippe Olivier Alexandre Navaux,et al.  Supporting Malleability in Parallel Architectures with Dynamic CPUSETsMapping and Dynamic MPI , 2010, ICDCN.

[2]  Jaspal Subhlok,et al.  Characterizing NAS benchmark performance on shared heterogeneous networks , 2002, Proceedings 16th International Parallel and Distributed Processing Symposium.

[3]  Dror G. Feitelson,et al.  Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling the IBM SP2 with Backfilling , 2001, IEEE Trans. Parallel Distributed Syst..

[4]  Anand Sivasubramaniam,et al.  An Integrated Approach to Parallel Scheduling Using Gang-Scheduling, Backfilling, and Migration , 2001, IEEE Trans. Parallel Distributed Syst..

[5]  Jitendra Padhye,et al.  Dynamic versus Adaptive Processor Allocation Policies for Message Passing Parallel Computers: An Empirical Comparison , 1996, JSSPP.

[6]  David H. Bailey,et al.  The Nas Parallel Benchmarks , 1991, Int. J. High Perform. Comput. Appl..

[7]  Jesús Labarta,et al.  Scheduling of MPI Applications: Self-co-scheduling , 2004, Euro-Par.

[8]  Larry Rudolph,et al.  Towards Convergence in Job Schedulers for Parallel Supercomputers , 1996, JSSPP.

[9]  Francine Berman,et al.  Using Moldability to Improve the Performance of Supercomputer Jobs , 2002, J. Parallel Distributed Comput..

[10]  Boleslaw K. Szymanski,et al.  Dynamic Malleability in Iterative MPI Applications , 2007, Seventh IEEE International Symposium on Cluster Computing and the Grid (CCGrid '07).

[11]  Andrea C. Arpaci-Dusseau,et al.  Implicit coscheduling: coordinated scheduling with implicit information in distributed systems , 2001, TOCS.

[12]  John Zahorjan,et al.  Zahorjan processor allocation policies for message-passing parallel computers , 1994, SIGMETRICS 1994.

[13]  Anand Sivasubramaniam,et al.  A simulation-based study of scheduling mechanisms for a dynamic cluster environment , 2000, ICS '00.

[14]  Allen B. Downey,et al.  A Model For Speedup of Parallel Programs , 1997 .

[15]  Jesús Labarta,et al.  A Job Scheduling Approach for Multi-core Clusters Based on Virtual Malleability , 2012, Euro-Par.

[16]  Rajesh Sudarsan,et al.  Scheduling resizable parallel applications , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[17]  Uwe Schwiegelshohn,et al.  Theory and Practice in Parallel Job Scheduling , 1997, JSSPP.

[18]  J. Labarta,et al.  Implementing malleability on MPI jobs , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..

[19]  M. H. MacDougall Simulating computer systems: techniques and tools , 1989 .

[20]  Larry Rudolph,et al.  Gang Scheduling Performance Benefits for Fine-Grain Synchronization , 1992, J. Parallel Distributed Comput..

[21]  Angela C. Sodan,et al.  Backfilling with Fairness and Slack for Parallel Job Scheduling , 2010 .

[22]  Dror G. Feitelson,et al.  Paired Gang Scheduling , 2003, IEEE Trans. Parallel Distributed Syst..

[23]  David A. Lifka,et al.  The ANL/IBM SP Scheduling System , 1995, JSSPP.

[24]  Dick H. J. Epema,et al.  Scheduling malleable applications in multicluster systems , 2007, 2007 IEEE International Conference on Cluster Computing.

[25]  Steven A. Hofmeyr,et al.  Oversubscription on multicore processors , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[26]  J. van Leeuwen,et al.  Job Scheduling Strategies for Parallel Processing , 2003, Lecture Notes in Computer Science.

[27]  Mateo Valero,et al.  Simulation environment for studying overlap of communication and computation , 2010, 2010 IEEE International Symposium on Performance Analysis of Systems & Software (ISPASS).