Vous êtes sur la page 1sur 11

‫الجوــــهىريــــت الجــــسائريــــت الديــوقـراطـيـــــــــــت الشـــعبيـــــــــت‬

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE


‫وزارة التعــلـيــن الـعـالـــي و الـبـحـث الـعـلــوي‬
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE
‫جـاهـعــت ع ّوــــار ثـلـيــــجـــي باألغـــــىاط‬
UNIVERSITE AMAR TELIDJI LAGHOUAT

‫كــلـيــــــت الـعــلــــــىم‬
FACULTE DES SCIENCES

DEPARTEMENT DE MATHEMATIQUES ET INFORMATIQUE

Domaine : Mathématiques et Informatique


Filière : Informatiques
Option : Systèmes et Réseaux Informatiques

Réalisé par :
BOUDELAA Amel

Equilibrage de charge dans les systèmes


multiprocesseurs

Dirigé par : Mr. T. ALLAOUI

Année Universitaire 2016-2017


Sommaire

-Introduction 3
-Représentation des programmes 4
-Equilibrage de charge 4
-Les buts visés par l’équilibrage de charge 5
-L’équilibrage de charge statique 5
-L’équilibrage de charge Dynamique 6
-Politique de mise à jour des informations 6
- Politique de déclenchement 7
-Politique de sélection 9
-Politique de désignation locale 10
-Propriétés comportementales d’un 10
équilibrage de charge
-Conclusion 10
-Bibliographie et Webographie 11

2
1. Introduction
De nos jours , le besoin de calcul de certaines applications, telles que la prévision
météorologique, le calcul mécanique ou le traitement d'images, augmente encore
plus vite , et le parallélisme est une tentative de réponse toujours d'actualité.
Un système parallèle est un ensemble de processeurs reliés par un réseau de
communication. Les processeurs communiquent par échange de messages. Un système
parallèle est un système réparti fortement couplé utilisant un ensemble de processeurs
homogènes reliés entre eux par des liens à haut débit. Le réseau d’interconnexion est
statique (arbre, grille, hypercube) ou dynamique. Le coût de communications entre ces
processeurs n’est pas uniforme car il dépend souvent du chemin à parcourir entre
l’émetteur et le récepteur.

L’exécution d’un programme parallèle sur une architecture multiprocesseur est un


problème difficile, car il s'agit de décider quelle composante de l'application (tâches)
sera exécutée par quel processeur.

La repartions des différents tâches d’un programme parallèle sur des machines
multiprocesseurs est un problème plus grand, car un plus du problème de répartition en
soi, on doit également prendre en compte que les tâches peuvent avoir des durées
d'exécution assez différentes ou même la charge de calcul d'une tâche peut évoluer
dynamiquement lors de son traitement.

Ce qui peut engendrer un nouveau problème appelé : le déséquilibre de charge, Il faut


donc trouver des algorithmes d'allocation qui automatisent la tâche de répartition afin
d’offrir une programmation transparente des machines multiprocesseurs et une
portabilité des programmes entre les diverses structures de communication des
architectures parallèles.

3
2. Représentation des programmes
Un programme parallèle est généralement représenté par :

Graphes de tâches Graphes de précédence

T T

T T T
T
T T

T T T T
Non orienté, sommets =taches, Orienté, sommets=Taches,
arc non orienté =lien de communication arcs=contraintes de précédence
Indique des relations d’échange de Indique des relations de précédence entre
données entre des processus ou des des processus ou des applications
applications
Outil de placement Outil d’ordonnancement

3. Equilibrage de charge
C’est une technique permettant de distribuer un ensemble de taches d’un
programme parallèle entre les différents processeurs d’un système
multiprocesseurs

4
Cette technique permet à la fois de répondre à une charge trop importante d'un service
en la répartissant sur plusieurs processeurs, et de réduire l'indisponibilité potentielle de
ce service que pourrait provoquer une panne logicielle ou matérielle.
L’équilibrage de charge optimise l’utilisation des processeurs en spécifiant la localité des
tâches ce qui revient souvent à minimiser le temps d’exécution.
On peut classifier l’équilibrage de charge en deux sous catégories :
 l'équilibrage de charge statique
 l'équilibrage de charge dynamique

