Title: Les clusters
1Les clusters
- Cédric LHERM
- Ingénieurs 2000
- 5ème année
2Sommaire
- Présentation quest ce que le clustering ?
- Problématique (problèmes darchitecture)
- Les clusters dapplications
- architecture
- algorithmes utilisés
- librairies
- exemples
- Les clusters de fichiers
- conception
- structure des fichiers
- statistiques
- Conclusion
3Quest ce que le clustering ?
- Définition
- Méthode permettant daccélérer lexécution dun
programme informatique en divisant celui-ci en
multiples segments exécutés simultanément sur
différentes machines
4Quelques mots de vocabulaire
- Node
- Poste client connecté au réseau et capable
dexécuter du code informatique sous lordre dun
serveur. - Node Server
- Serveur du cluster dordinateurs. 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.
5Problématique
- Exécution dune application partagée entre
plusieurs ordinateurs dun réseau - Hétérogénéité des différentes machines (Sun,
GNU/Linux, Windows NT, ) - Partage de la charge
- Temps de latence
61ère partie
Les clusters dapplications
7Pourquoi des clusters dapplication ?
- Possibilité dutiliser 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
8Comparaison
- Architecture multiprocesseurs
- coût important
- maximum de 16 processeurs (systèmes Linux)
- calculs rapides
- accès facile à lapplication 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
9Architecture 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
10Exemple darchitecture multiprocesseurs
Répartition de lapplication
Code résident dans la mémoire commune aux trois
processeurs
CPU 1
CPU 2
CPU 3
Mémoire
11Architecture 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
12Architecture en clusters
- Concepts
- partage de lexécution dune application entre
plusieurs machine dun réseau - redondance
- haute disponibilité
- accélération des temps dexécution façon
significative - problème de charge réseau échange de messages
- temps de latence
13Architecture en clusters
Application
Echange de messages
Node Server
Node
Node
14Comment ça marche ?
- Algorithmes utilisés
- méthode de partage du calcul des boucles
dexécution (for, while) - délégation des calculs
- redondance
- échange de messages
15Partage du calcul des boucles
- Exemple de Programme C séquentiel
- int sum 0
- for (i 0 i lt 1000 i)
-
- sum i 50
-
-
16Partage du calcul des boucles
- Programme partagé dans un cluster de deux
machines
Server Node Node
int nb_node 2 int num_node 0 int sum 0 create_cluster_group ( cal ) for (int i 0 i lt 1000 i nb_node) sum i 20 sum get_result () int nb_node 2 int num_node 1 int sum 0 join_cluster_group ( cal ) for (int inum_node ilt1000 i nb_node) sum i 20 return sum
17Partage du calcul des boucles
- Bilan
- nécessite un code approprié
- écriture des sources plus difficiles
- langages supportés C et Fortran
- partage dinformation sur le réseau
- lapplication  fork un processus dune machine
à une autre machine du réseau
18É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
19Émission de messages
- Librairies permettant de passer des messages
- PVM (Parallel Virtual Machine)
- MPI (Message Passing Interface)
- AFAPI (Aggregate Function API)
20PVM (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
21MPI (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
22AFAPI (Aggregate Function API)
- Normalisation de la librairie PAPERS (Purdues
Adapter for Parallel Execution and Rapid
Synchronisation) - Proche du matériel
- Rapide
23Émission de messages
- Bilan
- protocole haut niveau de communication client /
serveur afin dimplé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)
24Exemples dutilisation
- 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
25Exemples dutilisation
- ASCI White
- processeur IBM RS6000 SP Power3 Ã 375 MHz
- 12,3 trillions dopérations par seconde
- 8192 processeurs
- 6 téra octets de mémoire vive
262ème partie
Les clusters de fichiers
27Les clusters de fichiers
- mise en place de sauvegardes fiables et de gros
volume - sécurité
- redondance
- multi-sites
- pratiques
- facilement administrables
28Les 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
29Les clusters de fichiers
- MFS Mosix File System
- Méthode daccè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
30Structure des fichiers
MetaUnit contrôle les inodes et les
emplacements des fichiers
DataStructure Plus petite unité de stockage (1
Mb à 4 Gb) autonome
31Composants MOPI
Niveau utilisateur et application
Démons Interface shell
Niveau système
32Statistiques
- Comparaison MFS / NFS
- 60 stations de travail
- Architecture Pentium III 1,3 GHz 512 Mo disque
dur, 20 Go disque dur.
Block Access Method Access Method Access Method
Block Local MFS NFS
1 K 14,4 18 162
4 K 13,2 15,4 162
8 K 13 15 161,6
16 K 13 15 162
32 K 13,8 15,4 162,8
64 K 14,2 16,4 163
33Conclusion clusters de fichiers
- stockage massif de données
- haute disponibilité
- sécurité
- rapidité
34Quelques références
- Sous Linux
- beowolf
- Optimisation du taux doccupation de la bande
passante - Nombre important de nodes sur le réseau local
- mosix
- Nécessite de patcher le noyau linux
- Load balancing dynamique
35Conclusion
- Le clustering est particulièrement adapté pour
les applications industrielles nécessitant des
temps de calculs importants génome, calculs
dimages 3D, - Il est également utile pour le stockage sécurisé
dun volume important de données. - Ces points font des clusters un axe de
développement très prisé par le monde industriels.