1. On the use of models for high-performance scientific computing applications: an experience report
- Author
-
Jean-Michel Bruel, David Lugato, Marc Palyart, Ileana Ober, Commissariat à l'Energie Atomique et aux énergies alternatives - CEA (FRANCE), Centre National de la Recherche Scientifique - CNRS (FRANCE), Institut National Polytechnique de Toulouse - Toulouse INP (FRANCE), Université Toulouse III - Paul Sabatier - UT3 (FRANCE), Université Toulouse - Jean Jaurès - UT2J (FRANCE), Université Toulouse 1 Capitole - UT1 (FRANCE), University of British Columbia (CANADA), Institut de Recherche en Informatique de Toulouse - IRIT (Toulouse, France), Advancing Rigorous Software and System Engineering (IRIT-ARGOS), Institut de recherche en informatique de Toulouse (IRIT), Université Toulouse 1 Capitole (UT1), Université Fédérale Toulouse Midi-Pyrénées-Université Fédérale Toulouse Midi-Pyrénées-Université Toulouse - Jean Jaurès (UT2J)-Université Toulouse III - Paul Sabatier (UT3), Université Fédérale Toulouse Midi-Pyrénées-Centre National de la Recherche Scientifique (CNRS)-Institut National Polytechnique (Toulouse) (Toulouse INP), Université Fédérale Toulouse Midi-Pyrénées-Université Toulouse 1 Capitole (UT1), Université Fédérale Toulouse Midi-Pyrénées, University of British Columbia (UBC), Smart Modeling for softw@re Research and Technology (IRIT-SM@RT), Université Toulouse - Jean Jaurès (UT2J), Commissariat à l'énergie atomique et aux énergies alternatives (CEA), Université Toulouse Capitole (UT Capitole), Université de Toulouse (UT)-Université de Toulouse (UT)-Université Toulouse - Jean Jaurès (UT2J), Université de Toulouse (UT)-Université Toulouse III - Paul Sabatier (UT3), Université de Toulouse (UT)-Centre National de la Recherche Scientifique (CNRS)-Institut National Polytechnique (Toulouse) (Toulouse INP), Université de Toulouse (UT)-Toulouse Mind & Brain Institut (TMBI), Université de Toulouse (UT)-Université de Toulouse (UT)-Université Toulouse III - Paul Sabatier (UT3), Université de Toulouse (UT)-Université Toulouse Capitole (UT Capitole), Université de Toulouse (UT), and Institut National Polytechnique de Toulouse - INPT (FRANCE)
- Subjects
[INFO.INFO-AR]Computer Science [cs]/Hardware Architecture [cs.AR] ,Source code ,Modeling language ,Computer science ,media_common.quotation_subject ,Fortran ,02 engineering and technology ,[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] ,Interface homme-machine ,Domain (software engineering) ,Abstraction layer ,Computational science ,[INFO.INFO-CR]Computer Science [cs]/Cryptography and Security [cs.CR] ,Software ,High-performance calculus ,Architectures Matérielles ,020204 information systems ,Architecture ,0202 electrical engineering, electronic engineering, information engineering ,Génie logiciel ,[INFO.INFO-HC]Computer Science [cs]/Human-Computer Interaction [cs.HC] ,Implementation ,media_common ,computer.programming_language ,business.industry ,020207 software engineering ,computer.file_format ,Modélisation et simulation ,[INFO.INFO-MO]Computer Science [cs]/Modeling and Simulation ,Systèmes embarqués ,Modeling and Simulation ,HPC ,Cryptographie et sécurité ,[INFO.INFO-ES]Computer Science [cs]/Embedded Systems ,MDE Model-driven engineering ,Executable ,Model-driven architecture ,Software engineering ,business ,computer - Abstract
International audience; This paper reports on a four-year project that aims to raise the abstraction level through the use of model-driven engineering (MDE) techniques in the development of scientific applications relying on high-performance computing. The development and maintenance of high-performance scientific computing software is reputedly a complex task. This complexity results from the frequent evolutions of supercomputers and the tight coupling between software and hardware aspects. Moreover, current parallel programming approaches result in a mixing of concerns within the source code. Our approach relies on the use of MDE and consists in defining domain-specific modeling languages targeting various domain experts involved in the development of HPC applications, allowing each of them to handle their dedicated model in a both user-friendly and hardware-independent way. The different concerns are separated thanks to the use of several models as well as several modeling viewpoints on these models. Depending on the targeted execution platforms, these abstract models are translated into executable implementations by means of model transformations. To make all of these effective, we have developed a tool chain that is also presented in this paper. The approach is assessed through a multi-dimensional validation that focuses on its applicability, its expressiveness and its efficiency. To capitalize on the gained experience, we analyze some lessons learned during this project.
- Published
- 2018
- Full Text
- View/download PDF