4. Les buts visés par l’équilibrage de charge :


1. Optimiser l’utilisation des processeurs en spécifiant la localité des taches, ce qui
permet d’améliorer la performance du système.
2. Décomposition optimale :
 Le travail soit réparti de maniéré équitable entre les différents
processeurs ce qui permet de réduire le temps de réponse moyen et le
temps d'inactivité.
 la communication entre les différents processeurs sera réduite au
minimum ce qui augmente la performance du système
3. Adaptation à la charge (scalabilité) : la capacité e maintenir les fonctionnalités et
les performances en cas de forte demande

5. L’équilibrage de charge statique


Dans l'algorithme d’équilibrage de charge statique, l'affectation des tâches aux
processeurs est effectuée avant le début de l'exécution du programme. On suppose que
les informations concernant les temps d'exécution des tâches et les ressources de
traitement sont connues au moment de la compilation.

Une tâche est toujours exécutée sur le processeur auquel elle est affectée, et Il est
impossible de migrer des tâches.
Généralement, l'objectif des méthodes d'ordonnancement statique est de minimiser le
temps d'exécution global d'un programme simultané tout en minimisant les retards de
communication. Dans ce but, les méthodes d'ordonnancement tentent de :
• prédire le comportement d'exécution du programme au moment de la
compilation (c'est-à-dire estimer le processus ou la tâche, le temps d’exécution, et le
temps de communication).

5
• effectuer une répartition des petites tâches dans des procédés à grains plus
grossiers afin de réduire les coûts de communication.

Le gestionnaire de l'équilibrage distribue les tâches sans effectuer une demande de la


charge actuelle des processeurs du système.

Avantages
• Ce type d'algorithme donne de bons résultats lorsque la durée d'exécution de
chaque tâche est prévisible

• Moins de trafic réseau

Inconvénient
• Mauvaise utilisation des ressources

6. L’équilibrage de charge Dynamique


L’équilibrage de charge dynamique est utilisé lorsque des nouvelles unités de charge
peuvent être crées pendant l’exécution du programme, il vise à obtenir de meilleurs
résultats en effectuant de mesure du taux d’occupation de chaque processeur.

La collecte d’information sur l’état de charge de chaque processeur provoque des


surcoûts vu l'échange de ces données statistiques. Ainsi les processeurs doivent
mettre à disposition des ressources supplémentaires pour la communication.

6.1. Politique de mise à jour des informations

Mesure de la charge L’état de charge des différents processeurs est la principale


source d’informations pour les techniques d’équilibrage
On distingue 3 classes de politiques :
1. Les politiques à la demande : Dans ce cas les informations sont assemblées et
envoyées à chaque fois qu’un processeur a besoin des informations.
2. Les politiques périodiques : Les informations sont récoltées de manière régulière
et elles sont stockées soit de manière centralisée ou distribuées sur un ensemble
de processeurs.

6
3. Les politiques à changement d’état : les fournisseurs décident lorsqu’il faut
transmettre une mise à jour des informations parce qu’ils passent d’un état
remarquable à un autre (inactif ou surchargé par exemple)

6.2.Politique de déclenchement
Afin d’éviter le gaspillage des ressources du système, la politique de déclenchement
détermine le moment optimal d’équilibrage à partir des informations fournies par la
politique précédente. Un équilibrage trop tardif provoque une augmentation de
l’inactivité des processeurs, tandis qu’un déclenchement trop précoce entraîne des
surcoûts importants dus à des communications et des redistributions de données
inutiles

Deux types de déclencheurs peuvent être envisagés :

1. des mécanismes décentralisés :


 La responsabilité est distribuée sur l’ensemble du système
 Les politiques de déclenchement décentralisé sont réservées aux machines
asynchrones qui permettent une certaine autonomie des nœuds. Dans ce cas
le processus de décision obéit en général à une technique à base de seuils
(charge très haute ou très faible par exemple).
 Avantage : moins de trafic
 Inconvénient : à partir d’une certaine taille du système parallèle ou d’un
certain nombre de tâches le passage par un point unique peut devenir
contraignant.

