Globalisation des Ressources Informatiques et des Données Madeleine - Marcel Olivier Aumage Raymond Namyst LIP - ENS Lyon ens-lyon.fr Projet Logiciel RMI
Introduction Madeleine Marcel
Architecture du projet VTHD MyrinetSCI… MadeleineMarcel PadicoTM MPI OpenCCM ProActive PDC Do! DSM Mome CORBA Java VM GK PaCO++ Couplage de code de simulationC3DCroissance de plantes
Architecture du projet VTHD MyrinetSCI… MadeleineMarcel PadicoTM MPI OpenCCM ProActive PDC Do! DSM Mome CORBA Java VM GK PaCO++ Couplage de code de simulationC3DCroissance de plantes
Madeleine, Marcel, PM2 Interface Application PM2 MarcelMadeleine Iso-malloc DSM-PM2 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 Allocation de mémoire iso-adresses Mémoire virtuellement partagée Point d’entrée Gestion des RPC Net-ToolboxToolbox Communication de contrôle Routines TCP Listes Hâchages Tableaux dyn. Arguments Chaînes Allocateur rapide Macros
Madeleine, Marcel Interface Application PM2 MarcelMadeleine Iso-malloc DSM-PM2 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 Allocation de mémoire iso-adresses Mémoire virtuellement partagée Point d’entrée Gestion des RPC Net-ToolboxToolbox Communication de contrôle Routines TCP Listes Hâchages Tableaux dyn. Arguments Chaînes Allocateur rapide Macros
Madeleine Interface générique de communication Support réseau Gestion de session Efficacité Portabilité Richesse fonctionnelle Simplicité
Caractéristiques Adaptativité Protocoles multi-paradigmes VIAmessage passing, remote DMA SCIshared memory, DMA Protocoles à tampons statiques SBP Protocoles multi-modes BIPmessages courts/longs Exhaustivité Support multi-protocole Support multi-adaptateur
Architecture Approche modulaire Module de gestion de tampon (MGT) Module de transmission (MT) Interface Gestion des tampons Gestion de protocole MGT MT 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
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 Réseau à haut débit Réseau haute performance
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 Myrinet SCI Virtuel
Fonctionnement Support des retransmissions multi-réseau Négotiation de MTU Routes statiques Gestion multi-threadée Prise en charge générique Machine MémoireBus PCI Réseau Myrinet LANai Réseau SCI
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 Tampon 1 Tampon 2 Réception Ré-émission LANai
Intégration Module de transmission générique Limitation du code traversé sur les passerelles Interface Gestion des tampons Gestion de protocole MGT MT Réseau MT générique
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 Noeud Marcel Processus Thread Réseau LANai
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 ?
Principe Marcel Processus Thread
Principe Marcel Processus Thread Mode noyau Mode utilisateur
Principe Marcel Processus Thread Mode noyau Mode utilisateur
Principe Marcel Processus Thread Mode noyau Mode utilisateur FKT FUT
Principe Marcel Processus Thread Mode noyau Mode utilisateur FKT FUT Supertrace
Principe Marcel Processus Thread Mode noyau Mode utilisateur FKT FUT Sigmund
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-RMI Madeleine/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