Introduction à la Recherche en Laboratoire Transferts de données pour le vol de travail Tristan Darricau tristan.darricau@ensimag.grenoble-inp.fr 26 mai 2014 Grenoble INP - ENSIMAG Ecadrement Frédéric Wagner Structure d accueil Equipe MOAIS Laboratoire INRIA
Introduction Plateformes de calcul De nos jours les plateformes de calcul gagnent en importance et en puissance mais sont de plus en plus hétérogènes telles que Grid 5000 1 Plusieurs approches pour la parallélisation Utilisation de bibliothèque de communication telles que MPI 2 Programmation par dataflow, comme implémenté dans Kaapi[3] 1. https ://www.grid5000.fr 2. http ://www.mcs.anl.gov/research/projects/mpi 2 / 14
1 Première partie Contexte : Vol de travail 1. Définition d un programme 2. Vol de travail 3. Problème posé
Définition d un programme Donnée Représente un élément en mémoire à un instant donné Tâche Représente un calcul Peut dépendre de données Peut produire de nouvelles données Figure: Représentation d un graphe de taches simple 4 / 14
Vol de travail[1] Principe d ordonnancement Pile locale de tâches à exécuter par processus Demande à un processus distant quand la pile est vide Figure: Illustration d un vol de travail 5 / 14
Problème posé Problème : Absence de communications globales A la différence de MPI et des autres bibliothèque de communication, l algorithme de vol de travail ne permet pas d effectuer des communication globale (broadcast), ce qui l empêche d exploiter le réseau au maximum. Objectif Pallier à cette absence de la manière la plus performante possible. 6 / 14
2 Deuxième partie Algorithme proposé 4. Principe 5. Architecture 6. Expérimentations
Principe : Découpage des données Objectif Paralléliser la récupération des données sur plusieurs hôtes distants afin d effectuer un broadcast transparent et d en approcher les performances au maximum. Découpage des données en blocs Demandes de blocs de donnée (au lieu de demander la donnée entière) 8 / 14
Architecture Les données sont liés à un hôte et non à un processus Chaque hôte exécute 2 types de processus. Des processus de calcul Ils possèdent tous une pile locale de tâches à exécuter. Ils effectuent les calculs. Un processus de communication Il effectue toutes les communications réseau et se charge donc de récupérer les tâches et données à la demande des processus de calcul. 9 / 14
Protocole de communication Figure: Exemple de communication 10 / 14
Conditions Implémentation : Utilisation de Simgrid 3, un simulateur à évènements discrets. Environnement d exécution simulé : 5 machines ayant une puissance de 1.0Gf 2 threads de calcul par machine Pas de limitations sur les liens réseau Programme simulé : Graphe de type fork and join [2] de profondeur 4 contenant environ 600 tâches et 600 données. Demande à 2 hôtes distants sélectionnés au hasard Variable : Nombre de blocs Indicateur : Temps total d exécution de la simulation. Présentation de la moyenne des temps observés sur 10 simulations. 3. http ://simgrid.gforge.inria.fr 11 / 14
Résultats Figure: Durée moyenne de la simulation en fonction du nombre de blocs 12 / 14
Conclusion Travail réalisé Simulation d une évolution de l algorithme de vol de travail Montre une réduction du temps total d exécution Perspectives Étudier l impact sur d autres indicateurs Temps de communication Volume de communication Temps de communication par tâche/donnée... Étudier l impact d autres paramètres Topologie du réseau Taille des données... 13 / 14
Bibliographie Nimar S. Arora, Robert D. Blumofe, and C. Greg Plaxton. Thread scheduling for multiprogrammed multiprocessors. In Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures, SPAA 98, pages 119 129, New York, NY, USA, 1998. ACM. François Baccelli, William A. Massey, and Don Towsley. Acyclic fork-join queuing networks. J. ACM, 36(3) :615 642, July 1989. Thierry Gautier, Xavier Besseron, and Laurent Pigeon. Kaapi : A thread scheduling runtime system for data flow computations on cluster of multi-processors. In Proceedings of the 2007 International Workshop on Parallel Symbolic Computation, PASCO 07, pages 15 23, New York, NY, USA, 2007. ACM. 14 / 14