Dynamic fractional resource scheduling for HPC workloads

We propose a novel job scheduling approach for homogeneous cluster computing platforms. Its key feature is the use of virtual machine technology for sharing resources in a precise and controlled manner. We justify our approach and propose several job scheduling algorithms. We present results obtained in simulations for synthetic and real-world High Performance Computing (HPC) workloads, in which we compare our proposed algorithms with standard batch scheduling algorithms. We find that our approach widely outperforms batch scheduling. We also identify a few promising algorithms that perform well across most experimental scenarios. Our results demonstrate that virtualization technology coupled with lightweight scheduling strategies affords dramatic improvements in performance for HPC workloads.

[1]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[2]  Edward G. Coffman,et al.  Approximation Algorithms for Extensible Bin Packing , 2001, SODA '01.

[3]  Leah Epstein,et al.  Bin stretching revisited , 2003, Acta Informatica.

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

[5]  Richard Wolski,et al.  The Eucalyptus Open-Source Cloud-Computing System , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[6]  Douglas C. Schmidt,et al.  Toward Effective Multi-Capacity Resource Allocation in Distributed Real-Time and Embedded Systems , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).

[7]  Cynthia Bailey Lee,et al.  On the User–Scheduler Dialogue: Studies of User-Provided Runtime Estimates and Utility Functions , 2006, Int. J. High Perform. Comput. Appl..

[8]  Sanjeev Khanna,et al.  On multi-dimensional packing problems , 2004, SODA '99.

[9]  Ludmila Cherkasova,et al.  XenMon: QoS Monitoring and Performance Profiling Tool , 2005 .

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

[11]  Andrea C. Arpaci-Dusseau,et al.  Antfarm: Tracking Processes in a Virtual Machine Environment , 2006, USENIX Annual Technical Conference, General Track.

[12]  Vipin Kumar,et al.  Multi-capacity bin packing algorithms with applications to job scheduling under multiple constraints , 1999, Proceedings of the 1999 International Conference on Parallel Processing.

[13]  Wesley Emeneker,et al.  Increasing Reliability through Dynamic Virtual Clustering , 2006 .

[14]  Cynthia Bailey Lee,et al.  Are User Runtime Estimates Inherently Inaccurate? , 2004, JSSPP.

[15]  Paul Lu,et al.  Pragmatics of Virtual Machines for High-Performance Computing : A Quantitative Study of Basic Overheads Cam Macdonell and , 2007 .

[16]  David E. Irwin,et al.  Sharing Networked Resources with Brokered Leases , 2006, USENIX Annual Technical Conference, General Track.

[17]  John K. Ousterhout,et al.  Scheduling Techniques for Concurrent Systems , 1982, ICDCS.

[18]  Rajmohan Rajaraman,et al.  Approximation Algorithms for Average Stretch Scheduling , 2004, J. Sched..

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

[20]  Alan L. Cox,et al.  Concurrent Direct Network Access for Virtual Machine Monitors , 2007, 2007 IEEE 13th International Symposium on High Performance Computer Architecture.

[21]  S. K. Chang,et al.  A general packing algorithm for multidimensional resource requirements , 1977, International Journal of Computer & Information Sciences.

[22]  Mary K. Vernon,et al.  Characteristics of a Large Shared Memory Production Workload , 2001, JSSPP.

[23]  Amin Vahdat,et al.  Dynamic Scheduling of Virtual Machines Running HPC Workloads in Scientific Grids , 2007, 2009 3rd International Conference on New Technologies, Mobility and Security.

[24]  Wu-chun Feng,et al.  Inter-block GPU communication via fast barrier synchronization , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

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

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

[27]  P. Sadayappan,et al.  Characterization of backfilling strategies for parallel job scheduling , 2002, Proceedings. International Conference on Parallel Processing Workshop.

[28]  Alberto Caprara,et al.  Improved approximation algorithms for multidimensional bin packing problems , 2006, 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06).

[29]  Alan L. Cox,et al.  Scheduling I/O in virtual machine monitors , 2008, VEE '08.

[30]  Yutaka Ishikawa,et al.  Overhead Analysis of Preemptive Gang Scheduling , 1998, JSSPP.

[31]  Dhabaleswar K. Panda,et al.  A case for high performance computing with virtual machines , 2006, ICS '06.

[32]  Dror G. Feitelson,et al.  Memory Usage in the LANL CM-5 Workload , 1997, JSSPP.

[33]  Henri Casanova,et al.  Resource Allocation Using Virtual Clusters , 2009, 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid.

[34]  Jeannie R. Albrecht,et al.  Harnessing Virtual Machine Resource Control for Job Management , 2007 .

[35]  Richard Wolski,et al.  The impact of paravirtualized memory hierarchy on linear algebra computational kernels and software , 2008, HPDC '08.

[36]  Uwe Schwiegelshohn,et al.  Fairness in parallel job scheduling , 2000 .

[37]  H. Casanova,et al.  Accuracy and Responsiveness of CPU Sharing Using Xen's Cap Values , 2008 .

[38]  Cynthia Bailey Lee,et al.  Precise and realistic utility functions for user-centric performance analysis of schedulers , 2007, HPDC '07.

[39]  Frédéric Vivien,et al.  Minimizing the stretch when scheduling flows of divisible requests , 2008, J. Sched..

[40]  Michael A. Bender,et al.  Flow and stretch metrics for scheduling continuous job streams , 1998, SODA '98.

[41]  Sanjeev Khanna,et al.  On Multidimensional Packing Problems , 2004, SIAM J. Comput..

[42]  James E. Smith,et al.  Virtual private caches , 2007, ISCA '07.

[43]  Mark S. Squillante,et al.  The impact of job memory requirements on gang-scheduling performance , 1999, PERV.

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

[45]  Dror G. Feitelson,et al.  Gang scheduling with memory considerations , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[46]  Chandra Krintz,et al.  Evaluating the Performance Impact of Xen on MPI and Process Execution For HPC Systems , 2006, First International Workshop on Virtualization Technology in Distributed Computing (VTDC 2006).

[47]  Andrea C. Arpaci-Dusseau,et al.  Geiger: monitoring the buffer cache in a virtual machine environment , 2006, ASPLOS XII.

[48]  Hui Li,et al.  Workload Characteristics of a Multi-cluster Supercomputer , 2004, JSSPP.

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

[50]  Andrew Warfield,et al.  Live migration of virtual machines , 2005, NSDI.