Vous êtes sur la page 1sur 35

Les clusters

Cdric LHERM
Ingnieurs 2000
5me anne
Sommaire
Prsentation : quest ce que le clustering ?
Problmatique (problmes darchitecture)
Les clusters dapplications
architecture
algorithmes utiliss
librairies
exemples
Les clusters de fichiers
conception
structure des fichiers
statistiques
Conclusion
Cdric LHERM Ingni
Quest ce que le clustering ?

Dfinition :

Mthode permettant dacclrer lexcution


dun programme informatique en divisant
celui-ci en multiples segments excuts
simultanment sur diffrentes machines

Cdric LHERM Ingni


Quelques mots de vocabulaire

Node :
Poste client connect au rseau et capable dexcuter
du code informatique sous lordre dun serveur.

Node Server :
Serveur du cluster dordinateurs. Il est responsable de
la rpartition du travail entre les diffrents postes
clients ainsi que de leur synchronisation. Il rcupre
galement les erreurs et les rsultats des calculs.
Cdric LHERM Ingni
Problmatique
Excution dune application partage entre
plusieurs ordinateurs dun rseau
Htrognit des diffrentes machines
(Sun, GNU/Linux, Windows NT, )
Partage de la charge
Temps de latence

Cdric LHERM Ingni


1re partie

Les clusters dapplications

Cdric LHERM Ingni


Pourquoi des clusters dapplication ?
Possibilit dutiliser les ressources matrielles de
machines peu utilises.
Capacits grandissante des rseaux informatiques
Prix du matriel informatique en constante baisse.
Compatibilit et htrognit

Lenteur des rseaux informatique


Administration systme des processus

Cdric LHERM Ingni


Comparaison

Architecture multiprocesseurs
cot important
maximum de 16 processeurs (systmes Linux)
calculs rapides
accs facile lapplication et la mmoire
Architecture en clusters
utilisation de machines du rseau
cot de mise en uvre relativement abordable
architecture client serveur difficile mettre en place
ncessite une bande passante importante

Cdric LHERM Ingni


Architecture multiprocesseurs

Concepts :
la mmoire physique est accessible depuis tous
les microprocesseurs
le code source rsidant en mmoire est lui aussi
visible par tous les microprocesseurs
le noyau se charge de rpartir les calculs
importants (et prvus cet effet) entre les
processeurs

Cdric LHERM Ingni


Exemple darchitecture
multiprocesseurs
Rpartition de lapplication

Code
rsident dans
la mmoire
CPU 1 CPU 2 CPU 3 commune
aux trois
processeurs

Mmoire
Cdric LHERM Ingni
Architecture multiprocesseurs

Bilan :
mise en place aise
cot important
limites de dveloppement
problme de redondance
ncessite du code crit pour tre excut sur
plusieurs processeurs en parallle
accs la mmoire
accs au code

Cdric LHERM Ingni


Architecture en clusters
Concepts :
partage de lexcution dune application entre plusieurs
machine dun rseau
redondance
haute disponibilit
acclration des temps dexcution faon significative
problme de charge rseau : change de messages
temps de latence

Cdric LHERM Ingni


Architecture en clusters

Application

Echange de messages

Node Server Node Node

CPU CPU CPU

Mmoire Mmoire Mmoire

Cdric LHERM Ingni


Comment a marche ?

Algorithmes utiliss :
mthode de partage du calcul des boucles
dexcution (for, while)
dlgation des calculs
redondance
change de messages

Cdric LHERM Ingni


Partage du calcul des boucles

Exemple de Programme C squentiel :

int sum = 0;
for (i = 0; i < 1000; i++)
{
sum += i * 50;
}

Cdric LHERM Ingni


Partage du calcul des boucles
Programme partag dans un cluster de deux machines :
Server Node Node
int nb_node = 2; int nb_node = 2;
int num_node = 0; int num_node = 1;
int sum = 0; int sum = 0;
create_cluster_group ( cal );
join_cluster_group ( cal );
for (int i = 0; i < 1000; i += nb_node) for (int i=num_node; i<1000; i +=nb_node)
{ {
sum += i * 20; sum += i * 20;
} }
return sum;
sum += get_result ();

Cdric LHERM Ingni


Partage du calcul des boucles
Bilan :
ncessite un code appropri
criture des sources plus difficiles
langages supports : C et Fortran
partage dinformation sur le rseau
lapplication fork un processus dune
machine une autre machine du rseau

Cdric LHERM Ingni


