• Aucun résultat trouvé

Optimisation de la consommation d'énergie dans un environnement Cloud

N/A
N/A
Protected

Academic year: 2021

Partager "Optimisation de la consommation d'énergie dans un environnement Cloud"

Copied!
95
0
0

Texte intégral

(1)

Optimisation de la consommation d'énergie dans un

environnement Cloud

Mémoire

Fatima Ezzahra Choukairy

Maîtrise en informatique - avec mémoire

Maître ès sciences (M. Sc.)

(2)

Optimisation de la consommation d’énergie dans un

environnement Cloud

Mémoire

Fatima Ezzahra Choukairy

Sous la direction de:

(3)

Résumé

Depuis une dizaine d'années, la dématérialisation de l'information connaît un essor particu-lier avec l'ascension du Cloud Computing. La demande sans cesse croissante et le souci de fournir une certaine qualité de service obligent les fournisseurs à investir d'importants capi-taux an de multiplier leurs ores d'hébergement dans plusieurs zones géographiques. Avec ce déploiement à grande échelle d'énormes centres de données, la consommation énergétique du Cloud augmente en conséquence. De ce fait, plusieurs études portant sur la minimisation de la consommation énergétique du Cloud ont été récemment eectuées, en considérant les diérentes techniques de réduction de l'énergie consommée.

Ce mémoire propose une méthode basée sur l'intégration d'un algorithme d'ordonnancement, d'une technique de réduction de tension et de fréquence du processeur de chaque serveur (appelée DVFS pour Dynamic Voltage and Frequency Scaling), ainsi que du processus de migration des machines virtuelles (VMs). Cette méthode vise à minimiser la consommation de l'énergie dans un environnement Cloud, tout en respectant les exigences de qualité de service. Ce travail de recherche est réalisé en trois phases. Dans la première phase, nous menons une étude sur les diérentes techniques de minimisation de la consommation d'énergie. Dans la deuxième phase, nous analysons ces techniques et proposons une méthode basée sur la combinaison de l'algorithme d'ordonnancement Green Scheduler, de la technique DVFS et de la migration des VMs. An d'évaluer l'ecacité de cette méthode, nous eectuons, dans la troisième phase, une mise en ÷uvre et une analyse des résultats issus de trois séries de simulations. Ces résultats montrent que la méthode proposée est en mesure de réduire l'énergie consommée par les serveurs d'une moyenne de 5% par rapport à l'utilisation d'autres méthodes de la littérature. Cette réduction peut atteindre 7.5% dans certaines circonstances. Les résultats de simulations montrent également que la méthode proposée permet de respecter les exigences de qualité de services dans toutes les conditions de fonctionnement du Cloud.

(4)

Abstract

The last decade has witnessed a rapid rise in Cloud Computing usage, which has led to the dematerialization of data centers. The increased use of data centers has an impact on the energy consumption. Therefore, several studies relating to the optimization of energy consumption were recently carried out, hence various techniques aiming to reduce the power consumption were adopted. In this thesis, we propose a method based on the integration of a scheduling algorithm, the DVFS technique and the virtual machine (VM) migration. This method aims to minimize the consumption of energy in a Cloud environment subject to the quality of service. For this purpose, we rstly conduct a study on dierent techniques which aim to minimize energy consumption. Secondly, we analyze these techniques and propose a method based on the combination of the Green Scheduler algorithm, the DVFS technique and the VM migration. Thirdly, we choose Green Scheduler to perform three sets of simulations. Simulation results show that the proposed method is able to reduce the energy consumed by the servers by an average of 5% compared to the use of other existing methods. This reduction can reach 7.5% under certain circumstances. Such results also show that the proposed method always meets the quality of service requirements.

(5)

Table des matières

Résumé iii

Abstract iv

Table des matières v

Liste des tableaux vii

Liste des gures viii

Liste d'abréviations x

Remerciements xii

1 Introduction 1

1.1 Dénitions et concepts de base . . . 1

1.2 Éléments de la problématique . . . 3

1.3 Objectifs de recherche . . . 4

1.4 Plan du mémoire . . . 5

2 Caractérisation du Cloud Computing 6 2.1 Caractéristiques fonctionnelles. . . 6

2.2 Classication . . . 7

2.3 Topologies des centres de données. . . 10

2.4 Avantages et inconvénients . . . 15

2.5 Techniques de réduction de la consommation d'énergie . . . 16

2.6 Quelques dés de recherche . . . 22

3 Analyse du problème 24 3.1 Contexte du problème . . . 24

3.2 Paramètres étudiés . . . 27

3.3 Présentation et analyse des solutions . . . 31

3.4 Méthode proposée . . . 36

4 Mise en ÷uvre et résultats 42 4.1 Plan d'expérience . . . 42

4.2 Mise en ÷uvre . . . 43

(6)

5 Conclusion 65

5.1 Synthèse des résultats . . . 65

5.2 Limitations . . . 66

5.3 Travaux futurs . . . 67

Bibliographie 68

A Modication de Green Cloud 77

B Données de la simulation 1 79

(7)

Liste des tableaux

4.1 Comparaison entre Green Cloud et Cloud Sim . . . 44

4.2 Fichiers de conguration du simulateur Green Cloud . . . 48

B.1 Énergie consommée par les trois algorithmes d'ordonnancement . . . 80

(8)

Liste des gures

1.1 Cloud Computing. . . 2

2.1 Modèles de services. . . 8

2.2 Modèles de déploiement . . . 9

2.3 Topologie en arbre à trois niveaux . . . 11

2.4 Topologie en arbre à deux niveaux . . . 12

2.5 Topologie Fat tree . . . 13

2.6 Exemple de topologie DCell1 avec n=4 . . . 14

2.7 Exemple de topologie BCube1 avec n=4 . . . 14

2.8 Impact de la technique DVFS sur la consommation d'énergie . . . 18

2.9 Composants d'un ordonnanceur . . . 20

2.10 Processus de migration à froid . . . 21

2.11 Processus de migration à chaud . . . 22

3.1 Architecture générale d'un centre de données . . . 25

3.2 Principaux éléments de consommation d'énergie dans un serveur . . . 27

3.3 Puissance d'un serveur sans le mode de veille . . . 28

3.4 Puissance d'un serveur avec mode de veille. . . 30

3.5 Processus de migration . . . 32

3.6 Algorithme d'ordonnancement Green Scheduler . . . 34

3.7 Algorithme d'ordonnancement Round Robin . . . 34

3.8 Algorithme d'ordonnancement Random . . . 35

3.9 Diagramme de ot de la méthode proposée . . . 39

4.1 Fichier 'main.tcl' . . . 45

4.2 Topologie à deux niveaux . . . 46

4.3 Topologie à trois niveaux . . . 47

4.4 Diagramme d'héritage des classes des algorithmes d'ordonnancement . . . 49

4.5 Choix de l'algorithme d'ordonnancement . . . 49

4.6 Implémentation de la technique DVFS au niveau des processeurs . . . 50

4.7 Comparaison des congurations de machines virtuelles dans Green Cloud . . . 51

4.8 Modication du nombre de machines virtuelles par serveur dans Green Cloud . 52 4.9 Implémentation de la conguration modiée des machines virtuelles dans Green Cloud . . . 53

4.10 Création des machines virtuelles dans Green Cloud . . . 53

4.11 Modication du processus de migration . . . 54

(9)

4.13 Répartition de l'énergie consommée entre les diérents niveaux du centre de

données . . . 57

4.14 Impact des algorithmes d'ordonnancement sur la consommation de l'énergie des

serveurs . . . 58

4.15 Comparaison du pourcentage de tâches traitées entre les algorithmes

d'ordon-nancement. . . 59

4.16 Impact de la combinaison de DVFS et de l'algorithme d'ordonnancement GS

sur la consommation de l'énergie des serveurs . . . 60

4.17 Amélioration de la consommation d'énergie des serveurs par la méthode proposée 61

4.18 Comparaison du pourcentage de tâches traitées entre la méthode proposée et

l'algorithme d'ordonnancement GS . . . 62

A.1 Appel de la migration . . . 77

A.2 Appel de la technique DVFS . . . 78

C.1 Répartition de l'énergie consommée entre les diérents niveaux du centre de

(10)

Liste d'abréviations

CPU : Central Processing Unit

CRAH : Computer Room Air Handling DC : Data Center

DEWTS : DVFS-enabled Ecient Energy ow Task Scheduling DNS : Dynamic Network Shutdown

DVFS : Dynamic voltage and frequency scaling

EEDTSA : Energy Ecient DVFS based Task Scheduling Algorithm GS : Green Scheduler

HEFT : Hetogeneous Earliest-Finish-Time IaaS : Infrastructure as a Service

MIPS : Million d'instructions par seconde

NIST : National Institute of Standards and Technology OS : Operating System

