Você está na página 1de 21

Universit de Reims Champagne-Ardenne

Equilibre de charge
Equilibre de charge statique Equilibre de charge dynamique
Approches centralises Approches distribues Approches semi-distribues
Ch Jaillet

Info53 - L3 Informatique - 2006

Universit de Reims Champagne-Ardenne

Equilibre de charge
Faciliter le partage des ressources Faciliter le partage de l'effort de calcul Load balancing
Maintenir une rpartition quitable des tches accomplir

Load sharing
Maintenir tous les processeurs actifs

Critres
Choix des indicateurs de charge Mthode d'appariement des processeurs Dcision centralise vs distribue
Ch Jaillet

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

Programme parallle
Ensemble de tches, qui communiquent Placer les tches sur les processeurs disponibles

Performance
Ncessite une rpartition quitable

Moment de la dcision
quilibre statique quilibre dynamique
Ch Jaillet

la compilation l'excution

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

quilibre de charge statique


Ncessite de disposer d'info. sur les tches, AVANT l'exn
Nb de tches + temps d'excution Diagrammes de prcdence (DAG : Directed Acyclic Graph) t tches, n proc, sans dpendance => nt poss. [pb NP-complet]

Algorithmes exacts
Dvelopper toutes les solutions possibles (de rpartition) Minimiser la fonction de cot : temps d'excution de l'appli parallle Pas d'algo polynomial => OK si pb de petite taille

Utilisation d'heuristiques => solution approche


Glouton => rapide ; pb de qualit (ordre de distribution des tches) Recuit simul (coteux, imprvisible), recherche tabou, ...
Ch Jaillet

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

quilibre de charge dynamique


Parce que l'excution d'une appli est dynamique Questions : "Comment faire pour ... ?"
Rduire au max. les communications ? Rpartir quitablement l'ensemble du travail entre les proc ?

Problme
Pas de modle d'excution unique (un par type de machine) MIMD, SIMD, SPMD Algos MIMD pour machine parallle Comm. peu coteuses (rseau d'interconnection performant) Machine considre comme ddie l'application considre Algos MIMD pour systmes distribus (rseau de stations)
Ch Jaillet

...

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

Qui est charg de rpartir ?


Qui est charg de rpartir la charge entre les processeurs ? => classification 1. Prise de dcision centralise
(gnralt) stratgie de type client-serveur / matre-esclave un proc. est charg de rpartir => rpartition globale : tous les processeurs sont concerns

2. Prise de dcision distribue


l'initiative de n'importe lequel des processeurs => quilibrage au niveau local ou global

3. Prise de dcision semi-distribue


Un proc. responsable de la rpartition pour un groupe de procs
Ch Jaillet

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

Qui est charg de rpartir ?


Classification
statique ... centralis client-serveur une liste centralise une liste / proc.

quilibre de charge

dynamique

semi-distribu

hirarchique partitionnement logique

serveur initiative distribu


Ch Jaillet

source initiative hybride

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

1. algos centraliss de type client-serveur


Largement utiliss
Simples implmenter Efficaces (le plus souvent)

Approche 1 :
Un processeur unique possde une file d'attente globale (contenant l'ensemble des tches du systme) Le serveur dispose de la file d'attente des tches Transmet 1 tche un proc lorsque celui-ci le demande Les autres proc, clients, traitent les tches En demandent une excuter ds qu'ils sont disponibles Fin = file d'attente vide
Ch Jaillet

M1 Informatique - PPM - 2007/08

Universit de Reims Champagne-Ardenne

1. algos centraliss de type client-serveur


Approche 1 :
Une file d'attente centralise

