380 likes | 550 Views
Les clusters. Cédric LHERM Ingénieurs 2000 5ème année. Sommaire. Présentation : qu’est ce que le clustering ? Problématique (problèmes d’architecture) Les clusters d’applications architecture algorithmes utilisés librairies exemples Les clusters de fichiers conception
E N D
Les clusters Cédric LHERM Ingénieurs 2000 5ème année
Sommaire • Présentation : qu’est ce que le clustering ? • Problématique (problèmes d’architecture) • Les clusters d’applications • architecture • algorithmes utilisés • librairies • exemples • Les clusters de fichiers • conception • structure des fichiers • statistiques • Conclusion Cédric LHERM Ingénieurs 2000 5ème année
Qu’est ce que le clustering ? Définition : Méthode permettant d’accélérer l’exécution d’un programme informatique en divisant celui-ci en multiples segments exécutés simultanément sur différentes machines Cédric LHERM Ingénieurs 2000 5ème année
Quelques mots de vocabulaire Node : Poste client connecté au réseau et capable d’exécuter du code informatique sous l’ordre d’un serveur. Node Server : Serveur du cluster d’ordinateurs. Il est responsable de la répartition du travail entre les différents postes clients ainsi que de leur synchronisation. Il récupère également les erreurs et les résultats des calculs. Cédric LHERM Ingénieurs 2000 5ème année
Problématique • Exécution d’une application partagée entre plusieurs ordinateurs d’un réseau • Hétérogénéité des différentes machines (Sun, GNU/Linux, Windows NT, …) • Partage de la charge • Temps de latence Cédric LHERM Ingénieurs 2000 5ème année
1ère partie Les clusters d’applications Cédric LHERM Ingénieurs 2000 5ème année
Pourquoi des clusters d’application ? • Possibilité d’utiliser les ressources matérielles de machines peu utilisées. • Capacités grandissante des réseaux informatiques • Prix du matériel informatique en constante baisse. • Compatibilité et hétérogénéité • Lenteur des réseaux informatique • Administration système des processus Cédric LHERM Ingénieurs 2000 5ème année
Comparaison Architecture multiprocesseurs • coût important • maximum de 16 processeurs (systèmes Linux) • calculs rapides • accès facile à l’application et à la mémoire Architecture en clusters • utilisation de machines du réseau • coût de mise en œuvre relativement abordable • architecture client serveur difficile à mettre en place • nécessite une bande passante importante Cédric LHERM Ingénieurs 2000 5ème année
Architecture multiprocesseurs Concepts : • la mémoire physique est accessible depuis tous les microprocesseurs • le code source résidant en mémoire est lui aussi visible par tous les microprocesseurs • le noyau se charge de répartir les calculs importants (et prévus à cet effet) entre les processeurs Cédric LHERM Ingénieurs 2000 5ème année
Exemple d’architecture multiprocesseurs Répartition de l’application Code résident dans la mémoire commune aux trois processeurs CPU 1 CPU 2 CPU 3 Mémoire Cédric LHERM Ingénieurs 2000 5ème année
Architecture multiprocesseurs Bilan : • mise en place aisée • coût important • limites de développement • problème de redondance • nécessite du code écrit pour être exécuté sur plusieurs processeurs en parallèle • accès à la mémoire • accès au code Cédric LHERM Ingénieurs 2000 5ème année
Architecture en clusters Concepts : • partage de l’exécution d’une application entre plusieurs machine d’un réseau • redondance • haute disponibilité • accélération des temps d’exécution façon significative • problème de charge réseau : échange de messages • temps de latence Cédric LHERM Ingénieurs 2000 5ème année
CPU CPU CPU Mémoire Mémoire Mémoire Architecture en clusters Application Echange de messages Node Server Node Node Cédric LHERM Ingénieurs 2000 5ème année
Comment ça marche ? Algorithmes utilisés : • méthode de partage du calcul des boucles d’exécution (for, while) • délégation des calculs • redondance • échange de messages Cédric LHERM Ingénieurs 2000 5ème année
Partage du calcul des boucles Exemple de Programme C séquentiel : int sum = 0; for (i = 0; i < 1000; i++) { sum += i * 50; } Cédric LHERM Ingénieurs 2000 5ème année
Partage du calcul des boucles Programme partagé dans un cluster de deux machines : Cédric LHERM Ingénieurs 2000 5ème année
Partage du calcul des boucles Bilan : • nécessite un code approprié • écriture des sources plus difficiles • langages supportés : C et Fortran • partage d’information sur le réseau • l’application « fork » un processus d’une machine à une autre machine du réseau Cédric LHERM Ingénieurs 2000 5ème année
Émission de messages Concepts : • application client / serveur • émission des informations propres à un processus vers la node cliente afin que cette dernière puisse exécuter le code (« fork » sur le réseau ) • librairies portables • bande passante importante Cédric LHERM Ingénieurs 2000 5ème année
Émission de messages Librairies permettant de passer des messages : • PVM (Parallel Virtual Machine) • MPI (Message Passing Interface) • AFAPI (Aggregate Function API) Cédric LHERM Ingénieurs 2000 5ème année
PVM (Parallel Virtual Machine) • Passage de messages • Librairie libre de droits • Portable • Implémentée dans les couches supérieures du modèle OSI (au dessus des sockets) • Réseaux hétérogènes Cédric LHERM Ingénieurs 2000 5ème année
MPI (Message Passing Interface) • Nouveau standard dans les librairies de passage de messages • Programmation simplifiée • Différentes implémentations : • LAM (Local Area Multicomputer) MPI 1.1 • MPICH (MPI CHameleon) MPI 1.1 • AFMPI (Aggregate Function MPI) MPI 2.0 Cédric LHERM Ingénieurs 2000 5ème année
AFAPI (Aggregate Function API) • Normalisation de la librairie PAPERS (Purdue’s Adapter for Parallel Execution and Rapid Synchronisation) • Proche du matériel • Rapide Cédric LHERM Ingénieurs 2000 5ème année
Émission de messages Bilan : • protocole haut niveau de communication client / serveur afin d’implémenter les systèmes en cluster • portable et fonctionnant sur des systèmes hétérogènes • gourmand en bande passante (entre 20 et 50 Mbits par seconde) • demande de faible temps de latence (moins de 200 ms) Cédric LHERM Ingénieurs 2000 5ème année
Exemples d’utilisation Earth Simulator • Architecture NEC SX • 640 nodes • 8 processeurs par node • 16 Gb de mémoire par node • 5120 processeurs • 40 téra instructions par seconde • 10 téra octets de mémoire • 700 téra octets de disque dur Cédric LHERM Ingénieurs 2000 5ème année
Exemples d’utilisation ASCI White • processeur IBM RS6000 SP Power3 à 375 MHz • 12,3 trillions d’opérations par seconde • 8192 processeurs • 6 téra octets de mémoire vive Cédric LHERM Ingénieurs 2000 5ème année
2ème partie Les clusters de fichiers Cédric LHERM Ingénieurs 2000 5ème année
Les clusters de fichiers • mise en place de sauvegardes fiables et de gros volume • sécurité • redondance • multi-sites • pratiques • facilement administrables Cédric LHERM Ingénieurs 2000 5ème année
Les clusters de fichiers Exemple MOPI (Mosix) Principes : • partage de fichiers entre plusieurs nodes • fragments de données indépendants • stockages de fichiers de grande taille • redondance • accès transparent aux fichiers Cédric LHERM Ingénieurs 2000 5ème année
Les clusters de fichiers MFS : Mosix File System Méthode d’accès aux fichiers : • un ou plusieurs serveurs dédiés • Meta Manager (MM) dont le rôle est de gérer les fichiers, les segments mémoire, les suppressions, … • Migration des processus Cédric LHERM Ingénieurs 2000 5ème année
Structure des fichiers MetaUnit : contrôle les inodes et les emplacements des fichiers DataStructure : Plus petite unité de stockage (1 Mb à 4 Gb) autonome Cédric LHERM Ingénieurs 2000 5ème année
Composants MOPI Niveau utilisateur et application Démons Interface shell Niveau système Cédric LHERM Ingénieurs 2000 5ème année
Statistiques Comparaison MFS / NFS : • 60 stations de travail • Architecture Pentium III 1,3 GHz 512 Mo disque dur, 20 Go disque dur. Cédric LHERM Ingénieurs 2000 5ème année
Conclusion clusters de fichiers • stockage massif de données • haute disponibilité • sécurité • rapidité Cédric LHERM Ingénieurs 2000 5ème année
Quelques références Sous Linux : • beowolf : • Optimisation du taux d’occupation de la bande passante • Nombre important de nodes sur le réseau local • mosix : • Nécessite de patcher le noyau linux • Load balancing dynamique Cédric LHERM Ingénieurs 2000 5ème année
Conclusion Le clustering est particulièrement adapté pour les applications industrielles nécessitant des temps de calculs importants : génome, calculs d’images 3D, … Il est également utile pour le stockage sécurisé d’un volume important de données. Ces points font des clusters un axe de développement très prisé par le monde industriels. Cédric LHERM Ingénieurs 2000 5ème année