PaaS : Platform as a Service PAC : Pompe à Chaleur PDU : Power Delivery Unit PSU : Power Supply Unit QoS : Quality of Service R : Random

(11)

SaaS : Software as a Service

SDA : Système de Distribution d'Air SLA : Service Level Agreement TCL : Tool Command Language TI : Technologies d'informations UPS : Uninterrupted Power Supply VM : Virtual Machine

(12)

Remerciements

Une mission s'achève, une autre commence ! Mais avant, qu'il me soit permis de remercier les personnes qui, de près ou de loin, ont contribué à la réussite de celle qui s'achève.

Je tiens tout d'abord à remercier vivement M. Ronald Beaubrun. Ce travail n'aurait pu voir le jour sans son implication et son enthousiasme. Merci à lui de m'avoir initiée à toutes les facettes de recherche, de m'avoir encadrée et d'avoir lu et relu le présent mémoire. Je le remercie aussi pour son aide, son encouragement et son accompagnement technique et pédagogique.

Alors que ma formation de maîtrise touche à sa n, je saisis cette occasion pour exprimer mes sincères reconnaissances à l'Université Laval, dont les responsables, le corps enseignant et le personnel administratif ont tout déployé pour nous donner la formation digne de cette prestigieuse institution. Un immense merci aux personnes qui ont jalonné mon parcours, et qui, d'une façon ou d'une autre, ont contribué à me faire arriver jusqu'ici.

J'adresse également mes vifs remerciements aux membres du jury qui se sont libérés de leurs obligations pour juger ce travail.

Un merci tout particulier à mes parents Said Choukairy et Ghita Nadir et ma s÷ur Mariam Choukairy, pour leur soutien depuis toujours. Un grand merci pour votre support moral et votre amour qui n'a jamais failli, et ceci, malgré la distance qui me sépare de vous. À mon mari Abdelali Bouyahia, j'adresse mes profonds et sincères remerciements de m'accompagner au jour le jour dans les périodes de stress ; merci d'avoir toujours soutenu mes choix.

Mes remerciements s'étendent à ma famille à Montréal, pour avoir toujours m'encourager et être présente à mes côtés pendant mon séjour au Canada.

Aux lecteurs, qui grâce à eux le présent mémoire prend son sens, j'adresse mes remerciements les plus signiants.

(13)

Chapitre 1

Introduction

Depuis quelques années, le monde des télécommunications assiste à l'émergence d'un nouveau paradigme, appelé le Cloud Computing, qui permet aux utilisateurs d'externaliser leurs ap-plications et d'exploiter des ressources informatiques physiques à travers Internet, sans avoir à gérer l'infrastructure sous-jacente, souvent complexe [1]. En raison de la panoplie de res-sources que contient l'environnement Cloud, comme les serveurs, les équipements réseau et les systèmes de refroidissement, le Cloud consomme une grande quantité d'énergie pour fournir des services ecaces et ables aux utilisateurs. Dans ce mémoire, nous nous intéressons à la minimisation de la consommation d'énergie dans le Cloud. Ce chapitre d'introduction est divisé comme suit. Dans un premier temps, les principaux concepts et dénitions, permettant de mieux cerner le cadre du travail, seront présentés. Par la suite, les éléments liés à la pro-blématique visant à réduire la consommation d'énergie seront dénis et seront suivis par les objectifs de recherche. Le plan du mémoire permettra de clore ce chapitre.

1.1 Dénitions et concepts de base

Au milieu de la panoplie des dénitions du Cloud, nous adoptons la dénition de l'organisme de normalisation National Institute of Standards and Technology (NIST) que nous traduisons comme suit : le Cloud est un concept qui consiste à déporter sur des serveurs distants une grande quantité d'enregistrements et de traitements informatiques, traditionnellement locali-sés sur des serveurs locaux, ou sur le poste d'un utilisateur. Un Cloud propose des services informatiques, sous forme de services à la demande, comme illustré à la gure 1.1 [2], [3]. Dans cette gure, nous constatons qu'un utilisateur peut accéder aux serveurs du Cloud grâce à un système d'identication, via un équipement d'accès, tels un ordinateur ou une tablette, et une connexion à Internet. Ces serveurs sont situés dans des salles dédiées à l'exécution des tâches informatiques liées aux services oerts. Ces salles, appelées centres de données, peuvent comporter des milliers de serveurs. Elles sont aménagées de manière à installer et administrer facilement non seulement les serveurs, mais aussi le matériel utilitaire du centre de données

(14)

(commutateurs, climatisation, etc.).

Figure 1.1  Cloud Computing

Le Cloud Computing ajoute à la notion de délocalisation des services la notion d'élasticité des ressources et de facturation à l'utilisation. Ces notions sont possibles grâce à la technique de virtualisation des ressources [4]. En eet, la virtualisation des ressources ore une couche d'abstraction qui émule le comportement des ressources matérielles (processeur, mémoire, ...) d'un serveur [5], [6]. Elle se dénit aussi comme étant un ensemble de techniques permettant de regrouper sur un seul support physique des ressources informatiques qui permettent d'eectuer séparément des tâches spéciques, comme si elles étaient exécutées sur des supports physiques diérents. Quant à l'implémentation de la virtualisation des ressources, elle consiste à fournir un environnement logique indépendant du support physique.

Avec le concept de virtualisation, émerge également la notion de machine virtuelle (VM) qui se dénit comme un environnement d'exécution qui reproduit le comportement d'un serveur [7]. Une machine virtuelle est composée d'un processeur, d'une mémoire RAM (Random Access Memory), d'un disque dur et de cartes d'interface réseau qui sont des composants virtualisés. Il s'agit de l'unité responsable de l'exécution des tâches envoyées par les utilisateurs. En eet, après avoir reçu ces tâches, un gestionnaire de tâches envoie chaque tâche à la le d'attente de la machine virtuelle responsable de son exécution. Ce gestionnaire de tâches utilise un algorithme d'ordonnancement qui dénit la manière avec laquelle les tâches sont aectées aux machines virtuelles.

D'autre part, la spécication des caractéristiques matérielles des machines virtuelles, souhai-tées par l'utilisateur d'un Cloud, constitue un des dés des fournisseurs de services Cloud, ce qui mène à dénir un contrat appelé SLA (Service Level Agreement). Un contrat SLA contient un ensemble de clauses que le fournisseur s'engage à respecter [8]. De plus, ce contrat spécie

(15)

les exigences négociées, en termes de ressources, de qualité de service, des attentes minimales et des obligations qui existent entre les utilisateurs et les fournisseurs du Cloud. Pour un four-nisseur de services, appliquer de tels contrats est impératif, alors que l'absence de tels accords peut entraîner l'éloignement des utilisateurs et compromettre la croissance de ce fournisseur. Quant à la qualité de service (Quality of Service : QoS), elle indique le niveau de performance, de abilité et de disponibilité oert par une application, une plate-forme ou une infrastructure supportée par un Cloud [9]. Plusieurs paramètres existent pour évaluer la qualité de service. Parmi ces paramètres, citons : le temps de réponse et le pourcentage de tâches traitées par les serveurs. Le temps de réponse représente le temps écoulé entre l'envoi d'une tâche au serveur et la réception de la réponse issue du traitement de cette tâche. Quant au pourcentage de tâches traitées par les serveurs, il représente le rapport multiplié par 100 du nombre de tâches traitées par les serveurs sur le nombre de tâches reçues par le Cloud.

Notre recherche porte sur la réduction de la consommation d'énergie dans un Cloud. Plusieurs techniques sont utilisées an de diminuer cette consommation, telle la migration qui consiste à aecter des ressources d'un serveur vers un autre [10]. Elle permet aussi de regrouper plusieurs VMs dans un seul serveur. Ce dernier objectif, appelé consolidation des serveurs, permet de réduire la consommation du centre de données en éteignant les serveurs peu utilisés. Il existe aussi la technique DVFS (Dynamic Voltage and Frequency Scaling) qui permet de varier la fréquence et le voltage du processeur du serveur, inuençant ainsi la consommation énergétique du serveur, tout en ayant un impact sur le temps d'exécution [11].

1.2 Éléments de la problématique

Force est de constater qu'en 2014, les centres de données utilisaient près de 1.62% de l'énergie consommée dans le monde, alors que la consommation prévue pour l'an 2020 est de l'ordre de 140 milliards de kWh [12]. En outre, la consommation d'énergie de ces centres de données, partout dans le monde, devrait doubler tous les cinq ans, ce qui peut générer un coût énorme pour les entreprises et l'environnement, d'autant plus que ces centres de données sont respon-sables de l'émission de 2% de CO2dans l'atmosphère [13]. De ce fait, l'informatique commence

à se mettre au vert, c'est ce qu'on appelle le Green Computing. Ce concept impose le respect de la nature au processus de traitement des données, au niveau des centres de données, en minimisant l'émission de CO2 dans l'atmosphère et en utilisant les énergies renouvelables.

