Optimizing an active object framework from multi-cores to multi-clouds
Institution:
NiceDisciplines:
Directors:
Abstract EN:
Modern processors become massively multi-cores, and clusters become clouds. Within a few years, we may even speak about HPC as High Performance Clouds. This openness makes com- puting platforms more accessible and induces a increasing interest in programming languages adapted to these hybrid shared/distributed memory architectures. This PhD Thesis presents the design, implementation and evaluation of several solutions to optimize the execution of HPC numerical applications in such situation. We propose some extensions to the asynchronous communicating Active Objects model ASP (Asynchronous Sequential Process), with constructs that improve the execution of applica- tions. In particular, this work explores the era of asynchronous communications between activities, by studying the different properties that can be ensured. Thus, we proposes various language constructs or rather general middleware approaches based on the behavior of the program to optimize communications. Another contribution of this thesis consists in an advanced analysis of the performance of a middleware-based ASP model for high performance applications. This work is based on ProActive, a Java implementation of the model, which has been evaluated in a heterogeneous context characterized by the subtitle of this manuscript "from multi-cores to multi-clouds".
Abstract FR:
Les processeurs modernes tendent à devenir massivement multi-coeurs, tandis que les clusters s’ouvrent vers l’Internet pour devenir des "Clouds". Ainsi, d’ici à quelques années, nous par- lerons peut-être de Cloud Haute Performance. Cette ouverture rend les plateformes de calcul plus accessibles et induit un intérêt croissant pour les langages de programmation adaptés à ces architectures hybrides où l’on rencontre aussi bien des espaces mémoire partagé que distribués. Cette thèse de doctorat s’inscrit dans ce contexte et présente ainsi la conception, l’implémentation et l’évaluation de différentes solutions ayant pour but commun d’optimiser l’exécution d’applications numériques haute performance sur ces environnements. Nous proposons un ensembles d’extensions pour le modèle à objets actifs asynchrones com- municants ASP (Asynchronous Sequential Process), avec des constructions améliorant le développement et l’exécution d’applications. En particulier, ce travail explore le domaine des communications asynchrones entre activités, en étudiant les différentes propriétés de con- fluence et de déterminisme qui peuvent être assurées. Ainsi nous proposons plusieurs construc- tions de langage et approches plus générales au niveau de l’intergiciel (middleware), s’appuyant sur le comportement de l’application pour en optimiser les communications. Une autre contribution de ce manuscrit consiste en une étude avancée des performances de Java ainsi que de l’intergiciel ProActive, l’implémentation du modèle ASP. Tout en se concentrant sur les applications dites "hautes performance", notre analyse montre comment utiliser les plateformes Java et ProActive pour rendre un programme plus efficace, en s’appuyant sur différentes architectures, comme le suggère le sous-titre de cette thèse: "Des processeurs multi- coeurs aux architectures multi-clouds".