Abstract
High-performance parallel and scientific applications are composed of multiple processes running on distinct CPUs that communicate frequently. Due to the synchronization needs of such applications, performance is greatly hampered if their processes are not scheduled simultaneously on the CPUs. Implicit coscheduling (ICS) is a well-known technique to address this problem in multi-programmed clusters, however, traditional ICS schemes do not incorporate steps to adequately deal with priority boost conflicts, leading to significantly degraded performance. In this paper, we propose the use of runtime difference in contention across nodes to provide more sophisticated coscheduling decisions in response to the conflicts. We also present a novel coscheduling scheme termed PROC (Process ReOrdering-based Coscheduling) that adaptively regulates the scheduling sequence of conflicting processes based on the rescheduling latency of their correspondents in remote nodes. We perform extensive simulation-based experiments using both synthetic and realistic workloads to analyze the performance of PROC compared to alternatives such as local scheduling, a widely used batch scheduling, gang scheduling, and existing ICS schemes. The results show that all ICS schemes commonly experience priority boost conflicts, and that the proposed PROC significantly outperforms other ICS alternatives (or batch scheduling) by up to 50.4% (or 72.5%) in the average job response time. This improvement is achieved by reducing wasted idle time and spinning time without sacrificing fairness.
Similar content being viewed by others
References
Agarwal S, Choi GS, Das CR, Yoo A, Nagar S (2003) Coordinated coscheduling in clusters through a generic framework. Clust Comput (Dec):84–91
Anderson TE, Culler DE, Patterson DA (1995) A case for now (networks of workstations). IEEE Micro 15(1):54–64
Anglano C (2000) A comparative evaluation of implicit coscheduling strategies for networks of workstations. In: Proc of the 9th IEEE international symposium on high performance distributed computing, 2000, pp 221–228
Borden NJ, Cohen D, Felderman RE, Kulawik AE, Seitz CL, Seizovic JN, Su W (1995) Myrinet: a gigabit-per-second local area network. IEEE Micro 15(1):29–36
Choi GS, Kim JH, Ersoz D, Yoo A, Das CR (2004) Coscheduling in clusters: is it a viable alternative? In: Proc of the 2004 ACM/IEEE conference on supercomputing, Nov 2004.
Dunning D, Regnier G, McAlpine G, Cameron D, Shubert B, Berry F, Merritt AM, Gronke E, Dodd C (1998) The virtual interface architecture. IEEE Micro 18(2):66–76
Dusseau A, Arpaci R, Culler D (1996) Effective distributed scheduling of parallel workloads. In: Proc of ACM SIGMETRICS conference, May 1996, pp 25–36
Etsion Y, Feitelson DG (2001) User-level communication in a system with gang scheduling. In: Proc of the international parallel and distributed processing symposium, 2001, p 58
Feitelson D (2003) Metric and workload effects on computer systems evaluation. IEEE Comput 36(9):18–25
Frachtenberg E, Feitelson DG, Petrini F, Fernandez J (2005) Adaptive parallel job scheduling with flexible coscheduling. IEEE Trans Parallel Distrib Syst 16(11):1066–1077
Frachtenberg E, Feitelson DG, Petrini F, Fernandez J (2003) Flexible coscheduling: mitigating load imbalance and improving utilization of heterogeneous resources. In: Proc of international parallel and distributed processing symposium, 2003, pp 625–651
Franke H, Jann J, Moreira JE, Pattnaik P, Jette MA (1999) Evaluation of parallel job scheduling for ASCI blue-pacific. In: Proc of the 1999 ACM/IEEE conference on supercomputing, Nov 1999, pp 679–691
Hori A, Tezuka H, Ishikawa Y (1998) Highly efficient gang scheduling implementation. In: Proc of the ACM conference on supercomputing, Nov 1998, pp 1–14
Jette MA (1997) Performance characteristics of gang scheduling in multiprogrammed environments. In: Proc of the ACM/IEEE conference on supercomputing, Nov 1997, pp 1–12
Kim JS, Kim KH, Jung SI, Ha SH (2003) Design and implementation of a user-level sockets layer over virtual interface architecture. Concurr Comput: Pract Exp 15(7-8):727–749
Lawson B, Smirni E, Puiu D (2002) Self-adapting backfilling scheduling for parallel systems. In: Proc of international conference on parallel processing, August 2002, pp 583–592
Myrinet Inc (2003) MPICH-GM software, Oct 2003. Available from http://www.myrinet.com
NAS division. The NAS parallel benchmarks. Available from http://www.nas.nasa.gov/Software/NPB
Nagar S, Banerjee A, Sivasubramaniam A, Das CR (1999) Alternatives to coscheduling a network of workstations. J Parallel Distrib Comput 59(2):302–327
Nagar S, Banerjee A, Sivasubramaniam A, Das CR (1999) A closer look at coscheduling approaches for a network of workstations. In: Proc of ACM symposium parallel algorithms and architectures, June 1999, pp 96–105
Ousterhout J (1982) Scheduling techniques for concurrent systems. In: Proc of the 3rd international conference on distributed computing systems, 1982, pp 22–30
Parallel workloads archive. Available from http://www.cs.huji.ac.il/labs/parallel/workload
Petrini F, Feng W (2001) Improved resource utilization with buffered coscheduling. J Parallel Algorithm Appl 16(2-3):123–144
Rencuzogullari U, Dwarkadas S (2001) Dynamic adaptation to available resources for parallel computing in an autonomous network of workstations. In: Proc of ACM SIGPLAN symposium on principles and practice of parallel programming, 2001, pp 72–81
Sabin G, Kettimuthu R, Rajan A, Sadayappan P (2003) Scheduling of parallel jobs in a heterogeneous multi-site environment. In: Proc of job scheduling strategies for parallel processing, 2003, pp 87–104
Schwetman HD (2001) CSIM19: a powerful tool for building system models. In: Proc of the 2001 winter simulation conference, 2001, pp 250–255
Sobalvarro P, Pakin S, Weihl B, Chien AA (1998) Dynamic coscheduling on workstation clusters. In: Proc of the international parallel processing symposium, March 1998, pp 231–256
SUN Microsystems Inc (1997) Solaris 2.6 Software Developer Collection. Available from http://www.sum.com
Zhang Y, Franke H, Moreira JE, Sivasubramaniam A (2003) An integrated approach to parallel scheduling using gang-scheduling, backfilling, and migration. IEEE Trans Parallel Distrib Syst 14(3):236–247
Zhang Y, Sivasubramaniam A (2004) ClusterSchedSim: a unifying simulation framework for cluster scheduling strategies. In: SIMULATION: transactions of the society for modeling and simulation, 2004, pp 191–206
Zhang Y, Sivasubramaniam A, Moreira J, Franke H (2001) Impact of workload and system parameters on next generation cluster scheduling. IEEE Trans Parallel Distrib Syst 12(9):967–985
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Yu, JL., Kim, JS. & Maeng, SR. A runtime resolution scheme for priority boost conflict in implicit coscheduling. J Supercomput 40, 1–28 (2007). https://doi.org/10.1007/s11227-006-0006-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-006-0006-3