Clustering sous Linux

Institut Supérieur des Études Technologiques
1/5
100%
Rendu du PDF...
Page 1 sur 5Lecteur de document UniversityLib

Clustering sous Linux

Institut Supérieur des Études Technologiques · Computer Science - Unix/Linux Systems · notes

Browse all systèmes d'exploitation et cloud documents

ISET Rad s

Cours Unix/Linux

Chapitre 9 :

Clustering sous linux

1. Principe :

Le principe utilis dans le clustering consiste diminuer le temps d'ex cution d'une t che

en la fractionnant sur plusieurs machines. En clair, une t che r partie sur N machines

arrivera N fois plus vite terme que sur une seule. De cette mani re, tous les r seaux

peuvent tre transform s en cluster.

" Ce concept est fort simple mais il faut faire la distinction entre un syst me complet en

clustering et un logiciel en clustering.

"

Syst mes en clustering. Ici se sont les t ches qui sont r parties sur plusieurs machines.

Typiquement, les sites web important en terme de connexion comme Google (le

moteur de recherche) utilisent des clusters de serveurs web, qui ne sont ni plus ni

moins que des miroirs du sites, et qui traitent un ensemble de requ tes utilisateurs. Le

tout interconnect permet donc de traiter plus de demandes en un temps r duit.

" Logiciel en clustering. Ici c'est une seule et m me t che qui sera divis e et r partie sur

chaque machine du cluster. G n ralement se sont les clusters de calcul qui r pondent

ce besoin, comme les syst mes de conception d'effets sp ciaux qui demandent un

grand calcul de rendu et un norme espace de stockage.

"

Pourquoi tout le monde n'utilise-t-il pas un cluster puisque c'est performant et peu cher

? Le probl me principal provient des connexions entre les diff rentes machines. Pour

cr er un cluster performant, les machines doivent pouvoir communiquer tr s

rapidement et le co t s'en trouve augment .

2. Terminologie

Un ensemble de machines en r seau destin un fonctionnement en parall le constitue un

cluster (grappe). Dans ce cluster, chaque machine sera un Node. Tous les nodes sont des

stations de travail dans le sens o elles poss dent un ou plusieurs processeurs en

opposition aux terminaux. Le r seau ainsi form est un NOW, un Network Of

Workstation (r seau de station de travail).

3. Les motivations dun cluster

Le terme clustering peut tre utilis dans diff rents contextes. En effet, en temps

quing nieurs des syst mes dinformation vous naurez pas les m mes besoins de

Advertisement

parall lisation quun math maticien ou un ing nieur r seaux t l coms. Ainsi, nous

Yahia SLIMANI/Habib SMEI

  • Page 1 -

ISET Rad s

Cours Unix/Linux

pouvons distinguer 4 grands types de clusters pouvant tre combin s les uns aux autres et

r pondant aux exigences de chacun des utilisateurs :

" Les clusters scientifiques : typiquement il sagit dun cluster o lensemble des nodes

cumulent leurs puissances de calcul pour arriver des performances gales celles

dun super calculateur. Pour ce type, cest une qu te de puissance qui est recherch e.

" Les clusters de stockage : ici il sagit de combiner les espaces disques de chacune

des machines afin de fournir un espace disque total assez cons quent.

" Les clusters haute disponibilit : ici il sagit de cr er plusieurs nodes redondants

permettant de prendre le relais de la machine principale en cas de crash. Cest la

fiabilit qui prime dans ce type darchitecture. En effet, le stockage des donn es tant

redondants, le fonctionnement du cluster et lassurance contre les pertes de donn es

peuvent tre garantis 99,9%. Pour expliquer la mise en oeuvre, on prend un exemple

avec plusieurs machines. On nome la machine qui prend en charge le service, la

machine ma tre. Et les autres machines qui sont en r serve en cas de probl me, pour

que l'une d'entre elle prend le relais, les machines esclaves. Et donc quand une

machine esclave prend le relais, elle devient une machine ma tre. Donc, pour avoir la

haute disponibilit , il nous faut plusieurs programmes (softwares) dans les diff rentes