7
2. des mécanismes centralisés :
 l’opportunité de déclenchement est décidée par une seule entité.
 Les politiques de déclenchement centralisées impliquent en règle générale des
déclenchements à des fréquences fixes, ce qui fonctionne bien sur des
ensembles de processeurs synchronisés.
 Avantage : tolérance aux pannes
 Inconvénient : plus de trafic réseaux

Master

-----------------Slaves-----------------

8
Lorsque le déclenchement est décentralisé on peut encore distinguer des politiques en
fonction du type du demandeur :

1. Si ce sont les nœuds chargés qui déclenchent l’équilibrage afin de pouvoir «


pousser » certaines tâches vers des nœuds moins chargés alors c’est une stratégie
dite active.
2. Si, au contraire, ce sont les nœuds ayant une faible charge de travail qui tentent
de « tirer » des tâches à partir de pairs plus chargés alors la stratégie est dite
passive.
3. il existe parfois des stratégies mixtes où à la fois les processeurs chargés et ceux
non chargés déclenchent l’équilibrage

6.3. Politique de sélection


La politique de sélection détermine les différents nœuds déséquilibrés qui joueront le
rôle d’émetteur ou de receveur :

 les nœuds sous-chargés qui joueront le rôle de récepteur.


 les nœuds avec un excédent de charge qui joueront le rôle d’émetteur.

Il existe trois classes de politique de sélection :

1. Une politique à base de seuils : où un nœud compare sa charge locale avec un ou


plusieurs seuils. Suivant le résultat de cette comparaison, le nœud devien- dra
émetteur ou récepteur de charge.
2. Une politique de comparaison : où le processeur adopte un comportement en
fonction de l’état de l’ensemble ou d’un sous-ensemble de nœuds.
3. Une politique systématique : ne tiennent pas compte de l’état actuel des nœuds.
Ces techniques sont basées sur des résultats théoriques. Elles provoquent des
échanges de travail dans un ordre donné et désignent alternativement les nœuds
comme émetteurs, receveurs ou inactifs

9
6.4. Politique de désignation locale
La politique de désignation locale identifie les processus qui vont être transférés

Il y a deux types de méthode pour sélectionner les tâches :

 Les méthodes systématiques considèrent toutes les tâches identiques et


sélectionnent de manière très simple celle à déplacer, par exemple par FIFO ou par
tirage aléatoire. L’avantage est que le processus de sélection est pratiquement
immédiat et donc le coût de l’équilibrage est faible.
 les méthodes de filtrage des tâches à migrer : elles peuvent être faites
manuellement par l’utilisateur ou en ordonnant les tâches en fonction de leur
propriété (utilisation du CPU, affinité à un nœud, âge du processus...).

7. Propriétés comportementales d’un équilibrage de charge


1. Efficacité : La qualité principale d’un équilibreur de charge doit être de pouvoir
utiliser la puissance de la machine à son maximum.
2. Équité : à un instant donné, les tâches ayant les mêmes priorités doivent se voir
attribuer le même temps d’exécution.
3. Localité : Les tâches qui ont une affinité particulière pour un ou plusieurs
processeurs doivent y être affectées en priorité.

8. Conclusion :
L’équilibrage de charge est un ensemble de techniques permettant de distribuer d’une
manière équitable la charge de travail entre les différents processeurs d’un système
multiprocesseurs pour améliorer la performance et minimiser les couts

10
Bibliographie :

1. Équilibrage de charge pour systèmes temps-réel asymétriques sur multiprocesseurs


(Mémoire de DEA d’informatique filière conception de systèmes embarqués) - Eric Piel.
Juin 2004.
2. http ://www.ens-lyon.fr/LIP/Pub /R app orts/PhD/PhD2005/PhD2005-06.pdf
3. http ://www.lsv.ens-cachan.fr/ lozes/Sys teme/Slides/multipro cesseurs.pdf

Webographie :
1. http://www.hacc.org/fr/la_haute_disponibilite/les_composants/la_disponibilite_applicative/cl
uster/cluster_de_repartition_de_charge_load_balancing_cluster/
2. https://fr.wikipedia.org/wiki/Répartition_de_charge

11

Vous aimerez peut-être aussi