Déploiement adaptatif d'applications parallèles. Algorithme de vol de travail appliqué au déploiement d’applications parallèles sur des grappes de grande taille
Cet article présente une bibliothèque de déploiement d'applications sur grappes de grande taille (milliers de noeuds) nommée Taktuk. Cette bibliothèque est destinée à la réalisation d'outils interactifs et doit donc effectuer l'ensemble d'un déploiement en un temps minimal. Pour cela nous montrons que le comportement des outils de communication standard que nous utilisons suit un modèle classique de communication et nous en déduisons un algorithme théorique de déploiement optimal. Nous présentons alors nos choix d'implémentation qui prennent en compte l'hétérogénéité possible de la plate-forme d'exécution et les incertitudes sur la valeur de certains paramètres. L'évaluation de notre outil met en évidence le fait que notre choix d'utiliser un algorithme de vol de travail au coeur de notre système permet à notre déploiement de rester le plus proche de l'optimal possible tout en étant adaptatif.
This article presents a library named Taktuk for the deployment of applications on large sized clusters (thousands of nodes). This library is conceived for the development of interactive tools and thus has to complete a whole deployment in the shortest time. With this objective in mind, we show that the behavior of standard communication tools that we use can be modelized as a classical communication and we deduce from this a theoretical algorithm for optimal deployment. We then present our implementation choices that take into account the possible heterogeneity of the execution platform and the uncertainties about the value of some parameters. The evaluation of our tool highlights its near optimality and its adaptability that are essentially due to the work-stealing algorithm which is the heart of our system.
C.MARTIN, O.RICHARD, G.HUARD
vol de travail, déploiement, grappe, grille, adaptation, applications parallèles.
work stealing, deployment, cluster, grid, adaptative, parallel applications.
Français
|