95
© Fatima Ezzahra Choukairy, 2018 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.) Québec, Canada

Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

  • Upload
    others

  • View
    3

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

© Fatima Ezzahra Choukairy, 2018

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

Québec, Canada

Page 2: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Optimisation de la consommation d’énergie dans unenvironnement Cloud

Mémoire

Fatima Ezzahra Choukairy

Sous la direction de:

Ronald Beaubrun, directeur de recherche

Page 3: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 a�n de multiplier leurs o�res 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 e�ectué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. A�n d'évaluer l'e�cacité de cette méthode, nous e�ectuons,

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.

iii

Page 4: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 di�erent 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.

iv

Page 5: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 11.1 Dé�nitions et concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Éléments de la problématique . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Objectifs de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Plan du mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Caractérisation du Cloud Computing 62.1 Caractéristiques fonctionnelles . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Classi�cation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Topologies des centres de données . . . . . . . . . . . . . . . . . . . . . . . . 102.4 Avantages et inconvénients . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Techniques de réduction de la consommation d'énergie . . . . . . . . . . . . 162.6 Quelques dé�s de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Analyse du problème 243.1 Contexte du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.2 Paramètres étudiés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.3 Présentation et analyse des solutions . . . . . . . . . . . . . . . . . . . . . . 313.4 Méthode proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4 Mise en ÷uvre et résultats 424.1 Plan d'expérience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2 Mise en ÷uvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3 Résultats et analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

v

Page 6: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

5 Conclusion 655.1 Synthèse des résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.2 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.3 Travaux futurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Bibliographie 68

A Modi�cation de Green Cloud 77

B Données de la simulation 1 79

C Graphe retourné par le simulateur Green Cloud 82

vi

Page 7: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Liste des tableaux

4.1 Comparaison entre Green Cloud et Cloud Sim . . . . . . . . . . . . . . . . . . . 444.2 Fichiers de con�guration du simulateur Green Cloud . . . . . . . . . . . . . . . 48

B.1 Énergie consommée par les trois algorithmes d'ordonnancement . . . . . . . . . 80B.2 Pourcentages de tâches traitées . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

vii

Page 8: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Liste des �gures

1.1 Cloud Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2.1 Modèles de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.2 Modèles de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Topologie en arbre à trois niveaux . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Topologie en arbre à deux niveaux . . . . . . . . . . . . . . . . . . . . . . . . . 122.5 Topologie Fat tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6 Exemple de topologie DCell1 avec n=4 . . . . . . . . . . . . . . . . . . . . . . 142.7 Exemple de topologie BCube1 avec n=4 . . . . . . . . . . . . . . . . . . . . . . 142.8 Impact de la technique DVFS sur la consommation d'énergie . . . . . . . . . . 182.9 Composants d'un ordonnanceur . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.10 Processus de migration à froid . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.11 Processus de migration à chaud . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.1 Architecture générale d'un centre de données . . . . . . . . . . . . . . . . . . . 253.2 Principaux éléments de consommation d'énergie dans un serveur . . . . . . . . 273.3 Puissance d'un serveur sans le mode de veille . . . . . . . . . . . . . . . . . . . 283.4 Puissance d'un serveur avec mode de veille . . . . . . . . . . . . . . . . . . . . . 303.5 Processus de migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.6 Algorithme d'ordonnancement Green Scheduler . . . . . . . . . . . . . . . . . . 343.7 Algorithme d'ordonnancement Round Robin . . . . . . . . . . . . . . . . . . . . 343.8 Algorithme d'ordonnancement Random . . . . . . . . . . . . . . . . . . . . . . 353.9 Diagramme de �ot de la méthode proposée . . . . . . . . . . . . . . . . . . . . 39

4.1 Fichier 'main.tcl' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.2 Topologie à deux niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.3 Topologie à trois niveaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.4 Diagramme d'héritage des classes des algorithmes d'ordonnancement . . . . . . 494.5 Choix de l'algorithme d'ordonnancement . . . . . . . . . . . . . . . . . . . . . . 494.6 Implémentation de la technique DVFS au niveau des processeurs . . . . . . . . 504.7 Comparaison des con�gurations de machines virtuelles dans Green Cloud . . . 514.8 Modi�cation du nombre de machines virtuelles par serveur dans Green Cloud . 524.9 Implémentation de la con�guration modi�ée des machines virtuelles dans Green

Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534.10 Création des machines virtuelles dans Green Cloud . . . . . . . . . . . . . . . . 534.11 Modi�cation du processus de migration . . . . . . . . . . . . . . . . . . . . . . 544.12 Topologie du centre de données simulé . . . . . . . . . . . . . . . . . . . . . . . 55

viii

Page 9: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

4.13 Répartition de l'énergie consommée entre les di�érents niveaux du centre dedonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.14 Impact des algorithmes d'ordonnancement sur la consommation de l'énergie desserveurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 GSsur 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 614.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77A.2 Appel de la technique DVFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

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

ix

Page 10: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Liste d'abréviations

CPU : Central Processing Unit

CRAH : Computer Room Air Handling

DC : Data Center

DEWTS : DVFS-enabled E�cient Energy �ow Task Scheduling

DNS : Dynamic Network Shutdown

DVFS : Dynamic voltage and frequency scaling

EEDTSA : Energy E�cient 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

RR : Round Robin

x

Page 11: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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

xi

Page 12: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 signi�ants.

xii

Page 13: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�caces 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'identi�cation, 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 o�erts. 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

1

Page 14: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

(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 e�et, la virtualisation des ressources o�re 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'e�ectuer

séparément des tâches spéci�ques, 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 e�et,

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 a�ectées aux

machines virtuelles.

D'autre part, la spéci�cation 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éci�e

2

Page 15: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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é o�ert 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 a�n de diminuer cette consommation, telle la migration qui consiste à

a�ecter 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, in�uenç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 CO2 dans 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 e�et, 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 e�et, certains chercheurs [15] ont proposé des algorithmes, en se

basant sur la technique DVFS, ainsi que sur une a�ectation optimale des machines virtuelles,

tout en tenant compte des paramètres liés au contrat SLA, alors que d'autres [16] se sont

3

Page 16: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et, 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 in�uencer la performance des serveurs

du Cloud. En e�et, 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 e�et, la manière avec laquelle ces algorithmes a�ectent

les tâches aux VMs in�uence 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 in�uencé 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 e�cace 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'e�cacité 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 ;

4

Page 17: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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. En�n,

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 e�ectuée a�n 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 modi�cations apportées au simulateur choisi pour implémenter

la méthode proposée. Di�érentes simulations seront e�ectuées pour évaluer notre méthode. À

partir des résultats issus de ces simulations, nous allons e�ectuer 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.

5

Page 18: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 con�guration 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 o�erts. 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.

6

Page 19: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et, 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é in�nie 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 Classi�cation

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.

7

Page 20: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 o�rent 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.

8

Page 21: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et, 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 o�res 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

9

Page 22: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 con�dentialité 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 e�et, 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 (con�dentielles).

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 e�et, 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 e�et, les requêtes

10

Page 23: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 in�uencé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 commutateurs

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.

Figure 2.3 � Topologie en arbre à trois niveaux

11

Page 24: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 con�guration, 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

2).

12

Page 25: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 tra�c 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 con�guration

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 DCellk est 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

serveurs.

13

Page 26: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 BCube0 n 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 e�et, cette topologie est constituée de quatre

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

serveurs.

Figure 2.7 � Exemple de topologie BCube1 avec n=4

14

Page 27: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

2.4 Avantages et inconvénients

Le Cloud computing demeure entouré par plusieurs ambiguités surtout lorsqu'il s'agit de bien

identi�er 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 o�re aux entreprises di�érents

avantages. En e�et, 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 o�re 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]. A�n 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 e�et, 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 modi�cation 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 e�et, 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].

A�n d'avoir un service de qualité, la disponibilité des services o�erts 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'o�re le Cloud. En e�et, 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

15

Page 28: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et, 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 e�et, 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 di�cile 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 con�dentialité 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 chi�res 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 e�et, 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 con�dentialité 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

16

Page 29: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et, 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 e�et, 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-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 e�et, la puissance utilisée

dans un processeur est dé�nie comme suit et exprimée en Watt (W ) [44] :

P = C ∗ f ∗ V 2 (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 V 2. A�n de

véri�er 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

17

Page 30: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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'in�uence 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'ordonnancement,

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

18

Page 31: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 a�ecté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 a�ectée à une VM

installée sur le serveur 1.

19

Page 32: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 2.9 � Composants d'un ordonnanceur

La manière d'a�ecter 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 e�et, 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

e�et, ce transfert est e�ectué à 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 e�ectuée entre des serveurs situés dans des clouds di�érents. Dans le cadre

de notre recherche, nous étudions la migration e�ectué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 migration) [41]. La migration à froid d'une machine virtuelle consiste

à e�ectuer 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,

20

Page 33: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�ectué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 e�ectué à 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 a�n 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 e�ectuée en cinq étapes :

21

Page 34: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

� É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 modi�cation 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 e�et, 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 con�guration 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 con�gurer de nouveau son application, a�n que le service soit continu.

22

Page 35: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 o�res d'hébergement des

services se multiplient [48]. En e�et, 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, a�n 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 e�et, il importe de développer des

mécanismes e�caces a�n 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 e�et, 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 e�et, 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.

23

Page 36: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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. En�n, 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.

24

Page 37: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 alimenté à son tour par un réseau électrique sécurisé, provenant de l'unité 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). A�n 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é a�n 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 e�et, l'énergie consommée par les équipements est presque entièrement transformée

en chaleur par e�et de joule. À cet e�et, 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

25

Page 38: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

produit par les équipements informatiques, de le conditionner à la température froide voulue,

puis de le sou�er 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, a�n 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, a�n 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 con�guration 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).

26

Page 39: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 e�et 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 e�ectué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 e�et, 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 e�et, 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

27

Page 40: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

in�uenç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 e�ectué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 e�et,

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 :

28

Page 41: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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 tra�c : 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 e�et, 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 e�et, 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.

29

Page 42: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 3.4 � Puissance d'un serveur avec mode de veille

3.2.2 Qualité de service

Le paramètre choisi pour évaluer la qualité de service est le pourcentage P de tâches traitées

par les serveurs. Comme il faudra faire des choix, on peut tenter de réduire la consommation

d'énergie et d'augmenter la qualité de service de manière concurrente, en tentant d'atteindre

un bon compromis. À cet e�et, le choix du pourcentage P est basé sur la relation entre le

nombre de tâche traitée et la consommation d'énergie. De ce fait, ce paramètre P nous permet

de gérer le compromis entre la minimisation de la consommation d'énergie et le respect de la

qualité de service grâce à l'équation (3.3). Comme nous avons déjà vu, ce paramètre 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. Le pourcentage P est exprimé comme suit :

P =Nt

Nr∗ 100 (3.5)

où Nt : le nombre de tâches traitées par les serveurs,

Nr : le nombre de tâches reçues par le Cloud.

Comme présenté à l'équation 3.3, la puissance des serveurs dépend du nombre de tâches

traitées par le Cloud. En conséquence, l'énergie consommée par ces serveurs dépend aussi de

la charge de travail qui est caractérisée par une valeur maximale. Si le Cloud reçoit une charge

de travail élevée, la consommation d'énergie des serveurs sera élevée, alors que le pourcentage P

de tâches traitées va diminuer, car ce pourcentage P est inversement proportionnel au nombre

de tâches reçues par le Cloud Nr. Ainsi, la variation de la consommation d'énergie in�uence

ce pourcentage P qui doit être supérieur à 80% pour garantir une bonne qualité de service

[61].

30

Page 43: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

3.3 Présentation et analyse des solutions

Plusieurs solutions existent pour permettre la réduction globale de la consommation d'énergie

dans les Clouds [62], [63], [64]. Parmi lesquelles, nous pouvons citer : la technique DVFS (Dyna-

mic voltage and frequency scaling) [44], la migration [41] et les algorithmes d'ordonnancement

[40]. Dans cette section, nous présentons et analysons ces solutions.

3.3.1 Technique DVFS

DVFS est une technique qui agit sur la fréquence et la tension du processeur de chaque serveur

du Cloud a�n de réduire la consommation d'énergie au niveau de ces serveurs. Plusieurs

travaux ont proposé des solutions basées sur cette technique pour minimiser la consommation

énergétique dans un Cloud [65], [66]. Comme présenté à la section 2.5.3, l'exécution d'une

tâche nécessite l'utilisation du CPU, de la mémoire et du disque. De manière plus précise,

les expériences réalisées dans [65] montrent qu'il est avantageux de réduire la fréquence du

processeur (CPU) pour exécuter une tâche qui utilise une faible proportion du CPU et une

proportion élevée de la mémoire au niveau du serveur. En e�et, si le taux d'utilisation du CPU

pour une tâche est élevé, le temps d'exécution de cette tâche sera faible. Cependant, si on réduit

la fréquence du CPU, le temps d'exécution de la tâche va augmenter, car il est inversement

proportionnel à la fréquence du CPU, ce qui entraine une diminution du pourcentage de tâches

traitées. Il en résulte que la performance du Cloud sera dégradée. Alors que si une tâche accède

fréquemment à la mémoire, le processeur connait des délais d'attente lorsque la tâche accède

à la mémoire. De ce fait, la consommation d'énergie du serveur peut être réduite en abaissant

la fréquence du CPU pendant les temps d'attente du processeur. Dans ce contexte, Andreas

et Frank [66] proposent une technique DVFS basée sur des statistiques d'exécution des tâches

et un algorithme d'apprentissage pour sélectionner la valeur optimale du rapport tension/

