Telechargé par Yuri Orlove

3095-9570-1-SM

publicité
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/290430460
Algorithmes d’ordonnancement des tâches dans un environnement Cloud
Article · June 2015
CITATION
READS
1
4,283
3 authors, including:
Badr Benmammar
Mourad Hakem
Abou Bakr Belkaid University of Tlemcen
University of Franche-Comté
159 PUBLICATIONS 519 CITATIONS
53 PUBLICATIONS 500 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Bio-Inspired Algorithms View project
Mobilité des utilisateurs dans les réseaux IP View project
All content following this page was uploaded by Badr Benmammar on 26 April 2016.
The user has requested enhancement of the downloaded file.
SEE PROFILE
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
71
Algorithmes d’ordonnancement des tâches dans un
environnement Cloud
Zouheyr Bouafia1 , Badr Benmammar2
Mourad Hakem
Laboratoire de Télécommunications de Tlemcen LTT
Université Abou Bekr Belkaid
Tlemcen, Algérie
1
[email protected], [email protected]
Abstract—Les systèmes distribués à grande échelle comme les
Grilles ou les Nuages (Clouds) [8] sont fondamentalement
dynamiques et instables, et il est également réaliste de considérer
que certaines ressources vont subir des défaillances pendant leur
utilisation. La panne d’une ressource peut affecter l’entière
exécution des applications qui nécessitent la disponibilité de
plusieurs ressources en même temps. Afin de pouvoir gérer des
plates-formes dynamiques à grande échelle, il faut se tourner
vers des algorithmes d'ordonnancement et d'équilibrage de
charge décentralisés, de telle sorte que le système puisse passer à
l'échelle, sans que les performances de la plate-forme soient
limitées par celle du nœud en charge de l'ordonnancement. Dans
ce papier, nous présentons un état de l’art sur les algorithmes
d'ordonnancement et d'équilibrage de charge destinés pour les
Clouds. Nous proposons comme synthèse une classification de ces
algorithmes sur la base de critères et de dimensions que nous
avons définis à cet effet.
Index Terms—informatique en nuage, ordonnancement des
tâches, équilibrage de charge, tolérance aux pannes, fiabilité.
I. INTRODUCTION
Les systèmes distribués à grande échelle ont gagné de
l’attention depuis les années 90 en raison de la croissance
d’internet, et la popularité des grilles de calcul et des Clouds
composées de milliers d’ordinateurs. Cet ensemble de
machines interconnectées permet d’offrir à ses utilisateurs une
capacité de calcul importante.
Dans le contexte des plates-formes de calcul à grande
échelle, dans laquelle les nœuds rejoignent et quittent
dynamiquement la plate-forme à des instants arbitraires
(problème “en-ligne”). Cette dynamicité peut être volontaire
pour réaliser une opération de maintenance et/ou extension, ou
accidentel en cas de défaillance matérielle ou logicielle. La
prise en compte de cette volatilité est donc un enjeu majeur
pour l’utilisation efficace de ces plates-formes.
Un contrôle centralisé de ce type des plates-formes n’est
pas recommandable. En effet, la quantité des informations qui
doivent être surveillées et traitées en temps réel augmente
considérablement avec la croissance du système. Ceci peut
poser un problème de congestion au niveau du nœud chargé
par les tâches de gestion. De plus, une panne au niveau de ce
nœud provoquera l’effondrement du système. Par conséquent,
la centralisation limite la capacité à passer à l’échelle.
Revue Méditerranéenne des Télécommunications
Laboratoire DISC, Institut FEMTO-ST - UMR CNRS
Université de Franche-Comté
France
[email protected]
Pour prendre en charge la volatilité des plates-formes de
calcul à grande échelle, il est nécessaire de décentraliser le
traitement de certaines tâches de gestion, notamment la
soumission de tâches, leur ordonnancement, leur déploiement,
la surveillance de leur bon fonctionnement, ainsi que leur
terminaison. Afin de répondre à ce besoin, l’un des défis
importants est de concevoir des algorithmes décentralisés.
Dans le cadre de ce travail, nous avons abordé l’un des
problèmes les plus critiques dans le domaine du calcul
distribué, à savoir, l’ordonnancement dans une plate-forme
Cloud. Cette plate-forme est caractérisée par être fortement
perturbée, il est essentiel de construire des ordonnancements
qui doivent d’une part optimiser les fonctions objectifs
classiques et d’autre part résister aux perturbations dues au
caractère volatil des ressources.
La grande majorité des ordonnanceurs des solutions
populaires suit une approche centralisée [15, 9, 28] ou
hiérarchique [13], où l’ordonnanceur réside respectivement sur
un nœud, ou sur un nombre restreint de nœuds organisés de
manière hiérarchique.
Dans ce papier, nous présentons une synthèse des
algorithmes d’ordonnancement des tâches dans un
environnement Cloud les plus cités en littérature. Ensuite, nous
proposons une classification de ces algorithmes.
L’article est organisé comme suit. La deuxième section
passe en revue les algorithmes d’ordonnancement des tâches
dans un environnement Cloud. La troisième section introduit
une classification critique et une comparaison entre ces
algorithmes sur la base de critères que nous avons définis à cet
effet. La conclusion et les travaux futurs font l’objet de la
quatrième section.
II. TRAVAUX EXISTANTS
Le problème d’ordonnancement des tâches étant un
problème relativement ancien, c’est l’action d’assigner des
ressources au traitement des tâches. Beaucoup d’approches ont
été proposées pour le résoudre dans différentes plates-formes.
Casavant et Kuhl [5] ont défini une taxonomie largement
adoptée par la communauté scientifique (Fig. 1). Il existe de
nombreux algorithmes d'ordonnancement, allant de schémas
statiques [7] (ou encore "hors-ligne", lorsque le système
dispose de toutes les tâches à allouer des le début) très simples
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
Z. BOUAFIA
aux algorithmes dynamiques [29] (ou encore "en-ligne",
lorsque l’ordonnancement suit le changement du système ainsi
que l’arrivée des tâches) les plus complexes.
Dans [3], les auteurs présentent une étude comparative de
différentes heuristiques, trouvées dans la littérature, pour traiter
le problème d’ordonnancement statique des tâches
indépendantes sur des plates-formes hétérogènes et distribuées.
Un résumé et une classification des heuristiques pour
l’ordonnancement dynamique ont été détaillés dans [24]. Dans
[21], les auteurs traitent le problème d’ordonnancement
dynamique des tâches indépendantes sur des plates-formes
hétérogènes et distribuées.
Les premières infrastructures distribuées à grande échelle
sont les grilles. Les grilles de calcul disposent des algorithmes
sophistiqués, visant à optimiser l’ordonnancement de tâches
impliquant des calculs massivement parallèles (tels que [2, 1,
26]).
Ordonnancement
Dynamique
Statique
Optimal
Sous-Optimal
Approximatif
Distribué
Centralisé
Heuristique
Coopératif
Optimal
Non-coopératif
Sous-Optimal
Approximatif
Heuristique
Fig. 1. Taxonomie des algorithmes d’ordonnancement.
Avec l’apparition de l’informatique en nuage (ou Cloud
computing) [8], plusieurs algorithmes d’ordonnancement ont
été adaptés pour ce type de plate-forme. [15, 9, 28] étudient le
problème d’ordonnancement des tâches dans les Clouds et
proposent différentes techniques pratiques mises en œuvre pour
résoudre ce problème.
La plupart des algorithmes d’ordonnancement dans les
Clouds vise à remplir un ou plusieurs objectifs. Certains
objectifs touchent à la rapidité de traitement des tâches et dans
les délais [15, 16]. D’autres sont liés à la répartition équitable
des ressources entre les tâches [9]. D’autres encore sont relatifs
à l’utilisation optimale des ressources, par exemple
l’équilibrage de la charge de travail entre les ressources [16],
Revue Méditerranéenne des Télécommunications
72
ou au contraire sa consolidation sur un nombre restreint de
ressources afin de maximiser l’utilisation de ces dernières [19,
11]. D’autres encore visent à respecter des contraintes de
placement, qui peuvent par exemple découler des affinités ou
des antagonismes entre les tâches. Enfin, certains objectifs
peuvent consister à respecter d’autres types de contraintes,
comme les contraintes d’antériorité entre les tâches. Dans cette
section, nous allons présenter quelques algorithmes
d’ordonnancement des tâches dans les Clouds. Ces algorithmes
se sont focalisés essentiellement sur la rapidité d’exécution des
tâches et l’optimisation de la consommation électrique.
[11] vise à optimiser la consommation électrique de
l’infrastructure en fonction de divers facteurs tels que le coût
de l’énergie, le taux d’émission de CO2, la charge de travail et
la puissance du processeur. L’algorithme d’ordonnancement
mis en œuvre par cette approche utilise au maximum les
ressources d’un nombre restreint de nœuds. La consolidation
permet d’utiliser moins de nœuds, et donc de recourir à une
climatisation moins puissante. Ceci entraîne une consommation
électrique plus faible (vu qu’il y a moins de nœuds à alimenter
et à refroidir), d’où un coût financier moindre. En somme, cela
permet de réaliser des économies d’échelle.
[17] a introduit une nouvelle approche nommée EnaCloud,
elle permet le placement dynamique des applications dans la
plate-forme (Cloud) par l’utilisation des machines virtuelles,
avec la prise en charge de la consommation électrique.
L’étude de [28] a mis en évidence le problème
d’ordonnancement des tâches dans les Clouds. Ils ont proposé
un
mécanisme
d’apprentissage
par
renforcement
(Reinforcement Learning RL) pour aider l’ordonnanceur dans
la prise de décision avec tolérance aux pannes.
[16] présente un algorithme d’ordonnancement dynamique
des machines virtuelles avec optimisation de la consommation
électrique dans les Clouds privés. L’algorithme se concentre
sur la réduction du temps de réponse, l’économie d’énergie et
l’équilibrage de charge.
De plus, le travail [14] vise aussi à optimiser la
consommation électrique des centres de données. Il propose un
algorithme d’ordonnancement dynamique des machines
virtuelles nommé Round-Robin (DRR) qui réduit efficacement
la consommation d’énergie.
L’approche présentée dans [25] a proposé deux algorithmes
d’ordonnancement des tâches dans les Clouds privés (les
ressources sont limitées), en tenant compte la complexité de
calcul et la capacité des nœuds de calcul. Le premier
algorithme est nommé Longest Cloudlet Fastest Processing
Element (LCFPE) où les tâches sont d’abord triées par coût
décroissant. Le second algorithme est nommé Shortest
Cloudlet Fastest Processing Element (SCFPE) où les tâches
sont d’abord triées par coût croissant.
L’étude de [23] a proposé un algorithme d’ordonnancement
des tâches en fonction de crédit pour une utilisation optimale
des ressources en Cloud. Le problème d’ordonnancement est
considéré comme un problème d’affectation en mathématique
où la matrice de coût donne le coût d’une tâche à attribuer à
une ressource.
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
La stratégie de [27] se fonde sur un mécanisme de
confiance cognitive pour assurer un ordonnancement fiable et
dynamique des tâches. Ce mécanisme permet de réduire la
probabilité d’affectation erronée des tâches aux ressources.
L’algorithme Cloud-DLS proposé assure l’exécution des tâches
de manière sécurisée.
Dans [12], les auteurs ont proposé une stratégie
d’ordonnancement sur les Clouds afin d’assurer le partage des
ressources entre les tâches de différentes priorités. Cette
stratégie fonctionne sur le principe de ne pas pénaliser les
tâches de basse priorité.
De plus, le travail [4] vise aussi l’ordonnancement des
tâches de basse priorité sur les Clouds. Deux algorithmes ont
été proposés dans le cadre de ce travail. Le premier algorithme
se base sur la date de fin des tâches (Earliest Deadline First
EDF) pour un système moins chargé. Le second algorithme est
nommé V-Dover destiné pour un système surchargé.
Une autre approche a été proposée par [6] basée sur les
réseaux de neurones artificiels. Le Modèle ANN apprend
automatiquement via des ensembles de données régulièrement
mises à jour, et il fournie des prévisions fiables afin de : (1)
mieux exploiter les ressources disponibles, (2) minimiser le
temps d’exécution global des tâches, (3) Réduire les coûts.
Zomaya et Lee [18] abordent le problème de performance
d’exécution des tâches dans les Grilles. Ils ont proposé
l’utilisation des ressources de Cloud pour assurer le réordonnancement des tâches retardataires dans les délais
prévus.
Les algorithmes génétiques ont déjà été utilisés en
ordonnancement des tâches dans un environnement Cloud. Par
exemple dans [30] les auteurs utilisent un algorithme génétique
pour ordonnancer les tâches indépendantes sur une plate-forme
Cloud (JLGA). Le but de cet algorithme est non seulement la
minimisation du temps d’exécution global des tâches
(makespan), mais aussi l’équilibrage de charge entre
l’ensemble des nœuds du système.
La majorité des algorithmes d’ordonnancement des tâches
dans les Clouds sont de nature centralisée [9, 28, 25, 23], qui
malgré leurs efficacités ils ne sont pas aptes à réagir
rapidement sur les plates-formes à grande échelle lorsque
certains nœuds se trouvent surutilisés, ce qui risque de conduire
à une violation des niveaux de qualité de service. De plus, la
durée des étapes d’ordonnancement est d’autant plus
significative que le nombre de nœuds à gérer est grand. Enfin,
le nœud hébergeant l’ordonnanceur représente un point unique
de défaillance : s’il tombe, ou s’il n’est plus connecte aux
autres nœuds au travers du réseau, il n’y a plus
d’ordonnancement possible.
Une façon de traiter les problèmes évoqués jusqu’à présent
consiste à décentraliser l’ordonnancement, afin que ce dernier
puisse continuer même en cas de défaillance d’un nœud. Deux
approches ont été proposées dans la littérature : approche
hiérarchique et approche multi-agents.
A. Approche hiérarchique
Une première manière de décentraliser l’ordonnancement
est de recourir à une approche hiérarchique [15, 13]. Dans cette
Revue Méditerranéenne des Télécommunications
73
approche, l’ordonnanceur est formé de plusieurs composantes
organisées de manière hiérarchique (Fig. 2). Chaque
composante est chargée de gérer un sous ensemble de la plateforme. Une telle approche constitue un compromis entre
l’approche centralisée et l’approche multi-agents qui est plus
décentralisée.
Fig. 2. Approche hiérarchique.
Nœuds dédié à l’ordonnancement.
Nœud de calcul.
Dans [13], deux algorithmes d’ordonnancement dynamique
des tâches dépendantes suivent une approche hiérarchique. Ces
algorithmes ajustent l’allocation des ressources de manière
dynamique en fonction de l’information mise à jour sur l’état
actuel des tâches en exécution. Ils se basent sur une approche
distribuée. Le gestionnaire de chaque Cloud communique avec
les
gestionnaires des autres Clouds pour la collecte
d’informations sur l’état des ressources et pour l’affectation des
tâches au Cloud adéquat.
En outre, Dans [15], les auteurs ont abordé le problème
d’exécution des tâches dans les Clouds. Ils ont proposé un
mécanisme d’ordonnancement des tâches avec préemption
pour améliorer l’utilisation des ressources et minimiser le
temps d’exécution moyen des tâches. Deux algorithmes
d’ordonnancement dynamique avec rétroaction ont été
proposés pour ce mécanisme.
La structure hiérarchique du modèle facilite les flux
d’informations à travers les nœuds de l’arbre. Cependant,
l’architecture demeure partiellement centralisée, puisque le
chef de groupe a une vision globale (bien que simplifiée) de
toute l’infrastructure, ce qui peut limiter le passage à l’échelle.
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
B. Approche Multi-agents
D’autres propositions ont été élaborées afin de décentraliser
encore plus le travail d’ordonnancement ; ces approches sont
qualifiées d’approches multi-agents, car elles recourent à
l’installation d’un agent logiciel sur un ensemble des nœuds de
l’infrastructure à gérer, le travail d’ordonnancement étant
réparti entre les agents [20, 10, 22].
Cependant, certaines algorithmes nécessitent d’avoir des
informations sur toute l’infrastructure pour prendre une
décision, et/ou recourent à un nœud de service centralisé. Ce
nœud de service n’est pas tolérant aux pannes, et sa défaillance
met un point d’arrêt à l’ordonnancement.
III. CLASSIFICATION DES ALGORITHMES
D’ORDONNANCEMENT DES TACHES SUR LES
CLOUDS
On présente dans ce qui suit une liste des caractéristiques
permettant de montrer les différences majeures qui pourraient
exister entre les algorithmes d’ordonnancement passés en
revue.
A. Politique d’ordonnacement
Une fois qu’un ordonnancement est déclenché, celui-ci se
conforme à une certaine politique d’ordonnancement, qui
définit quelles ressources assigner en priorité à une tâche
donnée. Il existe plusieurs politiques d’ordonnancement, à
savoir « Premier ajustement », « Meilleur ajustement »,
« Aléatoire », « Equilibrage de charge », « Consolidation ».
 Premier ajustement : La politique de premier
