Vous êtes sur la page 1sur 46

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu

Brunet, Romain Bachimont

Le Clustering
Architecture systme

Les rseaux hautes


performances
La multiprogrammation
distribue
Professeurs: Mr Duris, Mr Revuz

Ingneiurs 2000

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Introduction
Segments du march
Dfinition
Clustering VS Grid
Computing

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Les segments de march

Conception mcanique
Science des matriaux
Dfense et scurit
Conception microlectronique
Go-sciences
Visualisation

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Quest ce quun cluster?

Grappe de serveurs ou de ferme de calcul

Thorie apparue dans les annes 70 : premier cluster


fonctionnel dans le milieu des annes 80 par Digital
Equipment Corporation, sous le nom de VAXCluster

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Cluster vs Grid Computing

Cluster

Grid Computing

Scurit

Isol du rseau par un


firewall

Scurit des clients difficiles


grer

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

Localisati Un seul site


on

Rpartie

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Architecture
systme
Architecture
Architecture dtaille
Les systmes

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Architecture

Node : Poste client connect au rseau et capable dexcuter du


code informatique sous lordre dun serveur.
Head Node : 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. On lui soumet les
diffrents travaux quil gre laide dune file dattente.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Architecture Dtaille

Modle NUMA (Non Uniform Memory Access):


Les processeurs peuvent oprer avec la mmoire de
manire indpendante et tre de types et de vitesses
diffrentes
Un systme de cohrence de cache mais complexe

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Architecture logicielle 1/2

BIOS : Basic Input/Output System. Systme qui gre, sur une


machine, l'entre et la sortie des donnes et les changes avec
les priphriques.
API : MPI/PVM cf. partie La multiprogrammation distribue
rseau pour cluster

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Architecture logicielle 2/2


Operating System :
Linux-Unix : Beowulf, Mosix, OpenMosix
BSD : Mosix
Mac OS : Xgrid
Windows : windows 2003 cluster server R2

OS

Nombre

Rpartition

Linux

376

75.20 %

Unix

86

17.20 %

BSD Based

0.60 %

Mac OS

0.60 %

Mixed

32

6.40 %

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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

Intel EM64T Xeon


EM64T

Bull SA

NovaScale
5160

France

9968

Intel IA-64 Itanium


2

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Les rseaux hautes


performances pour
clusters
Problmatiques autour de TCP /
IP
Principes des rseaux hautes
performances
Les diffrentes technologies

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Pourquoi TCP / IP nest pas adapt ?


Cration fin des annes 70, peu dvolutions.

Application
Interface sockets

Adapt lInternet et aux rseaux peu fiables, trop


compliqu pour la haute performance.

TCP

UDP
IP

Ethernet

Primitives gnralement bloquantes


Copie des informations dans le socket buffer
CPU et bus mmoire trs sollicits
(traitement protocolaires, checksums)

Emetteur
donnes
Copie

Rcepteur
donnes

Copie

Mal adapt aux nombreuses connexions malgr


Socket
la recherche (threads, epoll)
Buffer

Socket
Buffer

Carte
Importante latence due aux appels systmes pour
Rseau
accder a linterface rseau

Carte
Rseau

DMA

Lien

DMA

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Message Passing Interface (MPI)

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

Paradigme du rendez-vous, messages asynchrones.

Communications zero-copy , linterface copie


Send evt
directement de la mmoire vers le rseau sans utiliser
le processeur central (pour large messages)Hte
NIC

NIC

OS Bypass, Communication direct entre les


applications et la carte rseau sans effectuer
Emetteur
dinterruptions couteuses (gain en latence) donnes

Rcepteur
donnes

Rcv evt

DMA

Chemin dterministe, optimisation de la commutation


et du routage, gestion simple des congestions
Carte
Rseau

Hte

DMA
Carte
Rseau

Lien

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

RDMA: Remote Direct Memory Access

Obligation dune attente


active car pas
de
notification

ow
Wind

req

Comm

Utilis dans Infiniband,


QsNet et SCI

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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

Les diffrentes technologies:

2005

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

La topologie la plus utilise:


Clos Network
1/3

Dfinie par Charles Clos en 1953


Un tage dentre, un tage interm
diaire et un tage de sortie.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Clos network
2/3

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Clos network
3/3

Solution:

e nombre de p switches
Doit tre suprieur
2n-1

G switches
P switchesG switches

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Myrinet

Socit Myricom, 1995

795 $

Leader du march
Latence de 2 s

6 600 $

Dbit thorique 1.2 Go/s unidirectionnel


mulation ethernet TCP/IP possible
Connectique standard (RJ 45 et fibre)

252 000 $

Bonne compatibilit avec MPI sur avec la version MX

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Issue de deux projet: Futur I/O


(Compaq, IBM et HP) et System
I/O (Intel, Microsoft et Sun)
A lorigine devait concevoir un
nouveau bus, au final utilisation
du PCI-express
Grande efficacit 4/5 de la
bande passante
Plus proche dIP, topologie non
fixe, routage dans les
commutateurs
Interconnexion de serveurs
mais aussi de baie de stockage

single

double quad

1X

2 Gbit/s

4 Gbit/s

8 Gbit/s

4X

8 Gbit/s

16 Gbit/s 32 Gbit/s

12X

24 Gbit/s 48 Gbit/s 96 Gbit/s

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

La
multiprogrammatio
n distribue rseau
pour clusters
Conception
MPI PVM
Exemple

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Concevoir des programmes distribus