fréquence (v/f ) pour l'exécution de la tâche. En e�et, leur algorithme peut prédire la valeur

optimale du rapport v/f à partir des statistiques d'exécution des tâches, dont le nombre

d'instructions exécutées, le nombre d'instructions échouées et les cycles d'horloge.

3.3.2 La migration

Comme présenté au deuxième chapitre, la migration des machines virtuelles (VMs) se divise

en deux catégories : la migration à froid (migration sans copie dans le serveur source pendant

le transfert de la VM), et la migration à chaud (migration avec copie de la VM dans le

serveur source pendant le transfert de la VM). De ce fait, Jyothi et Getzi [64] ont utilisé

la migration à chaud pour consolider les serveurs a�n de diminuer le nombre de serveurs en

mode veille. En e�et, ils se sont basés sur la sous-utilisation du processeur pour déclencher

la migration. De façon plus précise, supposons qu'on a plusieurs serveurs, chacun ayant un

pourcentage donné d'utilisation du CPU. La sous-utilisation du processeur est dé�nie dans ce

cas par le pourcentage d'utilisation le plus faible. A�n d'illustrer ce processus de migration,

31

Page 44: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

présenté dans [64], nous considérons la con�guration suivante : trois serveurs et sept machines

virtuelles occupant entre 20% et 50% du taux d'utilisation des CPU des serveurs sur lesquels

sont hébergés ces VMs.

Figure 3.5 � Processus de migration

� À t = t0 : où t0 est l'instant initial, trois machines virtuelles sont a�ectées au serveur 1

avec un pourcentage d'utilisation de CPU total (la somme des pourcentages d'utilisation

du CPU de chaque machine virtuelle) P1 de 95% et deux machines virtuelles sont a�ec-

tées au serveur 2 utilisant 70% de son CPU. Pour le serveur 3, deux machines virtuelles

y sont hébergées, avec un pourcentage d'utilisation de CPU total P3 = 40%.

� Après une durée ∆t1, nous allons considérer qu'aucune nouvelle machine virtuelle n'est

apparue et que la machine virtuelle 3 a �ni son exécution à t1 = t0 + ∆t1. À cet instant,

le serveur 1 est caractérisé par P1 qui est égal à 70%, alors que les pourcentages P2 et P3

32

Page 45: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

du serveur 2 et du serveur 3 sont respectivement 70% et 40%. Dans ce cas, le plus faible

pourcentage d'utilisation du CPU est 40%. Donc, le serveur 3 est sous-utilisé. En se

basant sur l'étude présentée précédemment [64], les machines virtuelles hébergées dans

le serveur 3 sont migrées vers les autres serveurs pour éteindre le serveur 3.

� À t2 = t1 + ∆t2 , la migration des machines virtuelles est e�ectuée, la machine virtuelle

6 est a�ectée au serveur 1, puis la machine virtuelle 7 est déplacé au serveur 2. Avec

cette migration, le serveur 1 est utilisé à 90% de ses capacités, en termes d'utilisation du

CPU et le serveur 2 est utilisé également à 90% de ses capacités. Toutefois, le serveur

3 est éteint. Donc, cette migration permet d'utiliser deux serveurs avec le maximum

de leurs capacités et d'éteindre un serveur, ce qui permet une diminution de l'énergie

consommée.

3.3.3 Algorithmes d'ordonnancement

Le Cloud Computing utilise le concept d'ordonnancement des tâches pour a�ecter celles-ci

aux machines virtuelles sous-utilisées hébergées dans les serveurs, a�n de partager e�cace-

ment les ressources (CPU, mémoire, disque). L'ordonnancement consiste à utiliser un ordon-

nanceur pour l'ensemble du centre de données ainsi qu'une unique liste de tâches prêtes, et

à a�ecter ces tâches aux serveurs appropriés. En e�et, lorsque les tâches arrivent au centre

de données, elles sont placées, dans un premier temps, dans une �le d'attente après qu'elles

soient triées (phase de priorisation). Comme mentionné à la section 2.5.2, nous considérons

un Cloud sans priorité, donc les tâches seront placées dans l'ordre du � premier arrivé premier

servi �. Comme illustré aux �gures 3.6 et 3.7, la �le d'attente est gérée par un contrôleur qui

implémente l'algorithme d'ordonnancement. L'ensemble constitué du contrôleur et de la �le

d'attente représente l'ordonnanceur qui constitue le point d'entrée d'un centre de données.

L'algorithme d'ordonnancement a�ecte ces tâches aux machines virtuelles en passant par les

commutateurs du centre de données (voir �gure 2.3). Plusieurs algorithmes d'ordonnancement

sont utilisés, comme Green Scheduler, Round Robin et Random [67], [68].

� Green Scheduler

Green Scheduler regroupe les tâches dans le minimum des serveurs, et les serveurs in-

utilisés sont éteints. En e�et, cet algorithme a�ecte les tâches aux machines virtuelles

du premier serveur et ne passe aux machines virtuelles du serveur suivant que si le pre-

mier est occupé [69]. Pour ce faire, l'algorithme analyse dynamiquement les serveurs, en

véri�ant leur disponibilité de manière continue. À chaque fois qu'il détecte un serveur

saturé, l'ordonnanceur reste à l'écart de celui-ci, même s'il répond aux exigences des

tâches reçues. De manière plus précise, dans la �gure 3.6, la première tâche est a�ectée

à la première VM du premier serveur, la deuxième tâche et la troisième tâche sont a�ec-

tées également au premier serveur. Or, après l'a�ectation de ces trois tâches au premier

serveur, ce dernier est saturé. Dans ce cas, la quatrième tâche et la cinquième tâche sont

a�ectées au deuxième serveur.

33

Page 46: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 3.6 � Algorithme d'ordonnancement Green Scheduler

� Round Robin

L'algorithme d'ordonnancement des tâches Round Robin a�ecte les tâches sélectionnées

aux machines virtuelles disponibles à tour de rôle, comme présenté à la �gure 3.7 [70].

Dans cette �gure, l'algorithme envoie les tâches reçues aux machines virtuelles dispo-

nibles en suivant un cercle fermé. De manière plus précise, la première tâche est a�ectée

à la première machine virtuelle du serveur 1, la deuxième tâche est a�ectée à la première

machine virtuelle du serveur 2, la troisième tâche est a�ectée à la première machine

virtuelle du troisième serveur, alors que la quatrième tâche, la cinquième tâche et la

sixième tâche sont a�ectées respectivement à la deuxième machine virtuelle du premier,

du deuxième et du troisième serveur.

Figure 3.7 � Algorithme d'ordonnancement Round Robin

34

Page 47: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

� Random

L'algorithme de sélection � Random � des ressources permet une assignation des tâches

aux machines virtuelles de manière aléatoire [71]. Comme illustré à la �gure 3.8, les

tâches sont a�ectées aléatoirement. Dans cet exemple, la première tâche est a�ectée à

la première VM du premier serveur, la deuxième tâche est a�ectée à la première VM du

deuxième serveur, la tâche 3 est a�ectée à la deuxième VM du premier serveur, alors

que la quatrième tâche et la cinquième tâche sont a�ectées respectivement à la deuxième

VM du premier serveur et la troisième VM du deuxième serveur. Si les deux premières

tâches, a�ectées au deuxième serveur, occupent toutes ses machines virtuelles et que

l'algorithme a�ecte une autre tâche à ce serveur, comme illustré à la �gure 3.8, cette

dernière ne sera pas traitée. D'où l'inconvénient de cet algorithme.

Figure 3.8 � Algorithme d'ordonnancement Random

De toutes les techniques que nous pouvons appliquer, toutes sont à utiliser avec précaution,

car elles comportent des lacunes. Ainsi, une mauvaise utilisation d'une de ces techniques de

réduction de la consommation d'énergie peut entrainer un e�et négatif sur le service, comme

la dégradation de la performance, ce qui peut se révéler très problématique. Pour la technique

DVFS qui permet de réduire grandement la consommation d'énergie du processeur, l'appli-

cation d'un changement de fréquence n'est pas instantanée et passer d'une fréquence à une

autre prend un peu de temps. De manière plus précise, le changement de fréquence ralentira

fortement l'exécution de l'application, entrainant ainsi une surconsommation d'énergie. En

ce qui concerne la migration des machines virtuelles, une dégradation de performance peut

survenir. En e�et, les transferts des machines virtuelles nécessitent un certain temps durant

lequel les machines virtuelles en migration consomment des ressources sur les serveurs source

et destination. Pour les algorithmes d'ordonnancement, il y a ceux qui in�uencent la perfor-

mance du Cloud, comme l'algorithme Random. L'application de cet algorithme entraine plus

35

Page 48: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

de tâches non traitées, comme présenté à la sous-section 3.3.3.

3.4 Méthode proposée

Pour combler les lacunes présentées par chaque technique prise individuellement, plusieurs

chercheurs ont proposé de combiner deux à deux ces techniques [72], [11], [73], [74], [75].

Parmi ces recherches, il y en a qui combinent la technique DVFS et l'ordonnancement [72],

[11], [73], alors que d'autres intégrent la migration avec l'ordonnancement [74], [75]. Considé-

rons d'abord les études qui proposent l'intégration de la technique DVFS et d'un algorithme

d'ordonnancement. Dans ce contexte, Tang et al. [72] proposent un algorithme d'ordonnan-

cement de tâches DEWTS (DVFS-enabled E�cient Energy �ow Task Scheduling) basé sur

la technique DVFS. Dans un délai donné, cet algorithme peut distribuer les tâches aux ma-

chines virtuelles appropriées et les traiter aux intervalles de temps nécessaires pour réduire

la consommation d'énergie des serveurs et atteindre les performances requises par le Cloud.

La technique DEWTS comporte les phases suivantes : le mappage initial des tâches et la fu-

sion des processeurs. Le mappage initial des tâches nécessite d'obtenir les priorités de toutes

les tâches dans l'ordre décroissant. Quant à la fusion des processeurs, elle permet de calculer

d'abord le nombre de tâches traitées par chaque processeur, puis trier les processeurs par ordre

décroissant, en termes de nombre de tâches traitées. Pour réduire le nombre de processeurs

utilisés, l'algorithme d'ordonnancement DEWTS permet de distribuer les tâches aux machines

virtuelles hébergées dans des serveurs appropriés. Ces serveurs contiennent les processeurs qui

traitent le plus grand nombre de tâches reçues par le Cloud. En e�et, ces processeurs sont pla-

cés au début de la liste des processeurs, obtenue dans la phase de fusion des processeurs. Les

résultats de cette étude montrent que l'algorithme DEWTS permet d'augmenter l'utilisation

des processeurs et de réduire la quantité de la consommation d'énergie des serveurs.

D'autre part, Wu et al. [11] ont intégré un algorithme d'ordonnancement écologique et la mé-

thode DVFS pour minimiser la consommation énergétique des serveurs. Cet algorithme d'or-

donnancement utilise l'ordonnancement prioritaire des tâches pour sélectionner les machines

virtuelles en fonction d'un poids calculé, selon les exigences des utilisateurs pour exécuter les

tâches. Ce poids est calculé en multipliant le coût énergétique de chaque machine virtuelle

par le nombre de machines virtuelles utilisées. La technique DVFS permet alors de réduire la

consommation d'énergie d'un serveur, quand il est en mode de veille, ou durant une charge de

travail faible. Dans cette étude, deux paramètres sont considérés : la consommation d'éner-

gie des serveurs et le temps d'évaluation de la qualité de service de l'approche proposée. Les

résultats de cette recherche présentent ces deux paramètres en fonction du nombre de tâches

reçues par le Cloud. Ces résultats sont comparés à ceux présentés dans [76], utilisant un algo-

rithme d'ordonnancement basé sur le choix de la machine virtuelle la plus performante pour

exécuter les tâches reçues. En e�et, la méthode proposée dans [11] peut réduire de 23% la

consommation d'énergie de la méthode présentée dans [76]. Toutefois, les délais d'exécution

36

Page 49: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

des tâches reçues par le Cloud sont très proches de ceux présentés dans [76].

Par ailleurs, Mishra et al. [73] ont proposé un algorithme d'ordonnancement EEDTSA (Energy

E�cient DVFS based Task Scheduling Algorithm) basé sur la technique DVFS pour réduire

au minimum la consommation d'énergie des serveurs, en changeant di�érentes paires tension-

fréquence du CPU pour chaque tâche. Par la suite, l'algorithme d'ordonnancement Hetero-

geneous Earliest-Finish-Time (HEFT) [77] est appliqué pour a�ecter toutes les tâches aux

machines virtuelles appropriées. Ces machines virtuelles utilisent une partie du processeur des

serveurs sur lesquels elles sont hébergées. Cet algorithme d'ordonnancement comporte deux

phases principales : une phase pour calculer les priorités de toutes les tâches, et une phase pour

sélectionner les meilleurs processeurs, en termes de performance pour les tâches prioritaires.

La consommation d'énergie de cet algorithme a été comparée avec celle de l'algorithme Ran-

dom utilisé sans la technique DVFS. Cette comparaison a montré que l'algorithme EEDTSA

permet de consommer moins d'énergie que l'algorithme Random.

Considérons maintenant la deuxième catégorie de recherches qui proposent l'intégration de

la migration et d'un algorithme d'ordonnancement [74], [75]. Dans ce contexte, Farahnakiam

et al. [74] ont proposé une méthode de consolidation dynamique des serveurs appelée RL-

DC (Reinforcement Learning-based Dynamic Consolidation). Cette méthode est basée sur la

migration et utilise l'algorithme d'ordonnancement Random pour réduire le coût d'énergie

des serveurs et éviter la violation du contrat SLA (Service Level Agreement), c'est à dire

