Vous êtes sur la page 1sur 21

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne Equilibre de charge Equilibre de charge statique Equilibre de charge dynamique

Equilibre de charge

Equilibre de charge statiqueUniversité de Reims Champagne-Ardenne Equilibre de charge Equilibre de charge dynamique Approches centralisées Approches

Equilibre de charge dynamiqueEquilibre de charge Equilibre de charge statique Approches centralisées Approches distribuées Approches

Approches centraliséesEquilibre de charge statique Equilibre de charge dynamique Approches distribuées Approches semi-distribuées Ch J a

Approches distribuéesEquilibre de charge dynamique Approches centralisées Approches semi-distribuées Ch J a i l l e t

Approches semi-distribuéesdynamique Approches centralisées Approches distribuées Ch J a i l l e t Info53 - L3

Ch

Université de Reims Champagne-Ardenne

Equilibre de charge

Université de Reims Champagne-Ardenne Equilibre de charge Faciliter le partage des ressources Faciliter le partage de

Faciliter le partage des ressourcesUniversité de Reims Champagne-Ardenne Equilibre de charge Faciliter le partage de l'effort de calcul Load balancing

Faciliter le partage de l'effort de calculEquilibre de charge Faciliter le partage des ressources Load balancing Maintenir une répartition équitable des

Load balancingressources Faciliter le partage de l'effort de calcul Maintenir une répartition équitable des tâches à

Maintenir une répartition équitable des tâches à accomplirle partage de l'effort de calcul Load balancing Load sharing Maintenir tous les processeurs actifs Critères

Load sharingune répartition équitable des tâches à accomplir Maintenir tous les processeurs actifs Critères Choix des

Maintenir tous les processeurs actifséquitable des tâches à accomplir Load sharing Critères Choix des indicateurs de charge Méthode

Critèresaccomplir Load sharing Maintenir tous les processeurs actifs Choix des indicateurs de charge Méthode d'appariement

Choix des indicateurs de chargeLoad sharing Maintenir tous les processeurs actifs Critères Méthode d'appariement des processeurs D D éc éc

Méthode d'appariement des processeursprocesseurs actifs Critères Choix des indicateurs de charge D D éc éc i i s s

DD éc éc i i s s i i o o n n c c Décéciissiioonn cceenntratralliisséeée vvss ddiissttrriibbuuéeée

Ch

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne Programme parallèle Ensemble de tâches, qui communiquent Placer les tâches sur

Programme parallèleUniversité de Reims Champagne-Ardenne Ensemble de tâches, qui communiquent Placer les tâches sur les processeurs

Ensemble de tâches, qui communiquentUniversité de Reims Champagne-Ardenne Programme parallèle Placer les tâches sur les processeurs disponibles Performance

Placer les tâches sur les processeurs disponiblesProgramme parallèle Ensemble de tâches, qui communiquent Performance Nécessite une répartition équitable Ch Moment

PerformancePlacer les tâches sur les processeurs disponibles Nécessite une répartition équitable Ch Moment de la

Nécessite une répartition équitableles tâches sur les processeurs disponibles Performance Ch Moment de la décision Équilibre statique Équilibre

Ch

Moment de la décisionPerformance Nécessite une répartition équitable Ch Équilibre statique Équilibre dynamique à la compilation

Équilibre statiqueune répartition équitable Ch Moment de la décision Équilibre dynamique à la compilation à l'exécution

Équilibre dynamique dynamique

à la compilation à l'exécution

Université de Reims Champagne-Ardenne

Équilibre de charge statique

de Reims Champagne-Ardenne Équilibre de charge statique Nécessite de disposer d'info. sur les tâches, AVANT

Nécessite de disposer d'info. sur les tâches, AVANT l'ex n n

Nb de tâches + temps d'exécutionde disposer d'info. sur les tâches, AVANT l'ex n Diagrammes de précédence ( DAG : Directed

Diagrammes de précédence (DAG : Directed Acyclic Graph ) DAG : Directed Acyclic Graph)

t tâches, n proc, sans dépendance => n t poss.

[pb NP-complet]

Algorithmes exactsproc, sans dépendance => n t poss. [pb NP-complet] Développer toutes les solutions possibles (de répartition)

