Performance‐based parallel loop self‐scheduling using hybrid OpenMP and MPI programming on multicore SMP clusters

Parallel loop self‐scheduling on parallel and distributed systems has been a critical problem and it is becoming more difficult to deal with in the emerging heterogeneous cluster computing environments. In the past, some self‐scheduling schemes have been proposed as applicable to heterogeneous cluster computing environments. In recent years, multicore computers have been widely included in cluster systems. However, previous researches into parallel loop self‐scheduling did not consider certain aspects of multicore computers; for example, it is more appropriate for shared‐memory multiprocessors to adopt Open Multi‐Processing (OpenMP) for parallel programming. In this paper, we propose a performance‐based approach using hybrid OpenMP and MPI parallel programming, which partition loop iterations according to the performance weighting of multicore nodes in a cluster. Because iterations assigned to one MPI process are processed in parallel by OpenMP threads run by the processor cores in the same computational node, the number of loop iterations allocated to one computational node at each scheduling step depends on the number of processor cores in that node. Experimental results show that the proposed approach performs better than previous schemes. Copyright © 2010 John Wiley & Sons, Ltd.

[1]  Chao-Tung Yang,et al.  On development of an efficient parallel loop self-scheduling for grid computing environments , 2007, Parallel Comput..

[2]  Rajkumar Buyya,et al.  Cluster computing: the commodity supercomputer , 1999, Softw. Pract. Exp..

[3]  Fernando Gustavo Tinetti,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers. Barry Wilkinson, C. Michael Allen , 2000 .

[4]  CONSTANTINE D. POLYCHRONOPOULOS,et al.  Guided Self-Scheduling: A Practical Scheduling Scheme for Parallel Supercomputers , 1987, IEEE Transactions on Computers.

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

[6]  Anthony T. Chronopoulos,et al.  A class of loop self-scheduling for heterogeneous clusters , 2001, Proceedings 42nd IEEE Symposium on Foundations of Computer Science.

[7]  Barbara Chapman,et al.  Using OpenMP - portable shared memory parallel programming , 2007, Scientific and engineering computation.

[8]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[9]  Hui Li,et al.  Locality and Loop Scheduling on NUMA Multiprocessors , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[10]  Benoit B. Mandelbrot,et al.  Fractals and Chaos , 2004 .

[11]  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).

[12]  Elizabeth A. Post,et al.  Evaluating the parallel performance of a heterogeneous system , 2001 .

[13]  Gary B. Lamont,et al.  Load balancing for heterogeneous clusters of PCs , 2002, Future Gener. Comput. Syst..

[14]  Michael Allen,et al.  Parallel programming: techniques and applications using networked workstations and parallel computers , 1998 .

[15]  William Gropp,et al.  Beowulf Cluster Computing with Linux , 2003 .

[16]  Philip Heidelberger,et al.  HPCC RandomAccess benchmark for next generation supercomputers , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[17]  Bonnie Holte Bennett,et al.  Beowulf parallel processing for dynamic load-balancing , 2000, 2000 IEEE Aerospace Conference. Proceedings (Cat. No.00TH8484).

[18]  Péter Kacsuk,et al.  Distributed and parallel systems: from instruction parallelism to cluster computing , 2000 .

[19]  Chao-Tung Yang,et al.  Dynamic partitioning of loop iterations on heterogeneous PC clusters , 2007, The Journal of Supercomputing.

[20]  Edith Schonberg,et al.  Factoring: a method for scheduling parallel loops , 1992 .

[21]  Chao-Tung Yang,et al.  Performance-based dynamic loop scheduling in heterogeneous computing environments , 2010, The Journal of Supercomputing.

[22]  Yahya Slimani,et al.  Load Balancing Strategy in Grid Environment , 2007 .

[23]  Jie Pan,et al.  Introduction to Grid Computing , 2009 .

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

[25]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[26]  Lien Fu Lai,et al.  Using hybrid MPI and OpenMP programming to optimize communications in parallel loop self-scheduling schemes for multicore PC clusters , 2009, The Journal of Supercomputing.

[27]  Ian Foster,et al.  The Grid: A New Infrastructure for 21st Century Science , 2002 .

[28]  Robert Michael Kirby,et al.  Parallel Scientific Computing in C++ and MPI - A Seamless Approach to Parallel Algorithms and their Implementation , 2003 .

[29]  Kunle Olukotun,et al.  Multicore Processors and Systems , 2009, Integrated Circuits and Systems.

[30]  Chao-Tung Yang,et al.  A Parallel Loop Self-Scheduling on Extremely Heterogeneous PC Clusters , 2004 .

[31]  Henri Casanova,et al.  Scheduling divisible loads on star and tree networks: results and open problems , 2005, IEEE Transactions on Parallel and Distributed Systems.

[32]  R. V. van Nieuwpoort,et al.  The Grid 2: Blueprint for a New Computing Infrastructure , 2003 .

[33]  Anthony T. Chronopoulos,et al.  Distributed loop‐scheduling schemes for heterogeneous computer systems , 2006, Concurr. Comput. Pract. Exp..

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

[35]  Chao-Tung Yang,et al.  A performance-based parallel loop scheduling on grid environments , 2007, The Journal of Supercomputing.

[36]  René L. Schilling,et al.  Fractals and chaos. The Mandelbrot set and beyond, by Benoit B. Mandelbrot. Pp. 308. £38.50. 2004, ISBN 0 387 20158 0 (Springer-Verlag). , 2005, The Mathematical Gazette.