l'ensemble des clauses que le fournisseur du Cloud s'engage à respecter. En e�et, la violation

du contrat SLA est calculée par la di�érence entre le nombre de tâches reçues par le Cloud et le

nombre de tâches traitées dans les serveurs. La migration, utilisée dans la méthode RL-DC, se

base sur l'apprentissage par renforcement. En e�et, l'apprentissage par renforcement permet

d'apprendre à détecter un serveur sous-utilisé par l'intermédiaire d'un agent d'apprentissage.

Ensuite, la méthode RL-DC permet d'a�ecter toutes les machines virtuelles de ce serveur sous-

utilisé à d'autres serveurs, pour que le serveur sous-utilisé passe à l'état de veille. De plus,

les machines virtuelles sont hébergées dans les serveurs qui consomment le moins d'énergie.

Les auteurs ont comparé l'énergie consommée par les serveurs en appliquant la méthode RL-

DC, avec l'énergie consommée par les serveurs en utilisant les trois algorithmes de migration

présentés dans [78]. La fonctionnalité principale de ces algorithmes est de dé�nir les seuils

d'utilisation du CPU des serveurs pour appliquer la migration des machines virtuelles. Grâce

à la capacité d'apprentissage de la méthode RL-DC, une réduction d'énergie des serveurs de

15% à 40% est atteinte par rapport aux trois autres algorithmes. De plus, une amélioration

au niveau du SLA est constatée, en termes de nombre de tâches traitées dans les serveurs.

D'autre part, l'approche présentée dans [75] a également mis l'accent sur l'intégration d'un

algorithme d'ordonnancement et de la migration des machines virtuelles a�n d'obtenir un

système écoénergétique. Dans cette recherche, Chribi et al. [75] ont proposé une combinaison de

deux algorithmes : un algorithme d'ordonnancement basé sur le tri des machines virtuelles selon

37

Page 50: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

un ordre décroissant, en termes de consommation d'énergie, et un algorithme de migration qui

tient compte d'un nombre minimal de migrations et d'une consommation d'énergie minimale.

Des économies signi�catives d'énergie peuvent être obtenues en fonction de la charge de travail

au niveau des serveurs. À faible charge, les gains obtenus à partir de la minimisation d'énergie

consommée des serveurs peuvent être assez importants. Toutefois, ces gains sont plus faibles

à des charges élevées, en termes de consommation d'énergie des serveurs.

À partir de l'analyse précédente, nous déduisons que l'intégration de deux techniques de mini-

misation de la consommation d'énergie apporte une amélioration au niveau de la consomma-

tion d'énergie des serveurs par rapport à l'utilisation d'une technique prise individuellement.

Toutefois, la combinaison de deux techniques comporte toujours des lacunes au niveau de

la performance du Cloud et au niveau de la minimisation de la consommation d'énergie des

serveurs, surtout lorsque la charge de travail au niveau des serveurs est élevée [11], [75]. Étant

donné ces limites, nous proposons une méthode basée sur l'intégration des trois techniques de

minimisation de la consommation d'énergie a�n de combler les lacunes de ces méthodes. Pour

ce faire, nous allons d'abord �xer une durée de session ts durant laquelle nous appliquons la

méthode proposée. En e�et, le Cloud va recevoir durant la période ts les tâches envoyées par

les utilisateurs. Ces tâches représentent les demandes de services qu'o�re le Cloud sollicité, et

elles sont reçues par l'ordonnanceur une à la fois, jusqu'à la �n de la durée ts. Après avoir reçu

toutes les tâches, trois phases seront appliquées, comme présenté à la �gure 3.9. La première

phase consiste à choisir l'algorithme d'ordonnancement qui o�re la meilleure consommation

d'énergie. La deuxième phase sert à intégrer la technique DVFS à l'algorithme d'ordonnan-

cement choisi pour améliorer la consommation d'énergie. Quant à la troisième phase, elle

consiste à intégrer le processus de migration aux deux techniques précédentes, suite à l'éva-

luation du pourcentage d'utilisation du CPU. Cette évaluation exprime la surutilisation ou la

sous-utilisation du serveur. A�n d'évaluer l'e�cacité de notre méthode, en termes de consom-

mation d'énergie et du respect des exigences de qualité de service, nous évaluons l'énergie

consommée E pendant ts, puis, nous calculons le pourcentage de tâches traitées P.

� Phase 1 : Choix de l'algorithme d'ordonnancement

A�n d'a�ecter les tâches reçues aux machines virtuelles hébergées par les serveurs, un

système d'ordonnancement est mis en place pour e�ectuer ce travail, comme illustré

aux �gures 3.6, 3.7 et 3.8. Le choix de l'algorithme d'ordonnancement in�uence l'énergie

consommée et la performance de service, vu que certains algorithmes peuvent engen-

drer des tâches non traitées, comme l'algorithme Random (voir �gure 3.8). De ce fait,

cette étape consiste à choisir parmi les algorithmes d'ordonnancement suivants : Green

Scheduler, Random et Round Robin, celui qui o�re la consommation d'énergie la plus

faible. Pour ce faire, nous e�ectuons trois tests, en considérant à chaque fois un al-

gorithme d'ordonnancement parmi les trois. Pour chaque test, nous calculons l'énergie

consommée par les serveurs du Cloud. En�n, nous choisissons l'algorithme qui o�re la

38

Page 51: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 3.9 � Diagramme de �ot de la méthode proposée

39

Page 52: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

consommation d'énergie la plus faible.

� Phase 2 : Intégration de la technique DVFS

Après avoir choisi l'algorithme d'ordonnancement adéquat, nous le combinons avec la

technique DVFS. Cette technique est appliquée sur tous les serveurs actifs du centre de

données, c'est-à-dire les serveurs utilisés pour traiter les tâches envoyées par les utilisa-

teurs. Une variation au niveau de la fréquence et du voltage du CPU en est résultée,

d'où une variation au niveau de la charge du processeur (CPU) de chaque serveur actif.

� Phase 3 : Intégration de la migration

Nous appliquons le processus de migration à la combinaison de l'algorithme d'ordonnan-

cement choisi et la technique DVFS. L'application de la migration sur un serveur est liée

au pourcentage d'utilisation du CPU. En e�et, le calcul de ce paramètre est basé sur le

nombre d'instructions, mesuré en MIPS, utilisé pour représenter la capacité du serveur et

la capacité de la VM hébergée dans le serveur actif, en termes de traitement des tâches.

Les tâches reçues seront distribuées aux machines virtuelles sur di�érents serveurs. Soit

n le nombre de serveurs et mi le nombre de machines virtuelles hébergées dans chaque

serveur i, i = 0, ....., n-1 . Nous supposons que chaque serveur i a son propre nombre mi

de machines virtuelles. Pour calculer le pourcentage d'utilisation Pi du CPU de chaque

serveur, nous commençons par calculer le nombre de tâches traitées par chaque serveur

i. Ce nombre Ui, exprimé en MIPS, est calculé à partir du nombre de tâches Vj traitées

par chaque machine virtuelle hébergée j. Ui est exprimé comme suit :

Ui =

mi−1∑j=0

Vj , i = 0, 1, ..., n− 1 (3.6)

où Vj : le nombre de tâches traitées par chaque machine virtuelle j, hébergée dans le

serveur i,

mi : le nombre de machines virtuelles hébergées dans le serveur i.

Le pourcentage d'utilisation Pi du CPU est dé�ni à partir du nombre Ui de tâches

traitées par le serveur i et le nombre maximal Si de tâches que peut traiter le processeur

du serveur i. De ce fait, Pi est exprimé comme suit [79], [80] :

Pi =Ui

Si∗ 100, i = 0, 1, ..., n− 1 (3.7)

où Si : le nombre maximal de tâches que peut traiter le processeur du serveur i,

Ui : le nombre de tâches traitées par chaque serveur i.

La migration est appliquée sur un serveur i comme étant le serveur source, s'il est dans

un état de surcharge ou un état de sous-charge. Dans [81], l'état de surcharge est dé�ni

lorsque Pi > 70% et l'état de sous-charge est représenté par Pi < 30%. De ce fait,

l'intégration de la migration est réalisée comme suit :

40

Page 53: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Si 30% ≤ Pi ≤ 70% : La migration n'est pas appliquée au niveau de ce serveur, car sa

charge est équilibrée.

Si Pi > 70% : une migration est e�ectuée au niveau de ce serveur.

Si Pi < 30% : toutes les VM seront migrées vers d'autres serveurs et ce serveur i sera

en mode veille.

Après avoir appliqué les trois phases de notre méthode, il sera question d'évaluer l'e�cacité

de celle-ci, en termes de consommation d'énergie et de qualité de service. Pour ce faire, nous

évaluons d'abord la quantité d'énergie E consommée par les serveurs. Puis, nous calculons

le pourcentage de tâches traitées P, après l'application des trois phases de la méthode, a�n

d'évaluer l'impact de cette méthode sur la qualité de service.

41

Page 54: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Chapitre 4

Mise en ÷uvre et résultats

Après la présentation de notre méthode, il est important d'en présenter la mise en ÷uvre a�n

d'évaluer son e�cacité, en termes de consommation d'énergie et de qualité de service à partir

des résultats obtenus. Ce chapitre détaille la phase de la mise en ÷uvre de notre méthode,

ainsi que celle d'obtention et d'analyse des résultats. De façon plus précise, il sera question de

présenter d'abord le plan d'expérience. Par la suite, une étude détaillée des di�érentes étapes

de ce plan sera élaborée. En�n, il sera nécessaire d'e�ectuer une analyse des résultats issus de

la mise en ÷uvre.

4.1 Plan d'expérience

Ce plan d'expérience décrit les étapes nécessaires à la mise en ÷uvre de la méthode proposée et

à l'obtention des résultats de cette méthode. Cette mise en ÷uvre nécessite le choix d'un outil

de simulation qui servira à l'implémentation de la méthode proposée. En e�et, la réalisation

des scénarios de manière répétitive est parfois impossible dans un Cloud réel, car les données

varient instantanément. À cet e�et, pour choisir un simulateur adéquat, nous allons commencer

par une analyse des outils existants, les catégoriser à partir de leurs fonctionnalités, puis les

comparer, en termes d'énergie consommée dans le but d'opter pour l'outil le plus adapté à la

méthode proposée.

Pour implémenter notre méthode, il convient d'abord de véri�er si l'outil choisi implémente les

trois caractéristiques de la méthode : les algorithmes d'ordonnancement, DVFS et la migration.

Dans le cas où l'outil choisi n'implémente pas toutes ces caractéristiques, il sera nécessaire d'y

implémenter les caractéristiques manquantes. Puisque la méthode proposée est basée sur une

contrainte liée au pourcentage d'utilisation du CPU pour intégrer le processus de migration,

il sera question d'implémenter cette contrainte dans l'outil de simulation. En�n, il s'avère

nécessaire d'y implémenter l'intégration des trois caractéristiques de la méthode proposée, vu

que celle-ci est dé�nie par la combinaison de ces trois caractéristiques.

42

Page 55: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

L'obtention des résultats quant à elle, sera déduite à partir de trois séries de simulations ef-

fectuées dans l'outil choisi. La première série de simulations vise à tester l'impact de chaque

algorithme d'ordonnancement sur la consommation d'énergie, et d'en déduire celui qui o�re

la plus faible consommation d'énergie, puis sélectionner cet algorithme pour le reste des si-

mulations. La deuxième série de simulations consiste à intégrer à l'algorithme sélectionné la

technique DVFS, puis à comparer le comportement résultant de cette combinaison avec celui

de la première série de simulations. Pour la troisième série de simulations, nous allons intégrer

le processus de migration à la combinaison précédente.

Ces simulations permettront d'évaluer l'impact de l'intégration des trois caractéristiques de la

méthode proposée sur la consommation d'énergie, ainsi que sur la qualité de service. Pour ce

faire, nous allons comparer les résultats de ces simulations avec ceux des deux séries de simu-

lations précédentes. A�n de quanti�er la consommation énergétique et la qualité de service,

deux paramètres seront utilisés : la quantité d'énergie consommée au niveau des serveurs et le

pourcentage de tâches traitées. En vue de simuler le Cloud dans ses di�érents états de charge,

il sera plus convenable d'exprimer les di�érents résultats de simulations en fonction du taux

d'utilisation des ressources. Ce paramètre représente le nombre de ressources informatiques

attribuées (CPU, mémoire, disque) pour traiter les tâches reçues par le Cloud, par rapport au

nombre de ressources disponibles dans le Cloud.

4.2 Mise en ÷uvre

Pour la mise en ÷uvre de la méthode proposée, nous allons d'abord justi�er le choix du

simulateur qui sera utilisé dans le cadre de cette recherche, et le présenter par la suite. Puis,

nous décrirons les modi�cations apportées au simulateur pour implémenter notre méthode.

4.2.1 Choix de l'outil

Le choix du simulateur est basé sur la présence ou non de la fonction de la consommation

d'énergie dans ce simulateur. De ce fait, nous allons d'abord catégoriser les outils présentés

dans [82] à partir de l'implémentation du modèle d'énergie dans ces derniers. À cet e�et,

ces simulateurs sont regroupés en deux catégories : des simulateurs intégrant la modélisation

d'énergie consommée, comme Cloud Sim [83], Green Cloud [84], et des simulateurs conçus

pour analyser le temps de réponse d'un service Cloud, comme Cloud Analyst [85] et DC Sim

[86]. Cette dernière catégorie sera écartée, vu que Cloud Analyst et DC Sim traitent de temps

de réponse. Or, ce paramètre n'a aucun lien avec la consommation énergétique. Nous allons

