• Aucun résultat trouvé

Algorithmes d ordonnancement des tâches dans un environnement Cloud

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithmes d ordonnancement des tâches dans un environnement Cloud"

Copied!
8
0
0

Texte intégral

(1)

Algorithmes d’ordonnancement des tâches dans un environnement Cloud

Zouheyr Bouafia1 , Badr Benmammar2 Laboratoire de Télécommunications de Tlemcen LTT

Université Abou Bekr Belkaid Tlemcen, Algérie

1b.zoheir@yahoo.fr, 2Badr.Benmammar@gmail.com

Mourad Hakem

Laboratoire DISC, Institut FEMTO-ST - UMR CNRS Université de Franche-Comté

France

Mourad.Hakem@univ-fcomte.fr

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.

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

(2)

Ordonnancement

Statique Dynamique

Optimal Sous-Optimal Centralisé Distribué

Heuristique

Approximatif

Coopératif Non-coopératif Optimal Sous-Optimal

Approximatif

Heuristique 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]).

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],

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.

(3)

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

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 plate- forme. 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.

(4)

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. CLASSIFICATIONDESALGORITHMES

D’ORDONNANCEMENTDESTACHESSURLES

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

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é avancées : centralisée, Hiérarchique et multi-agents.

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 plate- forme 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.

(5)
(6)

TABLE I. ALGORITHMES DORDONNANCEMENT DES TACHES SUR UNE PLATE-FORME CLOUD

Algorithmes Politique Ordonnancement

Type Ordonnancement

Architecture Ordonnancement

Dépendance des tâches

Heuristique utilisée

[11] Consolidation Statique Centralisée Non Optimiser la

consommation électrique de l’infrastructure

[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 Apprentissage par

renforcement

[25] Premier ajustement Statique Centralisée Non 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, MaxET,

MaxCT, MinET,

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

(7)

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.

[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. 19- 21, 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 agent- based 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, “Energy- efficient 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.

(8)

[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

on Advanced Computing and Communication, India, December 2004.

[27] 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.

[28] 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.

[29] 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.

[30] 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.

Références

Documents relatifs

By using the probe measurements as well as the total emitted current as a crude measure of the plasma properties, the machine operating parameters can be varied

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of

Il est possible toutefois qu’un administrateur soit simultanément un employé de la so- ciété, dans les liens d’un contrat de travail classique, pour autant que son

Dans le chapitre suivant, nous présenterons la synthèse de lois de commande ainsi que les résultats expérimentaux associés où nous mettrons l’accent sur l’efficacité

Due to the effect of multi-core hardware, such as local caches and shared hardware resources, the timing behavior of tasks are strongly influenced by their execution context

Nous développons donc un deuxième al- gorithme, le SARSESIO, qui part de la même modélisation du signal reçu mais dont le principe diffère de l’OBSAR : une première image des

On dit qu’on peut transformer le problème d’optimisation P en un autre problème d’optimisation P’, s’il existe un algorithme polynomial qui transforme les 170

priorité d’un travail ne change pas, mais que deux travaux d’une même tâche