La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Intergiciel pour l'exécution efficace et fiable d'applications distribuées dans les grilles dynamiques de très grande taille Emmanuel Jeanvoine EDF R&D,

Présentations similaires


Présentation au sujet: "1 Intergiciel pour l'exécution efficace et fiable d'applications distribuées dans les grilles dynamiques de très grande taille Emmanuel Jeanvoine EDF R&D,"— Transcription de la présentation:

1 1 Intergiciel pour l'exécution efficace et fiable d'applications distribuées dans les grilles dynamiques de très grande taille Emmanuel Jeanvoine EDF R&D, INRIA/Équipe-projet PARIS 27 novembre 2007

2 2 Simulation numérique ● Consommation d'importants moyens de calculs ● Applications souvent patrimoniales ● Divers modèles d'applications distribuées – sac de tâches – maître/travailleurs – tâches fortement communicantes – couplage de codes – workflows Temp s

3 3 Évolutions technologiques ● Évolution de l'architecture des micro-processeurs ● Évolution des réseaux longue distance 100H z 4 x 3 Ghz 14 TBits/s300 Bits/s

4 4 Les grilles de calcul SAN WA N LAN SAN LAN Canberr a Barcelon a Oak Ridge Pari s

5 5Problématique SAN WA N LAN SAN LAN Canberr a Barcelon a Oak Ridge Pari s

6 6Problématique SAN WA N LAN SAN LAN Canberr a Barcelon a Oak Ridge Pari s LAN

7 7Problématique SAN WA N LAN SAN LAN Canberr a Barcelon a Oak Ridge Pari s

8 8 Comment soumettre mon application à la grille ? SA N WA N LA N SA N LA NProblématique

9 9 Il y a des ressources très différentes dans la grille, comment trouver celles qui sont nécessaires à mon application ? SA N WA N LA N Problématique SA N

10 10 Est-ce que mon application sera exécutée efficacement si d'autres personnes utilisent la grille en même temps que moi ? SA N WA N LA N Problématique SA N

11 11 Est-ce que mon application pourra être exécutée correctement dans cet environnement volatil ? SA N WA N LA N Problématique SA N

12 12 ● Simplicité d'utilisation ● Efficacité d'exécution ● Support de la volatilité SA N WA N LA N Problématique SA N

13 13 Quelques intergiciels de l'état de l'art

14 14 Quelques intergiciels de l'état de l'art

15 15 Quelques intergiciels de l'état de l'art

16 16 Quelques intergiciels de l'état de l'art

17 17 Quelques intergiciels de l'état de l'art

18 18Objectifs ● Système adapté à la grande échelle et à la dynamicité d'une grille ● Support générique pour l'exécution fiable et efficace d'applications de simulation numérique ● Accès simple à la puissance de calcul

19 19Contributions ● Système adapté à la grande échelle et à la dynamicité d'une grille – Système d'information fondé sur une infrastructure pair-à-pair – Service distribué de gestion des applications ● Support générique pour l'exécution fiable et efficace d'applications de simulation numérique – Gestion automatique du cycle de vie des applications patrimoniales (sac de tâches, maître/travailleur, tâches fortement communicantes, couplage de codes, workflow) ● Accès simple à la puissance de calcul – Interface de type « système à image unique »

20 20 Plan de l'exposé ● Service de gestion d'applications ● Système d'information ● Prototype Vigne et évaluation ● Conclusion et perspectives

21 21 Plan de l'exposé ● Service de gestion d'applications – Qu'est-ce que la gestion d'application ? – Gestion du cycle de vie des applications – Architecture distribuée du service ● Système d'information ● Prototype Vigne et évaluation ● Conclusion et perspectives

22 22 Qu'est-ce que la gestion d'application ? ● L'exécution d'applications sur une grille soulève plusieurs interrogations – À qui s'adresser pour trouver des ressources ? – Comment choisir les ressources ? – Comment déployer une application ? – Comment réagir en cas de défaillance ? ● Notre proposition : service de gestion d'application simplifiant l'utilisation d'une grille – Prise en charge du cycle de vie des applications depuis la soumission jusqu'à la récupération des résultats

23 23 Principe de base de la gestion de cycle de vie Interrogation du système d'information Transfert des fichiers d'entrée Allocation des ressources Exécution de l'application réalisée avec succès Transfert des fichiers de sortie Soumission de l'application

