Multi-dimensional dynamic loop scheduling algorithms

Distributed computing systems are a viable and less expensive alternative to parallel computers. However, a serious difficulty in concurrent programming of a distributed system is how to deal with scheduling and load balancing of such a system which may consist of heterogeneous computers. Loop scheduling schemes for parallel computers and computer clusters have been proposed in the past. All these schemes are one-dimensional because they partition only the outermost loop of a nested loop construct. In this work, we consider scheduling nested loops with many dimensions. We propose a new methodology which partitions many levels (or dimensions) of nested loops. These new schemes show superior performance over the existing schemes. We implement our new schemes on a network of computers and make performance comparisons with other existing schemes. We expect the new schemes to be particularly useful for multi-core systems because of the fine granularity of the generated tasks.

[1]  Ioana Banicescu,et al.  On the Scalability of Dynamic Scheduling Scientific Applications with Adaptive Weighted Factoring , 2003, Cluster Computing.

[2]  J. Mark Bull,et al.  Feedback Guided Dynamic Loop Scheduling: Algorithms and Experiments , 1998, Euro-Par.

[3]  Sivarama P. Dandamudi,et al.  A hierarchical processor scheduling policy for distributed-memory multicomputer systems , 1997, Proceedings Fourth International Conference on High-Performance Computing.

[4]  Ioana Banicescu,et al.  Design and implementation of a novel dynamic load balancing library for cluster computing , 2005, Parallel Comput..

[5]  Heinz-Otto Peitgen,et al.  The science of fractal images , 2011 .

[6]  Chao-Tung Yang,et al.  An Intelligent Parallel Loop Scheduling for Parallelizing Compilers , 2000, J. Inf. Sci. Eng..

[7]  Anthony T. Chronopoulos,et al.  Distributed loop-scheduling schemes for heterogeneous computer systems: Research Articles , 2006 .

[8]  Chao-Tung Yang,et al.  An Enhanced Parallel Loop Self-Scheduling Scheme for Cluster Environments , 2005, 19th International Conference on Advanced Information Networking and Applications (AINA'05) Volume 1 (AINA papers).

[9]  Torben Hagerup,et al.  Allocating Independent Tasks to Parallel Processors: An Experimental Study , 1996, J. Parallel Distributed Comput..

[10]  David Dewolfs Parallel programming with MPI and fault tolerance , 2009 .

[11]  Chao-Tung Yang,et al.  A Parallel Loop Self-Scheduling on Extremely Heterogeneous PC Clusters , 2004, J. Inf. Sci. Eng..

[12]  Nectarios Koziris,et al.  Compiling tiled iteration spaces for clusters , 2002, Proceedings. IEEE International Conference on Cluster Computing.

[13]  Tae-Hyung Kim,et al.  Load balancing for parallel loops in workstation clusters , 1996, Proceedings of the 1996 ICPP Workshop on Challenges for Parallel Processing.

[14]  David J. Lilja Exploiting the parallelism available in loops , 1994, Computer.

[15]  Anne C. Elster,et al.  An experimental study , 2008 .

[16]  Anthony T. Chronopoulos,et al.  Scalable loop self-scheduling schemes for heterogeneous clusters , 2002, Proceedings. IEEE International Conference on Cluster Computing.

[17]  Krishna M. Kavi,et al.  Parallelization of DOALL and DOACROSS Loops - A Survey , 1997, Adv. Comput..

[18]  Shiping Chen,et al.  Partitioning and scheduling loops on NOWs , 1999, Comput. Commun..

[19]  David A. Padua,et al.  Utilizing Multidimensional Loop Parallelism on Large-Scale Parallel Processor Systems , 1989, IEEE Trans. Computers.

[20]  Chengzhong Xu,et al.  Effects of parallelism degree on run-time parallelization of loops , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[21]  Anthony T. Chronopoulos,et al.  Dynamic multi phase scheduling for heterogeneous clusters , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[22]  Evangelos P. Markatos,et al.  Using processor affinity in loop scheduling on shared-memory multiprocessors , 1992, Proceedings Supercomputing '92.

[23]  Chita R Das,et al.  Evaluation of Loop Scheduling Algorithms on Distributed Memory Systems , 1997 .

[24]  L.M. Ni,et al.  Trapezoid Self-Scheduling: A Practical Scheduling Scheme for Parallel Compilers , 1993, IEEE Trans. Parallel Distributed Syst..

[25]  Alexandru Nicolau,et al.  History-aware Self-Scheduling , 2006, 2006 International Conference on Parallel Processing (ICPP'06).