Performance Comparison of Coscheduling Algorithms for Non-Dedicated Clusters Through a Generic Framework

In this paper, we address several key issues in designing coscheduling algorithms for clusters. First, we propose a generic framework for deploying coscheduling techniques by providing a reusable and dynamically loadable kernel module. Second, we implement several communication-driven coscheduling algorithms [dynamic coscheduling (DCS), spin block (SB) and periodic boost (PB)] on a 16- node Linux cluster using the above framework. Third, with exhaustive experimentation using mixed workloads, we observe that unlike PB, which provided the best performance on a Solaris platform, the SB scheme outperforms all other techniques on a Linux platform. Finally, we investigate the impact of several job placement strategies, multiprogramming level (MPL), communication intensity and CPU and I/O intensive jobs on the performance of these coscheduling schemes. The experimental results show that the blocking-based coscheduling scheme (SB) has better tolerance to system workload variation compared with the spin-based schemes (DCS and PB), and overall, the blocking-based coscheduling scheme seems a better choice for non-dedicated Linux clusters.

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

[2]  Kenneth C. Sevcik,et al.  Coordinated allocation of memory and processors in multiprocessors , 1996, SIGMETRICS '96.

[3]  Cosimo Anglano A comparative evaluation of implicit coscheduling strategies for networks of workstations , 2000, Proceedings the Ninth International Symposium on High-Performance Distributed Computing.

[4]  Chita R. Das,et al.  Alternatives to Coscheduling a Network of Workstations , 1999, J. Parallel Distributed Comput..

[5]  Dror G. Feitelson,et al.  User-level communication in a system with gang scheduling , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[6]  Mark S. Squillante,et al.  Modeling and analysis of dynamic coscheduling in parallel and distributed environments , 2002, SIGMETRICS '02.

[7]  Larry Rudolph,et al.  Coscheduling based on runtime identification of activity working sets , 1995, International Journal of Parallel Programming.

[8]  Yutaka Ishikawa,et al.  Highly Efficient Gang Scheduling Implementation , 1998, Proceedings of the IEEE/ACM SC98 Conference.

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

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

[11]  Greg Kroah-Hartman,et al.  Linux Device Drivers, 3rd Edition , 2005 .

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

[13]  David E. Culler,et al.  An Implementation and Analysis of the Virtual Interface Architecture , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[14]  J. Moreira,et al.  An Evaluation of Parallel Job Scheduling for ASCI Blue-Pacific , 1999, ACM/IEEE SC 1999 Conference (SC'99).

[15]  Greg Kroah-Hartman,et al.  Linux Device Drivers , 1998 .

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

[17]  Daniel Pierre Bovet,et al.  Understanding the Linux Kernel , 2000 .

[18]  Peter E. Strazdins,et al.  A comparison of local and gang scheduling on a Beowulf cluster , 2004, 2004 IEEE International Conference on Cluster Computing (IEEE Cat. No.04EX935).

[19]  Seth Copen Goldstein,et al.  Active Messages: A Mechanism for Integrated Communication and Computation , 1992, [1992] Proceedings the 19th Annual International Symposium on Computer Architecture.

[20]  Andrea C. Arpaci-Dusseau,et al.  Scheduling with implicit information in distributed systems , 1998, SIGMETRICS '98/PERFORMANCE '98.

[21]  Remzi H. Arpaci-Dusseau,et al.  Architectural Requirements and Scalability of the NAS Parallel Benchmarks , 1999, ACM/IEEE SC 1999 Conference (SC'99).

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

[23]  Abraham Silberschatz,et al.  Operating System Concepts , 1983 .

[24]  E. Luque,et al.  CMC: a coscheduling model for non-dedicated cluster computing , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[25]  Wu-chun Feng,et al.  Buffered coscheduling: a new methodology for multitasking parallel jobs on distributed systems , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

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

[27]  Scott Pakin,et al.  Dynamic Coscheduling on Workstation Clusters ***** Submitted for Publication ***** , 1998 .

[28]  Charles L. Seitz,et al.  Myrinet: A Gigabit-per-Second Local Area Network , 1995, IEEE Micro.