ajustement (ou first fit) est la plus simple, puisqu’elle a
pour objectif de sélectionner le premier nœud avec
suffisamment de ressources disponibles pour exécuter
une tâche donnée.
 Meilleur ajustement : Une autre approche, dérivée de
la politique de premier ajustement, consiste à lister
tous les nœuds pouvant exécuter une tâche donnée et à
en choisir le meilleur en fonction de l’heuristique
utilisée.
 Aléatoire : elle consiste à lister tous les nœuds pouvant
exécuter une tâche donnée et à en choisir un de
manière aléatoire.
 Equilibrage de charge : Plutôt que de sélectionner un
nœud au hasard, il peut être judicieux de chercher à
équilibrer la charge de travail sur l’ensemble des
nœuds, Dans ce cas, les nœuds les moins chargés sont
utilisés en priorité pour exécuter les tâches.
 Consolidation : À l’inverse de l’équilibrage de charge,
la consolidation vise à utiliser au maximum les
ressources d’un nombre restreint de nœuds.
B. Type d’ordonnacement
L’ordonnancement peut être statique ou dynamique.
L’ordonnancement est qualifié de statique lorsque chaque tâche
demeure sur le même nœud de calcul du début à la fin de son
traitement. Le placement initial des tâches tient compte de la
demande en ressources formulée par les utilisateurs, et non pas
Revue Méditerranéenne des Télécommunications
74
des besoins réels en ressources de ces tâches.
L’ordonnancement est qualifié de dynamique lorsque les tâches
peuvent être migrées d’un nœud de calcul à un autre durant
leur traitement, ce qui se fait en tenant compte de leurs besoins
réels en ressources.
C. Architecture d’ordonnancement
Trois architectures ont été
Hiérarchique et multi-agents.
avancées :
centralisée,
D. Dépendance des tâches
Une application parallèle est souvent représentée par un
ensemble des tâches qui ont des relations de précédences entre
elle
ou
indépendantes.
Plusieurs
algorithmes
d’ordonnancement ont été proposés pour prendre en
considération les relations de précédences. Une représentation
des relations de précédences fréquemment utilisée en
ordonnancement est le « Directed Acyclic Graph » (DAG).
E. Heuristique utulisée
Il existe de nombreuses heuristiques différentes pour
réaliser l’ordonnancement des tâches dans un environnement
Cloud. L’objectif de ces heuristiques est de trouver des
solutions de qualité acceptable en un temps raisonnable.
L’efficacité d’une heuristique réside dans sa capacité de
s’adapter aux instances générales du problème.
Le (Tableau. 1) résume la catégorisation des algorithmes
par rapports aux dimensions données précédemment. Tout
d’abord, les ordonnanceurs des tâches sont très majoritairement
centralisés, ce qui limite leur passage à l’échelle. Autrement
dit, ils ne sont pas aptes à ordonnancer un grand nombre des
tâches dans un temps raisonnable, surtout s’ils doivent pour
cela prendre en considération les ressources d’un nombre
conséquent de nœuds.
Il existe de nombreuses heuristiques différentes proposées
pour réaliser l’ordonnancement des tâches dans une plateforme Clouds. Leur principe est de viser un ou plusieurs
objectifs, mais la plupart des heuristiques visent à obtenir le
meilleur temps d’exécution et une économie d’énergie, mais
chacune de ces heuristiques n’est pas sans défauts.
Quelques algorithmes comme [12, 4, 18] respectent les
deadlines, alors que la plupart des algorithmes ne les respectent
pas. Ce deadline associé à chaque tâche correspond à la date de
fin dans l'ordonnancement.
Plusieurs algorithmes ont été proposés afin de décentraliser
l’ordonnancement [15, 13, 10, 22]. Cependant, la quasi-totalité
des prototypes mis en œuvre continuent d’utiliser des
mécanismes partiellement centralisés et ne répondent que de
manière limitée aux besoins de réactivité et de passage à
l’échelle.
Enfin, il est important de noter qu’il reste beaucoup à faire
pour améliorer certaines performances, surtout en matière
d’équilibrage de charge et de qualité de service.
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
Revue Méditerranéenne des Télécommunications
Vol. 5, N° 2, June 2015
75
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
TABLE I.
Algorithmes
[11]
76
ALGORITHMES D’ORDONNANCEMENT DES TACHES SUR UNE PLATE-FORME CLOUD
Politique
Ordonnancement
Consolidation
Type
Ordonnancement
Statique
Architecture
Ordonnancement
Centralisée
Dépendance des
tâches
Non
Heuristique utilisée
Optimiser
consommation
électrique
l’infrastructure
la
de
[15]
Meilleur ajustement
Dynamique
Hiérarchique
Oui
Minimiser le temps
d’exécution moyen des
tâches
[28]
Facteur de fiabilité
Statique
Centralisée
Non
[25]
Premier ajustement
Statique
Centralisée
Non
Apprentissage
par
renforcement
Prendre en compte la
complexité de calcul et
la capacité des nœuds
de calcul
[23]
Meilleur ajustement
Statique
Centralisée
Non
Matrice
de
coût
d’attribution
d’une
tâche à une ressource
(crédit)
[27]
Fiabilité d’exécution
Dynamique
Centralisée
Oui
confiance cognitive
[12]
Premier ajustement
Dynamique
Centralisée
Non
Transfert des tâches de
basse priorité vers les
ressources disponibles
pour ne pas pénaliser
ces tâches.
[4]
Meilleur ajustement
Dynamique
Centralisée
Non
Il se base sur la date de
fin des tâches (EDF)
pour un système moins
chargé. Et V-Dover
destiné pour un système
surchargé
[13]
Meilleur ajustement, et
Réservation
Dynamique
Hiérarchique
Oui
Économie d’énergie, et
minimisation du temps
d’exécution des tâches.
[16]
Equilibrage de charge
Dynamique
Centralisée
Non (machine virtuelle)
la réduction du temps
de réponse, l’économie
d’énergie
et
l’équilibrage de charge.
[10]
Aléatoire,
MaxCT,
MinCT
Statique
Multi-Agents
Non (Bag-of-tasks)
14
heuristiques
proposées.
[22]
Aléatoire
Statique
Multi-Agents
Non
minimiser la date de fin
de la dernière tâche
(makespan)
[30]
Equilibrage de charge
Statique
Centralisée
Non
Equilibrage de charge +
makespan
MaxET,
MinET,
Revue Méditerranéenne des Télécommunications
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
IV. CONCLUSION
Dans cet article, nous avons présenté un certain nombre
d’algorithmes d’ordonnancement des tâches dans un
environnement Cloud. Ensuite nous avons proposé une
classification et une comparaison entre ces algorithmes en se
basant sur des critères que nous avons définis.
Ces algorithmes sont basés sur des heuristiques afin de
réaliser un ou plusieurs objectifs tels que : la réduction du
temps d’exécution moyen, l’économie d’énergie, la fiabilité
d’exécution et la réduction de la date de fin de la dernière tâche
(makespan). Mais chacune de ces heuristiques n’est pas sans
défauts.
La grande majorité de ces algorithmes suit une approche
centralisée, ce qui limite la réaction rapide sur les plates-formes
à grande échelle lorsque le nœud central se trouve surchargé, et
ce qui risque de conduire à une violation des niveaux de qualité
de service. De plus, la durée des étapes d’ordonnancement est
d’autant plus significative que le nombre de nœuds à gérer est
grand. Enfin, le nœud hébergeant l’ordonnanceur représente un
point unique de défaillance.
Les perspectives de travaux futurs concernent la
proposition des algorithmes d'ordonnancement et d'équilibrage
de charge décentralisés, de telle sorte que le système puisse
passer à l'échelle, sans que les performances de la plate-forme
soient limitées par celle du nœud en charge de
l'ordonnancement et de l'équilibrage de charge. On peut
imaginer une propagation des informations de variations de
charge, afin d'améliorer le temps de traitement des tâches
urgentes. Une urgence sporadique détectée sur un site sera
propagée au reste de la plate-forme pour que les
ordonnanceurs/répartiteurs locaux s'y adaptent. L'intérêt des
algorithmes décentralisés est double car ceux-ci permettent i)
de garantir des performances acceptables malgré la dynamicité
des plates-formes et ii) d'améliorer le temps de
traitement/réponse des tâches critiques/urgentes s'ils ne
peuvent être garanties sur leurs sites d'origine.
REFERENCES
[1] M.Arora, S.K.Das, R.Biswas , “A decentralized scheduling and
load balancing algorithm for heterogeneous grid environments”.
Workshop on Scheduling and Resource Management for Cluster
Computing, Vancouver, Canada, pages 499–505, August 2002.
[2] A.K.Aggarwal, R.D.Kent, “An adaptive generalized scheduler
for grid applications”. In Proceedings of the 19th International
Symposium on High Performance Computing Systems and
Applications, pages 15–18, Guelph, Ontario Canada, May 2005.
[3] T.D.Braun, H.J.Siegal, N.Beck, L.L.Boloni, M.Maheswaran,
A.I.Reuther, J.P.Robertson, M.D.Theys, B.Yao, D.Hensgen, “A
comparison study of static mapping heuristics for a class of
meta-tasks on heterogeneous computing systems”. In
Heterogeneous Computing Workshop, 1999. (HCW’99)
Proceedings. Eighth, pages 15–29. IEEE, 2002.
[4] S.Chen, T.He, H.Y.Starsky-Wong, K.W.Lee, and L.Tong,
“Secondary job scheduling in the cloud with deadlines”. In
IPDPS Workshops, pages 1009-1016, 2011.
Revue Méditerranéenne des Télécommunications
77
[5] T.Casavant, J.Kuhl, “A taxonomy of scheduling in general
purpose distributed computing systems”. IEEE Transactions on
Soft. Eng., vol. 14, no 2, Pages: 141-153, 1994.
[6] D.A.Heger, “Optimized resource allocation & task scheduling
challenges in cloud computing environments”.
[7] P.F.Dutot, L.Eyraud, G.Mounié, D.Trystram, “Bi-criteria
algorithm for scheduling jobs on cluster platforms”. In
Proceedings of the sixteenth annual ACM symposium on
Parallelism in algorithms and architectures. pp. 125_132. SPAA
'04, Barcelona, Spain, ACM, New York, NY, USA 15, 23. 2004.
[8] I.Foster, Y.Zhao, I.Raicu, S.Lu, “Cloud Computing and Grid
Computing 360-Degree Compared”. In GCE ’08: Proceedings
of Grid Computing Environments Workshop, pages 1–10,
Washington, DC, USA. IEEE Computer Society.26, 42, 44,
November 2008.
[9] P.K.Gupta, N.Rakesh, “Different job scheduling methodologies
for web application and web server in a cloud computing
environment”. Proceedings of the 3rd International Conference
on Emerging Trends in Engineering and Technology, Nov. 1921, IEEE Xplore Press, Goa, pp: 569-572. DOI:
10.1109/ICETET.2010.24, 2010.
[10] J.O.Gutierrez-Garcia, K.M.Sim, “Family of heuristics for agentbased elastic cloud bag-of-tasks concurrent scheduling”, Future
Generat. Comput. Syst. 29 (7), pp. 1682–1699, 2013.
[11] S.K.Garg, C.S.Yeo, A.Anandasivam, R.Buyya, “Energyefficient scheduling of HPC applications in cloud computing
environments”. Comput. Sci. Distributed, Parallel Cluster
Computing, 2009.
[12] T.He, S.Chen, H.Kim, L.Tong, K.W.Lee , “Scheduling parallel
tasks onto opportunistically available cloud resources”. In IEEE
CLOUD, pages 180-187, 2012.
[13] J.Li, M.Qiu, Z.Ming, G.Quan, X.Qin, Z.Gu, “Online
optimization for scheduling preemptable tasks on IaaS cloud
systems”. J. Parallel Distributed Computing. Elsevier,
72(5):666-677, May 2012.
[14] C.C.Lin, P.Liu, J.J.Wu, “Energy-aware virtual machine dynamic
provision and scheduling for cloud computing”. Proceedings of
the 4th International Conference on Cloud Computing, Jul. 4-9,
IEEE Xplore Press, Washington, DC., pp: 736-737. DOI:
10.1109/CLOUD.2011.94, 2011.
[15] J.Li, M.Qiu, J.Niu, W.Gao, Z.Zong, “Feedback dynamic
algorithms for preemptable job scheduling in cloud systems”.
Proceedings of the International Conference on Web
Intelligence and Intelligent Agent Technology, Aug. 31-Sep. 3,
IEEE Xplore Press, Toronto, ON, pp: 561-564. DOI:
10.1109/WI-IAT.2010.30, 2010.
[16] J.Li, J.Peng, W.Zhang, “A scheduling algorithm for private
clouds”. J. Convergence Inform. Technol., 6: 1-9. 2011.
[17] J.Li, J.Huai, T.Wo, Q.Li, “EnaCloud : An energy-saving
application live placement approach for cloud computing
environments”. Proceedings of the International Conference on
Cloud Computing, Sept. 21-25, IEEE Xplore Press, Bangalore,
pp: 17-24. DOI: 10.1109/CLOUD.2009.72, 2009.
[18] Y.C.Lee, A.Y.Zomaya, “Rescheduling for reliable job
completion with the support of clouds”, Future Gener. Comput.
Syst. 26 (2010) 1192-1199, ISSN 0167-739X, 2010.
[19] Y.C.Lee, A.Y.Zomaya ,
“Energy
efficient
utilization of
resources in cloud computing systems”.
The Journal of
Supercomputing May 2012, Volume 60, Issue 2, pp 268-280,
2012.
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Z. BOUAFIA
Algorithmes d’ordonnancement des tachches dans un environnement Cloud
[20] W.Malvault , “Vers une architecture pair-à-pair pour
l'informatique dans le nuage”. Computer Science. Université de
Grenoble, 2011.
[21] M.Maheswaran, S.Ali, H.J.Siegal, D.Hensgen, R.F.Freund,
“Dynamic matching and scheduling of a class of independent
tasks onto heterogeneous computing systems”. In
Heterogeneous Computing Workshop, 1999. (HCW’99)
Proceedings. Eighth, pages 30–44. IEEE, 2002.
[22] G.Nithya, G.Jayapratha, “A Multi-agent Brokering Approach
and Jumper Firefly Algorithm for Job Scheduling in Cloud
Computing”. Intelligent Computing Applications (ICICA),
2014 International Conference on Coimbatore, pp. 52-58, 2014.
[23] M.Paul and G.Sanyal : “Task-scheduling in cloud computing
using credit based assignment problem”. Int. J. Comput. Sci.
Eng., 3: 3426-3430, 2011.
[24] H.G.Rotithor, “Taxonomy of dynamic task scheduling schemes
in distributed computing systems”. IEE Proceedings: Computers
and Digital Techniques, 141(1):1–10, 1994.
[25] S.Sindhuand S.Mukherjee, “Efficient task scheduling algorithms
for cloud computing environment”. Commun. Comput. Inform.
Sci., 169:79-83. DOI: 10.1007/978-3-642-22577-2_11, 2011.
[26] H.Shan, L.Oliker, R.Biswas, W.Smith , “Scheduling in
heterogeneous grid environments : The effects of data
migration”. In Proc. of ADCOM2004 : International Conference
Revue Méditerranéenne des Télécommunications
View publication stats
[27]
[28]
[29]
[30]
78
on Advanced Computing and Communication, India, December
2004.
W.Wang, G.Zeng, D.Tang, J.Yao, “Cloud-dls: Dynamic trusted
scheduling for cloud computing”. Expert Syst. Appl. Elsevier,
39(3):2321-2329, 2012.
B.Yang, X.Xu, F.Tan, D.H.Park, “An utility based job
scheduling algorithm for cloud computing considering reliability
factor”. Proceedings of the 2011 International Conference on
Cloud and Service Computing, Dec. 12-14, IEEE Xplore Press,
Hong Kong, pp: 95-102. DOI: 10.1109/CSC.2011.6138559,
2011.
D.Ye, G.Zhang, “On-line scheduling of parallel jobs in a list”. J.
of Scheduling 10(6), 407_413, Kluwer Academic Publishers,
Hingham, MA, USA 15, Dec 2007.
T.Wang, Z.Liu, Y.Chen, Y.Xu, X.Dai, “Load Balancing Task
Scheduling based on Genetic Algorithm in Cloud Computing”.
2014 IEEE 12th International Conference on Dependable,
Autonomic and Secure Computing (DASC), pp: 146-156, DOI:
10.1109/DASC.2014.35, 2014.
Vol. 5, N° 2, June 2015
Mediterranean Telecommunication Journal
Téléchargement