OpenWP : étude et extension des technologies de Workflows pour le calcul haute performance sur grille
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
This thesis has been conduced in an industrial context. It studies the code refactoring from a sequential scientific code into a grid enabled program. The proposed approach is based on the workflow technologies which are well suited for grid. After a presentation of existing solutions for workflow execution on the grid as well as a solution for code parallelization (openMP), the author presents his proposition : OpenWP. OpenWP is a workflow definition language based on directives to turn a sequential code into a workflow. OpenWP allows the controlled execution of this workflow on the grip using a third party workflow enactment engine. A distributed virtually shared memory system is proposed. The defined language is presented in detail and its expressivity is criticized and compared to OpenMP’s. The conception of OpenWP is then described and the technology choices made are explained. A prototype is presented. The document then shows a proof of concept and a series of performance evaluation of OpenWP used on few programs, among which an industrial mesher used by EADS. An hybrid system based on OpenWP and OpenMP is also described. This system must give OpenWP the ability to exploit the resource hierarchy found in the grid, by using the shared memory multi-processors machines whenever possible through OpenMP. A proof of concept test case is provided and commented.
Abstract FR:
Cette thèse s’inscrit dans un contexte industriel. Elle aborde la problématique du passage de code de calcul scientifique séquentiel à un code de calcul exécutable sur une grille. L’approche proposée dans cette thèse exploite les technologies de worflows pour leur adéquation avec les problèmes rencontrés sur une grille. Après avoir présenté les solutions existantes pour exécuter un workflow sur une grille et une solution pour paralléliser un code séquentiel : openMP, l’auteur présente sa proposition : OpenWP. OpenWP est un environnement proposant un langage d’annotation de code séquentiel à base de directives en vue de sa transformation en workflow, puis le contrôle de l’exécution de ce worflow à travers un moteur tierce partie sur la grille. Un mécanisme de mémoire distribuée virtuellement partagée est proposé. Le langage défini pour OpenWP est détaillé, son expressivité critiquée et comparée à celle d’OpenMP. La conception d’OpenWP est ensuite décrite, ainsi que les choix technologiques qui ont conduit à l’implémentation d’un prototype. La thèse se poursuit par une validation de concept et une série d’évaluations de performances d’OpenWP avec plusieurs applications, dont un mailleur industriel utilisé par EADS. Enfin un système hybride combinant OpenWP et OpenMP est décrit. Ce système doit permettre à OpenWP d’exploiter la hiérarchie de la grille en utilisant les machines multi-processeurs à mémoire partagée lorsque cela est possible, avec OpenMP. Une preuve de concept est apportée sur un cas test simple.