machines du cluster. Un programme, qui s'occupe d'enregistrer les diff rentes donn es

et changement, suivant la date de la derni re modification sur les diff rentes machines,

pour avoir le m me service avec les m mes informations sur les diff rentes machines

du cluster, et pour cela il nous faut aussi un programme qui s'occupe de la

synchronisation du temps sur les diff rentes machines. En plus, il nous faut un

programme qui v rifie la disponibilit du service sur les diff rentes machines et un

autre qui v rifie la disponibilit des machines et d'exclure la machines qui a un

probl me jusqu' ce qu'elle soit nouveau disponible. Et le dernier programme, lui

s'occupe de donn la main une autre machine, si la machine ma tre est indisponible.

" Les clusters r partition de charge : ces clusters permettent de r partir des

processus vers les nodes du cluster. Ainsi chaque machine se verra traiter un processus

et donc la qualit de service rendu sen trouvera meilleure. Cela vite ainsi les

surcharges. Par exemple, si plusieurs clients ont besoin d'ex cuter une tache (un

Advertisement

service) sur une machine disponible dans un r seau, le bon fonctionnement ne pourra

tre assurer cause des limitation du r seau et de la capacit de la machine. Dans ce

cas pour assur un bon fonctionnement, il faut limiter le nombre de clients. Pour ne

pas avoir limiter le nombre de clients et d'avoir un bon fonctionnement, la solution

est de mettre un cluster de r partition de charge. La taille du cluster d pend du nombre

Yahia SLIMANI/Habib SMEI

  • Page 2 -

ISET Rad s

Cours Unix/Linux

des clients pouvant se connecter la fois. Le principe de mise en oeuvre est d'avoir un

serveur particulier appel l' quilibreur de charge (load-balancer) plac entre les

clients et les noeuds du cluster. Son r le consiste aiguiller les requ tes du client vers

un noeud particulier, car tous les noeuds proposent le m me service. Pour viter que

l' quilibreur de charge oriente un client vers un noeud d faillant, on place un autre

serveur appel directeur, qui ce charge de v rifier la fonctionnalit du service proposer

et d'ordonner l' quilibreur de charge de ne pas aiguiller les requ tes vers tel noeud

s'il pr sente un dysfonctionnement. Un bon exemple de ce type de cluster sont les

clusters de serveurs web. Afin de r ussir envoyer les pages aux clients, un cluster

peut tre install pour fournir une qualit de service qu'une machine unique ne pourra

jamais fournir. Certain peuvent r pondre des millions d'internautes. Et c'est pour cela

que le cluster haute disponibilit est associer avec la r partition de charge (Cluster

haute disponibilit avec r partition de charge). Comme sa le client peut avoir son

service toujours disponible avec un bon fonctionnement.

4. Les logiciels de clustering

Il existe une grande quantit de logiciels sous Linux afin de transformer un NOW en

cluster. Leur t che est principalement de transformer l'ensemble des nodes en une

seule fausse machine : une machine virtuelle dont l'existence est purement imag e et

qui n'existe pas physiquement. Voyons ensemble les deux principaux utilitaires et

leurs fonctions.

" PVM : PVM est l'acronyme de Parall le Virtual Machine. Il permet de cr er un

cluster partir de nodes de types diff rents (PC/Linux, PC/Windows, Mac, HP,

CRAY, etc.). Il supporte tous les r seaux capables d'une connexion par socket comme

par exemple SLIP, PLIP, Ethernet et ATM. PVM se pr sente sous la forme d'un

deamon et de biblioth ques C et FORTRAN. Les applications qui utilisent PVM

doivent tre compil es avec les biblioth ques PVM. Ceci implique une modification

Advertisement

du code dans le cas d'une application d j existante. L'un des plus bel exemple

d'application modifi e et recompil e pour PVM est PovRay. C'est un logiciel de Ray

Tracing dont le portage pour PVM se nomme PvmPov, mais nous y reviendrons plus

loin.

" MPI : MPI (pour Message Passing Interface) est souvent consid r comme le

concurrent principal de PVM. Pour expliquer la diff tence entre PVM et MPI, voyons

