Contribution à l'étude des environnements d'exécution parallèle fortement dynamiques à passage de messages
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
Global Computing platforms, large scale clusters and future TeraGRID systems gather thousands of nodes for computing parallel scientific applications. These parallel architectures currently uses different approaches depending on the hardware memory model of the architecture, the abstraction level of the programming environment and the nature of the application. On the first part, I introduce an original client-server execution model based on RPCs called out-of-order parallel virtual machine (OVM). OVM aims to provide three main features: portability through a unique memory model, load-balancing using a plug-in support and high performance provided by several optimizations. The main optimizations are: non-blocking RPCs, data-flow management, persistent and non-persistent data, dynamic scheduling and asynchronous global operations. I present OVM general architecture and demonstrate high performance for several types of parallel applications: regular, with load balancing needs and with real-time constraints. At this scale, node failures or disconnections are frequent events. This Volatility reduces the MTBF of the whole system in the range of hour or minutes. On the second part, I present MPICH-V, an automatic fault tolerant MPI environment based on uncoordinated checkpoint/rollback and distributed message logging. MPICH-V architecture relies on Channel Memories, Checkpoint servers and theoretically proven protocols to execute SPMD and Master-Worker MPI applications on volatile nodes. Focusing on the channel memory, I present and analyse the performances for non-trivial parallel applications. Experimental results demonstrate good scalability and high tolerance to faults.
Abstract FR:
Le calcul haute performance sur des architectures parallèles utilise différentes approches en fonction du modèle de mémoire de l'architecture, du niveau d'abstraction du langage de programmation et de la nature de l'application. La première partie de cette thèse est consacrée à la présentation d'un modèle d'exécution original basé sur l'appel de procédure à distance ou RPC (Remote Procedure Call), appelé Out-of-order execution parallel Virtual Machine (OVM). Le substrat a été construit suivant trois directions : portabilité via un modèle unique de mémoire, équilibrage de charge en utilisant un support modulaire et haute performance grâce à plusieurs optimisations. Je présente ici l'architecture générale d'OVM et je démontre ses performances pour différents types d'applications parallèles-: régulières, nécessitant un équilibrage de charge et des contraintes temps-réel. Avec l'augmentation du nombre de processeurs, les déconnexions et les disparitions des nœuds deviennent des évènements courants. La seconde partie est dédiée à l'environnement MPICH-V. Cet environnement de tolérance automatique des fautes est basé sur un checkpoint non coordonnée et un logging de messages distribué. MPICH-V se base sur des mémoires de canal, des serveurs de checkpoint et sur de preuves théoriques de ses protocoles. Se concentrant sur les mémoires de canal, des résultats sont présentés et analysés, pour des applications parallèles non triviales. Les résultats expérimentaux démontrent la bonne scalabilité et un haut degré de tolérance aux fautes.