à cet e�et nous contenter de la première catégorie de simulateurs qui contient Green Cloud,

Cloud Sim.

Ensuite, nous allons e�ectuer une comparaison entre les deux simulateurs : Green Cloud et

Cloud Sim. Cette comparaison est présentée au Tableau 4.1, où les modèles d'applications

43

Page 56: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Pramètres Green Cloud Cloud SimModèles d'applications Calcul, transfert de données Calcul, transfert de donnéesModèles d'énergie Appliqué pour tous les compo-

sants du centre de donnéesAucun

Mode d'économie d'énergie DVFS, DNS, DVFS+DNS AucunSupport du résultat HTML Console

Table 4.1 � Comparaison entre Green Cloud et Cloud Sim

qui implémentent les types d'applications qu'o�re le Cloud sont les mêmes pour les deux

simulateurs. En e�et, Cloud Sim et Green Cloud implémentent tous les deux des applications

de calcul et de transfert de données. Par exemple, si un utilisateur se connecte à un Cloud

pour y enregistrer une photo, les deux simulateurs simulent cette tâche, en calculant l'espace

nécessaire pour stocker cette image et e�ectuer son transfert dans le Cloud. Pour le mode

d'économie d'énergie, ce paramètre dé�nissant la technique de gestion de la consommation

d'énergie est implémenté dans Green Cloud, en o�rant DVFS et DNS (Dynamic Network

Shutdown). Concernant la technique DVFS, nous l'avons déjà présentée et expliquée dans les

sections 2.5.2 et 3.3.1, alors que DNS est une technique qui consiste à éteindre les commutateurs

du centre de données qui sont inutilisés. Or, dans le cadre de notre recherche, nous nous

contentons de la consommation d'énergie au niveau des serveurs. De ce fait, la technique DNS

ne sera pas utilisée. Nous utiliserons plutôt la technique DVFS dans ce simulateur. En outre,

le simulateur Green Cloud o�re un meilleur processus d'analyse des résultats de simulation, en

fournissant un support HTML avec les graphiques, alors que le simulateur Cloud Sim retourne

ses résultats dans une console.

La comparaison entre ces deux simulateurs montre que Green Cloud a un certain nombre

d'avantages par rapport à Cloud Sim. En e�et, Green Cloud met en ÷uvre trois algorithmes

d'économie d'énergie (DNS, DVFS et DNS + DVFS) [87], alors que Cloud Sim n'en im-

plémente aucun. Or, notre méthode est dé�nie par trois caractéristiques, dont la technique

DVFS. D'où la force de Green Cloud, en termes de mode d'économie d'énergie. Ce simula-

teur calcule également avec précision la consommation d'énergie par chaque requête reçue,

alors que le simulateur Cloud Sim ne fournit aucun modèle d'énergie au niveau des requêtes.

Nous en concluons que le simulateur Green Cloud o�re une analyse plus précise concernant la

consommation d'énergie dans un environnement Cloud.

Green Cloud est une extension open source de NS-2. Ce dernier est un outil de simulation de

réseaux informatiques. L'outil NS-2 est parmi les simulateurs les plus utilisés dans les labora-

toires de recherche, a�n de simuler et étudier les performances des protocoles réseau [88]. Il

o�re aussi une plateforme de développement de nouveaux protocoles et permet de les tester.

Green Cloud est basé sur les packages du simulateur NS-2 pour la création des topologies du

centre de données. De plus, ce simulateur est programmé en C++, ainsi qu'en Tool Command

44

Page 57: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Language (TCL). TCL est un langage de script initialement conçu en 1988 [89]. La �gure 4.1

présente une partie du �chier 'main.tcl' qui est utilisé dans le simulateur Green Gloud. Un

�chier en format tcl est un �chier avec une extension tcl, écrit en langage tcl. Comme illustré

à la �gure 4.1, le �chier est composé de lignes de commandes. Chaque ligne est constituée de

mots. Le premier mot est toujours le nom d'une fonction. Par exemple, dans la �gure 4.1, nous

constatons que quelques lignes commencent par la fonction set, ce qui permet d'a�ecter une

valeur à une variable, alors que d'autres commencent par la fonction put qui sert à l'a�chage.

Figure 4.1 � Fichier 'main.tcl'

Le simulateur Green Cloud implémente les composants suivants :

� Les serveurs qui représentent les unités d'exécution des tâches. En e�et, Green Cloud

implémente ces composants, en intégrant leurs caractéristiques, comme la vitesse du

processeur, la taille de la mémoire et le nombre de machines virtuelles hébergées ;

� Les commutateurs qui sont dé�nis par leur type, ainsi que leur rôle dans la topologie

du centre de données. En e�et, un commutateur peut se présenter dans une topologie

comme un "commutateur de c÷ur", alors que d'autres jouent le rôle de "commutateurs

d'agrégation" ou de "commutateurs d'accès" dans la même topologie ;

� Le tra�c du Cloud qui représente l'ensemble des requêtes envoyées par les utilisateurs du

