Model-Driven Engineering for High-Performance Computing Applications

D. Lugato (France)

Keywords

Model Driven Engineering, High Performance Computing, UML, Fortran.

Abstract

The main specific features of high performance scientific simulation consist of obtaining optimal performance levels, sustainability of the codes and models and the use of dedicated architectures. The construction of codes and of the physical phenomena to be simulated requires substantial investments both in terms of human resources and of the experiments required to validate the models. The need for increasingly refined modeling leads to optimization of the performance levels of the codes to obtain simulation results within acceptable calculation times. Finally, the necessary recourse to highly specialized hardware resources adds further constraints to the programming of such software, especially when the lifetime of the codes, often close to 20 years, is compared to that of super computers, in the order of just 4 years. The MDA approach (Model Driven Architecture), standardized by the OMG and based on UML 2.0, provides among things a generic method for obtaining a runnable code from a UML model describing a system on several levels of modeling. Its various abstraction mechanisms should make it possible to increase the lifetime of our codes by facilitating the porting operations while at the same time improving performance thanks to the capitalization of good programming practices. MDA technologies have already proved their value in other fields of the computer industry. The sector of real time systems, for example, is based on UML to define a profile specific to their programming constraints (size on the on board code, limited resources, rapidity of upgrades, etc.). By analogy to these other sectors of the computer industry, we have therefore chosen to adopt the definition of a UML profile specific to the constraints for the development of high performance scientific simulation. This approach is explained in the article which addresses in turn the following points: definition of a meta-model for high performance simulation, the use of proven technologies (Topcased, Acceleo) for the automatic transformation of models with in particular the automatic generation of a Fortran code, and finally an overall illustration of an implementation of this profile.

Important Links:



Go Back