mission de messages

Concepts :
application client / serveur
mission des informations propres un
processus vers la node cliente afin que cette
dernire puisse excuter le code ( fork sur le
rseau )
librairies portables
bande passante importante

Cdric LHERM Ingni


mission de messages

Librairies permettant de passer des messages :

PVM (Parallel Virtual Machine)

MPI (Message Passing Interface)

AFAPI (Aggregate Function API)

Cdric LHERM Ingni


PVM (Parallel Virtual Machine)
Passage de messages
Librairie libre de droits
Portable
Implmente dans les couches suprieures
du modle OSI (au dessus des sockets)
Rseaux htrognes

Cdric LHERM Ingni


MPI (Message Passing Interface)
Nouveau standard dans les librairies de
passage de messages
Programmation simplifie
Diffrentes implmentations :
LAM (Local Area Multicomputer) MPI 1.1
MPICH (MPI CHameleon) MPI 1.1
AFMPI (Aggregate Function MPI) MPI 2.0

Cdric LHERM Ingni


AFAPI (Aggregate Function API)

Normalisation de la librairie PAPERS


(Purdues Adapter for Parallel Execution
and Rapid Synchronisation)
Proche du matriel
Rapide

Cdric LHERM Ingni


mission de messages

Bilan :
protocole haut niveau de communication client /
serveur afin dimplmenter les systmes en cluster
portable et fonctionnant sur des systmes htrognes
gourmand en bande passante (entre 20 et 50 Mbits par
seconde)
demande de faible temps de latence (moins de 200 ms)

Cdric LHERM Ingni


Exemples dutilisation
Earth Simulator
Architecture NEC SX
640 nodes
8 processeurs par node
16 Gb de mmoire par node
5120 processeurs
40 tra instructions par seconde
10 tra octets de mmoire
700 tra octets de disque dur

Cdric LHERM Ingni


Exemples dutilisation
ASCI White
processeur IBM RS6000 SP Power3
375 MHz
12,3 trillions doprations par seconde
8192 processeurs
6 tra octets de mmoire vive

Cdric LHERM Ingni


2me partie

Les clusters de fichiers

Cdric LHERM Ingni


Les clusters de fichiers
mise en place de sauvegardes fiables et de gros
volume
scurit
redondance
multi-sites
pratiques
facilement administrables

Cdric LHERM Ingni


Les clusters de fichiers

Exemple MOPI (Mosix)

Principes :
partage de fichiers entre plusieurs nodes
fragments de donnes indpendants
stockages de fichiers de grande taille
redondance
accs transparent aux fichiers
Cdric LHERM Ingni
Les clusters de fichiers

MFS : Mosix File System


Mthode daccs aux fichiers :
un ou plusieurs serveurs ddis
Meta Manager (MM) dont le rle est de grer
les fichiers, les segments mmoire, les
suppressions,
Migration des processus

Cdric LHERM Ingni


Structure des fichiers
MetaUnit : contrle les
inodes et les emplacements
des fichiers

DataStructure : Plus petite


unit de stockage (1 Mb 4
Gb) autonome

Cdric LHERM Ingni


Composants MOPI

Niveau utilisateur
et application

Dmons
Interface shell

Niveau
systme

Cdric LHERM Ingni


Statistiques
Comparaison MFS / NFS :
60 stations de travail
Architecture Pentium III 1,3 GHz 512 Mo
disque dur, 20 Go disque dur.
Access Method
Block
Local MFS NFS
1K 14,4 18 162
4K 13,2 15,4 162
8K 13 15 161,6
16 K 13 15 162
32 K 13,8 15,4 162,8
64 K 14,2 16,4 163

Cdric LHERM Ingni


Conclusion clusters de fichiers

stockage massif de donnes


haute disponibilit
scurit
rapidit

Cdric LHERM Ingni


Quelques rfrences

Sous Linux :
beowolf :
Optimisation du taux doccupation de la bande

passante
Nombre important de nodes sur le rseau local

mosix :
Ncessite de patcher le noyau linux
Load balancing dynamique

Cdric LHERM Ingni


Conclusion

Le clustering est particulirement adapt pour les


applications industrielles ncessitant des temps de
calculs importants : gnome, calculs dimages 3D,

Il est galement utile pour le stockage scuris dun


volume important de donnes.
Ces points font des clusters un axe de
dveloppement trs pris par le monde industriels.

Cdric LHERM Ingni

Vous aimerez peut-être aussi