Methodology for Efficient Execution of SPMD Applications on Multicore Environments

The need to efficiently execute applications in heterogeneous environments is a current challenge for parallel computing programmers. The communication heterogeneities found in multicore clusters need to be addressed to improve efficiency and speedup. This work presents a methodology developed for SPMD applications, which is centered on managing communication heterogeneities and improving system efficiency on multicore clusters. The methodology is composed of three phases: characterization, mapping strategy, and scheduling policy. We focus on SPMD applications which are designed through a message-passing library for communication, and selected according to their synchronicity and communications volume. The novel contribution of this methodology is it determines the approximate number of cores necessary to achieve a suitable solution with a good execution time, while the efficiency level is maintained over a threshold defined by users. Applying this methodology gave results showing a maximum improvement in efficiency of around 43% in the SPMD applications tested.

[1]  Sajal K. Das,et al.  MaTCH: mapping data-parallel tasks on a heterogeneous computing platform using the cross-entropy heuristic , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[2]  Alexander Vakhitov,et al.  Adaptive Scheduling of Parallel Computations for SPMD Tasks , 2007, ICCSA.

[3]  Yuan-Fang Wang,et al.  Global Optimization for Mapping Parallel Image Processing Tasks on Distributed Memory Machines , 1997, J. Parallel Distributed Comput..

[4]  Leslie G. Valiant,et al.  A bridging model for multi-core computing , 2008, J. Comput. Syst. Sci..

[5]  Yves Robert,et al.  Data Allocation Strategies for Dense Linear Algebra on two-dimensional Grids with Heterogeneous Communication Links , 2001 .

[6]  Mario A. R. Dantas,et al.  An Experimental Study on How to Build Efficient Multi-core Clusters for High Performance Computing , 2008, 2008 11th IEEE International Conference on Computational Science and Engineering.

[7]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[8]  Hisham El-Shishiny,et al.  An efficient load-balancing algorithm for image processing applications on multicore processors , 2008, IFMT '08.

[9]  Curtis L. Janssen,et al.  Multicore challenges and benefits for high performance scientific computing , 2008, Sci. Program..

[10]  Mohammed J. Zaki,et al.  Compile-Time Scheduling Algorithms for a Heterogeneous Network of Workstations , 1997, Comput. J..

[11]  Raymond Namyst,et al.  A multithreaded communication engine for multicore architectures , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[12]  Jon B. Weissman Prophet: automated scheduling of SPMD programs in workstation networks , 1999, Concurr. Pract. Exp..

[13]  Leslie G. Valiant A Bridging Model for Multi-core Computing , 2008, ESA.

[14]  Vinita Vasudevan,et al.  Mapping Data-Parallel Tasks Onto Partially Reconfigurable Hybrid Processor Architectures , 2006, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[15]  Lorie M. Liebrock,et al.  Methodology for modelling SPMD hybrid parallel computation , 2008, Concurr. Comput. Pract. Exp..

[16]  M.D. McCool,et al.  Scalable Programming Models for Massively Multicore Processors , 2008, Proceedings of the IEEE.