24 24 ● 3 types de dépendances entre les tâches d'une application – Synchronisation : les tâches doivent être exécutées simultanément – Spatiale : les tâches doivent être exécutées sur des ressources permettant une bonne communication réseau – Précédence : certaines tâches ont besoin du résultat d'autres tâches pour être exécutées Temps Synchronisati on Spatial e Précédenc e Prise en charge des applications distribuées

25 25 Interrogation du système d'information Transfert des fichiers d'entrée Allocation des ressources Exécution de la tâche réalisée avec succès Transfert des fichiers de sortie Soumission de la tâche Test des dépendances de précédence Synchronisation avec les autres tâches du groupe Transfert des fichiers de dépendances Notification des tâches dépendantes ● Gestion indépendante du cycle de vie de chaque tâche d'une application Dépendances spatiales Dépendances de synchronisation Dépendances de précédence Gestion de cycle de vie supportant les applications distribuées

26 26 Interrogation du système d'information Transfert des fichiers d'entrée Allocation des ressources Exécution de la tâche réalisée avec succès Transfert des fichiers de sortie Surveillance de l'exécution de la tâche Soumission de la tâche Test des dépendances de précédence Synchronisation avec les autres tâches du groupe Transfert des fichiers de dépendances Notification des tâches dépendantes ● Défaillances pouvant être gérées par le GCV d'une seule tâche Gestion de cycle de vie supportant les défaillances

27 27 Échec pour l'exécution du groupe de tâches ● Défaillances impliquant un groupe de tâches Interrogation du système d'information Transfert des fichiers d'entrée Allocation des ressources Exécution de la tâche réalisée avec succès Transfert des fichiers de sortie Surveillance de l'exécution de la tâche Soumission de la tâche Test des dépendances de précédence Synchronisation avec les autres tâches du groupe Transfert des fichiers de dépendances Notification des tâches dépendantes Gestion de cycle de vie supportant les défaillances

28 28 Gestion de cycle de vie guidée par un moteur externe de pilotage ● De nombreuses applications utilisent un moteur de workflow – Utilisation de la sémantique des applications pour piloter leur cycle de vie ● Notre approche – Définition d'une interface pour les moteurs externes de pilotage ● Soumission d'une application ● Ajout dynamique de tâches dans une application ● Notification pour traiter les relations de précédence entre les tâches d'un workflow ● Transferts de fichiers pilotés depuis le moteur externe – Modification du gestionnaire de cycle de vie d'une tâche pour supporter le pilotage depuis un moteur externe

29 29 Interrogation du système d'information Transfert des fichiers d'entrée Allocation des ressources Exécution de la tâche réalisée avec succès Transfert des fichiers de sortie Surveillance de l'exécution de la tâche Soumission de la tâche Test des dépendances de précédence Synchronisatio n avec les autres tâches du groupe Transfert des fichiers de dépendances Notification des tâches dépendantes Échec pour l'exécution du groupe de tâches Gestion de cycle de vie guidée par un moteur externe de pilotage

30 30 SA N W AN LA N SA N LA N Gestion d'un grand nombre d'applications

31 31 ● Un gestionnaire d'application par application – Créé automatiquement à la soumission de l'application – Responsable de toutes les tâches de l'application – Répartition probabiliste des gestionnaires d'application sur la grille – Bénéfices ● Pas de point d'entrée unique pour la soumission des applications ● Gestion répartie du cycle de vie des différentes applications ● Gestion des fichiers répartie ● Besoin d'un gestionnaire d'application stable (travaux de thèse de Louis Rilling) – Hautement disponible : réplication active – Accessible : routage dans un réseau logique structuré Architecture distribuée du service

32 32 ● Proposition d'un service de gestion d'application – Gestion du cycle de vie complet des applications – Support d'une large gamme d'applications distribuées (dont celles pilotées par un moteur externe de workflow) – Exécution efficace d'applications composées de tâches communicantes – Exécution fiable d'applications grâce à des mécanismes de supervision – Architecture distribuée adaptée à la grande échelle d'une grille et à de nombreux utilisateurs – Service hautement disponibleBilan

33 33 Plan de l'exposé ● Service de gestion d'applications ● Système d'information – Rôle – État de l'art – Notre approche ● Système d'information fondé sur un réseau pair-à-pair ● Protocole de découverte de ressources optimisé pour une utilisation dans un contexte de grille ● Prototype Vigne et évaluation ● Conclusion et perspectives

34 34 Rôle d'un système d'information SAN WA N LAN SAN LAN Comment trouver 5 nœuds de type Opteron, dotés de 4 Go de RAM et d'au moins 200 Mo d'espace disque libre ?