À cet eet, les inquiétudes manifestées face à ce problème ont poussé des chercheurs [14], [15], [16] à proposer des solutions, tout en gardant comme point de mire le respect de diérentes contraintes, telle la qualité de service (QoS) pour l'utilisateur et la minimisation des coûts pour les fournisseurs. En eet, certains chercheurs [15] ont proposé des algorithmes, en se basant sur la technique DVFS, ainsi que sur une aectation optimale des machines virtuelles, tout en tenant compte des paramètres liés au contrat SLA, alors que d'autres [16] se sont

(16)

concentrés sur les équipements physiques, tel le CPU des serveurs pour proposer une solution optimale de la consommation d'énergie. D'autres chercheurs ont étudié ce problème, en xant une fonction-objectif pour minimiser la consommation d'énergie du Cloud [14].

De toutes les approches possibles, toutes sont à utiliser avec mesure, car elles ne sont pas sans comporter des désavantages dans certaines conditions. À cet eet, le problème de la minimisation de la consommation d'énergie dans un Cloud devient compliqué. La technique DVFS qui permet de réduire grandement la consommation du processeur des serveurs, en manipulant la fréquence et le voltage du processeur, peut inuencer la performance des serveurs du Cloud. En eet, un changement de fréquence trop fréquent ralentit l'exécution des tâches, ce qui fait augmenter le temps d'exécution. Concernant l'ordonnancement des tâches, ce processus est une étape nécessaire pour l'acheminement des tâches aux serveurs du centre de données. Toutefois, ce processus est basé sur des algorithmes qui ont un impact sur la consommation d'énergie au niveau du Cloud [17]. En eet, la manière avec laquelle ces algorithmes aectent les tâches aux VMs inuence le nombre de serveurs utilisés. Quant à la migration des machines virtuelles, elle nécessite une bonne connaissance de la charge de travail au niveau des serveurs, ce qui conduit à un processus d'optimisation multi objectifs qui doit équilibrer la performance des applications d'une part, et la consommation globale de l'énergie d'autre part. Le problème est que les deux objectifs sont contradictoires : si nous apportons une solution pour atteindre un objectif, l'autre objectif peut être inuencé négativement par cette solution.

Les divers éléments de la problématique énoncés ci-dessus nous ont donc amenés à nous poser les questions suivantes :

 Quels sont les principaux paramètres sur lesquels se basent les techniques actuelles de minimisation de la consommation énergétique pour attaquer le problème de la consom-mation de l'énergie dans un Cloud ?

 Comment mettre en place une méthode ecace pour résoudre un tel problème ?  Comment évaluer cette méthode ?

1.3 Objectifs de recherche

Dans le cadre de la présente recherche, nous visons principalement à proposer une méthode basée sur la combinaison des techniques de minimisation d'énergie consommée dans le Cloud, en respectant les contraintes liées à l'ecacité des services de cet environnement. De manière plus précise, ce travail de recherche vise à :

1. Comprendre les caractéristiques du Cloud Computing, ainsi que les diérentes techniques liées à la consommation d'énergie dans cet environnement ;

2. Analyser le problème de la consommation d'énergie dans le Cloud et proposer une mé-thode qui permet de minimiser l'énergie consommée, tout en respectant la contrainte de QoS ;

(17)

3. Évaluer la performance de la méthode proposée, en comparant son impact sur la consom-mation d'énergie, ainsi que son respect des contraintes liées à la qualité de service.

1.4 Plan du mémoire

La suite du mémoire est organisée en quatre chapitres. Le deuxième chapitre consistera à situer le cadre de notre étude, en se basant sur une revue de littérature des concepts du Cloud que nous jugeons nécessaires pour la compréhension de ce mémoire. De ce fait, nous présenterons dans un premier temps, les caractéristiques et les diérents modèles du Cloud Computing. Ensuite, nous présenterons les topologies, les avantages et inconvénients du Cloud, ainsi que les diérentes techniques de réduction de la consommation énergétique dans le Cloud. Enn, nous terminerons ce chapitre par les dés de recherche liés à cet environnement.

Dans le troisième chapitre, l'analyse du fonctionnement du Cloud sera eectuée an de dé-terminer les équipements qui consomment le plus d'énergie. À partir de cette analyse, nous choisirons les paramètres de notre étude et les techniques de minimisation d'énergie consom-mée. En nous basant sur ces techniques, nous présenterons à la n de ce chapitre notre méthode qui a comme point de mire la minimisation de la consommation d'énergie, en respectant la qualité de service.

Le quatrième chapitre s'appesantira, en premier lieu, à la présentation de notre plan d'ex-périence qui décrira les étapes nécessaires pour implémenter la méthode proposée. Ensuite, nous allons détailler la mise en ÷uvre de la méthode, en commençant par choisir l'outil de simulation, puis présenter les modications apportées au simulateur choisi pour implémenter la méthode proposée. Diérentes simulations seront eectuées pour évaluer notre méthode. À partir des résultats issus de ces simulations, nous allons eectuer une analyse de ces résultats. Le chapitre 5 synthétisera ce mémoire par une conclusion qui résumera les contributions et les résultats obtenus dans le cadre de cette maitrise, ainsi que les limitations de notre méthode et les futurs travaux.

(18)

Chapitre 2

Caractérisation du Cloud Computing

La minimisation de la consommation d'énergie est un sujet d'actualité qui concerne plusieurs domaines [18]. Dans ce contexte, il importe de bien présenter le cadre de notre recherche, d'où la caractérisation du Cloud computing. Dans ce chapitre, nous allons d'abord introduire les caractéristiques fonctionnelles du Cloud computing, suivi des diérents modèles du Cloud et des topologies. Puis, nous allons présenter les avantages et les inconvénients de cet environne-ment. Par la suite, les diérentes techniques de réduction de la consommation d'énergie seront présentées. Nous terminons ce chapitre en présentant les dés de recherche liés au Cloud.

2.1 Caractéristiques fonctionnelles

Dans cette section, nous allons présenter les principales caractéristiques fonctionnelles du Cloud qui sont : le libre-service à la demande, le partage des ressources, le service mesuré, l'accès universel, ainsi que l'élasticité des ressources [19], [20].

2.1.1 Libre-service à la demande

Le libre-service à la demande permet à l'utilisateur d'un Cloud d'être en mesure de manipuler des ressources distantes (serveurs, réseaux, stockage, applications...) en temps réel, en fonction de ses besoins, et sans avoir à passer par la conguration manuelle.

2.1.2 Partage des ressources

Les ressources matérielles du fournisseur d'un Cloud sont partagées et mutualisées entre les diérents utilisateurs des services oerts. Ce partage rend l'emplacement exact des données des utilisateurs impossible à déterminer, ce qui peut poser un véritable problème aux entreprises qui sont soumises à de nombreuses contraintes réglementaires concernant la localisation et le contrôle des données. En contrepartie, les économies d'échelle réalisées permettent de réduire les coûts du fournisseur du Cloud.

(19)

2.1.3 Service mesuré

La consommation des services d'un Cloud est contrôlée et mesurée. Elle fait l'objet de rapports dont les indicateurs de performances sont alignés sur ceux du client. Ce concept est déni par la mise en place d'un compteur pour facturer la consommation des services d'un client. Ces mesures précises permettent une facturation des utilisateurs qui ne paieront que pour les ressources qu'ils ont utilisées et pour la durée de consommation de ces ressources.

2.1.4 Accès universel

L'ensemble des ressources d'un Cloud doit être accessible et mis à la disposition de l'utilisateur n'importe où et simplement à travers le réseau, quel que soit le client utilisé (serveur, PC, client mobile). En eet, les grands fournisseurs répartissent les centres de données sur la planète pour fournir un accès à leurs systèmes en moins de 50 ms, à partir de n'importe quel endroit [19].

2.1.5 Élasticité

L'élasticité du Cloud consiste à mettre à la disposition des utilisateurs de nouvelles capacités en cas de croissance de la demande. À l'inverse, ces capacités peuvent rapidement diminuer lorsqu'elles ne sont plus utilisées. Cette élasticité des services Cloud crée pour l'utilisateur nal l'illusion d'une capacité innie qui peut être mise en service à tout moment. Pour les entreprises clientes, cette élasticité permet, par exemple, de faire face aux pics d'activités que l'infrastructure interne n'aurait pu absorber, et d'envisager de nouvelles applications.

2.2 Classication

En termes de modèles, les Clouds sont caractérisés par des modèles de services et des modèles de déploiement. Dans cette section, nous allons présenter et expliquer ces modèles.

2.2.1 Modèles de services

