ParDSL: a domain-specific language framework for supporting deployment of parallel algorithms

AbstractAn important challenge in parallel computing is the mapping of parallel algorithms to parallel computing platforms. This requires several activities such as the analysis of the parallel algorithm, the definition of the logical configuration of the platform and the implementation and deployment of the algorithm to the computing platform. However, in current parallel computing approaches very often only conceptual and idiosyncratic models are used which fall short in supporting the communication and analysis of the design decisions. In this article, we present ParDSL, a domain-specific language framework for providing explicit models to support the activities for mapping parallel algorithms to parallel computing platforms. The language framework includes four coherent set of domain-specific languages each of which focuses on an activity of the mapping process. We use the domain-specific languages for modeling the design as well as for generating the required platform-specific models and the code of the selected parallel algorithm. In addition to the languages, a library is defined to support systematic reuse. We discuss the overall architecture of the language framework, the separate DSLs, the corresponding model transformations and the toolset. The framework is illustrated for four different parallel computing algorithms.

[1]  Maria João Varanda Pereira,et al.  Domain specific languages: a theoretical survey , 2009 .

[2]  Richard F. Paige,et al.  Localized model transformations for building large-scale transformations , 2015, Software & Systems Modeling.

[3]  Anneke Kleppe,et al.  Software Language Engineering: Creating Domain-Specific Languages Using Metamodels , 2008 .

[4]  Jean Bézivin,et al.  On the unification power of models , 2005, Software & Systems Modeling.

[5]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[6]  Bedir Tekinerdogan,et al.  A systematic approach to evaluating domain-specific modeling language environments for multi-agent systems , 2015, Software Quality Journal.

[7]  Harun Artuner,et al.  Efficient and Scalable Routing Algorithms for Collective Communication Operations on 2D All-Port Torus Networks , 2011, International Journal of Parallel Programming.

[8]  Bedir Tekinerdogan,et al.  Integrating Platform Selection Rules in the Model Driven Architecture Approach , 2003, MDAFA.

[9]  Thomas Fahringer,et al.  Teuta: Tool Support for Performance Modeling of Distributed and Parallel Applications , 2004, International Conference on Computational Science.

[10]  Jeffrey C. Carver,et al.  PPModel: a modeling tool for source code maintenance and optimization of parallel programs , 2012, The Journal of Supercomputing.

[11]  Yu Ce,et al.  A Visual Model-Driven Rapid Development Toolsuite for Parallel Applications , 2009, 2009 WRI World Congress on Computer Science and Information Engineering.

[12]  Doug Locke,et al.  Introduction to special issue on Java technologies for real-time and embedded systems , 2010, TECS.

[13]  Franz Franchetti,et al.  Discrete fourier transform on multicore , 2009, IEEE Signal Processing Magazine.

[14]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[15]  Bedir Tekinerdogan,et al.  Architecture framework for modeling the deployment of parallel applications on parallel computing platforms , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[16]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[17]  Semih Bilgen,et al.  A framework for qualitative assessment of domain-specific languages , 2015, Software & Systems Modeling.

[18]  Anneke Kleppe The Field of Software Language Engineering , 2008, SLE.

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

[20]  Bedir Tekinerdogan,et al.  Systematic approach for deriving feasible mappings of parallel algorithms to parallel computing platforms , 2017, Concurr. Comput. Pract. Exp..

[21]  Samuel Kortum,et al.  Moore's Law and the Semiconductor Industry: A Vintage Model , 2005 .

[22]  Ileana Ober,et al.  HPCML: a modeling language dedicated to high-performance scientific computing , 2012, MDHPCL '12.

[23]  Marjan Mernik,et al.  Raising the level of abstraction for developing message passing applications , 2010, The Journal of Supercomputing.

[24]  Axel Uhl,et al.  Model-Driven Architecture , 2002, OOIS Workshops.

[25]  Jean-Luc Dekeyser,et al.  Safe design of high-performance embedded systems in an MDE framework , 2008, Innovations in Systems and Software Engineering.

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

[27]  Bedir Tekinerdogan,et al.  Architectural view driven model transformations for supporting the lifecycle of parallel applications , 2015, 2015 3rd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

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

[29]  Henri Casanova,et al.  Versatile, scalable, and accurate simulation of distributed applications and platforms , 2014, J. Parallel Distributed Comput..

[30]  Kayhan M. Imre,et al.  A parallel implementation of Strassen’s matrix multiplication algorithm for wormhole-routed all-port 2D torus networks , 2011, The Journal of Supercomputing.

[31]  Beth Tibbitts,et al.  Intentional MPI programming in a visual development environment , 2006, SoftVis '06.

[32]  Pankaj Gupta,et al.  SIMPAR: a portable object-oriented simulation-science-based metamodel framework for performance modeling, prediction, and evaluation of HPC systems , 2004, SPIE Defense + Commercial Sensing.

[33]  Mohamed Abid,et al.  A model-driven based framework for rapid parallel SoC FPGA prototyping , 2011, 2011 22nd IEEE International Symposium on Rapid System Prototyping.

[34]  Mark Strembeck,et al.  An approach for the systematic development of domain‐specific languages , 2009, Softw. Pract. Exp..

[35]  Bedir Tekinerdogan,et al.  Evaluation framework for software architecture viewpoint languages , 2013, QoSA '13.

[36]  Martin Fowler,et al.  Domain-Specific Languages , 2010, The Addison-Wesley signature series.

[37]  Purushotham Bangalore,et al.  Automating the development of scientific applications using domain-specific modeling , 2005, SE-HPCS '05.

[38]  Rached Tourki,et al.  System level modeling methodology of NoC design from UML-MARTE to VHDL , 2012, Des. Autom. Embed. Syst..

[39]  Eric Darve,et al.  Liszt: A domain specific language for building portable mesh-based PDE solvers , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[40]  Thomas Fahringer,et al.  UML based modeling of performance oriented parallel and distributed applications , 2002, Proceedings of the Winter Simulation Conference.

[41]  Volker Gruhn,et al.  Model-Driven Software Development , 2005 .

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

[43]  Mohd Fadzil Hassan,et al.  Model driven software development: An overview , 2014, 2014 International Conference on Computer and Information Sciences (ICCOINS).

[44]  Franz Franchetti,et al.  SPIRAL: Code Generation for DSP Transforms , 2005, Proceedings of the IEEE.

[45]  Nuno Oliveira,et al.  Comparing general-purpose and domain-specific languages: An empirical study , 2010, Comput. Sci. Inf. Syst..

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

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

[48]  Frédéric Guyomarc'h,et al.  An MDE Approach for Automatic Code Generation from UML/MARTE to OpenCL , 2013, Computing in Science & Engineering.

[49]  Evans,et al.  Domain-driven design , 2003 .