35 35 ● Gestion d'un grand nombre d'informations dynamiques ● Expression des besoins pour l'application – Multiples critères (nombre inconnu) – Critères pouvant être définis par plage de valeurs – Critères statiques et dynamiques ● Capacité à trouver des ressources libres ● Capacité à trouver des ressources rares Rôle d'un système d'information

36 36 État de l'art

37 37 État de l'art

38 38 ● Architecture fondée sur un réseau logique non structuré – Recherches complexes – Tolérance à la volatilité – Simplicité de mise à jour ● Requêtes de découverte de ressources propagées par marches aléatoires – Meilleur passage à l'échelle que l'inondation classique ● Optimisation du protocole de marches aléatoires – Réduction du temps de recherche – Réduction de la bande passante consommée – Favoriser la découverte de ressources non allouées – Amélioration de la découverte de ressources rares Système d'information complètement distribué

39 39 ● Utilisation de caches pour enregistrer l'état de certains nœuds du réseau (caractéristiques et date de dernière allocation) – Augmenter la vitesse de découverte des ressources – Réduire le nombre de requêtes (bande passante) ● Politique de gestion de caches favorisant les ressources non- allouées – Ajout des résultats non utilisés après une découverte de ressources – Éviction des nœuds les plus récemment alloués si le cache est plein ● Éviter la découverte de ressources allouées – Coopération des caches en diffusant les informations découvertes non utilisées et en avertissement de l'allocation de certains nœuds ● Augmenter la vitesse de remplissage des caches ● Éviter la découverte de ressources allouées Principes de l'optimisation

40 40 Je veux 2 ressourcesExemple

41 41 → Marche aléatoireExemple OKOK OKOK

42 42 → Réponse à la requête OKOK OKOKExemple

43 43 → Sélection de ressources Je choisisExemple

44 44 → Enregistrement de la date d'allocationExemple

45 45 → Diffusion des informations découvertesExemple

46 46Exemple

47 47 Je veux 2 ressourcesExemple

48 48 → Interrogation directe OKOKExemple

49 49 → Marche aléatoire OKOK OKOKExemple

50 50 OKOK OKOKExemple

51 51 Je choisisExemple

52 52Exemple

53 53Exemple

54 54Exemple

55 55 → Avertissement de l'allocationExemple

56 56 → Diffusion de l'avertissement d'allocationExemple

57 57Bilan ● Proposition d'un système d'information fondé sur l'utilisation d'un réseau logique non structuré – Conservation des bénéfices des réseaux logiques non-structurés ● Tolérant à la volatilité des nœuds ● Adapté à l'échelle d'une grille de grande taille ● Supportant les recherches complexes – Limitation des inconvénients des réseaux logiques non-structurés : protocole de découverte de ressources optimisé pour le contexte de l'allocation de ressources dans les grilles ● Augmentation des chances de découvrir des ressources libres ● Temps de découverte réduit ● Bande passante réduite ● Amélioration de la découverte de ressources rares

58 58 Plan de l'exposé ● Service de gestion d'applications ● Système d'information ● Prototype Vigne et évaluation ● Conclusion et perspectives

59 59Prototype ● Prototype fonctionnel qui étend le prototype Vigne développé par Louis Rilling ● 30 000 lignes de code C, exécutable sous GNU/Linux ● Simulation et exécution réelle Réseau pair-à-pair structuré Réseau pair-à-pair non-structuré Couche de communication Transfert de fichiers Système d'information Allocation de ressources Gestion d'application Interface avec les moteurs externes Interface utilisateur Interface avec les ressources

60 60Évaluation ● Évaluation par simulation du système d'information – Étude du coût en bande passante – Étude du temps de découverte de ressources ● Expérimentations sur Grid'5000 – Passage à l'échelle de l'infrastructure pair-à-pair – Efficacité de l'ordonnancement distribué – Efficacité du placement des tâches communicantes – Fiabilité de l'exécution ● Évaluation en contexte industriel avec la plate-forme SALOME – Exécution d'une application industrielle (workflow de couplage de codes)

61 61 Exécution fiable : plate-forme expérimentale Re nne s Ors ay Na ncy Sop hia so l azu r grillo n grelo n gd x paras ol parave nt paraqua d ● 402 nœuds ● 4 sites de Grid'5000