=> trs performant (bon quilibre de charge) Aucune information ncessaire a priori (tps d'exn, ressources mm.) Sur-cot de communication rduit nbt tches , n proc => 2* nbt + n-1 messages Tmax = temps de la tche la plus longue => temps de dtection de terminaison par l'ens des proc Tmax => granularit ( temps de dcouverte de terminaison) ... mais granularit fine => cot de comm grand (nbt ) => compromis + viter qu'un proc. termine avant que le serveur ait fini sa distribution en cours Poss. de granularit dynamique
Ch Jaillet

rapport tcom / ti pour lisser - 2007/08 M1 Informatique - PPM le travail/disponibilit du serveur9

Universit de Reims Champagne-Ardenne

1. algos centraliss de type client-serveur


Approche 1 :
Une file d'attente centralise

Poss. de granularit dynamique, en modifiant le rapport tcom / ti Trop grand => (augmenter la granularit) rend le serveur plus disponible (nb de requtes ) Nb de requtes trop faible => affinier la granilarit rduire le temps moyen d'excution des tches Attention l'effet ping-pong ? bornes sup et inf du rapport => choix laiss l'utilisateur NB : Hypothses Taille des tches modifiables La taille des tches influence leur temps d'excution
Ch Jaillet

M1 Informatique - PPM - 2007/08

10

Universit de Reims Champagne-Ardenne

1. algos centraliss de type client-serveur


Approche 2 :
Chaque proc. dispose d'une file d'attente des tches sa charge Chaque proc. initialise sa file d'attente avec sa liste de tches Le serveur maintient une file d'attente des proc surchargs Quand un proc. Pi devient dcharg, il contacte le serveur => le serveur interroge les processeurs de sa file en choisit un qui puisse partager sa charge : Pj en transmet le n Pi => rpartition de la charge entre Pi et Pj Initiative : serveur / Pi / Pj => ??
Ch Jaillet

Qu'est-ce qu'un proc "surcharg" ?

M1 Informatique - PPM - 2007/08

11

Universit de Reims Champagne-Ardenne

1. algos centraliss de type client-serveur


Avantages des approches centralises :
Mise en oeuvre simple Politique de mise jour des informations simple Ralise par un seul processeur Bonne efficacit Surcot faible puisque les clients ne sont pas pnaliss

Inconvnients :
Serveur goulot d'trangement lorsque le nb de proc. beaucoup Bcp de clients rclament Serveur : mise jour des informations dissmines
Ch Jaillet

Nb de proc. en attente + nb de tches en attente / proc. Clients : doivent attendre


M1 Informatique - PPM - 2007/08 12

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
Gestion distribue de la rpartition de la charge Chaque proc. peut prendre l'initiative d'une phase d'quilibrage 4 catgories :
Algos de type source initiative Algos de type serveur initiative Algos hybrides Algorithmes enchres source initiated server initiated

Vocabulaire :
Procs source ? Procs serveur ?
Ch Jaillet

(dfinition d'un systme distribu) Ajoutent des tches dans le systme Calculent les tches : "serveurs de calcul"

M1 Informatique - PPM - 2007/08

13

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
a. algos de type source initiative

Gestion de l'quilibre : la charge des proc. charge leve Hypothses usuelles :


Les processeurs sont identiques Les proc. source sont soumis la mme loi d'arrive des tches

- Stratgie source initiative alatoire


Quand un proc est surcharg, il choisit un proc alatoirement et lui transmet une tche Un proc qui reoit une tche ? retransmet => risque d'instabilit ? conserve
Ch Jaillet

=> se pnalise

=> retansmission d'1 tche un nb limit de fois => Aucune information ncessaire sur l'tat global du systme
M1 Informatique - PPM - 2007/08 14

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
a. algos de type source initiative

- Stratgie source initiative seuil


Proc. surcharg : choix alatoire du proc Pi (idem) Transfert si pas de risque de surcharger Pi Sinon, choix d'un autre proc serveur ... etc jusqu' trouver un serveur peu charg nb de tentatives max vite les transferts inutiles de tches Pas de meilleur choix mais choix amliorant localement Faible niveau d'information ncessaire (seuil 2) (seuil 1)

Ch Jaillet

M1 Informatique - PPM - 2007/08

15

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
a. algos de type source initiative

- Stratgie source initiative du meilleur choix


Proc. surcharg : interroge un certain nb de procs alatoirement => effectue le meilleur choix => lui transfre une tche s'il n'est pas dj surcharg Ncessite une grande quantit d'information sur le systme (param)

COMPARAISON :
. alatoire . seuil
Ch Jaillet

- et sans besoin d'informations ++ et faible exigence d'information encore mieux mais plus exigeant
M1 Informatique - PPM - 2007/08 16

. meileur choix

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
b. algos de type serveur initiative

Gestion de l'quilibre : par les proc. charge faible / oisifs vite un surcrot de travail pour les procs dj surchargs Diffrents types de stratgie :
Solutions globales et locales au problme d'quilibre de charge Exemple (solution globale) : mthode du gradient
- hyp. de voisinage entre certains processeurs => graphe (support des commns) - chaque proc mesure sa proximit du proc oisif le plus proche incrmental : O si oisif ; sinon, 1 + minvoisins => itrer - si charg, transfert au voisin de plus faible proximit => propage

- seuils : "oisif", "charg" => vite les rquilibrages trop violents - risque d'instabilit si peu de proc oisifs (les chargs le bombardent) => signaler le transfert : le proc choisi peut refuser
Ch Jaillet

- cot de communication important (messages de contrle !) M1 Informatique - PPM - 2007/08

17

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
c. source initiative vs serveur initiative

Avantage commun (solutions distribues)


vite les goulots d'tranglement

Inconvnient : besoin de + de commns pour un niveau d'info quivalent Les stratgies serveurs initiative simples ont de bons rsultats Pas de meilleure stratgies dans tous les cas
Charge globale trs leve => serveur initiative Charge globale faible ou modre => source initiative

Machine ddie une appli ?


Serveur initiative au dbut (grand nb de tches, de proc chargs) Source initiative la fin (peu de proc surchargs, qui sauront trouver un appariement)
Ch Jaillet

=> approches hybrides


M1 Informatique - PPM - 2007/08 18

Universit de Reims Champagne-Ardenne

2. algorithmes distribus
d. algos de type enchre

Mise en place d'une conomie de march : en cas de besoin,


Un client fait un appel d'offre Chaque prestataire rpond Le client choisit le mieux offrant (moins coteux)

Les agents :
Une tche peut acheter une ressource (temps CPU, mmoire) Un processeur peut s'offrir une tche excuter Une tche dispose d'une capacit financire et doit payer pour utiliser un lien de comm. (vite les fluctuations de charge) Les procs envoient de la publicit prsentant leurs services et prix

Bons rsultats, mais cot des comm


Ch Jaillet

Risque de saturation de l'interconnect par les publicits


M1 Informatique - PPM - 2007/08

19

Universit de Reims Champagne-Ardenne

3. algorithmes semi distribus


Distribues
Extensibles (informations locales) ; placements moins pertinents

Centralises
Efficaces, faciles implmenter si moins de procs Peu extensibles

Algos hirarchiques : procs organiss comme un arbre


Le pre d'un sous-arbre dispose de l'information de ses fils (et la sienne propre) prend l'initiative des rquilibrages pour le sous-arbre

Algos partitionnement logique


Rduit le cot d'une phase d'quilibre de charge (direct : + large)
Ch Jaillet

M1 Informatique - PPM - 2007/08

20

Universit de Reims Champagne-Ardenne

Qualits d'une stratgie


Diffrents critres Stable :
ssi vite le dplacement inutile d'une tche ssi ne perturbe pas trop l'excution ssi bon comportement lorsque le nb de procs rsoudre plus vite le porblme pos

=> ncessite plus d'information

Intrusion minimale : Extensibilit : Efficacit :

Nb de messages (trafic, bande passante) / ressources CPU OK pour les stratgies distribues Acclration : volution du temps en fonction du nb de procs Efficacit = acclration / nbP
Ch Jaillet

M1 Informatique - PPM - 2007/08

21

Você também pode gostar