Le Clustering
Architecture systme
Ingneiurs 2000
Introduction
Segments du march
Dfinition
Clustering VS Grid
Computing
Conception mcanique
Science des matriaux
Dfense et scurit
Conception microlectronique
Go-sciences
Visualisation
Objectifs :
faciliter la monte en charge
augmenter la disponibilit
permettre une rpartition de la charge
diminuer les temps de calculs
raliser oprations non ralisables sur un
serveur
rduire les cots : prix / performance dune
grappe de PC est
de 3 10 fois infrieur
celui des supercalculateurs traditionnels
Cluster
Grid Computing
Scurit
Structur
e
Le plus homogne
possible
Htrogne
Cot
Trs lev
Peu lev
Priorit
Vitesse de calcul
Volume de calcul
Donnes
Dpendantes
Indpendantes
Dure de Dterminable
calcul
Inconnue
Rpartie
Architecture
systme
Architecture
Architecture dtaille
Les systmes
Architecture
Architecture Dtaille
OS
Nombre
Rpartition
Linux
376
75.20 %
Unix
86
17.20 %
BSD Based
0.60 %
Mac OS
0.60 %
Mixed
32
6.40 %
Exemple de systmes
Builde Compute
r
r
IBM
eServer Blue
Gene
Count
ry
USA
CPU
Processor
131072
PowerPC 440
700
2400
700
Cray Inc.
Sandia/ Cray
Red Storm
USA
26544
AMD x86_64
Opteron Dual
Core
IBM
eServer Blue
Gene
USA
40960
PowerPC 440
IBM
eServer pSeries
USA
12208
POWER5
IBM
BladeCenter
JS21
Spain
Freque
ncy
10240
Operating
System
CNK/SLES 9
UNICOS/SUSE
Linux
CNK/SLES 9
1900
AIX
PowerPC 970
2300
SuSE Linux
Enterprise Server 9
3600
Linux
1600
Linux
Dell
PowerEdge
USA
9024
Bull SA
NovaScale
5160
France
9968
Application
Interface sockets
TCP
UDP
IP
Ethernet
Emetteur
donnes
Copie
Rcepteur
donnes
Copie
Socket
Buffer
Carte
Importante latence due aux appels systmes pour
Rseau
accder a linterface rseau
Carte
Rseau
DMA
Lien
DMA
Comm
Calculs
Se n
Interface ddi au calcul parallle, conomise le
dR
eq
processeur
Tr a
Req
Rcv
nsf
er
T
E
M
P
S
NIC
Rcepteur
donnes
Rcv evt
DMA
Hte
DMA
Carte
Rseau
Lien
ow
Wind
req
Comm
RDM
A
Calculs
Concurrent du paradigme
rendez-vous
Tr
rt
e
f
s
an
T
E
M
P
S
RDMA evt
Hte
NIC
NIC
Hte
1980
1985
1990
1995
2000
rn
et
Et
he
10
Gi
ga
bit
Et
he
rn
et
PV
M
be
ow
SC ulf
I
M
PI
My
r
Qu inet
ad
Gi rics
ga
bit
Et
he
rn
In
et
fin
yB
an
d
2005
Clos network
2/3
Clos network
3/3
Solution:
e nombre de p switches
Doit tre suprieur
2n-1
G switches
P switchesG switches
SCI:
Scalable Cohrent Interface
Socit Dolphin, dbut des annes 90
Utilisation de RDMA
Latence de 1.4 s
Dbit thorique 700 Mo/s avec PCI Express
Topologie anneau
Recouvrement minim
Mauvaise compatibilit avec MPI
Pas de zro copie
Myrinet
795 $
Leader du march
Latence de 2 s
6 600 $
252 000 $
QsNet
Socit Quadrics
Traduction adresse virtuel / adresse physique par la carte
grce une MMU (Memory Management Unit)
Latence de 2 s
Dbit thorique 900 Mo/s full duplex avec PCI-X
Super Calculateur prsent Bruyre le Chtel (Essonne)
de 60 teraflops
Spcificits non ouvertes, travaux difficiles
Bonne Compatibilit PMI malgrs RDMA
single
double quad
1X
2 Gbit/s
4 Gbit/s
8 Gbit/s
4X
8 Gbit/s
16 Gbit/s 32 Gbit/s
12X
La
multiprogrammatio
n distribue rseau
pour clusters
Conception
MPI PVM
Exemple
Paralllisme
Partitionnement
Dpendances
Automatisation totale
Directive de programmation
automatique
Le compilateur analyse le code source et identifie les
opportunits du paralllisme.
L'analyse inclut didentifier le cot des amliorations
lexcution.
Les boucles (do, for) sont les plus frquentes cibles du
paralllisme automatique
Paralllisme manuelle
Utilise des directives de compilation explicitant le code
pouvant tre paralllis
Manuelle
Avantages : flexible, dcomposition prend en compte
lensemble du problme, plusieurs degrs de paralllisme,
indpendant des outils de programmation et compilation,
paralllisme explicite, gestion des communications et E/S par
le programmeur
Inconvnients : ncessite des programmeurs expriments,
peut engendrer de faux rsultats, travail plus important du
programmeur en amont
2 types de partitionnement :
Dcomposition par domaine
Dcomposition par fonction
Dpendances de donnes
Dfinition
LAPI MPI
LAPI PVM
Message Passing
Interface (MPI)
Il sagit dun environnement dans lequel une
MPI_COMM_WORLD
MPI_SEND();
MPI_RECV();
MPI Communications
collectives
Communications collectives :
Type de routines :
Assure les synchronisations globales :
MPI_BARRIER().
Transfert des donnes :
MPI_BCAST(), MPI_SCATTER(), MPI_GATHER(),
MPI_ALLGATHER(), MPI_ALLTOALL().
PVM - Caractristiques
Composition de PVM
un dmon ;
une console ;
des bibliothques pour la programmation : change de
messages.
Caractristiques
Simple (cache les problmes lutilisateur)
Portable : tourne sur Linux, FreeBSD, SunOS, Mips, SG IRIS ...
Htrogne : machines, architectures, OS, rseaux.
La machine virtuelle peut tre compose de machines
squentielles et parallles
PVM - Fonctionnement
1.
Constitution de la machine
virtuelle (MV) : les dmons
pvm (pvm3d) sont lancs
par le dmon matre sur les
machines distantes grce
rsh/ssh
2.
3.
Cration ou lancement de
nouvelles tches
4.
Tas
k2
Tas
k1
Tas
k3
Tas
k4
Tas
k2
Tas
k1
Tas
k3
Tas
k4
#include "/opt3/PVM3/pvm3/include/pvm3.h"
int main(int argc, char** argv)
{
int ptid;
char buf[100];
int mytid;
mytid = pvm_mytid();
ptid = pvm_parent();
strcpy(buf, "hello from ");
gethostname(buf + strlen(buf), 64);
pvm_initsend(PvmDataDefault);
pvm_pkstr(buf);
pvm_send(ptid, 1);
pvm_exit();
exit(0);
}
#include "/opt3/PVM3/pvm3/include/pvm3.h"
int main(int argc, char** argv)
{
int cc, tid;
char buf[100];
printf("I am t%x\n", pvm_mytid());
cc =
pvm_spawn("/root/PVM/HELLO/hello_toto",
(char**)0, 0, "", 1, &tid);
if (cc == 1)
{
cc = pvm_recv(-1, -1);
pvm_bufinfo(cc, (int*)0, (int*)0, &tid);
pvm_upkstr(buf);
printf("from t%x: %s\n", tid, buf);
}
else
printf(coin ! hello_toto kapout\n");
pvm_exit();
exit(0);
}
de fait
grand nombre darchitecture supportes
beaucoup doutils dvelopp pour lenvironnement de
programmation