Développer toutes les solutions possibles (de répartition)=> n t poss. [pb NP-complet] Algorithmes exacts Minimiser la fonction de coût : temps d'exécution

Minimiser la fonction de coût : temps d'exécution de l'appli parallèleDévelopper toutes les solutions possibles (de répartition) Pas d'algo polynomial => OK si pb de petite

Pas d'algo polynomialde coût : temps d'exécution de l'appli parallèle => OK si pb de petite taille Utilisation

=> OK si pb de petite taille

Utilisation d'heuristiques => solution approchée => solution approchée

Glouton => rapide ; pb de qualité (ordre de distribution des tâches)Utilisation d'heuristiques => solution approchée Recuit simulé (coûteux, imprévisible), recherche tabou,

Recuit simulé (coûteux, imprévisible), recherche tabou,rapide ; pb de qualité (ordre de distribution des tâches) Ch J a i l l

Ch

Université de Reims Champagne-Ardenne

Équilibre de charge dynamique

de Reims Champagne-Ardenne Équilibre de charge dynamique Parce que l'exécution d'une appli est dynamique

Parce que l'exécution d'une appli est dynamiquede Reims Champagne-Ardenne Équilibre de charge dynamique Questions : "Comment faire pour ?" Réduire au max.

Questions :Parce que l'exécution d'une appli est dynamique "Comment faire pour ?" Réduire au max. les

"Comment faire pour

?"

Réduire au max. les communications ?est dynamique Questions : "Comment faire pour ?" Répartir équitablement l'ensemble du travail entre les

