Extensible resource management for cluster computing

Advanced general purpose parallel systems should be able to support diverse applications with different resource requirements without compromising effectiveness and efficiency. We present a resource management model for cluster computing that allows multiple scheduling policies to co-exist dynamically. In particular, we have built Octopus, an extensible and distributed hierarchical scheduler that implements new space sharing, gang scheduling and load sharing strategies. A series of experiments performed on an IBM SP2 suggest that Octopus can effectively match application requirements to available resources, and improve the performance of a variety of parallel applications within a cluster.

[1]  Steven Hotovy,et al.  Workload Evolution on the Cornell Theory Center IBM SP2 , 1996, JSSPP.

[2]  Roger Riggs,et al.  A Distributed Object Model for the Java System , 1996, Comput. Syst..

[3]  Alexander Pfaffinger,et al.  Economic-Based Dynamic Load Distribution in Large Workstation Networks , 1996, Euro-Par, Vol. II.

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

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

[6]  William E. Weihl,et al.  Lottery scheduling: flexible proportional-share resource management , 1994, OSDI '94.

[7]  David J. Schneider,et al.  Requirements of the Cornell Theory Center for Resource Management and Process Scheduling , 1995, JSSPP.

[8]  Francine Berman,et al.  The AppLeS Project: A Status Report , 1997 .

[9]  Jim Waldo,et al.  The Jini architecture for network-centric computing , 1999, CACM.

[10]  Jeffrey M. Jaffe,et al.  Bottleneck Flow Control , 1981, IEEE Trans. Commun..

[11]  Allen B. Downey,et al.  A parallel workload model and its implications for processor allocation , 1996, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

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

[13]  Garret Swart,et al.  The Echo Distributed File System , 1996 .

[14]  Marios C. Papaefthymiou,et al.  Stochastic Analysis of Gang Scheduling in Parallel and Distributed Systems , 1996, Perform. Evaluation.

[15]  Nsf Ncr,et al.  A Generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single Node Case* , 1991 .

[16]  D. Estrin,et al.  RSVP: a new resource reservation protocol , 1993, IEEE Communications Magazine.

[17]  Mark S. Squillante,et al.  Analysis of optimal scheduling in distributed parallel queueing systems , 1996 .

[18]  Rick Macklem,et al.  Not Quite NFS, Soft Cache Consistency for NFS , 1994, USENIX Winter.

[19]  Y. Toyoda A Simplified Algorithm for Obtaining Approximate Solutions to Zero-One Programming Problems , 1975 .

[20]  Michael Stonebraker,et al.  An economic paradigm for query processing and data migration in Mariposa , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[21]  Warren Smith,et al.  A directory service for configuring high-performance distributed computations , 1997, Proceedings. The Sixth IEEE International Symposium on High Performance Distributed Computing (Cat. No.97TB100183).

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

[23]  Salah Dowaji,et al.  Concurrent data structures and load balancing strategies for parallel branch-and-bound/A* algorithms , 1994, Parallel Algorithms.

[24]  Tad Hogg,et al.  Spawn: A Distributed Computational Economy , 1992, IEEE Trans. Software Eng..

[25]  Andrea C. Arpaci-Dusseau,et al.  Extending Proportional-Share Scheduling to a Network of Workstation , 1997, PDPTA.

[26]  Larry Rudolph,et al.  Distributed hierarchical control for parallel processing , 1990, Computer.

[27]  Dror G. Feitelson,et al.  Job Characteristics of a Production Parallel Scientivic Workload on the NASA Ames iPSC/860 , 1995, JSSPP.

[28]  Robert J. Creasy,et al.  The Origin of the VM/370 Time-Sharing System , 1981, IBM J. Res. Dev..

[29]  Armand M. Makowski,et al.  Optimal Scheduling for a Distributed Parallel Processing Model , 1992 .

[30]  Rajesh Raman,et al.  Matchmaking: distributed resource management for high throughput computing , 1998, Proceedings. The Seventh International Symposium on High Performance Distributed Computing (Cat. No.98TB100244).

[31]  John F. Karpovich,et al.  The Legion Resource Management System , 1999, JSSPP.

[32]  Mary K. Vernon,et al.  Use of application characteristics and limited preemption for run-to-completion parallel processor scheduling policies , 1994, SIGMETRICS.

[33]  Roy H. Campbell,et al.  Designing and implementing Choices: an object-oriented system in C++ , 1993, CACM.

[34]  David Kaminsky Adaptive parallelism with Piranha , 1995 .

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

[36]  Michael B. Jones,et al.  Vassal: loadable scheduler support for multi-policy scheduling , 1998 .

[37]  Dror G. Feitelson,et al.  Utilization and Predictability in Scheduling the IBM SP2 with Backfilling , 1998, Proceedings of the First Merged International Parallel Processing Symposium and Symposium on Parallel and Distributed Processing.

[38]  Eugene H. Spafford,et al.  Support for Implementing Scheduling Algorithms Using MESSIAHS , 1994, Sci. Program..

[39]  Peter Druschel,et al.  Resource containers: a new facility for resource management in server systems , 1999, OSDI '99.

[40]  Nayeem Islam,et al.  An essential design pattern for fault-tolerant distributed state sharing , 1996, CACM.