service Cloud. Ce tra�c est mesuré en MIPS (millions d'instructions par seconde). Par

exemple, si un utilisateur accède à son Cloud pour récupérer un document, l'ensemble

des requêtes envoyées par cet utilisateur pour récupérer ses données représente une partie

du tra�c du Cloud.

Comme présenté au deuxième chapitre, il existe di�érentes topologies de centre de données.

Parmi ces topologies, citons : la topologie en arbre à plusieurs niveaux. Green Cloud implé-

mente trois instances de cette topologie : la topologie à deux niveaux, la topologie à trois

niveaux, la topologie à haut débit à trois niveaux [90]. La topologie à deux niveaux contient

45

Page 58: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

les racks des serveurs qui forment le premier niveau du réseau, comme illustré à la �gure 4.2.

Les commutateurs, représentés à cette �gure par Layer-3 (L3), assurent la circulation du tra-

�c. Ces commutateurs facilitent également la connectivité complète, en utilisant des liaisons

de 10 Gigabits Ethernet (GE) [91]. Les centres de données à deux niveaux dans Green Cloud

peuvent prendre en charge jusqu'à 5500 n÷uds. Un noeud représente alors un serveur ou un

commutateur. La topologie à trois niveaux, comme présenté à la �gure 4.3, comporte trois

niveaux : le niveau d'accès qui contient les racks dans lesquels les serveurs sont regroupés, le

niveau d'agrégation et le niveau noyau. Les deux derniers niveaux comportent les commuta-

teurs du centre de données. Cette topologie permet une augmentation du nombre de serveurs

pris en charge à 10000. La topologie à haut débit à trois niveaux ajoute des liaisons de 10

GE entre les commutateurs d'agrégation et les commutateurs d'accès dans la topologie à trois

niveaux, présentée à la �gure 4.3. Cela entraîne une réduction du nombre des commutateurs

d'accès, ainsi que la réduction du câblage du centre de données.

Figure 4.2 � Topologie à deux niveaux

46

Page 59: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.3 � Topologie à trois niveaux

4.2.2 Implémentation

Pour implémenter la méthode proposée, nous allons e�ectuer des modi�cations au simulateur

pour l'adapter à notre méthode. Avant d'apporter tout changement au simulateur, il est pri-

mordial d'étudier les di�érents �chiers et classes qu'il implémente. En e�et, toute simulation

dans Green Cloud est basée sur sept �chiers en format tcl, contenant toute la con�guration de

cette simulation. Ainsi, ces �chiers font appel à toutes les classes développées en C++ dans

ce simulateur. Le tableau 4.2 présente ces �chiers, en décrivant leurs rôles.

47

Page 60: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Fichier Rôle

Main.tcl détermine la topologie du centre de données et le tempsde la simulation. Il fait appel aux autres �chiers de lacon�guration.

Setup_ params.tcl contient la con�guration générale des serveurs, des tâches etdes données liées à la migration.

Topology.tcl crée la topologie du centre de données.

Dc.tcl responsable de la création des serveurs et des machinesvirtuelles.

User.tcl attribue une valeur à chaque paramètre dé�nissant les re-quêtes envoyées par les utilisateurs.

Record.tcl dé�nit les procédures du rapport sur les résultatsd'exécution.

Finish.tcl calcule et présente les statistiques de la simulation.

Table 4.2 � Fichiers de con�guration du simulateur Green Cloud

Il s'avère nécessaire que le simulateur implémente les trois caractéristiques de notre méthode :

les algorithmes d'ordonnancement, la technique DVFS et la migration. Concernant la première

caractéristique, l'implémentation des trois algorithmes d'ordonnancement, à savoir Green Sche-

duler, Random et Round Robin est déjà e�ectuée dans le simulateur. En e�et, les trois algo-

rithmes sont implémentés dans le simulateur par des classes qui héritent de la classe principale

DcScheduler. Considérons la �gure 4.4 qui présente les liaisons d'héritage entre les di�érentes

classes qui implémentent les algorithmes d'ordonnancement. Nous constatons que la classe

Round Robin et la classe Green Scheduler héritent directement de la classe DcScheduler, alors

que la classe Random hérite de la classe DcScheduler à travers la classe ProbabilisticSchedu-

ler qui hérite à son tour de la classe ScoreScheduler. Cette dernière hérite aussi directement

de la classe DCScheduler. En e�et, la classe ScoreScheduler implémente les caractéristiques

des algorithmes qui a�ectent la tâche à la ressource convenable (le processeur, la mémoire, la

bande passante du réseau) [92], selon les caractéristiques de chaque ressource. Quant à la classe

ProbabilisticScheduler, elle met en ÷uvre les caractéristiques des algorithmes probabilistes, en

les ajoutant aux caractéristiques héritées de la classe ScoreScheduler. En ce qui concerne la

classe principale DcScheduler, elle implémente toutes les liaisons entre les classes qui créent

les instances des serveurs, des machines virtuelles, et les classes qui implémentent les tâches

envoyées par les utilisateurs.

48

Page 61: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.4 � Diagramme d'héritage des classes des algorithmes d'ordonnancement

Toutefois, dans un centre de données, nous devons avoir un seul algorithme d'ordonnancement.

À cet e�et, une variable est utilisée dans le simulateur pour �xer l'algorithme d'ordonnance-

ment qu'on veut simuler. Comme illustré à la �gure 4.5 qui présente la choix d'algorithme

d'ordonnancement à simuler, scheduler_name est utilisé pour �xer cet algorithme. Considé-

rons par exemple, la ligne 116 de la �gure 4.5, nous constatons que si scheduler_name contient

la valeur GreenScheduler, l'algorithme instancié est Green Scheduler.

Figure 4.5 � Choix de l'algorithme d'ordonnancement

De même pour la deuxième caractéristique, Green Cloud implémente également DVFS. En

e�et, le simulateur utilise la fonction void setDVFS (int eDVFS_enabled_) pour activer

49

Page 62: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

cette technique au niveau des processeurs. Cette fonction prend en paramètre un entier

eDVFS_enabled_ qui prend la valeur 1 si on veut activer DVFS et la valeur 0 dans le

cas de désactivation du DVFS. En outre, le CPU implémente DVFS par la fonction void

CPU : :setDVFS ( int eDVFS_enabled_ ) qui est présentée à la �gure 4.6. En e�et, comme

illustré à la ligne 106 de cette �gure, pour chaque valeur du pointeur iter qui pointe vers un

c÷ur du CPU, on active la technique pour chaque c÷ur.

Figure 4.6 � Implémentation de la technique DVFS au niveau des processeurs

Green Cloud n'implémente pas tout le processus de migration. De ce fait, il reste à l'adapter

pour implémenter la migration selon les contraintes posées, en termes de pourcentage d'utilisa-

tion du CPU. Il est important d'e�ectuer deux modi�cations. La première consiste à modi�er

le nombre de machines virtuelles par serveur. En e�et, nous augmentons d'abord ce nombre

pour rendre le Cloud simulé plus réel. Alors que la con�guration de base de Green Cloud ne

supporte qu'une machine virtuelle par serveur, un Cloud réel o�re la possibilité d'avoir plu-

sieurs machines virtuelles sur un serveur, au lieu d'avoir plusieurs serveurs hébergeant chacun

une machine virtuelle.

Comme présenté au tableau 4.2, le �chier responsable de la création des machines virtuelles est

le �chier `dc.tcl'. Dans ce �chier, les serveurs sont créés en premier, en �xant leurs caractéris-

tiques. Concernant les machines virtuelles, elles sont hébergées dans chaque serveur. L'implé-

mentation de ces machines virtuelles est basée sur l'implémentation des fonctions nécessaires

pour le traitement des tâches au niveau de ces machines virtuelles. Ainsi, nous modi�ons le

�chier `dc.tcl' dans l'optique de supporter plusieurs machines virtuelles par serveur. Un indice

est ajouté à chaque machine virtuelle pour l'identi�er dans le serveur qui l'héberge. Soit n le

50

Page 63: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

nombre de serveurs, comme présenté à la �gure 4.7, dans la con�guration de base de Green

Cloud, chaque machine virtuelle VM(i), i = 0, ...., n-1 , est caractérisée par un indice iden-

tique à celui du serveur Si qui l'héberge. Or, dans la con�guration modi�ée, chaque serveur

peut héberger mi machines virtuelles. Donc, les machines virtuelles VM(i)(j ), i = 0, ...., n-1 ,

j = 0, ...., mi-1 , sont caractérisées par deux indices : l'indice i qui fait référence au serveur

hébergeant cette machine virtuelle et l'indice j qui identi�e la machine virtuelle parmi les mi

machines virtuelles hébergées dans Si.

Figure 4.7 � Comparaison des con�gurations de machines virtuelles dans Green Cloud

Pour implémenter cette con�guration, nous supposons que le Cloud simulé contient n serveurs.

Nous calculons d'abord le nombre mi de machines virtuelles hébergées dans chaque serveur i,

i = 0, ...., n-1 . Ce nombre mi est calculé par une fonction aléatoire a�n de simuler un Cloud

réaliste. Comme illustré à la �gure 4.8 qui représente l'implémentation de cette première étape

dans le simulateur Green Cloud, le nombre de serveurs n est représenté par Nservers, alors

que l'indice i et le nombre mi sont représentés respectivement par k et nbrvm(k). En e�et,

suite à l'utilisation de certains paramètres dans d'autres parties du code dans le simulateur,

nous changeons les paramètres utilisés par de nouveaux paramètres pour éviter des confusions

dans le code. Dans la �gure 4.8, nbrvm(k) est calculé par la fonction aléatoire rand(). Nous

�xons le seuil de cette fonction rand() à 10 pour limiter le temps d'exécution du code.

51

Page 64: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.8 � Modi�cation du nombre de machines virtuelles par serveur dans Green Cloud

Après avoir calculé le nombre mi pour chaque serveur i, nous implémentons les machines

virtuelles VM(i)(j ), i = 0, ...., n-1 , j = 0, ...., mi-1 . A�n de simpli�er cette implémentation

et utiliser un tableau à une dimension, nous utilisons un seul indice l, l = 0, ....,∑n−1

i=0 mi

pour identi�er les machines virtuelles dans une liste vms_() qui contient toutes les machines

virtuelles du centre de données. La �gure 4.9 illustre cette implémentation, en présentant le

passage de deux indices identi�ant les machines virtuelles dans chaque serveur i, i = 0, ...., n-1 ,

à un seul indice l, l = 0, ....,∑n−1

i=0 mi, identi�ant ces machines virtuelles dans la liste vms_().

Considérons la �gure 4.9 pour calculer l'indice l d'une machine virtuelle dans le Cloud. Nous

supposons que cette machine virtuelle est hébergée dans un serveur k, k = 0, ....., n-1 , et sa

position dans ce serveur est j, j = 0, ....., mk-1 . L'indice l pour identi�er VM(k)(j ) dans la

liste vms_() est calculé comme suit :

l = vk + j (4.1)

où j : la position de VM(k)(j ) dans le serveur k,

vk : le nombre de machines virtuelles des serveurs d'indice 0 à k-1. Elle est exprimée comme

suit :

vk =

k−1∑i=0

mi (4.2)

où mi : le nombre de machines virtuelles hébergées dans chaque serveur i.

La �gure 4.10 illustre le calcul de l'indice l et l'implémentation de la liste des machines

virtuelles vms_(). Dans cette �gure, nous utilisons également Nservers pour représenter le

nombre de serveurs n.

52

Page 65: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.9 � Implémentation de la con�guration modi�ée des machines virtuelles dans GreenCloud

Figure 4.10 � Création des machines virtuelles dans Green Cloud

53

Page 66: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

La deuxième modi�cation à e�ectuer au niveau du simulateur Green Cloud est l'implémenta-

tion de la migration. Pour ce faire, nous utilisons la classe `vmmigration.cc' qui implémente la

migration, en y ajoutant les contraintes exigées par notre méthode pour déclencher ce proces-

sus. En e�et, nous modi�ons la fonction startmigration( ) de cette classe qui sert à déclencher

le processus de migration. Pour ce faire, nous calculons au début le pourcentage d'utilisation

du CPU, en appelant la fonction getTotalCap() qui calcule ce pourcentage au niveau de chaque

serveur. Comme illustré à la �gure 4.11, nous comparons le pourcentage d'utilisation du CPU

avec les contraintes posées. De manière plus précise, si ce pourcentage est inférieur à 30% ou

supérieur à 70%, le processus de migration est déclenché. Ainsi, l'énergie consommée par le

serveur source et le serveur de destination est mise à jour par la fonction UpdateEnergyAnd-

Consumption(), comme présenté à la �gure 4.11. Si ces contraintes ne sont pas validées, un

message d'erreur est retourné, en indiquant qu'il n'y a pas de migration.

Figure 4.11 � Modi�cation du processus de migration

4.3 Résultats et analyse

A�n d'évaluer l'e�cacité et les performances de la méthode proposée, nous allons e�ectuer

trois séries de simulations. Dans cette section, nous allons d'abord �xer les paramètres de

simulations. Ensuite, nous allons présenter et analyser les résultats de ces simulations.

4.3.1 Paramètres de con�guration

Pour obtenir les résultats de simulations, il est important de con�gurer les paramètres sui-

vants : la topologie du centre de données, le nombre de serveurs, les paramètres des tâches

reçues, le mode d'énergie. Comme présenté à la sous-section 4.2.2, le �chier de con�guration

d'un Cloud dans Green Cloud est `setup_params.tcl'. Pour la topologie du centre de données,

54

Page 67: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

nous optons pour la topologie par défaut du simulateur Green Cloud qui est la topologie à

trois niveaux illustrée à la �gure 4.3. La �gure 4.12 illustre la topologie implémentée dans le

simulateur Green Cloud qui représente une instance de la topologie à trois niveaux illustrée à

la �gure 4.3. Cette instance comporte 144 serveurs, distribués en trois racks (48 serveurs par

rack), reliés entre eux par un commutateur de coeur, deux commutateurs d'agrégation et trois

commutateurs d'accès. Comme mentionné au plan d'expérience, nos résultats sont présentés

en fonction du taux d'utilisation des ressources qui est �xé indépendamment du nombre de

serveurs de la topologie. De ce fait, le choix de la topologie du centre de données n'in�uence

pas notre recherche, ce qui justi�e le choix de la topologie par défaut du centre de données.

Figure 4.12 � Topologie du centre de données simulé

Nous con�gurons maintenant les paramètres des tâches suivants : le nombre d'instructions

traitées par tâche, la taille d'une tâche, ainsi que le type d'une tâche. Pour ces paramètres, nous

adoptons ceux par défaut dans le simulateur Green Cloud. À cet e�et, le nombre d'instructions

d'une tâche est �xé à 300 000 MIPS et la taille d'une tâche à 100 000 octets. Quant au type

d'une tâche, il est �xé à `HPC'(High Performance Computing). Ce type de tâche est le plus

utilisé, vu que le type `HPC' se caractérise par une vitesse de traitement plus élevée [93].

Après avoir con�guré les paramètres des tâches, nous �xons le mode d'énergie dans le si-

mulateur Green Cloud. Pour activer le mode DVFS dans ce simulateur, nous attribuons au

paramètre Serv(eDVFS_enabled) qui se trouve dans le �chier `setup_params.tcl' la valeur 1.

Cette valeur signi�e que dans notre simulation, les serveurs supportent la technique DVFS.

55

Page 68: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

L'activation de cette technique dans Green Cloud est présentée à l'annexe A.

Après avoir con�guré le Cloud, il est important de �xer le temps nécessaire pour simuler son

fonctionnement. Ce temps de simulation indique le temps réel de fonctionnement du centre

de données. Nous �xons ce temps de simulation à 60 s pour éviter trop d'attente pendant

les simulations. Pour con�gurer ce temps dans Green Cloud, nous attribuons au paramètre

sim(end_time) qui se trouve dans le �chier 'main.tcl' la valeur 60. Pour 60 s de temps de

simulation, nous avons besoin de 90 s de temps d'exécution. Ce dernier représente le temps

nécessaire pour exécuter le code de la simulation et avoir les résultats.

4.3.2 Résultats des simulations

Comme mentionné au plan d'expérience, les résultats seront présentés en fonction du taux

d'utilisation des ressources. Ce taux prend les valeurs suivantes : 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7,

0.8, 0.9 pour exprimer les états de charges possibles d'un Cloud. Cette section porte sur la

présentation de ces résultats obtenus à partir de trois séries de simulations. La première série de

simulations consiste à comparer les trois algorithmes d'ordonnancement pour en choisir le plus

e�cace, en termes de consommation d'énergie. La deuxième série sert à intégrer la technique

DVFS à l'algorithme d'ordonnancement choisi. La dernière série simule notre méthode, en

intégrant ses trois caractéristiques.

Série 1 : Simulations avec les algorithmes d'ordonnancement

Nous commençons par une première série de simulations dans laquelle, pour chaque algorithme

d'ordonnancement (Green Scheduler (GS), Round Robin (RR) et Random (R)), nous varions

le taux d'utilisation des ressources. La première simulation consiste à �xer le taux d'utilisation

des ressources à la valeur 0.1, choisir l'algorithme Green Scheduler comme algorithme d'or-

donnancement, puis noter la consommation d'énergie des serveurs, mesurée par le simulateur.

Ensuite, nous changeons l'algorithme d'ordonnancement pour la même valeur du taux d'utili-

sation des ressources, ce qui conduit à trois simulations pour cette valeur du taux d'utilisation

des ressources. Il en résulte que nous avons besoin de neuf simulations pour chaque algorithme

d'ordonnancement, a�n d'analyser la consommation d'énergie pour les di�érentes valeurs du

taux d'utilisation des ressources. Les paramètres de ces simulations sont mis à l'annexe B. La

�gure 4.13 présente le graphe retourné par le simulateur Green Cloud, concernant la réparti-

tion de la consommation d'énergie pour l'algorithme d'ordonnancement GS, en �xant le taux

d'utilisation des ressources à la valeur 0.9. Cette �gure illustre l'énergie consommée par tous

les composants du Cloud qui est de 1056.89 Wh, ainsi que l'énergie consommée par chaque

niveau de la topologie à trois niveaux illustrée à la �gure 4.12. En e�et, les commutateurs d'ac-

cès consomment 4% de l'énergie totale, les commutateurs d'agrégation en consomment 26%,

alors que le commutateur du Coeur en consomme 12%. Quant aux serveurs, ils consomment

58% de l'énergie totale.

56

Page 69: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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

À partir des valeurs extraites des 27 simulations, nous présentons, à la �gure 4.14, la consom-

mation d'énergie des serveurs en fonction du taux d'utilisation des ressources. Nous remarquons

que cette consommation d'énergie augmente lorsque la charge de travail du centre de données

augmente. Considérons la �gure 4.14. Nous constatons que l'algorithme d'ordonnancement

Green Scheduler o�re la meilleure consommation d'énergie pour les di�érentes charges de tra-

vail du centre de données. Cet algorithme o�re une réduction moyenne de 4% de l'énergie

consommée par rapport à l'algorithme Round Robin et une réduction moyenne de 3.5% de

l'énergie consommée par rapport à l'algorithme Random.

57

Page 70: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.14 � Impact des algorithmes d'ordonnancement sur la consommation de l'énergiedes serveurs

A�n de véri�er le respect des exigences de qualité de service par chaque algorithme d'or-

donnancement, il est nécessaire d'analyser le pourcentage P de tâches traitées pour chaque

algorithme, en fonction du taux d'utilisation des ressources. Il en résulte que nous avons besoin

de neuf simulations pour chaque algorithme d'ordonnancement. Le pourcentage P de tâches

traitées est exprimé par l'équation (3.5) en fonction du nombre Nt de tâches traitées au niveau

des serveurs et du nombre Nr de tâches reçues par le Cloud. Or, le simulateur Green Cloud

considère le nombre de tâches échouées Ne au niveau du Cloud. À cet e�et, Nt est calculé à

partir de Ne par l'équation suivante :

Nt = Nr −Ne (4.3)

où Nr : le nombre de tâches reçues par le Cloud,

Ne : le nombre de tâches échouées au niveau du Cloud.

Les simulations du pourcentage P de tâches traitées consistent à extraire depuis le simulateur

Green Cloud, le nombre de tâches échouées Ne et le nombre Nr de tâches reçues par le Cloud,

pour chaque valeur du taux d'utilisation des ressources. Ensuite, nous utilisons l'équation (4.3)

pour déduire le pourcentage P de tâches traitées. Les valeurs des 27 simulations concernant

le pourcentage P sont mises à l'annexe B. Ce pourcentage P est présenté à la �gure 4.15 en

fonction du taux d'utilisation des ressources. Nous remarquons que le pourcentage P diminue

lorsque le taux d'utilisation des ressources augmente. Cette diminution est liée à la quantité

58

Page 71: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

de plus en plus élevée de tâches qui sont gérées par l'algorithme d'ordonnancement, ce qui

peut causer l'échec de certaines tâches. Nous constatons aussi que le pourcentage P, présenté

par les trois algorithmes, commence à diminuer à partir de la valeur 0.3 du taux d'utilisation

des ressources pour l'algorithme d'ordonnancement Random, et à partir de la valeur 0.4 pour

les autres algorithmes.

Figure 4.15 � Comparaison du pourcentage de tâches traitées entre les algorithmes d'ordon-nancement

Série 2 : Intégration de la technique DVFS à l'algorithme d'ordonnancement

La deuxième série de simulations consiste à combiner la technique DVFS et l'algorithme d'or-

donnancement Green Scheduler (GS) qui a fait preuve d'une e�cacité, en termes de minimi-

sation d'énergie consommée, dans la première série de simulations. De ce fait, nous choisissons

la technique DVFS comme mode d'énergie du simulateur Green Cloud, puis nous varions le

taux d'utilisation des ressources de 0.1 à 0.9 comme précédemment. Dans la �gure 4.16, nous

présentons l'énergie consommée par les serveurs pour la combinaison de la technique DVFS et

de l'algorithme d'ordonnancement GS, ainsi que l'énergie consommée en utilisant l'algorithme

d'ordonnancement GS, pris individuellement. Dans cette �gure, nous constatons que l'intégra-

tion de la technique DVFS et de l'algorithme GS permet une réduction moyenne de 1,5% de

l'énergie consommée par rapport à l'utilisation de l'algorithme GS pour les di�érentes valeurs

du taux d'utilisation des ressources.

59

Page 72: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.16 � Impact de la combinaison de DVFS et de l'algorithme d'ordonnancement GSsur la consommation de l'énergie des serveurs

Série 3 : implémentation de la méthode proposée

Pour implémenter la méthode proposée, nous intégrons la migration à la combinaison de la

technique DVFS et de l'algorithme d'ordonnancement GS. De ce fait, nous appelons la fonction

de migration que nous avons implémenté. Puis, nous varions à nouveau le taux d'utilisation des

ressources de 0.1 à 0.9 comme précédemment. Ensuite, nous extrayons l'énergie consommée

par les serveurs et le nombre de tâches échouées dans le Cloud. La �gure 4.17 présente une

comparaison entre l'énergie consommée en appliquant notre méthode et l'énergie consommée

en utilisant l'algorithme d'ordonnancement Green Scheduler. En considérant cette �gure, nous

constatons que notre méthode permet une réduction moyenne de 5% de l'énergie consommée

par rapport à l'utilisation de l'algorithme GS.

60

Page 73: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.17 � Amélioration de la consommation d'énergie des serveurs par la méthodeproposée

A�n d'évaluer le respect des exigences de qualité de service par la méthode proposée, nous

présentons le pourcentage P de tâches traitées au niveau des serveurs. La �gure 4.18 illustre

ce pourcentage P, en utilisant la méthode proposée, ainsi que le pourcentage P de tâches

traitées par les serveurs en appliquant l'algorithme d'ordonnancement Green Scheduler. Nous

constatons que notre méthode fournit un pourcentage P de tâches traitées plus élevé que celui

o�ert par l'algorithme Green Scheduler. De plus, ce pourcentage P o�ert par notre méthode

est toujours supérieur au seuil qui est de 80% pour toutes les charges de travail.

61

Page 74: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure 4.18 � Comparaison du pourcentage de tâches traitées entre la méthode proposée etl'algorithme d'ordonnancement GS

4.3.3 Analyse des résultats

Cette analyse vise à véri�er ce qu'apporte la méthode proposée au niveau de la consommation

d'énergie des serveurs et de la qualité de service d'un Cloud. Pour ce faire, nous montrons

d'abord les liens entre les résultats obtenus et l'aspect théorique de notre recherche. Ensuite,

nous expliquons comment un fournisseur du Cloud peut adopter notre méthode. Nous avons

déjà vu que la proportion de l'énergie consommée par les serveurs est de 58% de l'énergie totale

consommée dans le Cloud pour un taux d'utilisation des ressources de 0.9. Ainsi, comment

ce pourcentage va évoluer si le taux d'utilisation des ressources change ? Intuitivement, on

s'attend à ce que la proportion d'énergie consommée des serveurs diminue lorsque le taux

d'utilisation des ressources est faible. Pour véri�er cette intuition, nous avons e�ectué une

simulation avec un taux d'utilisation des ressources de 0.1, en choisissant l'algorithme Green

Scheduler comme algorithme d'ordonnancement (voir l'annexe C). À partir de cette simulation,