Répartir équitablement l'ensemble du travail entre les proc ?faire pour ?" Réduire au max. les communications ? Problème Pas de modèle d'exécution unique (un

Problèmeéquitablement l'ensemble du travail entre les proc ? Pas de modèle d'exécution unique (un par type

Pas de modèle d'exécution unique (un par type de machine)l'ensemble du travail entre les proc ? Problème MIMD, SIMD, SPMD Algos MIMD pour machine parallèle

de modèle d'exécution unique (un par type de machine) MIMD, SIMD, SPMD Algos MIMD pour machine

MIMD, SIMD, SPMD

Algos MIMD pour machine parallèleunique (un par type de machine) MIMD, SIMD, SPMD Comm. peu coûteuses (réseau d'interconnection

Comm. peu coûteuses (réseau d'interconnection performant)

Comm. peu coûteuses (réseau d'interconnection performant)

Machine considérée comme dédiée à l'application considérée

Machine considérée comme dédiée à l'application considérée

Algos MIMD pour systèmes distribués (réseau de stations)considérée comme dédiée à l'application considérée Ch J a i l l e t M1 Informatique

Ch

Jaillet

Algos MIMD pour systèmes distribués (réseau de stations) Ch J a i l l e t

M1 Informatique - PPM - 2007/08

5

Université de Reims Champagne-Ardenne

Qui est chargé de répartir ?

de Reims Champagne-Ardenne Qui est chargé de répartir ? Qui est chargé de répartir la charge

Qui est chargé de répartir la charge entre les processeurs ?

=> classificationest chargé de répartir la charge entre les processeurs ? 1. Prise de décision centralisée (généralt)

1. Prise de décision centralisée

(généralt) stratégie de type client-serveur / maître-esclave? => classification 1. Prise de décision centralisée un proc. est chargé de répartir => répartition

un proc. est chargé de répartirstratégie de type client-serveur / maître-esclave => répartition globale : tous les processeurs sont

=> répartition globale : tous les processeurs sont concernés/ maître-esclave un proc. est chargé de répartir 2. Prise de décision distribuée À l'initiative de

2. Prise de décision distribuée

À l'initiative de n'importe lequel des processeurssont concernés 2. Prise de décision distribuée => équilibrage au niveau local ou global 3. Prise

=> équilibrage au niveau local ou globalÀ l'initiative de n'importe lequel des processeurs 3. Prise de décision semi-distribuée Un proc. responsable

3. Prise de décision semi-distribuée

Un proc. responsable de la répartition pour un groupe de procslocal ou global 3. Prise de décision semi-distribuée Ch J a i l l e t

Ch

Université de Reims Champagne-Ardenne

Qui est chargé de répartir ?

Ch

de Reims Champagne-Ardenne Qui est chargé de répartir ? Ch Classification Équilibre de charge statique dynamique

Classification

Équilibre

de charge

de répartir ? Ch Classification Équilibre de charge statique dynamique centralisé client-serveur

statique

dynamique

? Ch Classification Équilibre de charge statique dynamique centralisé client-serveur semi-distribué distribué une

centralisé

client-serveur

semi-distribué

dynamique centralisé client-serveur semi-distribué distribué une liste centralisée une liste / proc.

distribué

centralisé client-serveur semi-distribué distribué une liste centralisée une liste / proc. hiérarchique

une liste centralisée

une liste / proc.

hiérarchique

partitionnement logique

serveur initiative

source initiative

hybride

Université de Reims Champagne-Ardenne

1. algos centralisés de type client-serveur

1. algos centralisés de type client-serveur Largement utilisés Simples à implémenter Efficaces (le

Largement utilisés1. algos centralisés de type client-serveur Simples à implémenter Efficaces (le plus souvent) Approche

Simples à implémentercentralisés de type client-serveur Largement utilisés Efficaces (le plus souvent) Approche 1 : Un processeur

Efficaces (le plus souvent)client-serveur Largement utilisés Simples à implémenter Approche 1 : Un processeur unique possède une file

Approche 1 :Simples à implémenter Efficaces (le plus souvent) Un processeur unique possède une file d'attente globale

Un processeur unique possède une file d'attente globale (contenant l'ensemble des tâches du système)

Le serveur dispose de la file d'attente des tâches serveur dispose de la file d'attente des tâches

Transmet 1 tâche à un proc lorsque celui-ci le demandeLe serveur dispose de la file d'attente des tâches Les autres proc, clients , traitent les

Les autres proc, clients , traitent les tâches clients, traitent les tâches

En demandent une à exécuter dès qu'ils sont disponiblesle demande Les autres proc, clients , traitent les tâches Fin = file d'attente vide Ch

Fin = file d'attente videdemandent une à exécuter dès qu'ils sont disponibles Ch J a i l l e t

Ch

Université de Reims Champagne-Ardenne

1. algos centralisés de type client-serveur

1. algos centralisés de type client-serveur Approche 1 : Une file d'attente centralisée =>

Approche 1 :

Une file d'attente centralisée

=> très performant (bon équilibre de charge)

Aucune information nécessaire a priori (tps d'ex n , ressources mém.) a priori (tps d'ex n , ressources mém.)

Sur-coût de communication réduitnécessaire a priori (tps d'ex n , ressources mém.) nbt tâches , n proc => 2*

nbt tâches , n proc => 2* nbt + n -1 messages tâches , n proc => 2* nbt + n-1 messages

Tmax = temps de la tâche la plus longue => temps de détection de terminaison par = temps de la tâche la plus longue => temps de détection de terminaison par l'ens des proc Tmax

=> ≠ granularité ( temps de découverte de terminaison) granularité ( temps de découverte de terminaison)

mais granularité fine => coût de comm grand (nbt ≠ ) nbt )

Ch

Jaillet

=> compromisfine => coût de comm grand ( nbt ≠ ) Ch Jaillet + éviter qu'un proc.

+ éviter qu'un proc. termine avant que le serveur ait fini sa distribution en cours

Poss. de granularité dynamiqueavant que le serveur ait fini sa distribution en cours rapport t c o m /

sa distribution en cours Poss. de granularité dynamique rapport t c o m / t i

rapport t com / t

i

pour lisser le travail/disponibilité du serveur

9

Université de Reims Champagne-Ardenne

1. algos centralisés de type client-serveur

1. algos centralisés de type client-serveur Approche 1 : Une file d'attente centralisée Poss. de

Approche 1 :

Une file d'attente centralisée

Approche 1 : Une file d'attente centralisée Poss. de granularité dynamique, en modifiant le rapport t

Poss. de granularité dynamique, en modifiant le rapport t com / t i

Trop grand => (augmenter la granularité) (augmenter la granularité)

m / t i Trop grand => (augmenter la granularité) rend le serveur plus disponible (nb

rend le serveur plus disponible (nb de requêtes )

Nb de requêtes trop faible => affinier la granilaritérend le serveur plus disponible (nb de requêtes ) réduire le temps moyen d'exécution des tâches

réduire le temps moyen d'exécution des tâchesNb de requêtes trop faible => affinier la granilarité Attention à l'effet ping-pong ? bornes sup

Attention à l'effet ping-pongréduire le temps moyen d'exécution des tâches ? bornes sup et inf du rapport => choix

? bornes sup et inf du rapport => choix laissé à l'utilisateur sup et inf du rapport => choix laissé à l'utilisateur

NB : Hypothèsesinf du rapport => choix laissé à l'utilisateur Taille des tâches modifiables La taille des tâches

Taille des tâches modifiables

Taille des tâches modifiables

La taille des tâches influence leur temps d'exécution

La taille des tâches influence leur temps d'exécution

Ch

Université de Reims Champagne-Ardenne

1. algos centralisés de type client-serveur

1. algos centralisés de type client-serveur Approche 2 : Chaque proc. dispose d'une file

Approche 2 :

Chaque proc. dispose d'une file d'attente des tâches à sa charge

Chaque proc. initialise sa file d'attente avec sa liste de tâchesd'une file d'attente des tâches à sa charge Le serveur maintient une file d'attente des proc

Le serveur maintient une file d'attente des proc surchargésinitialise sa file d'attente avec sa liste de tâches Quand un proc. P i devient déchargé,

Quand un proc. P i devient déchargé, il contacte le serveur i devient déchargé, il contacte le serveur

=> le serveurun proc. P i devient déchargé, il contacte le serveur interroge les processeurs de sa file

interroge les processeurs de sa filedevient déchargé, il contacte le serveur => le serveur en choisit un qui puisse partager sa

en choisit un qui puisse partager sa charge : P j j

en transmet le n° à P i i

=> répartition de la charge entre P i et P j i et P j

Initiative : serveur / P i / P j => ?? i / P j => ??

Ch

Jaillet

Qu'est-ce qu'un proc "surchargé" ?=> répartition de la charge entre P i et P j Initiative : serveur / P

j Initiative : serveur / P i / P j => ?? Ch Jaillet Qu'est-ce qu'un

11

Université de Reims Champagne-Ardenne

1. algos centralisés de type client-serveur

1. algos centralisés de type client-serveur Avantages des approches centralisées : Mise en oeuvre

Avantages des approches centralisées :1. algos centralisés de type client-serveur Mise en oeuvre simple Politique de mise à jour des

Mise en oeuvre simpletype client-serveur Avantages des approches centralisées : Politique de mise à jour des informations simple Réalisée

Politique de mise à jour des informations simpledes approches centralisées : Mise en oeuvre simple Réalisée par un seul processeur Bonne efficacité Surcoût

simple Politique de mise à jour des informations simple Réalisée par un seul processeur Bonne efficacité

Réalisée par un seul processeur

Bonne efficacitédes informations simple Réalisée par un seul processeur Surcoût faible puisque les clients ne sont pas

Surcoût faible puisque les clients ne sont pas pénaliséssimple Réalisée par un seul processeur Bonne efficacité Inconvénients : Serveur goulot d'étrangement lorsque

Inconvénients :Surcoût faible puisque les clients ne sont pas pénalisés Serveur goulot d'étrangement lorsque le nb de

Serveur goulot d'étrangement lorsque le nb de proc. ≠ beaucoup beaucoup

Bcp de clients réclament

Bcp de clients réclament

Serveur : mise à jour des informations disséminées

Serveur : mise à jour des informations disséminées

Ch

Serveur : mise à jour des informations disséminées Ch Nb de proc. en attente + nb

Nb de proc. en attente + nb de tâches en attente / proc.

Clients : doivent attendreCh Nb de proc. en attente + nb de tâches en attente / proc. J a

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués Gestion distribuée de la répartition de la charge

2. algorithmes distribués

Gestion distribuée de la répartition de la chargede Reims Champagne-Ardenne 2. algorithmes distribués Chaque proc. peut prendre l'initiative d'une phase

Chaque proc. peut prendre l'initiative d'une phase d'équilibrageGestion distribuée de la répartition de la charge 4 catégories : Ch Algos de type source

4 catégories :prendre l'initiative d'une phase d'équilibrage Ch Algos de type source initiative Algos de type serveur

Ch

Algos de type source initiatived'une phase d'équilibrage 4 catégories : Ch Algos de type serveur initiative Algos hybrides Algorithmes

Algos de type serveur initiative4 catégories : Ch Algos de type source initiative Algos hybrides Algorithmes à enchères source initiated

Algos hybridesde type source initiative Algos de type serveur initiative Algorithmes à enchères source initiated server initiated

Algorithmes à enchèresinitiative Algos de type serveur initiative Algos hybrides source initiated server initiated Vocabulaire : Procs

source initiated

server initiated

Vocabulaire :Algorithmes à enchères source initiated server initiated Procs source ? Procs serveur ? (définition d'un

Procs source ? source ?

Procs serveur ? serveur ?

(définition d'un système distribué) Ajoutent des tâches dans le système

Calculent les tâches : "serveurs de calcul"

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués a. algos de type source initiative Gestion de

2. algorithmes distribués

a. algos de type source initiative

Gestion de l'équilibre : à la charge des proc. à charge élevéealgorithmes distribués a. algos de type source initiative Hypothèses usuelles : Les processeurs sont identiques Les

Hypothèses usuelles :l'équilibre : à la charge des proc. à charge élevée Les processeurs sont identiques Les proc.

Les processeurs sont identiquescharge des proc. à charge élevée Hypothèses usuelles : Les proc. source sont soumis à la

Les proc. source sont soumis à la même loi d'arrivée des tâches source sont soumis à la même loi d'arrivée des tâches

Ch

Jaillet

- Stratégie source initiative aléatoire

Quand un proc est surchargé,tâches Ch Jaillet - Stratégie source initiative aléatoire il choisit un proc aléatoirement et lui transmet

source initiative aléatoire Quand un proc est surchargé, il choisit un proc aléatoirement et lui transmet

il choisit un proc aléatoirement et lui transmet une tâche

Un proc qui reçoit une tâcheil choisit un proc aléatoirement et lui transmet une tâche ? retransmet => risque d'instabilité ?

? retransmet => risque d'instabilité

? conserve

=> se pénalise

=> retansmission d'1 tâche un nb limité de fois => Aucune information nécessaire sur l'état global du système

d'1 tâche un nb limité de fois => Aucune information nécessaire sur l'état global du système

14

Université de Reims Champagne-Ardenne

2. algorithmes distribués

a. algos de type source initiative

algorithmes distribués a. algos de type source initiative - Stratégie source initiative à seuil Proc. surchargé

- Stratégie source initiative à seuil

Proc. surchargé : choix aléatoire du proc P i (idem) i (idem)

Transfert si pas de risque de surcharger P i i

(seuil 1)

Sinon, choix d'un autre proc serveurTransfert si pas de risque de surcharger P i (seuil 1) etc jusqu'à trouver un serveur

etc jusqu'à trouver un serveur peu chargéP i (seuil 1) Sinon, choix d'un autre proc serveur nb de tentatives max (seuil 2)

nb de tentatives max

(seuil 2)

Évite les transferts inutiles de tâchesun serveur peu chargé nb de tentatives max (seuil 2) Pas de meilleur choix mais choix

Pas de meilleur choix mais choix améliorant localementmax (seuil 2) Évite les transferts inutiles de tâches Faible niveau d'information nécessaire Ch J a

Faible niveau d'information nécessairePas de meilleur choix mais choix améliorant localement Ch J a i l l e t

Ch

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués a. algos de type source initiative - Stratégie source

2. algorithmes distribués

a. algos de type source initiative

- Stratégie source initiative du meilleur choix

initiative - Stratégie source initiative du meilleur choix Proc. surchargé : interroge un certain nb de

Proc. surchargé :

interroge un certain nb de procs aléatoirement => effectue le meilleur choix => lui transfère une tâche s'il n'est pas déjà surchargé

une tâche s'il n'est pas déjà surchargé Nécessite une grande quantité d'information sur le
une tâche s'il n'est pas déjà surchargé Nécessite une grande quantité d'information sur le

Nécessite une grande quantité d'information sur le système

COMPARAISON :

(param)

 

.

aléatoire

- et sans besoin d'informations

 

.

à seuil

++ et à faible exigence d'information

Ch

meileur choix

encore mieux mais plus exigeant

 

.

   

Jaillet

16

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués b. algos de type serveur initiative Gestion de

2. algorithmes distribués

b. algos de type serveur initiative

Gestion de l'équilibre : par les proc. à charge faible / oisifsalgorithmes distribués b. algos de type serveur initiative Évite un surcroît de travail pour les procs

Évite un surcroît de travail pour les procs déjà surchargésl'équilibre : par les proc. à charge faible / oisifs Différents types de stratégie : Solutions

Différents types de stratégie :un surcroît de travail pour les procs déjà surchargés Solutions globales et locales au problème d'équilibre

Solutions globales et locales au problème d'équilibre de chargeprocs déjà surchargés Différents types de stratégie : Exemple (solution globale) : méthode du gradient -

Exemple (solution globale) : méthode du gradientglobales et locales au problème d'équilibre de charge - hyp. de voisinage entre certains processeurs =>

- hyp. de voisinage entre certains processeurs => graphe (support des comm ns )

- chaque proc mesure sa proximité du proc oisif le plus proche incrémental :

Ch

Jaillet

O si oisif ; sinon, 1 + min voisins

=> itérer

- si chargé, transfert au voisin de plus faible proximité

- seuils : "oisif", "chargé" => évite les rééquilibrages trop violents

- risque d'instabilité si peu de proc oisifs (les chargés le bombardent)

=> signaler le transfert : le proc choisi peut refuser

-

=> propage

le transfert : le proc choisi peut refuser - => propage coût de communication important (messages

coût de communication important (messages de contrôle !)

17

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués c. source initiative vs serveur initiative Avantage

2. algorithmes distribués

c. source initiative vs serveur initiative

Avantage commun (solutions distribuées)distribués c. source initiative vs serveur initiative Évite les goulots d'étranglement Inconvénient :

Évite les goulots d'étranglementserveur initiative Avantage commun (solutions distribuées) Inconvénient : besoin de + de comm ns pour un

Inconvénient : besoin de + de comm ns pour un niveau d'info équivalent besoin de + de comm ns pour un niveau d'info équivalent

Les stratégies serveurs initiative simples ont de bons résultatsde + de comm ns pour un niveau d'info équivalent Pas de meilleure stratégies dans tous

Pas de meilleure stratégies dans tous les casserveurs initiative simples ont de bons résultats Ch J a i l l e t Charge

Ch

Jaillet

Charge globale très élevéestratégies dans tous les cas Ch J a i l l e t Charge globale faible

Charge globale faible ou modérée => source initiativeles cas Ch J a i l l e t Charge globale très élevée => serveur

=> serveur initiative

Machine dédiée à une appli ?modérée => source initiative => serveur initiative Serveur initiative au début Source initiative à la fin

Serveur initiative au début=> serveur initiative Machine dédiée à une appli ? Source initiative à la fin (peu de

Source initiative à la fin (peu de proc surchargés, qui sauront trouver un appariement)Machine dédiée à une appli ? Serveur initiative au début (grand nb de tâches, de proc

(grand nb de tâches, de proc chargés)

=> approches hybridesà la fin (peu de proc surchargés, qui sauront trouver un appariement) (grand nb de tâches,

surchargés, qui sauront trouver un appariement) (grand nb de tâches, de proc chargés) => approches hybrides

18

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne 2. algorithmes distribués d. algos de type enchère Mise en place d'une

2. algorithmes distribués

d. algos de type enchère

Mise en place d'une économie de marché : en cas de besoin,2. algorithmes distribués d. algos de type enchère Un client fait un appel d'offre Chaque prestataire

Un client fait un appel d'offreen place d'une économie de marché : en cas de besoin, Chaque prestataire répond Le client

Chaque prestataire répond: en cas de besoin, Un client fait un appel d'offre Le client choisit le mieux

Le client choisit le mieux offrant (moins coûteux)client fait un appel d'offre Chaque prestataire répond Les agents : Une tâche peut acheter une

Les agents :répond Le client choisit le mieux offrant (moins coûteux) Une tâche peut acheter une ressource (temps

Une tâche peut acheter une ressource (temps CPU, mémoire)choisit le mieux offrant (moins coûteux) Les agents : Un processeur peut s'offrir une tâche à

Un processeur peut s'offrir une tâche à exécuterUne tâche peut acheter une ressource (temps CPU, mémoire) Une tâche dispose d'une capacité financière et

Une tâche dispose d'une capacité financière et doit payer pour utiliser un lien de comm. (évite les fluctuations de charge)Un processeur peut s'offrir une tâche à exécuter Les procs envoient de la publicité présentant leurs

Les procs envoient de la publicité présentant leurs services et prixun lien de comm. (évite les fluctuations de charge) Bons résultats, mais coût des comm Ch

Bons résultats, mais coût des commenvoient de la publicité présentant leurs services et prix Ch Jaillet Risque de saturation de l'interconnect

Ch

Jaillet

et prix Bons résultats, mais coût des comm Ch Jaillet Risque de saturation de l'interconnect par

Risque de saturation de l'interconnect par les publicités

et prix Bons résultats, mais coût des comm Ch Jaillet Risque de saturation de l'interconnect par

19

Université de Reims Champagne-Ardenne

Université de Reims Champagne-Ardenne Distribuées 3. algorithmes semi­ distribués Extensibles (informations locales) ;

DistribuéesUniversité de Reims Champagne-Ardenne 3. algorithmes semi­ distribués Extensibles (informations locales) ; placements

3. algorithmes semi­ distribués

Extensibles (informations locales) ; placements moins pertinentsDistribuées 3. algorithmes semi­ distribués Centralisées Efficaces, faciles à implémenter si moins de

Centralisées(informations locales) ; placements moins pertinents Efficaces, faciles à implémenter si moins de procs Peu

Efficaces, faciles à implémenter si moins de procslocales) ; placements moins pertinents Centralisées Peu extensibles Algos hiérarchiques : procs organisés

Peu extensiblesEfficaces, faciles à implémenter si moins de procs Algos hiérarchiques : procs organisés comme un arbre

Algos hiérarchiques : procs organisés comme un arbre procs organisés comme un arbre

Le père d'un sous-arbreAlgos hiérarchiques : procs organisés comme un arbre dispose de l'information de ses fils (et la

dispose de l'information de ses fils (et la sienne propre)procs organisés comme un arbre Le père d'un sous-arbre prend l'initiative des rééquilibrages pour le

prend l'initiative des rééquilibrages pour le sous-arbrede l'information de ses fils (et la sienne propre) Algos à partitionnement logique Réduit le coût

Algos à partitionnement logiquel'initiative des rééquilibrages pour le sous-arbre Réduit le coût d'une phase d'équilibre de charge

Réduit le coût d'une phase d'équilibre de charge (direct : + large)pour le sous-arbre Algos à partitionnement logique Ch J a i l l e t M1

Ch

Université de Reims Champagne-Ardenne

Qualités d'une stratégie

de Reims Champagne-Ardenne Qualités d'une stratégie Différents critères Stable : ssi évite le déplacement

Différents critères

Stable :Qualités d'une stratégie Différents critères ssi évite le déplacement inutile d'une tâche =>

ssi évite le déplacement inutile d'une tâche

: ssi évite le déplacement inutile d'une tâche => nécessite plus d'information Intrusion minimale

=> nécessite plus d'information

Intrusion minimale :d'une tâche => nécessite plus d'information ssi ne perturbe pas trop l'exécution Nb de messages

ssi ne perturbe pas trop l'exécution

Nb de messages (trafic, bande passante) / ressources CPUminimale : ssi ne perturbe pas trop l'exécution Extensibilité : ssi bon comportement lorsque le nb

Extensibilité :Nb de messages (trafic, bande passante) / ressources CPU ssi bon comportement lorsque le nb de

ssi bon comportement lorsque le nb de procs

OK pour les stratégies distribuées: ssi bon comportement lorsque le nb de procs ≠ Efficacité : résoudre plus vite le

Efficacité :le nb de procs ≠ OK pour les stratégies distribuées résoudre plus vite le porblème posé

résoudre plus vite le porblème posé

Accélération : évolution du temps en fonction du nb de procs

Accélération : évolution du temps en fonction du nb de procs

Efficacité = accélération / nbP

Efficacité = accélération / nbP

Ch