62 62 Exécution fiable ● Exécution de 201 tâches indépendantes ● Injection aléatoire de 53 défaillances (SIGKILL) ● Détection des défaillances par les gestionnaires de cycle de vie et redémarrage des tâches – 45 tâches ont subi une défaillance, 4 tâches ont subi 2 défaillances – Toutes les tâches ont été exécutées sans l'intervention de l'utilisateur

63 63 Exécution d'une application industrielle ● Moteur externe de pilotage : ● Application industrielle non modifiée : Code_Saturne/Syrthes Pré-traitement Code_Saturne Syrthes Post- traitement Visualisation Fichier de maillage pour Code_saturne Fichier de maillage pour Syrthes Fichier de résultat couplag e Fichiers de maillage découpé

64 64 Exécution d'une application industrielle ● Plate-forme expérimentale : grappe de 12 nœuds ● Faisabilité ● Efficacité du placement des tâches SA N

65 65 Plan de l'exposé ● Service de gestion d'applications ● Système d'information ● Prototype Vigne et évaluation ● Conclusion et perspectives

66 66Conclusion ● Service de gestion d'application – Gestion du cycle de vie d'une large gamme d'applications distribuées (dont couplages de codes et workflows) – Exécution fiable et efficace d'applications patrimoniales ● Système d'information tolérant aux défaillances et adapté à l'échelle d'une grille – Fondé sur un réseau P2P non structuré et sur une optimisation du concept de marches aléatoires – Adapté aux recherches complexes – Capable de trouver des ressources rares

67 67Conclusion ● Prototype fonctionnel ● Évaluation expérimentale de nos contributions – Grande échelle : simulation/Grid'5000 – Contexte industriel : utilisation d'une plate-forme de simulation numérique comme moteur de workflow et exécution d'une application réelle non modifiée

68 68Perspectives ● Enrichissement et évaluation du prototype ● Valorisation – Transfert dans le projet européen XtreemOS (système d'information, support pour les applications distribuées) ● Tolérance aux défaillances – Points de reprise (système et applications) – Cohérence entre les mécanismes de tolérance aux défaillances des différents niveaux de la grille (thèse de Thomas Ropars) ● Déploiement d'application – Prise en compte du modèle de programmation des applications (thèse de Boris Daix)

69 69 Merci pour votre attention ! http://www.irisa.fr/paris/Vigne

70 70 Cas des ressources rares ● Lacune de la découverte de ressources par marches aléatoires : non exhaustivité des recherches – recherches lentes et coûteuses en bande passante – recherches potentiellement infructueuses ● Notre proposition – auto-évaluation de la rareté des ressources – pro-activité pour éviter que les ressources rares ne soient jamais découvertes ● marches aléatoires longues ● cache de ressources rares

71 71 Passage à l'échelle de l'infrastructure P2P ● Émulation de 500, 1000 et 2000 nœuds sur 100 nœuds physiques de la grappe rennaise de Grid'5000 ● Simulation de la volatilité des nœuds – arrivées toutes les 35 minutes en moyenne – durée de présence de 30 minutes en moyenne

72 72 Ordonnancement distribué ● Utilisation de 449 nœuds de Grid'5000 répartis sur 5 sites ● Exécution d'un sac de 898 tâches Répartition de la capacité des ressources Répartition des exécutions

73 73 ● Utilisation de 376 nœuds (752 CPU) répartis sur 6 sites Grid'5000 ● Exécution de 50 instances d'une application MPI composée de 4 processus Aucune optimisation du placement des tâches communicantes Mécanismes de Vigne pour le placement des tâches communicantes Efficacité d'exécution d'applications communicantes

74 74 Incidence de la rareté des ressources sur le coût du système d'information ● Simulation d'une grille de 500 nœuds ● 500 requêtes de découvertes de ressources 1 type de ressource 8 types de ressources

75 75 Incidence de la charge de la grille sur le temps de découverte de ressources ● Simulation d'une grille de 500 nœuds ● 8 types de ressources ● Durée d'une tâche : 500 UTV Soumission de 50 tâches Soumission de 500 tâches

76 76 Incidence de la charge de la grille sur le coût d'une découverte de ressources ● Simulation d'une grille de 500 nœuds ● Soumission de 100 tâches 100 instructions par tâche 500 instructions par tâche


Télécharger ppt "1 Intergiciel pour l'exécution efficace et fiable d'applications distribuées dans les grilles dynamiques de très grande taille Emmanuel Jeanvoine EDF R&D,"

Présentations similaires


Annonces Google