leurs diff rences.

"

PVM poss de un environnement de contr le. En somme, le lancement d'une

application PVM est identique sur tous les environnement. Ceci permet de mettre en

Yahia SLIMANI/Habib SMEI

  • Page 3 -

ISET Rad s

Cours Unix/Linux

Suvre un utilitaire pour contr ler les ex cutions des diverses applications dans la

machine virtuelle.

" MPI consid re la machine virtuelle comme un processeur massivement parall le ou

encore comme un r seau de nodes identiques. PVM est d'avantage orient vers les

r seaux h t rog nes (compos s de machines diff rentes).

" MPI permet un acc s distant la m moire (RMA, Remote memory Access) et un

syst me d'entr e/sortie en parall le. Ces deux fonctionnalit s sont utiles mais

n cessites d'apprendre MPI de la m me mani re qu'un nouveau langage.

" MPI a t cr e apr s PVM et s'en est inspir . MPI est donc plus performant au niveau

de la gestion de buffers, des structures de donn es, etc.

" Voici donc les principales caract ristiques qui existent entre les deux standards. Notre

t che n'est pas de vous inciter utiliser l'un ou l'autre. Nous ne donnerons donc pas

notre avis, vous de voir en PVM ou MPI le programme qu'il vous faut.

5. Les projets de clusters

Il existe beaucoup de m thodes diff rentes pour cr er un cluster. Il est donc utile de

pouvoir se r f rer des clusters ou des projets de cluster d j en place.

" Beowulf :

Ce projet parrain par la N.A.S.A. concerne l'architecture classique PC et le syst me

Linux. D but en 1994, il est dirig par Thomas Sterling et Don Becker. Le syst me

Beowulf permet un ensemble de nodes de fonctionner tel un seul PC. Les

programmes en fonctionnement sur le PC virtuel seront ex cut s en fonction de la

Advertisement

puissance et de la disponibilit de chaque node. Mais un seul programme ne sera pas

r parti sur plusieurs nodes. En clair, le syst me va v rifier l'occupation de chaque

node et y r partir tous les process en cours. Le premier cluster construit dans le cadre

de ce projet tait constitu de 16 DX4 connect en ethernet.

" Linux/AP+ :

Ce projet ne traite pas exactement de clustering. Il s'agit du portage de Linux sur

l'architecture Fujitsu AP1000+. Cet ordinateur est une machine parall le bas e sur

SPARC qui utilise une topologie r seau propri taire 25Mo par seconde. En r sum ,

ce portage ressemble fort un cluster de SPARC sous Linux.

" U-NET :

Bas l'universit de Cornell, ce projet a pour but de cr er une interface bas e sur un

r seau classique afin d'optimiser les temps de r ponse des machines. Le principe

consiste envoyer et recevoir des messages sans l'intervention du syst me. U-Net

tourne sur PC sous Linux et des cartes DECchip Fast Ethernet.

Yahia SLIMANI/Habib SMEI

  • Page 4 -

ISET Rad s

Cours Unix/Linux

"

distributed.net :

Le plus grand cluster connu au monde. En vous connectant www.distributed.net,

vous pourrez t l charger un client (programme) pour votre ordinateur. Et ce, quelqu'il

soit et quelque soit son syst me d'exploitation. Gr ce ce client, vous pourrez

transformer votre ordinateur en node connect InterNet. Le but de ce cluster

gigantesque est, entre autre, de d montrer que la taille des clefs de cryptage

actuellement utilis e est obsol te. Pour preuve, distributed.net a cass un code DES-II

56 bits en 40 jours. La clef du code RC5-32/12/7 56 bits fut cass e en 250 jours.

" Extreme Linux :

D riv e du projet Beowulf et en collaboration avec Red Hat, la Nasa et plusieurs

centres de recherche, Extreme Linux est la premi re distribution de Linux en cluster.

Celle-ci est directement issue de la distribution Red Hat modifi e pour le cluster de

160 stations Alpha utilis es pour certains effets sp ciaux du film Titanic.

Yahia SLIMANI/Habib SMEI

  • Page 5 -