la proportion de l'énergie consommée devient 29%, ce qui est conforme avec notre intuition.

Nous justi�ons cette diminution de la proportion de l'énergie consommée des serveurs par la

variation du taux d'utilisation des ressources. En e�et, si le taux d'utilisation des ressources

est élevé, le Cloud reçoit une grande quantité de tâches. Par conséquent, chaque serveur utilise

une proportion élevée du CPU et de la mémoire pour traiter et stocker ces tâches. Ces deux

équipements (CPU et mémoire) sont considérés parmi les éléments qui consomment le plus

d'énergie au niveau du serveur.

Considérons la première et la deuxième série de simulations. Nous avons déjà vu que l'algo-

rithme Green Scheduler o�re une réduction de l'énergie consommée par rapport aux autres

62

Page 75: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

algorithmes d'ordonnancement, quelle que soit la charge de travail appliquée sur le Cloud.

Cette réduction peut se justi�er par le principe de cet algorithme qui distribue les tâches de

telle sorte que peu de serveurs sont utilisés et que les serveurs non utilisés sont éteints. De

plus, nous constatons dans la �gure 4.14 que l'énergie consommée par les serveurs n'est pas

nulle, même si la charge de travail prend une valeur proche de 0, ce qui est justi�é par l'éner-

gie consommée lorsque le serveur est en mode de veille. Cette énergie est consommée lorsque

le serveur utilise la puissance Pidle de l'équation (3.3). Quant à l'impact de la combinaison

de l'algorithme Green Scheduler et de la technique DVFS, il est présenté à la �gure 4.16.

Cette �gure illustre une réduction moyenne de 1.5% de l'énergie consommée pour la combi-

naison de la technique DVFS et de l'algorithme Green Scheduler par rapport à l'utilisation de

l'algorithme Green Scheduler. Toutefois, cette amélioration de l'énergie consommée n'est pas

uniforme pour toutes les valeurs du taux d'utilisation des ressources. En e�et, la combinaison

de la technique DVFS et de l'algorithme Green Scheduler n'apporte aucune amélioration de

l'énergie consommée pour des taux d'utilisation des ressources de 0.1 et de 0.9. Ces résultats

sont conformes avec ce que nous avons présenté dans la section 3.4, concernant l'améliora-

tion de l'énergie consommée par l'intégration de deux techniques. En e�et, cette amélioration

dépend du taux d'utilisation des ressources.

Quant à l'e�cacité de la méthode proposée sur la consommation d'énergie, nous déduisons,

à partir de la �gure 4.17, que notre méthode o�re une réduction moyenne de 5% de l'énergie

consommée au niveau des serveurs par rapport à l'utilisation de l'algorithme Green Scheduler.

De plus, notre méthode o�re une réduction de 3% pour un taux d'utilisation des ressources

de 0.1 et une réduction de 3.5% pour un taux de 0.5, alors que pour un taux de 0.9 la

méthode proposée o�re une réduction de 7.5%. À partir de ces résultats, nous déduisons que

la méthode proposée o�re une réduction de l'énergie consommée pour toutes les valeurs du

taux d'utilisation de ressources. Ainsi, l'amélioration de l'énergie consommée o�erte par notre

méthode est plus importante pour les charges de travail les plus élevées.

Quant à la contrainte de qualité de service, elle est toujours respectée par notre méthode.

En e�et, pour garantir un service Cloud avec une bonne qualité de service, le pourcentage

P de tâches traitées par les serveurs doit être supérieur à 80% [61]. En considérant la �gure

4.18, le pourcentage P de tâches traitées par les serveurs est égal à 100% lorsque le taux

d'utilisation des ressources est inférieur à 0.5, ce qui signi�e que toutes les tâches reçues par le

centre de données sont traitées. À partir de la valeur 0.6 du taux d'utilisation des ressources,

le pourcentage P de tâches traitées commence à diminuer jusqu'à la valeur 80% pour un taux

d'utilisation des ressources de 0.9.

Les résultats obtenus sont très encourageants pour les fournisseurs de services Cloud, car ils

disposeront d'une méthode leur permettant de réduire la consommation d'énergie, en respec-

tant le contrat SLA, en termes de qualité de service. Pour intégrer la méthode dans son Cloud,

le fournisseur doit adopter comme algorithme d'ordonnancement l'algorithme Green Scheduler

63

Page 76: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

qui permet d'activer le minimum de serveurs possibles. De plus, le fournisseur doit utiliser des

serveurs composés de processeurs qui permettent l'implémentation de la technique DVFS, en

plus d'implémenter le processus de migration dans son Cloud.

64

Page 77: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Chapitre 5

Conclusion

Après avoir présenté et analysé les résultats de simulations, il nous revient maintenant de

conclure ce mémoire. Dans ce chapitre, nous allons récapituler le travail de recherche e�ectué

dans le cadre de ce mémoire. Il sera question de présenter d'abord une synthèse des résul-

tats obtenus. Par la suite, les limitations de nos travaux seront présentées et �nalement, des

recommandations pouvant faire l'objet de recherches futures seront proposées.

5.1 Synthèse des résultats

Ce mémoire s'intéresse particulièrement à la minimisation de la consommation d'énergie dans

un Cloud, en respectant les exigences de qualité de service. Pour ce faire, nous avons d'abord

présenté le cadre de notre recherche en caractérisant le Cloud Computing. Cette caractéri-

sation consistait en premier lieu, à dé�nir les caractéristiques fonctionnelles du Cloud, suivi

des di�érents modèles et topologies du centre de données. Ensuite, nous avons présenté les

avantages et les inconvénients du Cloud. Pour étudier la minimisation de la consommation

d'énergie dans le Cloud, nous avons présenté les di�érentes techniques de réduction d'énergie

consommée. En�n, nous avons présenté les dé�s de recherche a�n d'explorer les di�érentes

pistes de recherche liées au Cloud.

En raison de la complexité du Cloud, l'évaluation de la consommation d'énergie à travers

un tel système nécessitait de déterminer la consommation énergétique de chaque équipement.

Nous avons déduit que la minimisation de cette consommation d'énergie est un problème

complexe qui nécessite une analyse, a�n d'y apporter une solution. Pour analyser le problème

de la consommation d'énergie, nous avons d'abord présenté le contexte de ce problème, en

décrivant le fonctionnement d'un centre de données. Ensuite, nous avons �xé les deux para-

mètres liés au problème de la consommation d'énergie. Avant de proposer notre méthode, nous

avons présenté les di�érentes techniques de réduction de la consommation d'énergie couram-

ment utilisées. Puis, nous avons proposé une méthode basée sur l'intégration de l'algorithme

d'ordonnancement Green Scheduler, de la technique DVFS et de la migration.

65

Page 78: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Après la présentation de notre méthode, nous avons présenté les étapes de son implémentation

dans le simulateur Green Cloud. À partir de trois séries de simulations, nous avons obtenu

des résultats liés à la consommation énergétique et à la qualité de service. Concernant la

consommation énergétique, notre méthode o�re une réduction moyenne de 5% de l'énergie

consommée au niveau des serveurs par rapport à l'utilisation de l'algorithme Green Scheduler.

Quant à la contrainte de qualité de service, elle est toujours respectée par notre méthode. En

e�et, notre méthode o�re un pourcentage de tâches traitées qui est toujours supérieur à 80%.

Ce mémoire a su donner lieu à plusieurs contributions dans le domaine de la consommation

d'énergie dans un Cloud. Nous avons d'abord modi�é le simulateur Green Cloud pour bien

modéliser un Cloud réel dans lequel chaque serveur héberge plusieurs machines virtuelles. Nous

y avons intégré aussi le processus de migration qui prend en compte les contraintes que nous

avons posées dans notre méthode, en termes de pourcentage d'utilisation du CPU. De plus,

nous avons proposé l'intégration de l'algorithme Green Scheduler, de la technique DVFS et

de la migration, ce qui a fait preuve d'une e�cacité, en termes de consommation d'énergie.

Cette méthode proposée respecte également l'exigence de qualité de service, représentée par

le pourcentage de tâches traitées qui doit être supérieur à 80%.

5.2 Limitations

En dépit des résultats présentés, les travaux réalisés dans le cadre de ce mémoire présentent

certaines limitations. La première limitation réside dans le fait que l'environnement choisi pour

notre recherche est un seul Cloud, alors qu' en réalité, un Cloud n'est pas isolé. Par conséquent,

la méthode proposée et les résultats obtenus sont seulement valides pour un Cloud isolé.

Au niveau des paramètres de qualité de service, seul le pourcentage de tâches traitées au niveau

des serveurs a été considéré. Un tel choix a été e�ectué vu que ce paramètre est lié directement

aux algorithmes d'ordonnancement. Cependant, ces algorithmes sont utilisés également dans

notre méthode pour la minimisation de la consommation d'énergie. À cet e�et, dans le but

d'exploiter les algorithmes d'ordonnancement, tout en respectant la qualité de service, le choix

judicieux est le nombre de tâches traitées au niveau des serveurs.

Une autre limitation associée à la méthode proposée est liée au fait d'avoir négligé d'autres

techniques liées au système de refroidissement et se concentrer sur les serveurs. Cette considé-

ration est en général possible lorsqu'en raison des proportions d'énergie consommée, le pour-

centage le plus important est celui des serveurs qui peut aller à 60% de l'énergie consommée

d'un centre de données.

66

Page 79: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

5.3 Travaux futurs

Nous ne saurions conclure ce mémoire sans faire état des pistes intéressantes pouvant faire

l'objet de recherches futures. À ce stade, plusieurs voies de recherche découlant des limitations

énoncées à la section précédente seront présentées. Une première piste à explorer serait de

considérer des interactions entre plusieurs centres de données et d'étendre les résultats au

niveau d'un InterCloud qui constitue une interconnexion de plusieurs Clouds.

Du côté des paramètres de qualité de service, une voie importante à analyser est l'ajout d'autres

paramètres, comme le temps de traitement des tâches, a�n d'améliorer la performance du

Cloud. En e�et, le respect des contraintes liées aux di�érents paramètres de qualité de service

est un indice important d'e�cacité de la méthode proposée.

Dans le cadre du choix des techniques de minimisation d'énergie consommée, la méthode

proposée considère les techniques liées à la consommation de l'énergie au niveau des serveurs.

Cependant, dans le contexte où un centre de données est situé dans une région où les ressources

naturelles ne facilitent pas la tâche de refroidissement, une grande consommation d'énergie

survient au niveau du Cloud. Une avenue de recherche consisterait à combiner les techniques

de refroidissement aux techniques utilisées par notre méthode.

