Systèmes Distribués
Les Clusters
Préparé par
Dr. Olfa Hamdi-Larbi
[email protected]Les Clusters
• Collection d’ordinateurs autonomes
(nœuds) connectés et travaillant
ensemble comme une ressource
unique et intégrée de calcul
• Nœud = système unique ou
multiprocesseur
• Nœuds peuvent être sis dans le même
local ou géographiquement séparés et
connectés via un LAN
2
un cluster est composé uniquement de composants
standards
Possède une très bonne relation coût/performances
Extensible et devient une des architectures parallèles très
répandue aujourd’hui
L’existence des environnements adaptés permet
aujourd’hui d’arriver à un cluster à la même puissance de
calcul qu’un serveur parallèle MMP ou SMP.
Plusieurs ordinateurs haute performance
Systèmes d’exploitation
Réseaux/Switchs Haute Performance (Gigabit Ethernet et
Myrinet)
Cartes Interface Réseau
Protocoles et Services de Communication rapides (Active et
Fast Messages)
Intergiciel Cluster
Environnements et outils de programmation parallèle
(compilateurs) : PVM (Parallel Virtual Machine), MPI (Message
Passing Interface)
Applications (Séquentielles, parallèles ou distribuées)
Applications Parallèles
Applications Séquentielles Environnements de programmation parallèle
Intergiciel de Cluster
(Image d’un Système Unique et Infrastructure de Disponibilité)
Station de travail PC Station de travail PC Station de travail PC Station de travail PC
Log. Comm Log. Comm Log. Comm Log. Comm
Couche Interface Rés. Couche Interface Rés. Couche Interface Rés. Couche Interface Rés.
Réseau/Switch grande vitesse
5
Le choix du matériel est important pour:
processeur / mémoire
Interface réseau.
Faire attention à :
l'équilibre entre les performances des processeurs
et celui du réseau.
6
7
Nœud maitre:
répartition de travail
Synchronisation
• Nœuds esclaves :
Serveurs classiques
Exécuter du code
8
9
Processeurs:
Eviter de se précipiter sur la dernière technologie
Nombre relatif aux besoins
Mémoires:
Il existe différents types : cache, RAM, stockage
permanent
10
Les disques du cluster sur le bus partagé:
Chaque nœud peut accéder au disque
Le quorum
Situé sur le bus partagé
Concerne le paramétrage et la configuration du
cluster (@ IP, noms réseaux, fichiers log…….)
Composant essentiel d’un cluster
Les cartes d’interfaces réseau
11
1980 1985 1990 1995 2000 2005
Deux types de réseaux sont principalement utilisés : Ethernet et
Myrinet.
• Ethernet : maturité et performances, prix des équipements
(carte d'interface, HUB, switch, ...) permet d'avoir un bon
compromis entre le prix et les performances.
Les débits des équipements : de l'ordre de 100 Mbits/s
(FastEthernet), ce qui est suffisant pour un cluster de petite taille.12
Mais temps de latence (important pour les échanges
de petits messages) sont conséquents.
=> pour certaines applications, le Gigabit Ethernet sera
préférable. : un temps de latence faible mais un coût
financier plus important.
• Myrinet : permet d'atteindre des débits de l'ordre de
2 Gbits/s, offre des temps de latence très faible mais
coût nettement supérieur à la précédente.
API
System Services
Operating System
Bios
14
BIOS : Basic Input/Output System.
Operating System :
• Linux-Unix : Beowulf (Cluster de la NASA), Mosix,
OpenMosix
• BSD : Mosix
• Mac OS : Xgrid
• Windows : windows 2003 cluster server R2
15
System Services :
Remplit les fonctions suivantes :
Gère les objets cluster et leur configuration
Gère la stratégie de redémarrage local
Coordonne son activité avec celle de ses autres
instances exécutées dans le cluster.
Gère la notification des événements
Facilite les communications entre les autres
composants logiciels
16
API : MPI/PVM
Fichier librairie (Ensemble de méthodes)
Intégrées dans le code source des applications
17
• Le cluster exécute plusieurs logiciels :
Le logiciel de cluster: Fait fonctionner le cluster
Le logiciel administratif: Administrer le cluster
18
High Performance Clusters
Load-leveling Clusters
Web-Service Clusters
Storage Clusters
Database Clusters
High Availability Clusters
19
Plusieurs systèmes informatiques à multiprocesseurs
symétriques;
Des interconnexions à grande vitesse;
Ces clusters fonctionnent en tandem pour faire aboutir une
requête unique en divisant la tâche entre les nœuds du serveur;
Ils rassemblent ensuite les résultats et les présentent au client
comme si la tâche avait été effectuée par un seul système.
Beowulf
Linux Cluster;
1000 noeuds;
programmes parallèles MPI
20
21
• Permet à un utilisateur sur un noeud de distribuer sa charge
de travail sur d’autres noeuds du cluster de manière
transparante ce qui peut être utile pour le calcul intensif :
tâches non massivement parallèles et dont le temps
d’exécution est long. ⇒ Gestion de charge (Régulation
automatique de charge)
• fournit les ressources de façon transparente et automatique et
déplace les processus parmi les nœuds pour ne pas gêner les
programmes locaux et augmenter les performances globales.
• Exemple: Mosix est un système de gestion de clusters Linux
et de grilles organisationnelles qui fournit une Single-system
image (SSI), c'est-à-dire couche virtuelle d'un système
d'exploitation. 22
Les clusters basés sur les services web consistent à
collecter des machines en groupes. Chaque groupe
de machines est conçu pour répondre et servir
différentes parties de la demande.
– LVS (Linux Virtual Server), répartit les requêtes entre les
différents serveurs web
– connection tcp,
– replication de données.
23
– GFS(Global File System):serveur de fichiers;
– systèmes de fichiers parallèles open source
(Lustre);
– Même accès (même vue) aux données pour
chaque noeud;
24
– Une base de données de cluster est une collection
de bases de données est accessible par une seule
instance d'un serveur de base de données
courante.
– Oracle Parallel Server( Mysql);
25
- La répartition de la charge de travail sur la
quantité de serveurs disponibles
Garantir l'exécution de tâches même en
cas de panne d'un des nœuds.
Clusters de haute disponibilité
26
• La disponibilité de sous-ensembles standards
(microprocesseurs, cartes mères, disques et cartes d'interface
de réseau) produits en masse, fiables et de faible coût;
• L'existence des logiciels Open source, comme Linux, les
compilateurs GNU et les outils de programmation parallèles
(MPI, PVM);
• L'expérience accumulée par les chercheurs dans les
algorithmes parallèles;
• Le développement des réseaux à hautes performances à base
de composants standard;
• L'augmentation des besoins de calcul dans tous les domaines.
27
Le rapport puissance/prix est très favorable;
Les composants utilisés sont standards, facile à remplacer et peu
onéreux ;
La facilité de mise à jour d’un cluster. Pour un coût minime, de
nouveaux nœuds peuvent être ajoutés, des composants remplacés
pour avoir une machine qui reste optimale et concurrentielle ;
Le système d’exploitation Linux est parfaitement adapté aux
calculs parallèles, stable, efficace et libre (gratuit et code source
disponible);
L’adéquation de l’architecture avec la nature des calculs
à exécuter. 28
• Peu de protocoles prennent en compte les
contraintes introduites par l'architecture de
fédération de grappes de calculateurs;
• Problèmes de stabilité.
29