Paralllisme
Partitionnement
Dpendances

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Paralllisme manuel ou automatique ? (1)


Comprendre le problme et le programme

Dterminer si une excution parallle de


lapplication peut apporter un gain de performance.
Pour cela, il faut quil y ait une certaine indpendance
dans le traitement des donnes. Soit le traitement sur
une partie des donnes est indpendant du traitement
des autres, soit il existe des tches qui peuvent tre
traites indpendamment des autres.

2 modes de paralllisme pour le programmeur :

Automatisation totale
Directive de programmation

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Paralllisme manuel ou automatique ? (2)


Paralllisme

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Paralllisme manuel ou automatique ? (3)


Automatique

Avantages : convient aux dbutants, dans le cas de


restrictions de temps et/ou budgtaires
Inconvnients : peut engendrer de faux rsultats, des
dgradations de performances, limit aux boucles du code, si
le code est trop complexe peut ne pas tre paralllis, les
meilleurs outils sont pour le Fortran

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Partitionnement Dcomposition (1)


Premire tape dcriture dun programme parallle

Consiste dcouper le problme, soit en terme de donnes


indpendantes, soit en terme de fonctionnalits

Va dpendre du gain apport par la mise en parallle du calcul

2 types de partitionnement :
Dcomposition par domaine
Dcomposition par fonction

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Partitionnement Dcomposition (2)

Dcomposition par domaine


La donne associe au problme est dcompose.
Chaque tche travaille sur une portion de donne.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Partitionnement Dcomposition (3)

Dcomposition par fonction


Dans cette approche, lobjectif est fix sur le calcul qui doit
tre effectu plutt que les donnes manipules par le calcul.
Le problme est dcompos suivant le travail devant tre
effectu. Chaque tche effectue une portion du calcul total.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Dpendances de donnes
Dfinition

Une dpendance existe entre des instructions dun


programme lorsque lordre dexcution de ces
instructions affecte le rsultat.

Une dpendance de donnes rsulte de lutilisation du


mme espace mmoire par diffrentes tches.

Les dpendances sont un des points clefs de la


programmation parallle parce quelles sont le principal
inhibiteur au paralllisme.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Dvelopper des programmes distribus

LAPI MPI
LAPI PVM

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Programmation par transmission de message

Message Passing
Interface (MPI)
Il sagit dun environnement dans lequel une

application MPI est un ensemble de processus


autonomes excutant chacun leur propre code et
communiquant via des appels des routines de la
bibliothque MPI
Implmentations MPI (domaine public) :

MPICH : http ://www.mcs.anl.gov/mpi/mpich/


LAM : http ://www.lam-mpi.org/

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

MPI Manipulation de lenvironnement

Premire instruction du main(int argc, char


**argv) :
MPI_Init(&argc,&argv);

Dernire instruction MPI du programme :


MPI_Finalize();

Pour connatre le nombre de processus lancs


MPI_Comm_size(MPI_COMM_WORLD,&NbPE)
;

Pour connatre le numro du processus


MPI_Comm_rank(MPI_COMM_WORLD,&Me);

MPI_COMM_WORLD

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

MPI Communications point


point
Instructions de communication point point :

MPI_SEND();
MPI_RECV();

Les donnes changes sont types :


Entiers, rels, etc.
Types personnels.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

MPI Communications
collectives
Communications collectives :

permettent de faire en une seule opration une srie de


communications point--point.

Type de routines :
Assure les synchronisations globales :
MPI_BARRIER().
Transfert des donnes :
MPI_BCAST(), MPI_SCATTER(), MPI_GATHER(),
MPI_ALLGATHER(), MPI_ALLTOALL().

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Machine virtuelle parallle

Parallel Virtual Machine


PVM permet un ensemble de machines
informatiques (Pc, Mac, Amiga, Cray...)
connectes sur un rseau local de se conduire
comme une seule et mme ressource permettant
d'effectuer des oprations de calculs parallles.

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

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.

Connexion des tches la MV

3.

Cration ou lancement de
nouvelles tches

4.

change de messages entre les


tches

Tas
k2

Tas
k1

Tas
k3

Tas
k4

Tas
k2

Tas
k1

Tas
k3

Tas
k4

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

PVM Exemple Esclave

#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);
}

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

PVM Exemple Matre

#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);
}

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Comparaison PVM MPI (1)

PVM (Parallel Virtual Machine)


standard

de fait
grand nombre darchitecture supportes
beaucoup doutils dvelopp pour lenvironnement de
programmation

MPI (Message Passing Interface)


mise

en commun des avantages existant


volont de normaliser : smantique prcise, sans choix
dimplantation
objectifs : portabilit, puissance dexpression et bonnes
performances

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Comparaison PVM MPI (2)


Les petits plus de MPI
Construction de types...
Description sophistique (types personnels, structure,
rordonnancement la vole)
Efficacit et lisibilit
Dfinition de topologie virtuelle
Topologie en grille ou graphe en vue dune rpartition efficace des
processus

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Comparaison PVM MPI (2)


Les petits plus de PVM
Documentation (livre, web)
Interface Graphique (xpvm)
Architecture Matrielle: PVM supporte mieux les clusters
htrogne

Exposs NT / Rseaux 2006/2007 Aurlien Piaszczynski, Mathieu


Brunet, Romain Bachimont

Exemple de programme distribu

Le ray tracer POVRAY


en mode distribu:
PVMPOV