Model-Driven Transformations for Mapping Parallel Algorithms on Parallel Computing Platforms

One of the important problems in parallel computing is the mapping of the parallel algorithm to the parallel computing platform. Hereby, for each parallel node the corresponding code for the parallel nodes must be implemented. For platforms with a limited number of processing nodes this can be done manually. However, in case the parallel computing platform consists of hundreds of thousands of processing nodes then the manual coding of the parallel algorithms becomes intractable and error-prone. Moreover, a change of the parallel computing platform requires considerable effort and time of coding. In this paper we present a model-driven approach for generating the code of selected parallel algorithms to be mapped on parallel computing platforms. We describe the required platform independent metamodel, and the model-to-model and the model-to-text transformation patterns. We illustrate our approach for the parallel matrix multiplication algorithm. K eywords: Model Driven Software Development, Parallel Computing, High Performance Computing, Domain Specific Language, Tool Support.

[1]  정영식,et al.  [서평]「Designing and Building parallel Programs」 - Concepts and Tools for parallel software Engineering - , 1998 .

[2]  G.E. Moore,et al.  Cramming More Components Onto Integrated Circuits , 1998, Proceedings of the IEEE.

[3]  Andreas Hoffmann,et al.  Deployment and Configuration of Distributed Systems , 2004, SAM.

[4]  Frédéric Guyomarc'h,et al.  A Graphical Framework for High Performance Computing Using An MDE Approach , 2008, 16th Euromicro Conference on Parallel, Distributed and Network-Based Processing (PDP 2008).

[5]  Michael P. Frank,et al.  The physical limits of computing , 2002, Computing in Science & Engineering.

[6]  Domenico Talia,et al.  MODELS AND TRENDS IN PARALLEL PROGRAMMING , 2001, Parallel Algorithms Appl..

[7]  Vaidy S. Sunderam,et al.  Automated Deployment Support for Parallel Distributed Computing , 2007, 15th EUROMICRO International Conference on Parallel, Distributed and Network-Based Processing (PDP'07).

[8]  Laxmikant V. Kalé,et al.  BigSim: a parallel simulator for performance prediction of extremely large parallel machines , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[9]  Jean-Luc Dekeyser,et al.  A Model-Driven Design Framework for Massively Parallel Embedded Systems , 2011, TECS.

[10]  Mathieu Luisier,et al.  Rapid Parallel Systems Deployment: Techniques for Overnight Clustering , 2008, LISA.

[11]  Michael Mikolajczak,et al.  Designing And Building Parallel Programs: Concepts And Tools For Parallel Software Engineering , 1997, IEEE Concurrency.

[12]  Keqin Li Scalable Parallel Matrix Multiplication on Distributed Memory Parallel Computers , 2001, J. Parallel Distributed Comput..

[13]  Keqin Li,et al.  Scalable parallel matrix multiplication on distributed memory parallel computers , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[14]  Ileana Ober,et al.  MDE4HPC: An Approach for Using Model-Driven Engineering in High-Performance Computing , 2011, SDL Forum.

[15]  Bedir Tekinerdogan,et al.  Model-Driven Approach for Supporting the Mapping of Parallel Algorithms to Parallel Computing Platforms , 2013, MoDELS.