Ces modèles décrivent les diérentes catégories de services qui sont accessibles aux clients depuis une plateforme de Cloud et qu'un fournisseur est capable de proposer. Les plus connus sont : "le logiciel-service" (Software as a Service : SaaS), "la plateforme-service" (Platform as a Service : PaaS) et "l'infrastructure-service" (Infrastructure as a Service : IaaS) [21]. Ces trois services sont illustrés à la gure 2.1 qui compare le modèle classique aux trois modèles de services du Cloud, en termes de la gestion des ressources. Comme illustré dans la gure, l'entreprise gère toutes ses ressources par elle-même dans le modèle classique, alors que dans le cloud Computing, l'entreprise gère une partie des ressources et le reste est géré par un fournisseur du Cloud.

(20)

Figure 2.1  Modèles de services

De manière plus précise, le modèle "logiciel-service" ou SaaS est un modèle économique où le client utilise les applications du fournisseur, lesquelles sont hébergées sur le Cloud. Dans ce modèle, l'application est gérée par le client à travers une interface, généralement un navigateur. La responsabilité du client commence et s'arrête au niveau de la gestion de ses propres données et de l'interaction avec l'utilisateur. Tout ce qui se passe entre l'application et l'infrastructure relève de la responsabilité du fournisseur. Parmi les vendeurs de solutions SaaS, gurent Google Apps, Oracle on Demand, SQL Azure [5].

Le modèle "Plateforme-service" ou PaaS fournit des environnements de création et d'exécution pour des applications utilisant des langages et des outils supportés par le fournisseur. Ainsi, l'utilisateur développe ses propres applications qui sont stockées sur le Cloud. Co Crid, Cloud-Center, GoogleAppEngine ou encore Windows Azure Platform comptent parmi les fournisseurs de solutions PaaS [22].

Le modèle "infrastructure-service" ou IaaS est utilisé pour la mutualisation des infrastructures entre les clients et les entreprises. Dans ce modèle, le client contrôle les applications, le logiciel serveur, les bases de données, les systèmes virtuels, alors que le fournisseur gère la virtuali-sation, le matériel serveur, le stockage et les infrastructures réseau. Parmi les fournisseurs de solutions IaaS, nous citons : Amazon Elastic Compute Cloud (EC2), Eucalyptus, RackSpace Cloud et Terremark [23]. Ces fournisseurs orent un accès direct à leurs ressources matérielles. Avec Amazon, considéré comme un fournisseur classique de solutions de type IaaS, un client accède à un ordinateur sous la forme d'une image d'une machine virtuelle, sur laquelle le système d'exploitation et les applications sont installés.

(21)

Tous les modèles de services cités ci-dessus partagent les mêmes caractéristiques [3] :

 Les clients louent des services au lieu de les acheter, contribuant ainsi à transformer les dépenses de capital en dépenses opérationnelles ;

 Les fournisseurs sont responsables de toute l'infrastructure derrière le fonctionnement des services du Cloud, en termes de maintenance, d'administration, de gestion de la capacité et de gestion des incidents ;

 Les services sont, en théorie, disponibles beaucoup plus rapidement que ceux fournis par les solutions traditionnelles hébergées dans les serveurs. En eet, en adoptant le Cloud, plus de stockage, de projets et d'applications sont garantis.

2.2.2 Modèles de déploiement

Un Cloud peut être déployé de plusieurs manières, comme l'illustre la gure 2.2. Un utilisateur a le choix entre se construire ou louer un Cloud privé, bénécier des ores d'un Cloud public ou choisir diérentes options d'un Cloud communautaire [24].

Figure 2.2  Modèles de déploiement

Le Cloud privé représente une infrastructure qui est uniquement exploitée par une organisation privée. Cependant, la gestion de ce nuage peut revenir à l'organisation elle-même, ce qu'on

(22)

appelle un Cloud interne, ou à un fournisseur externe, ce qui représente un Cloud privé externe. Le Cloud privé permet aux fournisseurs et aux clients de mieux contrôler leur infrastructure. Cela contribue au renforcement de la sécurité et de la résilience, car l'accès aux services et au réseau est restreint. Les grandes entreprises s'appuient beaucoup sur les Clouds privés pour faire face à des pics de consommation et de charges ponctuels.

Le Cloud public est mis à la disposition du public en général ou d'une organisation très large. Toutefois, ce Cloud appartient à un fournisseur de services qui gère les ressources, comme les applications et le stockage. Celles-ci sont accessibles au plus grand nombre depuis Internet. Ce fournisseur met en place des mécanismes de sécurité pour garantir la condentialité des données ainsi que les droits d'accès. Le principal avantage du Cloud public est son coût raisonnable de mise en ÷uvre. En eet, les coûts de déploiement du matériel, ainsi que ceux des applications et du réseau sont pris en charge par le fournisseur qui les partage avec plusieurs clients. Le Cloud communautaire est un modèle conçu pour le partage de ressources ou d'informations au sein de groupes spécialisés ou d'entreprises. Ce partage permet aux utilisateurs du Cloud communautaire de bénécier de toutes les ressources que partagent les autres groupes utilisant le même Cloud. Le secteur de l'aviation ou de la santé, les laboratoires de recherche et de développement, les universités et les grandes écoles sont friands du Cloud communautaire pour partager leurs travaux.

Le Cloud hybride est une combinaison du Cloud public et du Cloud privé, qui sont intercon-nectés pour former un Intercloud [25]. Son avantage consiste à fédérer et agréger les données, des politiques de sécurité ou de gestion d'identités. Un autre bénéce consiste à utiliser les services du Cloud public pour héberger les applications non sensibles et les services du Cloud privé pour stocker les données critiques (condentielles).

2.3 Topologies des centres de données

La topologie d'un centre de données dénit la façon dont les équipements physiques constituant le centre de données sont interconnectés [26]. Dans cette section, nous allons présenter les topologies du centre de données les plus utilisées, à savoir la topologie en arbre et la topologie récursive [27], [28].

2.3.1 Topologie en arbre