67

Page 80: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Bibliographie

[1] Eric Mounier Mattin Grao Txaparteg. New technologies and architectures for e�cient

data center. Technical report, YOLE DEVELOPPEMENT, 2015.

[2] Yong Pan and Ning Hu. Research on dependability of cloud computing systems. In 2014

International Conference on Reliability, Maintainability and Safety (ICRMS), pages 435�

439. IEEE, 2014.

[3] Peter Mell, Tim Grance, et al. The nist de�nition of cloud computing. Future Generation

Computer Systems, 2011.

[4] Alessio Botta, Walter De Donato, Valerio Persico, and Antonio Pescapé. Integration of

cloud computing and internet of things : A survey. Future Generation Computer Systems,

56 :684�700, 2016.

[5] Guilherme Da Cunha Rodrigues, Rodrigo N Calheiros, Vinicius Tavares Guimaraes, Gle-

derson Lessa dos Santos, Marcio Barbosa De Carvalho, Lisandro Zambenedetti Granville,

Liane Margarida Rockenbach Tarouco, and Rajkumar Buyya. Monitoring of cloud com-

puting environments : Concepts, solutions, trends, and future directions. In Proceedings

of the 31st Annual ACM Symposium on Applied Computing, pages 378�383. ACM, 2016.

[6] Borivoje Furht and Armando Escalante. Handbook of cloud computing, volume 3. Sprin-

ger, 2010.

[7] Qiao Yan, F Richard Yu, Qingxiang Gong, and Jianqiang Li. Software-de�ned networking

(sdn) and distributed denial of service (ddos) attacks in cloud computing environments : A

survey, some research issues, and challenges. IEEE Communications Surveys & Tutorials,

18(1) :602�622, 2016.

[8] Paul Manuel. A trust model of cloud computing based on quality of service. Annals of

Operations Research, 233(1) :281�292, 2015.

[9] Danilo Ardagna, Giuliano Casale, Michele Ciavotta, Juan F Pérez, and Weikun Wang.

Quality-of-service in cloud computing : Modeling techniques and their applications. Jour-

nal of Internet Services and Applications, 5(1) :11, 2014.

68

Page 81: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[10] Raja Wasim Ahmad, Abdullah Gani, Siti Ha�zah Ab Hamid, Muhammad Shiraz, Abdul-

lah Yousafzai, and Feng Xia. A survey on virtual machine migration and server consolida-

tion frameworks for cloud data centers. Journal of Network and Computer Applications,

52 :11�25, 2015.

[11] Chia-Ming Wu, Ruay-Shiung Chang, and Hsin-Yu Chan. A green energy-e�cient sche-

duling algorithm using the dvfs technique for cloud datacenters. Future Generation Com-

puter Systems, 37 :141�147, 2014.

[12] Jean-Marc Pierson and Helmut Hlavacs. Introduction to energy e�ciency in large-scale

distributed systems. Large-Scale Distributed Systems and Energy E�ciency : A Holistic

View, pages 1�16, 2015.

[13] Iván Tomás Cotes-Ruiz, Rocío P Prado, Sebastián García-Galán, José Enrique Muñoz-

Expósito, and Nicolás Ruiz-Reyes. Dynamic voltage frequency scaling simulator

for real work�ows energy-aware management in green cloud computing. PloS one,

12(1) :e0169803, 2017.

[14] Yacine Kessaci, Nouredine Melab, and El-Ghazali Talbi. Optimisation multi-critère pour

l'allocation de ressources sur clouds distribués avec prise en compte de l'energie. In

Rencontres Scienti�ques France Grilles 2011, 2011.

[15] Anton Beloglazov, Jemal Abawajy, and Rajkumar Buyya. Energy-aware resource allo-

cation heuristics for e�cient management of data centers for cloud computing. Future

generation computer systems, 28(5) :755�768, 2012.

[16] Anton Beloglazov and Rajkumar Buyya. Adaptive threshold-based approach for energy-

e�cient consolidation of virtual machines in cloud data centers. In MGC@ Middleware,

page 4, 2010.

[17] Huangke Chen, Xiaomin Zhu, Hui Guo, Jianghan Zhu, Xiao Qin, and Jianhong Wu.

Towards energy-e�cient scheduling for real-time tasks under uncertain cloud computing

environment. Journal of Systems and Software, 99 :20�35, 2015.

[18] Toni Mastelic, Ariel Oleksiak, Holger Claussen, Ivona Brandic, Jean-Marc Pierson, and

Athanasios V Vasilakos. Cloud computing : Survey on energy e�ciency. Acm computing

surveys (csur), 47(2) :33, 2015.

[19] Ning Zhong, Jianhua Ma, Runhe Huang, Jiming Liu, Yiyu Yao, Yaoxue Zhang, and

Jianhui Chen. Research challenges and perspectives on wisdom web of things (w2t). In

Wisdom Web of Things, pages 3�26. Springer, 2016.

[20] Deepak Puthal, BPS Sahoo, Sambit Mishra, and Satyabrata Swain. Cloud computing

features, issues, and challenges : A big picture. In 2015 International Conference on

Computational Intelligence and Networks (CINE), pages 116�123. IEEE, 2015.

69

Page 82: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[21] Abhinivesh Jain and Niraj Mahajan. Introduction to cloud computing. In The Cloud

DBA-Oracle, pages 3�10. Springer, 2017.

[22] AR Manu, Jitendra Kumar Patel, Shakil Akhtar, VK Agrawal, and KN Bala Subramanya

Murthy. A study, analysis and deep dive on cloud paas security in terms of docker

container security. In 2016 International Conference on Circuit, Power and Computing

Technologies (ICCPCT), pages 1�13. IEEE, 2016.

[23] Mauro Hinz, Charles C Miers, Mauricio A Pillon, and Guilherme P Koslovski. A cost

model for iaas clouds based on virtual machine energy consumption. In Proceedings of

the XII Brazilian Symposium on Information Systems on Brazilian Symposium on Infor-

mation Systems : Information Systems in the Cloud Computing Era-Volume 1, page 19.

Brazilian Computer Society, 2016.

[24] Tariqul Islam, D Manivannan, and Sherali Zeadally. A classi�cation and characterization

of security threats in cloud computing. Int. J. Next-Gener. Comput, 7(1), 2016.

[25] Jin Li, Yan Kit Li, Xiaofeng Chen, Patrick PC Lee, and Wenjing Lou. A hybrid cloud

approach for secure authorized deduplication. IEEE Transactions on Parallel and Dis-

tributed Systems, 26(5) :1206�1216, 2015.

[26] Dejene Boru, Dzmitry Kliazovich, Fabrizio Granelli, Pascal Bouvry, and Albert Y Zomaya.

Energy-e�cient data replication in cloud computing datacenters. Cluster computing,

18(1) :385�402, 2015.

[27] Amin Vahdat, Mohammad Al-Fares, and Alexander Loukissas. Scalable commodity data

center network architecture, July 9 2013. US Patent 8,483,096.

[28] Shahram Jamali, Fatemeh Alizadeh, and Soheila Sadeqi. Task scheduling in cloud com-

puting using particle swarm optimization. The Book of Extended Abstracts, 192, 2016.

[29] Mohammad Al-Fares, Sivasankar Radhakrishnan, Barath Raghavan, Nelson Huang, and

Amin Vahdat. Hedera : Dynamic �ow scheduling for data center networks. In NSDI,

volume 10, pages 19�19, 2010.

[30] Abhijit Biswas, Md Anwar Hussain, and Alakesh Kalita. An improved congestion free

modi�ed fat tree network�on�chip topology. In 2016 International Conference onv

Signal Processing, Communication, Power and Embedded System (SCOPES), pages 759�

763. IEEE, 2016.

[31] Chuanxiong Guo, Guohan Lu, Dan Li, Haitao Wu, Xuan Zhang, Yunfeng Shi, Chen Tian,

Yongguang Zhang, and Songwu Lu. Bcube : a high performance, server-centric network

architecture for modular data centers. ACM SIGCOMM Computer Communication Re-

view, 39(4) :63�74, 2009.

70

Page 83: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[32] Dimitar Grozev, Grisha Spasov, Mitko Shopov, Nikolay Kakanakov, and Galidiya Petrova.

Experimental study of cloud computing based scada in electrical power systems. In

Scienti�c Conference Electronics (ET), International, pages 1�4. IEEE, 2016.

[33] Pierangela Samarati, S De Capitani di Vimercati, S Murugesan, and I Bojanova. Cloud

security : Issues and concerns. Encyclopedia on Cloud Computing, pages 1�14, 2016.

[34] Ishfaq Ahmad and Sanjay Ranka. Handbook of Energy-Aware and Green Computing-Two

Volume Set. CRC Press, 2016.

[35] Ranjan Kumar, G Sahoo, Vikram Yadav, and Pooja Malik. Minimizing the energy

consumption of cloud computing data centers using queueing theory. In Advances in

Computational Intelligence : Proceedings of International Conference on Computational

Intelligence 2015, pages 201�210. Springer, 2017.

[36] Joe Peppard and John Ward. The Strategic Management of Information Systems : Buil-

ding a Digital Strategy. John Wiley & Sons, 2016.

[37] Abdul Hameed, Alireza Khoshkbarforoushha, Rajiv Ranjan, Prem Prakash Jayaraman,

Joanna Kolodziej, Pavan Balaji, Sherali Zeadally, Qutaibah Marwan Malluhi, Nikos Tziri-

tas, Abhinav Vishnu, et al. A survey and taxonomy on energy e�cient resource allocation

techniques for cloud computing systems. Computing, 98(7) :751�774, 2016.

[38] Tarandeep Kaur and Inderveer Chana. Energy e�ciency techniques in cloud computing :

A survey and taxonomy. ACM Computing Surveys (CSUR), 48(2) :22, 2015.

[39] Fábio D Rossi, Miguel G Xavier, César AF De Rose, Rodrigo N Calheiros, and Rajku-

mar Buyya. E-eco : Performance-aware energy-e�cient cloud data center orchestration.

Journal of Network and Computer Applications, 78 :83�96, 2017.

[40] Joel JPC Rodrigues, Liang Zhou, Lucas DP Mendes, Kai Lin, and Jaime Lloret. Distri-

buted media-aware �ow scheduling in cloud computing environment. Computer Commu-

nications, 35(15) :1819�1827, 2012.

[41] Lalithabhinaya Mallu and R Ezhilarasie. Live migration of virtual machines in cloud

environment : A survey. Indian Journal of Science and Technology, 8(S9) :326�332, 2015.

[42] FeiFei Chen, Jean-Guy Schneider, Yun Yang, John Grundy, and Qiang He. An energy

consumption model and analysis tool for cloud computing environments. In Proceedings

of the First International Workshop on Green and Sustainable Software, pages 45�50.

IEEE Press, 2012.

[43] Dad Djouhra. Optimisation des Performances des Data Centers des Clouds sous

Contrainte d'Optimisation d'Energie. PhD thesis, Université d'Oran, 2016.

71

Page 84: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[44] Jouhra Dad and Ghalem Belalem. Energy optimisation in cloud computing. International

Journal of Information Technology, Communications and Convergence, 3(1) :1�12, 2014.

[45] Chun-Wei Tsai and Joel JPC Rodrigues. Metaheuristic scheduling for cloud : A survey.

IEEE Systems Journal, 8(1) :279�291, 2014.

[46] Juee U Daryapurkar and Karuna G Bagde. Cloud computing : Issues and challenges. no.

April, pages 770�773, 2014.

[47] Rafael Moreno-Vozmediano, Rubén S Montero, and Ignacio M Llorente. Key challenges

in cloud computing : Enabling the future internet of services. IEEE Internet Computing,

17(4) :18�25, 2013.

[48] Franck Leon. La construction des Business Models des fournisseurs de services d'infra-

structure Cloud Computing (IaaS). PhD thesis, Université Nice Sophia Antipolis, 2015.

[49] Huigui Rong, Haomin Zhang, Sheng Xiao, Canbing Li, and Chunhua Hu. Optimizing

energy consumption for data centers. Renewable and Sustainable Energy Reviews, 58 :674�

691, 2016.

[50] Théodore Jean Richard Relaza. Sécurité et Disponibilité des Données Stockées dans les

Nuages. PhD thesis, Université Paul Sabatier-Toulouse III, 2016.

[51] Anton Beloglazov, Rajkumar Buyya, Young Choon Lee, and Albert Zomaya. A taxonomy

and survey of energy-e�cient data centers and cloud computing systems. In Advances in

computers, volume 82, pages 47�111. Elsevier, 2011.

[52] Hamza Salih Erden, Mehmet Turgay Yildirim, Mustafa Koz, and H Ezzat Khalifa. Energy

assessment of crah bypass for enclosed aisle data centers. In Intersociety Conference on

Thermal and Thermomechanical Phenomena in Electronic Systems (ITherm), pages 433�

439. IEEE, 2016.

[53] Violaine Villebonnet, Georges Da Costa, Laurent Lefevre, Jean-Marc Pierson, and Pa-

tricia Stolf. Dynamically building energy proportional data centers with heterogeneous

computing resources. In International Conference on Cluster Computing (CLUSTER),

pages 217�220. IEEE, 2016.

[54] Ricardo Lent. Analysis of an energy proportional data center. Ad Hoc Networks, 25 :554�

564, 2015.

[55] Arun Vishwanath, Jiazhen Zhu, Kerry Hinton, Robert Ayre, and Rod Tucker. Estimating

the energy consumption for packet processing, storage and switching in optical-ip routers.

In Optical Fiber Communication Conference, pages OM3A�6. Optical Society of America,

2013.

72

