410 likes | 505 Vues
Projet Logiciel RMI. G lobalisation des R essources I nformatiques et des D onnées Madeleine - Marcel. O livier Aumage Raymond Namyst LIP - ENS Lyon Olivier.Aumage@ ens-lyon.fr. Introduction. Madeleine Marcel. Myrinet. VTHD. VTHD. SCI. …. Architecture du projet.
E N D
Projet LogicielRMI Globalisation des Ressources Informatiques et des DonnéesMadeleine - Marcel Olivier AumageRaymond Namyst LIP - ENS Lyon Olivier.Aumage@ens-lyon.fr
Introduction Madeleine Marcel
Myrinet VTHD VTHD SCI … Architecture du projet Couplage de code de simulation C3D Croissance de plantes ProActivePDC PaCO++ OpenCCM Do! GK MPI DSM Mome Java VM CORBA PadicoTM Madeleine Marcel
Myrinet VTHD VTHD SCI … Architecture du projet Couplage de code de simulation C3D Croissance de plantes ProActivePDC PaCO++ OpenCCM Do! GK MPI DSM Mome Java VM CORBA PadicoTM Madeleine Marcel
Madeleine, Marcel, PM2 Application Interface PM2 DSM-PM2 • Point d’entrée • Gestion des RPC • Mémoire virtuellement partagée Iso-malloc • Allocation de mémoire iso-adresses Marcel Madeleine Net-Toolbox Toolbox • Listes • Hâchages • Tableaux dyn. • Arguments • Chaînes • Allocateur rapide • Macros • Gestion des threads • Migration • Exploitation des nœuds SMP • Scheduler activations • Synchronisation • Détection d’événements • Gestion des communications • Paradigme de type passage de message • Support pour RPC et migration • Gestion de session • Interface générique • Communication de contrôle • Routines TCP
Madeleine, Marcel Application Interface PM2 DSM-PM2 • Point d’entrée • Gestion des RPC • Mémoire virtuellement partagée Iso-malloc • Allocation de mémoire iso-adresses Marcel Madeleine Net-Toolbox Toolbox • Listes • Hâchages • Tableaux dyn. • Arguments • Chaînes • Allocateur rapide • Macros • Gestion des threads • Migration • Exploitation des nœuds SMP • Scheduler activations • Synchronisation • Détection d’événements • Gestion des communications • Paradigme de type passage de message • Support pour RPC et migration • Gestion de session • Interface générique • Communication de contrôle • Routines TCP
Madeleine • Interface générique de communication • Support réseau • Gestion de session • Efficacité • Portabilité • Richesse fonctionnelle • Simplicité
Caractéristiques Adaptativité • Protocoles multi-paradigmes • VIA message passing, remote DMA • SCI shared memory, DMA • Protocoles à tampons statiques • SBP • Protocoles multi-modes • BIP messages courts/longs Exhaustivité • Support multi-protocole • Support multi-adaptateur
Architecture • Approche modulaire • Module de gestion de tampon (MGT) • Module de transmission (MT) Interface MGT MGT Gestion des tampons MT MT MT Gestion de protocole Réseau
GRID-RMI: trois axes • Communications • Support des architectures multi-grappes et grilles de grappes • Routage • Multiplexage • Dynamicité • Réactivité • Support au niveau de l’ordonnanceur de threads • Agrégation de requêtes de scrutation • Ajustement de fréquence • Analyse • Gestion de traces et visualisation de chronologies
Communications multi-grappes Routage Déploiement
Réseauà haut débit Réseau haute performance Réseau haute performance Support multi-grappe • Exploitation des Grappes de grappes • Réseaux intra-grappes rapides • Liens inter-grappes rapides • Hétérogénéité au niveau réseau
Virtuel SCI Myrinet Principe • Canaux réels • Liés à un réseau • Ne couvrent pas nécessairement tous les noeuds • Canaux virtuels • Couvrent tous les noeuds • Contiennent plusieurs canaux réels
LANai Réseau Myrinet Réseau SCI Mémoire Bus PCI Machine Fonctionnement • Support des retransmissions multi-réseau • Négotiation de MTU • Routes statiques • Gestion multi-threadée • Prise en charge générique
Ré-émission Tampon 1 Tampon 2 Réception Préservation du débit • Pipeline • Réception et ré-émission simultanée avec 2 tampons • Une copie • Même tampon pour la réception et la ré-émission LANai
Intégration • Module de transmission générique • Limitation du code traversé sur les passerelles Interface MGT MGT Gestion des tampons MT générique MT MT MT Gestion de protocole Réseau
Déploiement • Démarrage de session • Une approche modulaire • Flexibilité • Extensibilité • Deux modules • Madeleine • Communications • Léonie • Contrôle de session
Léonie • Sessions • Configurations multi-grappes • Lancement unifié • Déploiement en rafale • Support pour lanceurs optimisés • Réseau • Constructions des tables d’information • Répertoire des processus • Tables de routages des canaux virtuels • Ordonnancement • Initialisation des cartes, ouverture des canaux
Infrastructure Madeleine Léonie
Résumé des problèmes • Multiplexage • Connexion complète des canaux réels inadaptée • Consommation de ressources • Routage • Routes statiques • Pas de dynamicité • Routes uniques • Risques de déséquilibres • Contrôle de flux • Contentions sur les bus des passerelles • Adéquation du déploiement ?
Dynamicité Support d’architectures évolutives
Points clés Granularité • Niveau processus • Niveau grappes La dynamicité a un coût • Scrutations supplémentaires • Prise en compte du changement de topologie La dynamicité est parfois impossible • Interfaces de communication à lanceur propriétaire • Interfaces sans primitives/potentiel de connexion dynamique
Changement de topologie • Propagation à toute la configuration • Serveur Léonie • Processus applicatifs • Deux conséquences • Vraisemblablement une synchronisation globale • Impact fort sur l’exécution • Prise en charge d’événements asynchrones de Léonie sur les nœuds applicatifs • Nécessité d’un thread dédié • Verrouillages délicats
Changement de topologie Cas du routage multi-réseau • Nécessité d’un recalcul des routes par Léonie • Opération coûteuse • Problème pour les blocs de données en transit sur les passerelles • Routage dynamique ? • Ordre des messages • Refaire IP ?
Conclusion – support dynamicité • Réalisable • pour une dynamicité à gros grain (grappes) • pour une faible dynamicité au niveau processus • Prohibitif • pour une forte dynamicité au niveau processus • Impossible • Interfaces à lanceurs spécifiques • Interfaces sans possibilités de connexions dynamiques • MPI, BIP
Réactivité Threads et scrutations
Support actuel • Interaction avec l’ordonnanceur de threads Marcel • Agrégation de requêtes • Agrégations par canal • Requêtes de niveau bas • Pas de réentrance • Fréquence de scrutation • Contrôle à très gros grain • Timer, yields, idle • Pas de réglages de la fréquence par rapport au réseau
Principe Processus Réseau Noeud Processus LANai Marcel Thread Processus
Objectifs • Prise en charge des requêtes • Scrutations multi-niveau • Meilleure prise en charge de la retransmission sur les passerelles • Scrutations vs. interruptions • Solution mixte ? • Fréquence de scrutation • Favoriser la scrutation fréquente des réseaux efficaces • Notion de priorité des requêtes
Analyse Enregistrement de traces Visualisation de chronologies
Support actuel • Outils • FKT • Fast Kernel Trace • FUT • Fast User Trace • Supertrace • Unification des données FKT/FUT • Sigmund • Analyse des résultats • Status ?
Thread Principe Marcel Processus
Thread Principe Mode utilisateur Marcel Processus Mode noyau
Thread Principe Mode utilisateur Marcel Processus Mode noyau
Thread Principe Mode utilisateur FUT Marcel Processus FKT Mode noyau
Thread Supertrace Principe Mode utilisateur FUT Marcel Processus FKT Mode noyau
Thread Supertrace Principe Mode utilisateur FUT Marcel Sigmund Processus FKT Mode noyau
Objectifs • Mise à jour/finalisation des outils existants • Meilleure interface pour les traces applicatives • Evénements de haut niveau • Outil de visualisation « intelligent » • Chronologie multi-thread/multi-lwp • Communications • Traitement sémantique des informations ? • Support générique • Intégration des traces applicatives et middleware • Interface graphique ?
Conclusion GRID-RMIMadeleine/Marcel
Conclusion Travaux prévus à trois niveaux • Communications multi-grappes/grilles de grappes • Extension des mécanismes de routage • Réactivité et multi-threading • Méthodes de scrutation avancées • Outils d’analyse • Enregistrement de traces • Visualisation d’événements