La topologie en arbre est aussi connue sous le nom de topologie hiérarchique. Dans cette to-pologie, le réseau est composé de trois niveaux. Ces niveaux sont : le noyau, l'agrégation et l'accès. Le noyau représente le niveau supérieur de la topologie en arbre. En eet, il contient les commutateurs qui sont connectés directement aux commutateurs du niveau inférieur (commu-tateurs d'agrégation) [6]. Le noyau représente le point d'accès du Cloud. En eet, les requêtes

(23)

envoyées par les utilisateurs du Cloud passent d'abord par ce niveau.

Le niveau d'agrégation contient les commutateurs connectés à la fois aux commutateurs d'accès et aux commutateurs du noyau. Son rôle principal est d'acheminer les requêtes des utilisateurs du Cloud aux commutateurs d'accès adéquats [6].

Le niveau d'accès fournit la connectivité pour permettre l'accès aux ressources des serveurs disponibles. La conception de ce niveau est inuencée par des critères de décision, comme la virtualisation des serveurs. Parmi les commutateurs les plus couramment utilisés au niveau d'accès, on peut citer : les commutateurs de type EoR (End-of-Row) et les commutateurs de type ToR (Top-of-Rack) [6].

Les variantes de la topologie en arbre les plus utilisées dans les centres de données sont : le Tree basic et le Fat Tree [27], [29]. La topologie Tree basic est constituée de deux ou de trois niveaux de commutateurs et de routeurs, avec les serveurs comme feuilles. Dans la topologie à trois niveaux, comme illustré à la gure 2.3, on trouve le noyau au niveau de la racine de l'arbre, l'agrégation au milieu de l'arbre, alors que le dernier niveau se compose des commu-tateurs d'accès connectés aux serveurs. Pour la topologie à deux niveaux, les commucommu-tateurs d'agrégation n'existent pas, comme illustré à gure 2.4. Les commutateurs du noyau sont in-terconnectés. L'inconvénient de cette topologie est que le nombre de serveurs est limité par le nombre de ports des commutateurs du noyau.

(24)

Figure 2.4  Topologie en arbre à deux niveaux

La topologie Fat Tree est une version étendue de la topologie en arbre [30]. Dans cette topolo-gie, l'interconnexion entre les niveaux suit certaines règles. Soit n le nombre de ports physiques des commutateurs d'accès. Dans cette conguration, la moitié de ces ports (n

2) sont connectés aux ports physiques des serveurs, alors que l'autre moitié des ports des commutateurs d'accès sont connectés aux ports des commutateurs d'agrégation. La gure 2.5 représente la topologie Fat Tree avec n = 4. Cette gure illustre une topologie qui contient des commutateurs d'accès comportant quatre ports. De ce fait, les commutateurs d'accès sont connectés d'un côté, aux serveurs par deux liaisons (n

2), et de l'autre côté, aux commutateurs d'agrégation par deux liaisons (n

(25)

Figure 2.5  Topologie Fat tree

2.3.2 Topologie récursive

Les topologies récursives sont utilisées pour les services gourmands en bande passante, en fournissant une capacité de réseau élevée pour le trac du centre de données [31]. Ces topologies se basent aussi sur la notion de niveaux. Toutefois, elles utilisent des structures de niveau inférieur, comme des cellules, pour construire des structures de plus haut niveau. Ainsi, les serveurs des topologies récursives peuvent être connectés à des commutateurs de diérents niveaux ou même à d'autres serveurs. Parmi ces topologies, on peut citer : la topologie Dcell et la topologie Bcube.

Dans la topologie Dcell, l'élément de base est le DCell0. Cet élément est une conguration

constituée d'un commutateur et de n serveurs [28]. Comme illustré à la gure 2.6, le DCell0

est constitué de 4 serveurs, chaque serveur dans DCell0 est connecté à un commutateur de

la même DCell0. Pour construire une topologie DCellk de niveau k, la première étape est

la construction de DCell1 à partir de DCell0. Chaque DCell1 contient n+1 sous-groupes.

Le sous-groupe est représenté par DCell0 et chaque serveur du sous-groupe est connecté à un

serveur d'un autre sous-groupe [28]. Ainsi, la construction de la topologie DCellkest récursive.

Donc, pour construire la topologie DCellk, on se base sur la topologie DCellk−1. La gure

2.6 présente la topologie DCell1 avec n = 4. Dans cette gure, la DCell1 est construite de

cinq sous-groupes (DCell0). L'élément DCell0 est composé d'un commutateur et de quatre

(26)

Figure 2.6  Exemple de topologie DCell1 avec n=4

Concernant la topologie Bcube, son élément de base est BCube0 qui est similaire à DCell0.

La principale diérence entre BCube et DCell est au niveau de la taille du réseau. Pour construire la topologie BCube1, on répète BCube0n fois et on ajoute n commutateurs, chaque

commutateur étant connecté à un serveur de BCube0. De manière générale, pour construire

la topologie BCubek, on répète la topologie BCubek−1 n fois et on ajoute nk commutateurs.

La gure 2.7 illustre BCube1 avec n = 4. En eet, cette topologie est constituée de quatre

commutateurs et quatre BCube0. Chaque BCube0 est constituée d'un commutateur et quatre

serveurs.

(27)

2.4 Avantages et inconvénients

Le Cloud computing demeure entouré par plusieurs ambiguités surtout lorsqu'il s'agit de bien identier les avantages ainsi que les inconvénients. Dans cette section, nous allons présenter d'abord les avantages, puis les inconvénients liés aux diérents aspects du Cloud computing, comme la gestion des entreprises, la sécurité, la disponibilité des services et la consommation énergétique.

Concernant la gestion des entreprises, le Cloud Computing ore aux entreprises diérents avantages. En eet, le Cloud permet aux entreprises de gagner en temps et en productivité grâce à la disponibilité et l'élasticité des ressources informatiques. De plus, il ore des systèmes de facturation portant sur la consommation réelle de services, par opposition aux systèmes de forfaits pour lesquels le client paie même s'il ne consomme rien [32]. An d'assister à une meilleure collaboration entre les individus, l'accès aux applications et aux données de l'entreprise peut se faire à partir d'un terminal quelconque et en temps réel. L'entreprise qui opte pour le Cloud Computing connaît aussi un gain organisationnel. En eet, la cohérence du parc logiciel ne se fait plus par le biais d'installation et de la mise à jour des applications sur les terminaux, mais revient tout simplement à utiliser la dernière version d'applications disponibles sur le Cloud. Cette cohérence du parc logiciel facilite ainsi la modication des données et la synchronisation avec les documents en ligne.

Concernant la sécurité au niveau du Cloud, elle est assurée par la redondance au niveau de l'enregistrement des données [33], ce qui est avantageux. En eet, en cas de panne d'un centre de données, l'utilisateur qui a recours au Cloud ne perdra pas ses documents, car ses derniers y sont sauvegardés en plusieurs copies. Il est donc plus sécuritaire d'opter pour le Cloud en matière de stockage de données au lieu d'utiliser son disque dur personnel [33].

An d'avoir un service de qualité, la disponibilité des services oerts par un fournisseur du Cloud doit se situer entre 98 et 99,99%, incluant les temps d'arrêt des serveurs pour mainte-nance ou pour des interruptions inattendues [32]. Le Cloud intègre potentiellement des réseaux locaux et des réseaux distants dans la liaison entre systèmes client et serveurs. La défaillance, même transitoire, d'un réseau distant ne se traite pas de la même façon que celle d'un réseau local. En cas de disparition ou d'indisponibilité d'une partie de l'infrastructure réseau, puisque les données existent de base en plusieurs instances, à priori sur plusieurs sites distincts dispo-sant de réseaux locaux diérents, il est possible en théorie d'atteindre une instance de données disponibles.

L'adoption du Green computing représente un autre avantage qu'ore le Cloud. En eet, le Green computing ou le green IT regroupe l'ensemble des technologies permettant de limiter la consommation énergétique et les rejets générés par l'industrie informatique [34]. Grâce à la consolidation de serveurs et la virtualisation, le nombre de serveurs est réduit, ce qui limite la consommation électrique des onduleurs et la consommation des climatiseurs pour refroidir les

(28)

onduleurs et les serveurs [35].

Le Cloud présente en contrepartie plusieurs inconvénients. En termes de gestion des entreprises, le Cloud bouscule les habitudes de l'entreprise, ce qui peut constituer un facteur de risque. En eet, dans un schéma classique, toute prestation doit faire l'objet d'une approbation par la direction nancière. Avec le Cloud, l'utilisateur peut lui-même acheter le service et le régler avec sa carte de crédit personnelle, ce qui représente un grand risque pour l'entreprise. Selon certains analystes [36], le Cloud Computing représente une menace quant à la sécurité des informations contrôlées par un tiers. En eet, les risques encourus lorsque les données sont consolidées sur un serveur unique sont très élevés, car lors d'une panne informatique, il peut s'avérer dicile de récupérer tous les renseignements en absence d'une copie déjà enregistrée. De ce fait, la duplication des informations sur plusieurs sites distants est impérative pour la sécurité. D'un autre côté, pour pallier au problème de condentialité des documents, le cryptage informatique semble être la meilleure solution. Cependant, le Cloud Computing utilise essentiellement des machines virtuelles, donc le principal danger provient du nombre restreint de chires liés au cryptage que peuvent exploiter ces machines. Ainsi, une étude conduite par McKinsey [36] montre également que la sécurité constitue le principal frein à l'adoption des services du Cloud. En eet, pour les besoins de son enquête, McKinsey a interrogé 462 décideurs informaticiens et 264 décideurs non-informaticiens sur les principales barrières à l'adoption du Cloud computing. Le résultat est sans équivoque : la gestion de la sécurité arrive en première position. La gestion des risques de conformité ainsi que l'exposition de l'entreprise à ces risques arrivent en deuxième position. Il s'agit aussi du respect des obligations légales en termes de la condentialité des informations concernant les clients, les employés, les paiements électroniques, etc.

2.5 Techniques de réduction de la consommation d'énergie

Plusieurs techniques existent pour réduire la consommation énergétique au niveau des dif-férents composants d'un centre de données [13], [37], [38]. Dans cette section, nous allons présenter les principales techniques de réduction d'énergie, soit au niveau des équipements physiques, telle la technique DVFS [39], ou au niveau des ressources virtuelles, comme le processus d'ordonnancement [40] et la migration des machines virtuelles [41].

2.5.1 Technique DVFS

Un centre de données se compose principalement de serveurs et de commutateurs qui sont in-terconnectés selon une topologie donnée. La consommation totale d'énergie dans un tel centre de données correspond à la somme de la consommation au niveau des serveurs, et au niveau des commutateurs. La consommation d'énergie au niveau des commutateurs est liée à l'équi-libre de la charge de travail au niveau de ces équipements [42]. Toutefois, dans le cadre de

(29)

notre recherche, nous allons étudier l'équilibre de la charge de travail au niveau des serveurs. De ce fait, l'autre alternatif pour réduire l'énergie consommée au niveau du centre de données est la réduction d'énergie consommée au niveau des serveurs. À cet eet, nous allons nous concentrer sur ces équipements qui contiennent deux principaux types de composants : les composants logiciels, comme les machines virtuelles, et les composants physiques, comme le CPU, le disque et la mémoire. Toutefois, la technique DVFS agit sur le CPU qui consomme la grande part d'énergie au niveau des serveurs [43]. Cette technique vise à réduire la consom-mation d'énergie des serveurs d'un Cloud en exploitant le temps d'inactivité du processeur de chaque serveur [39]. En eet, un processeur exécute plusieurs tâches avec des relations inter-tâches (par exemple, des contraintes de précédence) simultanément. Ces relations inter-inter-tâches entraînent généralement un temps mort (temps d'inactivité) entre les tâches. Ce temps mort associé à une tâche est utilisé pour exécuter la tâche avec une tension et fréquence minimales. Cela entraîne à son tour une réduction de l'énergie consommée. En eet, la puissance utilisée dans un processeur est dénie comme suit et exprimée en Watt (W ) [44] :

P = C ∗ f ∗ V2 (2.1)

où C est la capacité électrique du processeur. Cette capacité exprimée en Farad (F ), indique la valeur d'intensité électrique que peut supporter le processeur en appliquant une tension de 1 V. Ce paramètre C est une constante qui caractérise chaque processeur. La fréquence f est la fréquence de commutation du processeur exprimée en Hz. Cette fréquence représente la vitesse avec laquelle le processeur traite les instructions. V est la tension d'alimentation du processeur exprimée en Volt (V ). À partir de la relation (2.1), on déduit que la diminution de l'énergie consommée par le processeur nécessite un changement au niveau du couple (f, V ), en exploitant le temps d'inactivité du processeur.

Considérons la gure 2.8 qui illustre le fonctionnement de la technique DVFS. Nous avons trois représentations de la puissance utilisée par un processeur. À partir de l'équation 2.1, cette puissance est proportionnelle à la fréquence f et au carré de la tension V2. An de

vérier l'impact de la variation de la fréquence et de la tension sur la consommation d'énergie, nous allons d'abord présenter à la gure 2.7.a la puissance P, calculée à partir d'une fréquence f et d'une tension V. Ces valeurs de la fréquence et de la tension sont utilisées par le processeur pour exécuter une tâche qui se termine à t1, un instant avant t2 qui représente l'instant de

début de la prochaine tâche. Dans ce cas, le processeur connaît un temps d'inactivité entre t1 et t2. Pour réduire la puissance, nous allons commencer par réduire la fréquence. Dans cet

exemple, nous allons diviser la fréquence f par deux, puis nous allons présenter la puissance, correspondante à cette fréquence, à la gure 2.7.b. Dans cette gure, la puissance a été divisée par deux (P/2). Ainsi, le temps d'exécution est doublé, vu que la fréquence est l'inverse du temps d'exécution. Toutefois, ce temps d'exécution de la tâche t2 n'a pas dépassé le délai pour

que la prochaine tâche s'exécute. Dans cette gure, nous constatons que l'énergie consommée est la même que celle présentée à la gure 2.7.a. Pour réduire l'énergie consommée, nous allons

(30)

diminuer cette fois-ci la tension. Plus précisément, nous allons le diviser par deux. La gure 2.7.c présente la puissance calculée à partir de la fréquence f/2 et de la tension V/2. Cette puissance a été diminuée à P/8, et le temps d'exécution n'a pas dépassé le délai, vu que la tension n'inuence pas le temps d'exécution. Ainsi, l'énergie consommée a été réduite. De ce fait, on déduit que la technique DVFS diminue la consommation d'énergie, en diminuant la fréquence et la tension.

Figure 2.8  Impact de la technique DVFS sur la consommation d'énergie

2.5.2 Processus d'ordonnancement

L'ordonnancement des tâches consiste à organiser dans le temps les tâches provenant des utili-sateurs, en tenant compte des contraintes temporelles (contraintes de délai) et des contraintes portant sur l'utilisation et la disponibilité des ressources. Avant d'aborder le problème d'ordon-nancement, il est important de dénir les concepts de base du processus d'ordond'ordon-nancement, telles les tâches, les ressources et les contraintes [40], [45]. Une tâche est une entité élémentaire localisée dans le temps, par une date de début, une date de n, et dont la réalisation nécessite une durée préalablement dénie. Elle est constituée d'un ensemble d'opérations qui requiert, pour son exécution, certaines ressources. Ces ressources sont des moyens techniques destinés à être utilisés pour la réalisation d'une tâche et disponibles en quantité limitée. Dans le cadre

(31)

d'un Cloud, plusieurs types de ressources sont à distinguer : les machines virtuelles, le CPU et les disques. Une ressource est renouvelable si, après avoir été allouée à une ou à plusieurs tâches, elle est à nouveau disponible. Quant aux contraintes, elles expriment des restrictions sur les valeurs que peuvent prendre les variables de décision. Nous distinguons les contraintes temporelles qui expriment les contraintes liées au temps alloué à la durée des tâches (temps de début, temps d'arrêt), et les contraintes d'utilisation des ressources qui expriment la nature et la quantité de moyens utilisés par les tâches, ainsi que leurs disponibilités.

Considérons la gure 2.9 qui illustre un ordonnanceur constitué d'un contrôleur qui implémente un algorithme d'ordonnancement et une lle d'attente qui contient des tâches sur lesquelles nous appliquons le processus d'ordonnancement. Soit m le nombre de tâches dans la le, la tâche i, i = 1, ..., m-1 et la tâche j, j = i+1, ..., m, représentent n'importe quelle tâche dans la le. Ce processus d'ordonnancement se compose des étapes suivantes :

 Phase de priorisation des tâches : cette phase établit l'ordre des tâches de départ selon leurs priorités. De façon plus précise, les tâches de départ sont celles envoyées par l'uti-lisateur du Cloud et qui arrivent au système d'ordonnancement comme étant le point d'entrée du Cloud. Dans notre étude, nous considérons qu'aucune tâche n'est prioritaire, de sorte qu'après cette phase, nous avons une liste ordonnée qui constitue la le d'attente dans la gure 2.9. Dans notre cas, cette le est ordonnée selon le principe du "premier arrivé premier servi".

 Phase d'allocation des ressources : cette phase réserve ou alloue un ensemble de res-sources nécessaires pour l'ordonnancement des tâches. À cette phase, le contrôleur cal-cule le nombre de machines virtuelles hébergées dans un ou plusieurs serveurs, parmi les trois serveurs présentés à la gure 2.9. Ces machines virtuelles sont nécessaires pour le traitement de chaque tâche i, j, i = 1, ..., m-1, j = i+1, ..., m.

 Phase d'ordonnancement : cette phase sélectionne les ressources (machines virtuelles, CPU, disque, mémoire) parmi celles précédemment allouées. Cette phase fait l'ordon-nancement de chaque tâche selon un algorithme qui dénit la manière avec laquelle les tâches sont aectées aux machines virtuelles à travers les commutateurs du centre de données. Dans l'exemple présenté à la gure 2.9, chaque tâche i est aectée à une VM installée sur le serveur 1.

(32)

Figure 2.9  Composants d'un ordonnanceur

La manière d'aecter les tâches aux machines virtuelles a un impact sur la consommation d'énergie. Autrement dit, le processus d'ordonnancement joue un rôle important dans la mi-nimisation d'énergie consommée. En eet, la consommation d'énergie dépend de la quantité de ressources allouées pendant la phase d'allocation des ressources du processus d'ordonnan-cement.

2.5.3 Migration des machines virtuelles (VMs)

La migration des VMs consiste à transférer les VMs d'un serveur vers un autre. Ce transfert inclut le transfert de la mémoire, du CPU et du disque vers le serveur de destination. En eet, ce transfert est eectué à travers les commutateurs qui lient les serveurs. Toutefois, le processus de migration peut être également utilisé dans un Intercloud. Autrement dit, la migration peut être eectuée entre des serveurs situés dans des clouds diérents. Dans le cadre de notre recherche, nous étudions la migration eectuée dans le même Cloud, ce qui permet de résoudre, entre autres, les problèmes de tolérance aux pannes, ou de la continuité des services, lorsqu'un serveur particulier doit être remplacé pour des tâches de maintenance ou de mise à niveau des services hébergés.

Les techniques de migration sont classées en migration à froid (Non-live migration) et mi-gration à chaud (live mimi-gration) [41]. La migration à froid d'une machine virtuelle consiste à eectuer le transfert de cette machine en la désactivant dans le serveur source avant le transfert. Une fois le transfert terminé, la machine virtuelle redevient active dans le serveur destination. Dans ce type de migration, le temps total de la migration est égal au temps d'arrêt de la VM, ce qui représente l'intervalle entre l'instant de désactivation de la machine virtuelle au niveau du serveur source et l'instant de réactivation de cette machine au niveau du serveur destination. La gure 2.10 illustre les étapes de ce type de migration. De manière plus précise, cette gure considère deux serveurs. Le serveur source héberge trois machines virtuelles VM1,

(33)

VM2, VM3, alors que et le serveur destination héberge deux machines virtuelles VM4, VM5. Supposons que VM3 doit être migrée du serveur source vers le serveur destination selon la migration à froid. Cette migration est eectuée en trois étapes :

 Étape 1 : La machine virtuelle VM3 doit s'arrêter dans le serveur source après avoir sauvegardé son état d'exécution (éteinte, allumée, en état de veille) et ses principaux paramètres : le CPU, la mémoire et le disque ;

 Étape 2 : Cette étape consiste à transférer l'état d'exécution et les paramètres de la machine virtuelle 3 vers le serveur de destination. Ce transfert est eectué à travers les commutateurs du centre de données ;

 Étape 3 : Après avoir été transféré vers le serveur de destination, VM3 est réactivée sur ce dernier.

Figure 2.10  Processus de migration à froid

L'utilisation de la migration à chaud est importante, lorsqu'on veut migrer une machine vir-tuelle en cours d'exécution, et qu'on ne veut pas arrêter le service du Cloud qui roule au niveau de cette machine an que l'utilisateur ne sent aucun changement pendant son accès à ce service. Ce type de migration consiste à transférer une machine virtuelle en cours de fonctionnement d'un serveur à un autre, avec maintien de l'état de la machine pendant le processus de transfert. Ainsi, l'utilisateur des services hébergés sur la machine virtuelle n'est pas conscient du changement de serveurs qui permet de maintenir les services des utilisateurs pendant la durée du processus. La gure 2.11 illustre les étapes de la migration à chaud. De manière plus précise, cette gure considère deux serveurs. Le serveur source héberge trois machines virtuelles VM1, VM2, VM3, alors que le serveur destination héberge deux machines virtuelles VM4, VM5. Supposons que VM3 doit être migrée du serveur source vers le serveur destination selon la migration à chaud. La migration de VM3 est eectuée en cinq étapes :

(34)

 Étape 1 : Les copies des paramètres de la VM3 de la machine source sont envoyées vers la machine destination pendant que VM3 fonctionne sur le serveur source ;

 Étape 2 : Toute modication apportée à la machine virtuelle 3 pendant le transfert de sa copie sera transférée à son tour de manière itérative au serveur de destination ;  Étape 3 : La machine virtuelle 3 est arrêtée dans la machine source ;

 Étape 4 : Toutes les mises à jour de VM3 sont envoyées au serveur de destination ;  Étape 5 : La machine virtuelle 3 est activée dans le serveur de destination.

Figure 2.11  Processus de migration à chaud

2.6 Quelques dés de recherche

Plusieurs études se concentrent sur diérents aspects liés au Cloud pour améliorer ce dernier [46]. Parmi ces aspects, nous citons : la continuité des services, la sécurité des données, l'hé-bergement des machines virtuelles et la consommation d'énergie [46], [47]. L'analyse de ces aspects conduit à plusieurs dés de recherche que nous présentons dans cette section.

La continuité des services du Cloud garantit à l'utilisateur d'avoir toujours accès aux mêmes services du Cloud et ce, de fournisseur de services. Ces exigences liées à la continuité des services représentent un grand dé pour le fournisseur du Cloud. En eet, le fournisseur doit toujours garantir et anticiper la continuité des services à ses clients en tout temps. Toutefois, le client ne doit pas dépendre du fournisseur car cette dépendance peut présenter une menace sur la continuité du service. Par exemple, dans le modèle Saas, où l'utilisateur utilise des applications installées sur le Cloud, le fournisseur de service gère toute la conguration de l'application. De ce fait, si l'utilisateur décide de changer le fournisseur, il doit avoir tous les accès nécessaires pour congurer de nouveau son application, an que le service soit continu.

(35)

Dans le cloud computing, les données doivent être transférées entre les dispositifs de l'utilisa-teur et les centres de données des fournisseurs de services, ce qui rend ces données une cible facile pour les pirates. La sécurité des données doit être garantie, que ce soit sur le réseau ou encore dans les centres de données où elles sont stockées. De ce fait, nous constatons qu'il existe deux dés liés à la sécurité des données : le premier dé est lié au réseau qui est responsable de la communication entre les équipements du centre de données et l'utilisateur du service, et le deuxième dé consiste à garantir la sécurité au niveau du centre de données. Le premier dé est traité, en proposant des solutions comme, la cryptographie, alors que le deuxième dé est étudié pour proposer des solutions, telle que la migration.

Avec le Cloud Computing et particulièrement avec le modèle IaaS, les ores d'hébergement des services se multiplient [48]. En eet, les clients disposent d'un environnement d'hébergement virtuel à la demande, où il est possible de choisir rapidement les machines virtuelles, d'y placer les applications voulues et les installer dans le Cloud. Toutefois, an de ne pas aller à l'encontre des performances de l'application hébergée, le processus d'assignation des machines virtuelles aux serveurs ne peut se faire de manière aléatoire. En eet, il importe de développer des mécanismes ecaces an de s'assurer que les machines virtuelles sont adéquatement déployées dans les serveurs.

Suite à la création des centres de données à grande échelle, la demande croissante en puissance de calcul et en espace de stockage a mené à une consommation électrique énorme. Cette quantité d'énergie consommée entraîne des coûts d'opération largement supérieurs aux coûts d'investissement, en plus d'être à l'origine d'émissions élevées de CO2. En eet, force est de

constater qu'en 2014, les centres de données ont utilisé près de 1,62% de l'énergie consommée dans le monde [49]. Aussi, est-il que la consommation prévue pour l'année 2020 est de l'ordre de 140 milliards de KWh [49]. À cet eet, les inquiétudes manifestées face à ce problème ont poussé les chercheurs à proposer des solutions, tout en gardant comme point de mire le respect de diérentes contraintes, telles la qualité de service (temps de réponse, pourcentage de tâches traitées...) pour l'utilisateur et la minimisation des coûts pour les fournisseurs.

(36)

Chapitre 3

Analyse du problème

Nous avons vu qu'un Cloud est un système complexe, constitué de plusieurs niveaux d'équipe-ments et caractérisé par divers modèles de services et de déploiement [21], [24], et présentant une série de caractéristiques fonctionnelles [19]. L'évaluation de la consommation d'énergie à travers un tel système nécessite de déterminer la consommation énergétique de chaque équi-pement. Il en résulte que la minimisation de cette consommation d'énergie est un problème complexe. Pour y apporter une solution, il importe de bien l'analyser. Dans ce chapitre, nous allons d'abord présenter le contexte du problème de la consommation d'énergie, en expli-quant le fonctionnement du Cloud et ses composants. Par la suite, les principaux paramètres de la consommation d'énergie seront présentés, suivis des méthodes d'optimisation d'énergie couramment utilisées. Enn, la méthode proposée viendra clore ce chapitre.

3.1 Contexte du problème

Pour présenter le contexte du problème de la consommation d'énergie dans un Cloud, nous allons décrire le fonctionnement d'un centre de données qui est responsable du traitement des services du Cloud et ce, pour déterminer les équipements consommant la grande part d'énergie. Comme illustré à la gure 3.1, un centre de données est décrit par un ensemble de composants et de systèmes, comme le système d'alimentation électrique, le système de refroidissement, le système de distribution d'air et les serveurs. Dans cette section, nous allons présenter chacun de ces systèmes.

(37)

Figure 3.1  Architecture générale d'un centre de données

3.1.1 L'alimentation électrique

Chaque serveur est alimenté par un équipement appelé PSU (Power Supply Unit). Cet équipe-ment est aliéquipe-menté à son tour par un réseau électrique sécurisé, provenant de l'unité d'aliéquipe-menta- d'alimenta-tion électrique et qui se compose de deux équipements : l'onduleur UPS (Uninterrupted Power Supply) et d'une unité appelée PDU (Power Delivery Unit). An d'assurer la disponibilité des centres de données qui doit être supérieure à 99% [50], une série d'équipements est mise en place de manière à assurer une alimentation stable et permanente. Pour alimenter les diérents PSU, l'énergie électrique provenant du réseau principal atteint tout d'abord l'onduleur UPS. Ce dernier stocke une grande quantité d'énergie électrique dans des batteries, puis la restitue en cas de panne d'alimentation principale. À la sortie de cet équipement, le courant alternatif obtenu doit être transformé et redressé an d'alimenter les serveurs. C'est le rôle de l'unité PDU qui répartit la charge vers les diérents racks.

3.1.2 Le système de refroidissement

Dans l'optique de maintenir la abilité des serveurs, il est important de contrôler la chaleur dégagée par ces derniers, en maintenant des conditions de température et d'humidité appro-priées. En eet, l'énergie consommée par les équipements est presque entièrement transformée en chaleur par eet de joule. À cet eet, un système de refroidissement se charge de maintenir une température adéquate à l'intérieur du centre de données. Ce refroidissement peut se faire par air, ou par eau. De manière générale, les techniques de refroidissement se réfèrent aux solutions basées sur l'utilisation directe du milieu extérieur (air ou eau) dans ses conditions ambiantes pour assurer, en totalité ou en partie, le refroidissement. Un système de refroidisse-ment d'air froid est illustré à la gure 3.1 [51]. Son rôle est de capter en permanence l'air chaud

(38)

produit par les équipements informatiques, de le conditionner à la température froide voulue, puis de le souer vers la salle. Le système de refroidissement est généralement composé d'une pompe à chaleur (PAC), d'une unité CRAH (Computer Room Air Handling) et des pompes de circulation. La PAC contient un condenseur qui est refroidi par une tour de refroidissement à eau. La CRAH dispose d'un ventilateur qui assure les débits d'air soué et repris. Finalement, des pompes de circulation (repérées à la gure 3.1 par la lettre P) font transiter l'eau dans les circuits primaires et secondaires du système.

3.1.3 Le système de distribution d'air

Le système de distribution d'air (SDA) utilise une méthode qui vise à acheminer l'air froid produit par l'unité CRAH vers les serveurs informatiques, tout en extrayant l'air chaud rejeté par les serveurs, an de le conditionner dans l'armoire (rack) [52]. Dans la plupart des centres de données existants, l'air s'écoule à haute vitesse en adoptant un comportement turbulent. L'enjeu principal du système de distribution est donc de limiter les mélanges entre l'air froid destiné au refroidissement des serveurs, et l'air chaud qui doit être évacué. Ainsi, bien qu'il ne soit pas composé d'éléments physiques, donc qu'il n'absorbe pas d'énergie, le SDA est d'une importance capitale pour le bon fonctionnement du centre de données. À titre d'exemple, sur la gure 3.1, le système de distribution est représenté par des èches avec la lettre F pour représenter l'air froid, et des èches avec la lettre C pour représenter l'air chaud, an de symboliser les écoulements d'air dans le centre de données. L'air froid est soué au niveau du plancher proche des équipements TI (Technologie d'information), tandis que l'air chaud est capté au niveau du plafond. Ce type de conguration est nommé Allée chaude/Allée froide.

3.1.4 Les serveurs informatiques

Ces composants sont au c÷ur du centre de données et dénissent le mode de fonctionnement de toutes les installations annexes. Sur la gure 3.1, ils sont arrangés en racks (ou armoire informatique) de cinq étages. Comme illustré à la gure 3.2, les principaux éléments du serveur qui consomment le plus d'énergie sont : le CPU, la mémoire et le disque. Parmi ces éléments, celui qui consomme le plus d'énergie est le CPU [43]. L'ensemble de ces éléments compose la partie TI qui représente l'unité résponsable du traitement des tâches reçues par les serveurs. La partie TI est alimentée par l'unité électrique PSU (Power Supply Unit).

(39)

Figure 3.2  Principaux éléments de consommation d'énergie dans un serveur

Ainsi, les besoins des centres de données, en termes d'énergie, se répartissent en deux grandes catégories. Nous distinguons, d'une part, l'énergie utile nécessaire à l'alimentation des serveurs informatiques, et d'autre part, l'énergie annexe absorbée par les équipements qui assurent le bon fonctionnement de l'installation. Cette seconde catégorie intègre les composants chargés de la distribution électrique et du refroidissement du système. L'énergie électrique absorbée par les serveurs représente la part la plus importante de la consommation totale de l'installation, vu qu'elle représente 60% d'énergie consommée par l'ensemble des composants du centre de données [10]. Or, celle-ci est intégralement restituée sous forme de chaleur par eet Joule dans le centre de données. Le système de refroidissement, responsable du maintien de la température et fonctionnant sans arrêt, représente le second plus gros poste de consommation, avec 33% de la consommation totale. Finalement, le faible rendement de la ligne de distribution d'électricité la rend responsable des pertes d'énergie restante. À partir de ces statistiques, et les statistiques présentées dans l'étude eectuée à [43] concernant la consommation d'énergie au niveau des diérents composants du serveur, nous constatons que l'équipement qui consomme le plus d'énergie au niveau du centre de données est le processeur. En eet, cet équipement consomme la part la plus importante au niveau du serveur, et ce dernier consomme 60% d'énergie totale au niveau du centre de données. À cet eet, notre méthode va cibler l'énergie consommée au niveau du processeur.

3.2 Paramètres étudiés

Pour notre recherche, il est nécessaire de xer les paramètres liés au problème de la consom-mation d'énergie dans un Cloud. Deux paramètres découlent de l'objectif principal de notre étude : l'énergie consommée et la qualité de service. Toutefois, l'élément consommant le plus d'énergie dans un centre de données est le serveur. Dans cette section, nous allons d'abord étu-dier la consommation d'énergie au niveau des serveurs, ensuite nous allons dénir le paramètre

(40)

inuençant la qualité de service.

3.2.1 Consommation des serveurs

Plusieurs publications ont analysé la consommation d'énergie au niveau des serveurs dans un Cloud [53], [54], [55], [56]. Cette analyse est eectuée à partir de la puissance utilisée par les serveurs, vu que l'énergie consommée est liée à la puissance par une relation linéaire. En eet, l'énergie consommée par les serveurs est exprimée comme suit [57] :

E = P ∗ t (3.1)

où P : la puissance utilisée par les serveurs, t : le temps d'utilisation des serveurs.

Les études présentées précédemment montrent qu'il existe une relation entre la puissance P et la charge de travail (load) qui représente le nombre de tâches traitées par le centre de données exprimé en MIPS (millions d'instructions par seconde). Cependant, les instructions sont mesurées en bits. De ce fait, la charge de travail est exprimée en bit/s.

