Note publique d'information : La complexité des applications numériques de calcul scientifique ne cesse de croître.
Cette difficulté revêt alors deux formes. La première est une complexité logicielle
qui nécessite l'intégration de divers codes de calcul toujours plus sophistiqués et
spécialisés à la simulation de phénomènes physiques complexes. La seconde forme de
complexité est calculatoire où les composants de calcul nécessitent toujours plus
de ressources et de capacité de stockage afin de modéliser, entre autres, les phénomènes
au plus proche de la physique « réelle ». Dans le domaine de la simulation des procédés
assistée par ordinateur, la complexité logicielle est masquée par le standard CAPE-OPEN
qui répond aux besoins d'intégration de codes tiers. Il propose des spécifications
d'interfaces, basées sur une approche par composants logiciels tels que DCOM ou CORBA.
Cette thèse apporte une solution à la complexité calculatoire. Pour cela, nous étudions
le problème de la distribution de la charge de calcul des simulations des procédés
sur des architectures de type grappe de calcul dont les composants sont au standard
CAPE-OPEN. Une exécution distribuée performante requiert la distribution des activités
concurrentes de l'application tout en minimisant le volume de données à échanger via
le support de communication. Dans ce contexte, nous présentons une analyse fine du
schéma d'exécution des simulations de procédés qui conduit à la conception de deux
environnements distribués d'exécution. Le premier nous a permis de quantifier le gain
atteignable sur une grappe de calcul à travers la simulation de plusieurs cas tests
métier. Toutefois, les contraintes technologiques industrielles se sont avérées peu
propices à l'implémentation d'un environnement distribué visant à s'approcher de l'optimal.
Par conséquent, la définition d'un second prototype basé sur le moteur exécutif KAAPI
a été mené à bien. Afin de répondre à nos besoins, nous l'avons étendu aux techniques
« statiques » d'exécution. Fort de cet environnement, nous avons entrepris d'étudier
différentes politiques d'ordonnancement. L'environnement KAAPI couplé à notre extension
ouvre de larges perspectives d'études dans le cadre plus large des applications numériques
de calcul scientifique.
Note publique d'information : The complexity of numerical simulations has constantly grown by means of software
and computation purposes. The former, the software complexity, is arising from specialized
codes which aim at simulating complex physical phenomena. The latter, the computation
complexity, is of general concern regarding scientific applications because approaching
"real" physical behaviour requires more and more storage and power capacities. The
CAPE-OPEN standard, in the process simulation area, provides a solution to the needs
of tierce codes integration by hiding software complexity. As a consequence, interface
specifications are set and software components such as DCOM or CORBA are used. In
this work, we study the problem of computation load distribution over clusters which
software components are CAPE-OPEN compliant. An efficient distributed execution needs
to share concurrent activities from the application while minimizing exchanged data
loads through the network. In this context, we present a tightly analysis of process
simulations computational scheme that leads to the implementation of two computational
distributed environments. The former is used to quantify the benefit on business test
cases simulations over a cluster. Nevertheless, industrial technologies limit the
optimization implementations necessary to reach the optimal. Then, the latter prototype
has been implemented on top of KAAPI runtime. To come to our expectations, KAAPI is
extended in order to manage "static" scheduling and various scheduling policies are
studied. The KAAPI environment coupled with the extension that we develop is the first
step to several experiments in the more general scope of numerical applications.