[41]  Anoop Gupta,et al.  The impact of operating system scheduling policies and synchronization methods of performance of parallel applications , 1991, SIGMETRICS '91.

[42]  Richard Mortier,et al.  An economic approach to adaptive resource management , 1999, Proceedings of the Seventh Workshop on Hot Topics in Operating Systems.

[43]  Bryan Ford,et al.  CPU inheritance scheduling , 1996, OSDI '96.

[44]  Judy Kay,et al.  A fair share scheduler , 1988, CACM.

[45]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

[46]  Giuseppe Serazzi,et al.  Robust Partitioning Policies of Multiprocessor Systems , 1994, Perform. Evaluation.

[47]  N. Nisan,et al.  The POPCORN market—an online market for computational resources , 1998, ICE '98.

[48]  Ragunathan Rajkumar,et al.  Processor group membership protocols: specification, design and implementation , 1993, Proceedings of 1993 IEEE 12th Symposium on Reliable Distributed Systems.

[49]  Olov Schelén,et al.  Advance reservations for predictive service in the Internet , 1997, Multimedia Systems.

[50]  Satish K. Tripathi,et al.  A Comparative Analysis of Static Processor Partitioning Policies for Parallel Computers , 1993, MASCOTS.

[51]  Hussein M. Abdel-Wahab,et al.  A proportional share resource allocation algorithm for real-time, time-shared systems , 1996, 17th IEEE Real-Time Systems Symposium.

[52]  Satish K. Tripathi,et al.  Analysis of Processor Allocation in Multiprogrammed, Distributed-Memory Parallel Processing Systems , 1994, IEEE Trans. Parallel Distributed Syst..

[53]  Ivan E. Sutherland,et al.  A futures market in computer time , 1968, Commun. ACM.

[54]  Ion Stoica,et al.  Duality between resource reservation and proportional share resource allocation , 1996, Electronic Imaging.

[55]  Carl A. Waldspurger,et al.  Stride Scheduling: Deterministic Proportional- Share Resource Management , 1995 .

[56]  Scott Shenker,et al.  Analysis and simulation of a fair queueing algorithm , 1989, SIGCOMM '89.

[57]  Mark S. Squillante,et al.  Optimal Scheduling of Coarse-Grained Parallel Scientific Applications , 1997, PPSC.

[58]  V. K. Naik,et al.  Performance analysis of job scheduling policies in parallel supercomputing environments , 1993, Supercomputing '93.

[59]  David L. Mills,et al.  Improved algorithms for synchronizing computer network clocks , 1995, TNET.

[60]  Harrick M. Vin,et al.  A hierarchial CPU scheduler for multimedia operating systems , 1996, OSDI '96.

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

[62]  Edward Wobber,et al.  Network objects , 1994, SOSP '93.

[63]  Gregory R. Andrews,et al.  Paradigms for process interaction in distributed programs , 1991, CSUR.

[64]  Klara Nahrstedt,et al.  A distributed resource management architecture that supports advance reservations and co-allocation , 1999, 1999 Seventh International Workshop on Quality of Service. IWQoS'99. (Cat. No.98EX354).

[65]  Marios C. Papaefthymiou,et al.  Performance Evaluation of Gang Scheduling for Parallel and Distributed Multiprogramming , 1997, JSSPP.

[66]  A. Fleischmann Distributed Systems , 1994, Springer Berlin Heidelberg.

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

[68]  Mark S. Squillante,et al.  Extensible Resource Scheduling for Parallel Scientific Applications , 1997, PPSC.

[69]  Marios C. Papaefthymiou,et al.  An analysis of gang scheduling for multiprogrammed parallel computing environments , 1996, SPAA '96.

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

[71]  Warren Smith,et al.  A Resource Management Architecture for Metacomputing Systems , 1998, JSSPP.

[72]  Marios C. Papaefthymiou,et al.  A Gang Scheduling Design for Multiprogrammed Parallel Computing Environments , 1996, JSSPP.

[73]  Kenneth C. Sevcik Characterizations of parallelism in applications and their use in scheduling , 1989, SIGMETRICS '89.

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

[75]  Michael B. Jones,et al.  CPU reservations and time constraints: efficient, predictable scheduling of independent activities , 1997, SOSP.

[76]  Mark S. Squillante,et al.  Dynamic Partitioning in Different Distributed-Memory Environments , 1996, JSSPP.

[77]  Lawrence W. Dowdy,et al.  Dynamic partitioning in a transputer environment , 1990, SIGMETRICS '90.

[78]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[79]  Nayeem Islam,et al.  Distributed objects - methodologies for customizing systems software , 1996 .

[80]  N. Islam Customizing System Software Using OO Frameworks , 1997, Computer.

[81]  Harrick M. Vin,et al.  Start-time fair queueing: a scheduling algorithm for integrated services packet switching networks , 1996, SIGCOMM '96.

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

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

[84]  David E. Culler,et al.  Connected components on distributed memory machines , 1994, Parallel Algorithms.

[85]  Roy H. Campbell,et al.  Choices: a parallel object-oriented operating system , 1993 .

[86]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[87]  Evangelos P. Markatos,et al.  Multiprogramming on multiprocessors , 1991, Proceedings of the Third IEEE Symposium on Parallel and Distributed Processing.