À partir des résultats illustrés à la gure 3.3, la puissance des serveurs augmente lorsque la charge du centre de données augmente. De ce fait, en se basant sur l'équation (3.1), l'énergie consommée par les serveurs augmente également. Ces résultats sont extraits à partir des expé-riences dans lesquelles les chercheurs augmentent le nombre de tâches envoyées aux serveurs du Cloud [57]. Cette augmentation qui entraîne une augmentation de la charge de travail C ne doit pas dépasser la capacité maximale du serveur.

Figure 3.3  Puissance d'un serveur sans le mode de veille

Dans les premières études, comme dans [58], la puissance des serveurs est exprimée comme suit :

(41)

P = Pmax Cmax

∗ C (3.2)

où Cmax : la charge de travail maximale que les serveurs peuvent gérer. Ce paramètre dépend

de la capacité de chaque serveur, en termes de processeur, de mémoire et de disque.

Pmax: la puissance maximale des serveurs qui se produit lorsque la charge de travail du Cloud

est au maximum.

Cependant, d'autres études [59] montrent que les serveurs consomment de l'énergie, même quand ils ne sont pas soumis à des charges de trac : ils sont alors en mode de veille. La puissance électrique en mode de veille, Pidle, peut être une grande fraction de la puissance

maximale Pmax des serveurs [59]. En eet, Pidle peut représenter 60% à 95% de la puissance