Page 85: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[56] Rathijit Sen and David A Wood. Energy-proportional computing : A new de�nition.

Computer, 50 :26�33, 2017.

[57] Xing Luo, Jihong Wang, Mark Dooner, and Jonathan Clarke. Overview of current deve-

lopment in electrical energy storage technologies and the application potential in power

system operation. Applied Energy, 137 :511�536, 2015.

[58] Jayant Baliga, Robert WA Ayre, Kerry Hinton, and Rodney S Tucker. Green cloud

computing : Balancing energy in processing, storage, and transport. Proceedings of the

IEEE, 99(1) :149�167, 2011.

[59] Arun Vishwanath, Fatemeh Jalali, Robert Ayre, Tansu Alpcan, Kerry Hinton, and Rod-

ney S Tucker. Energy consumption of interactive cloud-based document processing appli-

cations. In International Conference on Communications (ICC), pages 4212�4216. IEEE,

2013.

[60] Valérie Danielle Justafort. Optimisation de l'Empreinte Carbone dans un Environnement

Intercloud : Modèles et Méthodes. PhD thesis, École Polytechnique de Montréal, 2015.

[61] Rodrigo da Rosa Righi, Vinicius Facco Rodrigues, Cristiano André da Costa, Guilherme

Galante, Luis Carlos Erpen De Bona, and Tiago Ferreto. Autoelastic : Automatic resource

elasticity for high performance applications in the cloud. IEEE Transactions on Cloud

Computing, 4(1) :6�19, 2016.

[62] Shaoxiong Hua and Gang Qu. Approaching the maximum energy saving on embedded

systems with multiple voltages. In Proceedings of the 2003 IEEE/ACM international

conference on Computer-aided design, page 26. IEEE Computer Society, 2003.

[63] Linwei Niu and Wei Li. Energy-e�cient �xed-priority scheduling for real-time systems

based on threshold work-demand analysis. In Proceedings of the seventh IEEE/ACM/IFIP

international conference on Hardware/software codesign and system synthesis, pages 159�

168. ACM, 2011.

[64] Jyothi Sekhar and Getzi Jeba. Energy e�cient vm live migration in cloud data centers

1. 2013.

[65] Gaurav Dhiman and Tajana Simunic Rosing. Dynamic voltage frequency scaling for mlti-

tasking systems using online learning. In Low Power Electronics and Design (ISLPED),

2007 ACM/IEEE International Symposium on, pages 207�212. IEEE, 2007.

[66] Andreas Weissel and Frank Bellosa. Process cruise control : Event-driven clock scaling

for dynamic power management. In Proceedings of the 2002 international conference on

Compilers, architecture, and synthesis for embedded systems, pages 238�246. ACM, 2002.

73

Page 86: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[67] Josep Ll Berral, Íñigo Goiri, Ramón Nou, Ferran Julià, Jordi Guitart, Ricard Gavaldà, and

Jordi Torres. Towards energy-aware scheduling in data centers using machine learning.

In Proceedings of the 1st International Conference on energy-E�cient Computing and

Networking, pages 215�224. ACM, 2010.

[68] Saleh Atiewi, Salman Yussof, and Mohd Ezanee. A comparative analysis of task schedu-

ling algorithms of virtual machines in cloud environment. Journal of Computer Science,

11(6) :804, 2015.

[69] Truong Vinh Truong Duy, Yukinori Sato, and Yasushi Inoguchi. Performance evaluation

of a green scheduling algorithm for energy savings in cloud computing. In Parallel &

Distributed Processing, Workshops and Phd Forum (IPDPSW), 2010 IEEE International

Symposium on, pages 1�8. IEEE, 2010.

[70] D Chitra Devi and V Rhymend Uthariaraj. Load balancing in cloud computing envi-

ronment using improved weighted round robin algorithm for nonpreemptive dependent

tasks. The Scienti�c World Journal, 2016, 2016.

[71] M Thangadurai and K Baskar. Secure outsourced data stream under multiple keys using

random algorithm in cloud computing. International Journal of Science, Engineering and

Computer Technology, 6(9) :331, 2016.

[72] Zhuo Tang, Ling Qi, Zhenzhen Cheng, Kenli Li, Samee Ullah Khan, and Keqin Li. An

energy-e�cient task scheduling algorithm in dvfs-enabled cloud environment. J. Grid

Comput., 14(1) :55�74, 2016.

[73] Sambit Kumar Mishra, Priti Paramita Parida, Sampa Sahoo, Bibhudatta Sahoo, and

Sanjay Kumar Jena. Improving energy usage in cloud computing using dvfs. In Progress

in Advanced Computing and Intelligent Engineering, pages 623�632. Springer, 2018.

[74] Fahimeh Farahnakian, Pasi Liljeberg, and Juha Plosila. Energy-e�cient virtual machines

consolidation in cloud data centers using reinforcement learning. In 2014 22nd Euromicro

International Conference on Parallel, Distributed and Network-Based Processing (PDP),

pages 500�507. IEEE, 2014.

[75] Chaima Ghribi, Makhlouf Hadji, and Djamal Zeghlache. Energy e�cient vm scheduling

for cloud data centers : Exact allocation and migration algorithms. In Cluster, Cloud and

Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, pages

671�678. IEEE, 2013.

[76] Young Choon Lee and Albert Y Zomaya. Minimizing energy cconsumption for precedence-

constrained applications using dynamic voltage scaling. In Cluster Computing and the

Grid, 2009. CCGRID'09. 9th IEEE/ACM International Symposium on, pages 92�99.

IEEE, 2009.

74

Page 87: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[77] Haluk Topcuoglu, Salim Hariri, and Min-you Wu. Performance-e�ective and low-

complexity task scheduling for heterogeneous computing. IEEE transactions on parallel

and distributed systems, 13(3) :260�274, 2002.

[78] Anton Beloglazov and Rajkumar Buyya. Optimal online deterministic algorithms and

adaptive heuristics for energy and performance e�cient dynamic consolidation of virtual

machines in cloud data centers. Concurrency and Computation : Practice and Experience,

24(13) :1397�1420, 2012.

[79] Liang-Teh Lee, Kang-Yuan Liu, Hui-Yang Huang, and Chia-Ying Tseng. A dynamic

resource management with energy saving mechanism for supporting cloud computing.

International Journal of Grid and Distributed Computing, 6(1) :67�76, 2013.

[80] Vrunda J Patel and PHA Bheda. Reducing energy consumption with dvfs for real-time

services in cloud computing. IOSR J (IOSR J Comput Eng), 16(3) :53�57, 2014.

[81] Nidhi Jain Kansal and Inderveer Chana. Energy-aware virtual machine migration for

cloud computing-a �re�y optimization approach. Journal of Grid Computing, 14(2) :327�

345, 2016.

[82] Utkal Sinha and Mayank Shekhar. Comparison of various cloud simulation tools avai-

lable in cloud computing. International Journal of Advanced Research in Computer and

Communication Engineering, 4(3), 2015.

[83] Mehdi Ahmed-Nacer, Kunal Suri, Mohamed Sellami, and Walid Gaaloul. Simulation

of con�gurable resource allocation for cloud-based business processes. In 2017 IEEE

International Conference on Services Computing (SCC), pages 305�313. IEEE, 2017.

[84] Kiran Gupta, Rydhm Beri, Veerawali Behal, Kiran Gupta, Rydhm Beri, and Veerawali

Behal. Cloud computing : A survey on cloud simulation tools. International Journal for

Innovative Research in Science & Technology (IJIRST), 2(11), 2016.

[85] Anurag Jain and Rajneesh Kumar. A comparative analysis of task scheduling approaches

for cloud environment. In 2016 3rd International Conference on Computing for Sustai-

nable Global Development (INDIACom), pages 1787�1792. IEEE, 2016.

[86] Sareh Fotuhi Piraghaj, Amir Vahid Dastjerdi, Rodrigo N Calheiros, and Rajkumar Buyya.

Containercloudsim : An environment for modeling and simulation of containers in cloud

data centers. Software : Practice and Experience, 47(4) :505�521, 2017.

[87] Saleh Atiewi, Salman Yussof, Mohd Ezanee, and Muder Almiani. A review energy-e�cient

task scheduling algorithms in cloud computing. In Long Island Systems, Applications and

Technology Conference (LISAT), 2016 IEEE, pages 1�6. IEEE, 2016.

75

Page 88: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

[88] Neha Aggarwal, Teglovy Singh Chohan, Karamveer Singh, Rajan Vohra, and Shalini Ba-

hel. Relative analysis of aodv & dsdv routing protocols for manet based on ns2. In Inter-

national Conference on Electrical, Electronics, and Optimization Techniques (ICEEOT),

pages 3500�3503. IEEE, 2016.

[89] James C Phillips, John E Stone, Kirby L Vandivort, Timothy G Armstrong, Justin M

Wozniak, Michael Wilde, and Klaus Schulten. Petascale tcl with namd, vmd, and swift/t.

In Proceedings of the 1st First Workshop for High Performance Technical Computing in

Dynamic Languages, pages 6�17. IEEE Press, 2014.

[90] Anup Singh Kushwaha, Bashir Alam, and Gaganjot Kaur. Observation of energy e�ciency

in green cloud simulator. In Cloud System and Big Data Engineering (Con�uence), 2016

6th International Conference, pages 135�140. IEEE, 2016.

[91] Nikola VasiljeviÊ, Guillaume Lea, Per Hansen, and Henrik M Jensen. Mobile network

architecture. 2016.

[92] Natnael Argaw. Distributed Score Based Job Scheduling Algorithm for Cloud Computing

Environment. PhD thesis, ADDIS ABABA UNIVERSITY, 2016.

[93] Aeshah Alsughayyir and Thomas Erlebach. Energy aware scheduling of hpc tasks in de-

centralised cloud systems. In 2016 24th Euromicro International Conference on Parallel,

Distributed, and Network-Based Processing (PDP), pages 617�621. IEEE, 2016.

76

Page 89: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Annexe A

Modi�cation de Green Cloud

Cette annexe illustre les modi�cations apportées au simulateur pour implémenter la méthode

proposée. En e�et, la �gure B.1 et la �gure B.2 illustrent le processus d'appel de la migration

et de la technique DVFS respectivement.

Figure A.1 � Appel de la migration

77

Page 90: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Figure A.2 � Appel de la technique DVFS

78

Page 91: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Annexe B

Données de la simulation 1

Dans cette annexe, nous présentons les valeurs des paramètres que nous avons variés pour ef-

fectuer les simulations de la première expérience. En e�et, le tableau A.1 montre les valeurs des

paramètres nécessaires pour les 27 simulations e�ectuées pour analyser l'énergie consommée

en fonction du taux d'utilisation des ressources (taux). Par exemple, pour un taux d'utilisation

des ressources de 0.1 et en utilisant Green Scheduler comme algorithme d'ordonnancement,

nous obtenons à partir du simulateur une consommation d'énergie de 228.9 Wh. Concernant

l'analyse du pourcentage de taches traitées pour cette première expérience, nous présentons

au tableau A.2 les valeurs des paramètres concernant cette analyse à savoir le taux d'utilisa-

tion des ressources, l'algorithme d'ordonnancement le nombre de tâches reçues Nr ainsi que

le nombre de tâches échouées Ne. Tous ces paramètres sont extraits du simulateur. Puis, nous

calculons le pourcentage de taches traitées P à partir de l'équation 3.5.

79

Page 92: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Taux Algorithme d'ordonnace-ment

Energie consommée en Wh

0.1GC 228.9RR 322.9R 319

0.2GC 292.5RR 447R 428

0.3GC 367RR 508.1R 491

0.4GC 420RR 541R 534

0.5GC 485RR 574R 567

0.6GC 537RR 604R 592

0.7GC 565RR 619R 592

0.8GC 590RR 634R 624

0.2GC 613RR 642R 634

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

80

Page 93: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Taux Nt Algorithme d'ordon-nancement

Ne Tâches traitées en %

0.1 5467GC 0 100RR 0 100R 0 100

0.2 9135GC 0 100RR 0 100R 0 100

0.3 13702GC 0 100RR 0 100R 5 99.96350898

0.4 18270GC 0 100RR 0 100R 100 99.45265463

0.5 22838GC 0 100RR 0 100R 674 97.04877835

0.6 27405GC 799 97.08447364RR 357 98.69731801R 2011 92.66192301

0.7 31973GC 3338 89.5599412RR 2845 91.1018672R 4041 87.36121102

0.8 36541GC 6110 83.2790564RR 5641 84.56254618R 6710 81.63706521

0.9 41108GC 9035 78.02130972RR 8716 78.79731439R 9798 76.16522331

Table B.2 � Pourcentages de tâches traitées

81

Page 94: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

Annexe C

Graphe retourné par le simulateur

Green Cloud

Cette annexe présente le graphe retourné par le simulateur Green Cloud, concernant la ré-

partition de la consommation d'énergie pour l'algorithme d'ordonnancement Green Scheduler,

en �xant le taux d'utilisation des ressources à la valeur 0.1. La �gure C.1 illustre l'énergie

consommée par tous les composants du Cloud qui est de 228.4Wh, ainsi que l'énergie consom-

mée par chaque niveau de la topologie à trois niveaux illustrée à la �gure 4.12. En e�et, les

commutateurs d'accès consomment 4% de l'énergie totale, les commutateurs d'agrégation en

consomment 45%, alors que le commutateur du Coeur en consomme 23%. Quant aux serveurs,

ils consomment 29% de l'énergie totale.

82

Page 95: Optimisation de la consommation d'énergie dans un … › jspui › bitstream › 20.500.11794 › ... · 2018-11-21 · 4.6 Implémentation de la technique DVFS au niveau des processeurs

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

83