maximale. Dans ce cas, la puissance des serveurs est exprimée comme suit [60] :

P = Pidle+

Pmax− Pidle

Cmax

∗ C (3.3)

où Pidle : la puissance des serveurs en mode de veille, ce qui correspond à la puissance des

serveurs lorsque la charge de travail du Cloud est nulle,

Pmax: la puissance maximale des serveurs qui se produit lorsque la charge de travail du centre

de données est au maximum,

Cmax : la charge de travail maximale que les serveurs peuvent gérer.

À partir de l'équation (3.3), nous présentons également P comme suit :

P = Pidle+ Eb−inc∗ C (3.4)

où Pidle : la puissance en mode de veille qui correspond à la puissance des serveurs lorsque la

charge de travail du Cloud est nulle,

Eb−inc : l'énergie incrémentale par bit du serveur. En eet, cette énergie représente l'énergie

que le serveur consomme en traitant un bit de la charge de travail du centre de données. Cette énergie est dénie en combinant l'équation (3.2) et l'équation (3.3). En remplaçant la puissance exprimée dans l'équation (3.3) par celle dénie par (3.2), l'unité de temps sera simpliée, et nous obtiendrons Eb−inc, exprimée en Joule par bit.

Références

Documents relatifs

Comme elle s’abîme plus vite lorsqu’on l’allume très souvent, il faut la mettre dans des endroits qui restent éclairés assez longtemps. Les diodes électroluminescentes (LED)

20 L’Allemagne veut ainsi mener une politique exemplaire, à l’avant-garde du plan d’action décidé à l’échelle communautaire et mis en œuvre dans le cadre de

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come

Le développement de nos produits est axé sur le développement de la plus grande fonctionnalité possible, avec la consommation d'énergie la plus faible possible.. •

Reprise du jeu entre élèves (l’ enseignant reprend phonétiquement I’ m = I am

Dans ce cadre théorique on peut rechercher la politique optimale ou s’intéresser à des restrictions, a priori sous optimales, mais extrêmement simples à mettre en

Celui-ci permettra de d´eterminer la distribution locale au cours du temps de l’aimantation et de la force motrice dans le mat´eriau magn´etocalorique soumis `a un champ

Il fait le lien entre les équipements qui permettent de faire des économies d’eau et d’énergie et les bons éco-gestes du quotidien pour une consommation d’énergie