departement d'informatique these · 2017. 2. 9. · a mes amies et mes coll egues a tous ceux...

DEPARTEMENT D'INFORMATIQUE THESE Présentée par DJEBBAR Esma Insaf Pour obtenir LE DIPLOME DE DOCTORAT EN SCIENCES Filière: Informatique Spécialité: Systèmes Informatiques Répartis Soutenue le : 05 / 12 / 2016 Devant les membres du jury : Directeur de thèse : BELALEM Ghalem Professeur, Université d’Oran 1, Ahmed Ben Bella Président : HAFFAF Hafid Professeur, Université d’Oran 1, Ahmed Ben Bella Examinateurs : AMINE Abdelmalek Professeur, Université Tahar Moulay de Saida EL BERRICHI Zakaria Professeur, Université Djillali Liabes, Sidi Bel-Abbes FARAOUN Mohamed Kamel Professeur, Université Djillali Liabes, Sidi Bel-Abbes GUEZOURI Mustapha Professeur, Université d'Oran1, Ahmed Ben Bella OPTIMISATION DORDONNANCEMENT ET DALLOCATION DE RESSOURCES DANS LES CLOUD COMPUTING

Upload: others

Post on 25-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

DEPARTEMENT D'INFORMATIQUE

THESE

Présentée par

DJEBBAR Esma Insa f

Pour obtenir

LE DIPLOME DE DOCTORAT EN SCIENCES

Filière: Informatique

Spécialité: Systèmes Informatiques Répartis

Soutenue le : 05 / 12 / 2016

Devant les membres du jury :

Directeur de thèse : BELALEM Ghalem Professeur, Université d’Oran 1, Ahmed Ben Bella

Président : HAFFAF Hafid Professeur, Université d’Oran 1, Ahmed Ben Bella

Examinateurs : AMINE Abdelmalek Professeur, Université Tahar Moulay de Saida

EL BERRICHI Zakaria Professeur, Université Djillali Liabes, Sidi Bel-Abbes

FARAOUN Mohamed Kamel Professeur, Université Djillali Liabes, Sidi Bel-Abbes

GUEZOURI Mustapha Professeur, Université d'Oran1, Ahmed Ben Bella

OOPPTTIIMMIISSAATTIIOONN DD’’OORRDDOONNNNAANNCCEEMMEENNTT EETT DD’’AALLLLOOCCAATTIIOONN

DDEE RREESSSSOOUURRCCEESS DDAANNSS LLEESS CCLLOOUUDD CCOOMMPPUUTTIINNGG

Page 2: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

i

Les savants des temps passes et des nations revolues n’ont cesse de composer des

livres. Ils l’ont fait pour leguer leur savoir a ceux qui les suivent.

Ainsi demeurera vive la quete de la verite.

Al-Khwarizmi

Page 3: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

ii

Dedicaces

A ma famille et mes parents

A mon frere, mes sœurs et ma niece Anfel

A mes amies et mes collegues

A tous ceux qui m’ont encourage et aide

Page 4: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

iii

Remerciements

Je remercie Allah de m’avoir donner le courage et la volonte ainsi que la conscience

et la patience d’avoir pu terminer ma these de Doctorat.

Je tiens a exprimer mes vifs remerciements a mon encadreur Mr Pr. Belalem

Ghalem pour m’avoir donner l’opportunite de realiser ce sujet sous sa direction, la

confiance faite ainsi que ses conseils fructueux, et son temps consacre tout au long

du travail.

Je tiens a remercier Mr Pr. Haffaf Hafid d’avoir accepte d’etre notre president de

jury ainsi qu’aux membres Mr Pr. El Berrichi Zakaria, Mr Pr. Amine AbdelMalek,

Mr Pr. Faraoun Mohamed Kamel et Mr Pr. Guezouri Mustapha qui nous honorent

de leurs presences en tant qu’examinateurs.

Ces remerciements seraient incomplets, si je n’en adressais pas a l’ensemble des

membres du laboratoire d’informatique de l’universite d’Oran1 LIO.

Enfin, un merci particulier a tous ce qui m’ont soutenu de pres ou de loin par

leurs soutiens et encouragements.

Page 5: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Resume

Le Cloud computing est une technologie de calcul et de stockage naissante qui se

consolide rapidement comme une grande etape dans le developpement et le deploie-

ment d’un nombre croissant des applications reparties. L’ordonnancement de taches

et d’allocation de ressources dans les systemes de type Cloud computing suscite une

attention croissante avec l’augmentation de la popularite de Cloud. Dans les travaux

de cette these, nous proposons trois strategies d’ordonnancement et d’allocation de

ressources, la premiere strategie d’ordonnancement est basee sur la replication des

donnees pour les workflows scientifiques, la seconde strategie d’ordonnancement se

focalise sur le groupement de taches et la derniere strategie d’ordonnancement de

taches et d’allocation de ressources est destinee aux Big data. Nos propositions

permettent de reduire le temps de reponse moyen des taches, de diminuer le depla-

cement des donnees pour les applications scientifiques, et de reduire le cout global

d’utilisation de ressources.

Mots cles : Cloud computing, ordonnancement des taches, allocation des res-

sources, workflows, groupement de taches, Big data.

Abstract

Cloud computing is an emerging computing and storage technology that is ra-

pidly consolidating as a great step in the development and deployment of an increa-

sing number of distributed applications. The task scheduling and resource allocation

in Cloud computing systems are receiving increasing attention with the rise in the

popularity of Cloud. In this work, we propose three strategies of scheduling and

resource allocation, the first scheduling strategy based on the replication of data

for scientific workflows, the second scheduling strategy is based on the grouping of

tasks and the latest strategy of task scheduling and resource allocation is intended

for the big data. Our strategies reduce the average response time of tasks, minimize

data movement for scientific applications, and reduce the overall cost of resource

usage.

Keywords : Cloud computing, tasks scheduling, ressource allocation, work-

flows, tasks grouping, Big data.

Page 6: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

TABLE DES MATIERES

1 Introduction 4

1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Problematique et motivation . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Organisation de la these . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Cloud computing 9

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Les concepts du Cloud computing . . . . . . . . . . . . . . . . . . . . 10

2.2.1 La virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.2 La grille informatique . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 L’informatique utilitaire (Utility computing) . . . . . . . . . 14

2.3 Les technologies connexes liees au Cloud computing . . . . . . . . . 14

2.4 Les principales caracteristiques des Clouds . . . . . . . . . . . . . . . 14

2.5 Modeles de deploiement . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.6 Modeles de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6.1 SaaS (Software as a Service) . . . . . . . . . . . . . . . . . . 18

2.6.2 IaaS (Infrasture as a Service) . . . . . . . . . . . . . . . . . . 19

2.6.3 PaaS (Platform as a Service) . . . . . . . . . . . . . . . . . . 19

2.7 Aborder un projet de migration vers le Cloud . . . . . . . . . . . . . 20

2.8 Avantages du Cloud computing . . . . . . . . . . . . . . . . . . . . . 21

2.8.1 Avantages au niveau de la strategie . . . . . . . . . . . . . . . 21

2.8.2 Avantages au niveau des fonctions et des processus metier . . 22

2.8.3 Avantages operationnels . . . . . . . . . . . . . . . . . . . . . 23

2.9 Securite dans les Cloud computing . . . . . . . . . . . . . . . . . . . 24

2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3 Probleme d’ordonnancement et d’allocation de ressources 27

Page 7: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

TABLE DES MATIERES vi

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2 Ordonnancement : Concepts et definitions . . . . . . . . . . . . . . . 28

3.3 Les problemes d’ordonnancement en ligne et hors ligne . . . . . . . . 30

3.4 Les criteres d’optimisation . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 L’ordonnancement et la virtualisation dans le Cloud computing . . . 33

3.6 Les principaux algorithmes d’ordonnancement . . . . . . . . . . . . . 35

3.7 Les algorithmes d’ordonnancement pour les applications scientifiques 38

3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Strategies d’ordonnancement et d’allocation de ressources pour les

Clouds scientifiques 44

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2 Strategie d’ordonnancement basee sur la replication de donnees . . . 45

4.2.1 Etape de construction . . . . . . . . . . . . . . . . . . . . . . 47

4.2.2 Etape d’execution . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.3 Service de gestion de replication dynamique . . . . . . . . . . 60

4.3 Strategie d’ordonnancement basee sur le groupement de taches . . . 63

4.3.1 Etape de construction . . . . . . . . . . . . . . . . . . . . . . 64

4.3.2 Etape d’ordonnancement . . . . . . . . . . . . . . . . . . . . 66

4.4 Strategies d’ordonnancement et d’allocation de ressources pour les

Big Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.4.1 La premiere variante OADTV . . . . . . . . . . . . . . . . . . 67

4.4.2 La deuxieme variante OAAMV . . . . . . . . . . . . . . . . . 69

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

5 Experimentation et evaluation 75

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2 Langage et environnements de travail . . . . . . . . . . . . . . . . . . 76

5.2.1 Langage de programmation Java . . . . . . . . . . . . . . . . 76

5.2.2 Environnements de developpement . . . . . . . . . . . . . . . 76

5.3 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . . . . . 79

Page 8: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

TABLE DES MATIERES vii

5.3.1 Resultats experimentaux 1 : Strategie d’ordonnancement ba-

see sur la replication de donnees . . . . . . . . . . . . . . . . 79

5.3.2 Resultats experimentaux 2 : Strategie d’ordonnancement ba-

see sur le groupement de taches . . . . . . . . . . . . . . . . . 88

5.3.3 Resultats experimentaux 3 : Strategies d’ordonnancement et

d’allocation de ressources pour les Big Data . . . . . . . . . . 92

5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6 Conclusion generale 99

Bibliographie 102

A Simulateurs de Cloud computing 111

A.1 Simulateur CloudSim [12] . . . . . . . . . . . . . . . . . . . . . . . . 111

A.2 EMUSIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

A.3 Simulateur GreenCloud . . . . . . . . . . . . . . . . . . . . . . . . . 113

A.4 Simulateur GroudSim . . . . . . . . . . . . . . . . . . . . . . . . . . 114

A.5 iCanCloud [60] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

B Simulateur CloudSim : Developpement et experimentation 116

B.1 Architecture detaillee de CloudSim . . . . . . . . . . . . . . . . . . . 116

B.2 Modelisation du Cloud . . . . . . . . . . . . . . . . . . . . . . . . . . 117

B.3 Politiques d’ordonnancement . . . . . . . . . . . . . . . . . . . . . . 119

B.3.1 Etape pour definir la politique SPACE SHARED . . . . . . . 119

B.3.2 Etape pour definir la politique TIME SHARED . . . . . . . . 120

Page 9: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Table des figures

2.1 L’environnement de Cloud computing [66] . . . . . . . . . . . . . . . 11

2.2 La virtualisation dans les environnements de Cloud [31] . . . . . . . 13

2.3 L’evolution vers le Cloud computing dans l’hebergement d’applica-

tions logicielles [75] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4 Les modeles de deploiement dans le Cloud computing . . . . . . . . 17

2.5 Les modeles de services dans le Cloud computing [32] . . . . . . . . 17

3.1 Le resultat d’execution des taches selon Min-min . . . . . . . . . . . 36

3.2 Le resultat d’execution des taches selon Max-min . . . . . . . . . . . 37

3.3 L’execution de plusieurs workflows sur plusieurs Clouds [22] . . . . . 39

4.1 Vue globale de la strategie utilisee . . . . . . . . . . . . . . . . . . . 46

4.2 Diagramme d’activite de la phase de mise en place et clusterisation

de la matrice de dependance . . . . . . . . . . . . . . . . . . . . . . . 49

4.3 Diagramme d’activite pour le partitionnement de la matrice de de-

pendance clusterisee . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.4 Diagramme d’activite de la phase de partitionnement et distribution

des datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.5 Diagramme d’activite de la phase d’ordonnancement et execution des

taches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.6 Diagramme d’activite pour la gestion des datasets generes avec l’al-

gorithme des K-means . . . . . . . . . . . . . . . . . . . . . . . . . . 59

4.7 Diagramme d’activite pour la phase de la replication dynamique . . 63

4.8 Exemple de construction de la matrice de dependance TM . . . . . 64

4.9 Exemple d’application de l’algorithme BEA sur la matrice de depen-

dance TM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.10 Exemple de decoupage de la matrice de dependance clusterisee . . . 65

4.11 Exemple d’affectation et d’ordonnancement des taches dans l’en-

semble des Datacenters . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Page 10: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Table des figures ix

4.12 Affectation et ordonnancement des taches . . . . . . . . . . . . . . . 66

4.13 La premiere variante OADTV d’ordonnancement et d’allocation de

ressources dans les Cloud computing . . . . . . . . . . . . . . . . . . 68

4.14 La deuxieme variante OAAMV d’ordonnancement et d’allocation de

ressources dans les Cloud computing . . . . . . . . . . . . . . . . . . 70

4.15 Le resultat d’execution des taches . . . . . . . . . . . . . . . . . . . . 73

5.1 Les principales classes de CloudSim [56] . . . . . . . . . . . . . . . . 79

5.2 Creation d’un nouveau workflow . . . . . . . . . . . . . . . . . . . . 80

5.3 Deploiement de la matrice de dependance . . . . . . . . . . . . . . . 81

5.4 Clusterisation de la matrice de dependance . . . . . . . . . . . . . . 81

5.5 Partitionnement et distribution des donnees . . . . . . . . . . . . . . 82

5.6 Gestion des donnees generees . . . . . . . . . . . . . . . . . . . . . . 82

5.7 Le temps de reponse moyen . . . . . . . . . . . . . . . . . . . . . . . 84

5.8 Le gain obtenu pour le temps de reponse . . . . . . . . . . . . . . . . 84

5.9 Le nombre de deplacement des donnees . . . . . . . . . . . . . . . . 85

5.10 Le gain obtenu pour le deplacement des donnees . . . . . . . . . . . 86

5.11 Le cout de la replication . . . . . . . . . . . . . . . . . . . . . . . . . 86

5.12 Le gain obtenu pour le cout de la replication . . . . . . . . . . . . . 87

5.13 Le cout global engendre . . . . . . . . . . . . . . . . . . . . . . . . . 87

5.14 Le temps de reponse moyen . . . . . . . . . . . . . . . . . . . . . . . 90

5.15 Le temps de reponse moyen pour des taches>=100 . . . . . . . . . . 90

5.16 Le cout de traitement moyen des Cloudlets . . . . . . . . . . . . . . 91

5.17 Le cout de traitement moyen pour des taches>=100 . . . . . . . . . 92

5.18 Le resultat de temps de reponse dans l’execution des taches . . . . . 94

5.19 Le gain obtenu pour le temps de reponse . . . . . . . . . . . . . . . . 94

5.20 Le resultat de temps de reponse pour l’execution des taches . . . . . 95

5.21 Le gain obtenu pour le temps de reponse . . . . . . . . . . . . . . . . 96

5.22 Le temps de reponse moyen des Cloudlets . . . . . . . . . . . . . . . 97

5.23 Le cout moyen d’utilisation de ressources . . . . . . . . . . . . . . . 97

A.1 Organisation interne EMUSIM . . . . . . . . . . . . . . . . . . . . . 113

Page 11: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Table des figures x

A.2 Architecture GreenCloud . . . . . . . . . . . . . . . . . . . . . . . . 114

A.3 Architecture iCanCloud [60] . . . . . . . . . . . . . . . . . . . . . . . 115

B.1 Architecture de Cloudsim [12] . . . . . . . . . . . . . . . . . . . . . . 117

B.2 Effets des politiques d’ordonnancements sur l’execution des taches :

(a) Space-shared for VMs and Tasks, (b) Space-share for VMs and

Time-shared for tasks, (c) Time-shared for VMs, Space-shared for

tasks, and (d) Time-shared for both VMs and Tasks . . . . . . . . . 121

Page 12: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Liste des tableaux

3.1 Le temps d’execution des taches (Algorithme Min-min) . . . . . . . 36

3.2 Comparaison entre les algorithmes d’ordonnancement des workflows 41

4.1 Valeurs de λini par rapport aux types d’applications . . . . . . . . . 52

5.1 Les parametres de simulation pour le temps de reponse . . . . . . . . 83

5.2 Les parametres de simulation pour le nombre de deplacements . . . 85

5.3 Resultat de simulation de la premiere strategie (OADTV) . . . . . . 93

5.4 Resultat de simulation de la deuxieme strategie (OAAMV) . . . . . 95

Page 13: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Glossaire

QoS : Quality of Service

NIST : National Institute of Standards and Technology

API : Application Programming Interface

IT : Information Technology, Internet Technology

CPU : Central Processor Unit

VPN : Virtual Private Network

SaaS : Software as a Service

PaaS : Platform as a Service

IaaS : Infrastructure as a Service

ROI : Return On Investment

DSI : Direction du systeme d’information

CSC : Conseil Service Collectivites

WAN : Wide Area Network

ISACA : Information Systems Audit and Control Association

CSA : Cloud Security Alliance

FAI : Fournisseur d’Acces a Internet

OTP : One Time Password (mot de passe a usage unique)

FCFS : First Come First Served

SJF : Short Job First

SLA : Service Level Agreement

HPC : High Performance Computer

UML : Unified Modeling Langage

FCFS : First Come First Served

FIFO : First In First Out

RR : Round Robin

DAG : Directed Acyclic Graph (graphe oriente acyclique)

Page 14: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Liste des travaux

1. Publications

Esma Insaf Djebbar, Ghalem Belalem and Merien Benadda. Task scheduling

strategy based on data replication in scientific Cloud workflows. Multiagent

and Grid Systems : An International Journal, vol. 12, no. 1, pages 55-67, 2016.

2. Conferences

Esma Insaf Djebbar and Ghalem Belalem. Optimization of Tasks Schedu-

ling by an Efficacy Data Placement and Replication in Cloud Computing.

In Algorithms and Architectures for Parallel Processing - 13th International Confe-

rence, ICA3PP 2013, Vietri sul Mare, Italy, December 18-20, 2013, Proceedings,

Part II, LNCS 8286, pages 22-29, 2013.

Esma Insaf Djebbar and Ghalem Belalem. Tasks Scheduling and Resource

Allocation for high Data Management in Scientific Cloud computing en-

vironment. The International Conference on Mobile, Secure and Programmable

Networking (MSPN’2016), Paris, France, LNCS 10026, June 1-3, 2016.

Esma Insaf Djebbar and Ghalem Belalem. An effective Task Scheduling

Strategy in multiple Data centers in Cloud Scientific Workflow. The 39th

International ICT Convention on Information and Communication Technology,

Electronics and Microelectronics (MIPRO 2016), Rijeka, Croatia, IEEE, pages 214-

217, May 30-June 3, 2016.

Page 15: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Liste des tableaux 3

3. Encadrements

Mokhtari Houari, Mederrek Ali et Aissa Berroudja Youssouf. Un algorithme

d’ordonnancement des taches dans les Cloud computing, Ecole Normale Su-

perieure d’Enseignement Technologique d’Oran, Licence d’enseignement secondaire

en Informatique, 2015.

Boudjenah Khadidja, Chermak Saadia et Drief Meriem Programmation pa-

rallele des taches dans les Cloud computing, Ecole Normale Superieure d’En-

seignement Technologique d’Oran, Licence d’enseignement secondaire en Informa-

tique, 2016.

Page 16: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 1

Introduction

Sommaire

1.1 Contexte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Problematique et motivation . . . . . . . . . . . . . . . . . . 5

1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4 Organisation de la these . . . . . . . . . . . . . . . . . . . . . 8

1.1 Contexte

Le Cloud computing ou informatique en nuage est une infrastructure dans la-

quelle la puissance de calcul et le stockage sont geres par des serveurs distants

auxquels les usagers se connectent via une liaison Internet securisee. L’ordinateur de

bureau ou portable, le telephone mobile, la tablette tactile et autres objets connec-

tes deviennent des points d’acces pour executer des applications ou consulter des

donnees qui sont hebergees sur les serveurs. Le Cloud se caracterise egalement par

sa souplesse qui permet aux fournisseurs d’adapter automatiquement la capacite de

stockage et la puissance de calcul aux besoins des utilisateurs.

Le Cloud computing devient rapidement le standard de facto pour l’hebergement

et le fonctionnement des applications et des services logiciels a grande echelle sur

Internet. Beaucoup d’entreprises, d’individus et meme des secteurs gouvernemen-

taux se tournent vers l’environnement de Cloud en raison de plusieurs avantages que

ce nouveau paradigme offre, y compris la reduction des couts, l’evolutivite rapide,

la facilite de developpement, le stockage illimite, et l’accessibilite omnipresente. En

utilisant le paradigme du Cloud, les consommateurs de Cloud peuvent etre en me-

Page 17: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

1.2. Problematique et motivation 5

sure de se concentrer davantage sur la fonctionnalite de l’application de base. Cloud

computing n’est pas une nouvelle technologie, mais une combinaison de technologies

existantes telles que le Web et la virtualisation. Par consequent, toute vulnerabilite

dans l’une de ces technologies sous-jacentes peut etre exploitee comme une attaque

de securite dans le Cloud.

La technologie de Cloud computing represente un nouveau paradigme pour la

fourniture de ressources informatiques. Ce paradigme facilite l’acces aux ressources

via le reseau pour reduire les couts associes a la gestion des ressources materielles

et logicielles. Il represente le reve de longue date d’envisager l’informatique comme

un service ou l’economie de principe a l’echelle aider a reduire efficacement le cout

des ressources informatiques. Le Cloud computing simplifie le temps d’approvi-

sionnement des processus de materiel, l’achat de materiel et le deploiement de la

consommation des logiciels. Par consequent, il promet un certain nombre d’avan-

tages pour le deploiement d’applications de donnees intensives, telles que l’elasticite

des ressources, le modele de cout de « pay-per-use », le faible temps sur le marche,

et la perception des ressources illimitees et l’evolutivite infinie. Par consequent, il

devient possible, au moins theoriquement, d’obtenir un debit continu illimite en

ajoutant des moyens de calcul si la charge de travail augmente.

1.2 Problematique et motivation

Les systemes de Cloud computing sont entrain de devenir une plate forme incon-

tournable pour les applications scientifiques. Ils permettent de faire l’allocation des

ressources informatiques. Lorsque ces ressources sont insuffisantes pour satisfaire

les demandes, des mecanismes d’ordonnancement sont necessaires. Les problemes

d’optimisation de taches et d’allocation de ressources dans un contexte heterogene

comme le Cloud sont des problemes difficiles. Ce probleme devient encore plus diffi-

cile lorsque les criteres a prendre en consideration pour l’optimisation sont multiples.

Les approches d’ordonnancement et d’allocation existantes sont souvent tres corre-

lees, qui ne prennent en compte que quelques criteres en meme temps, et quelles

sont, le plus souvent, adaptees a des applications de donnees de taille moyenne et

Page 18: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

1.2. Problematique et motivation 6

par consequence ne passent pas a l’echelle.

La theorie d’ordonnancement de taches et d’allocation de ressources dans les

systemes de Cloud computing suscite une attention croissante avec l’augmentation

de la popularite de Cloud. En general, l’ordonnancement de taches est le processus

d’affectation des taches aux ressources disponibles sur la base des caracteristiques et

des conditions des taches. C’est un aspect important dans le fonctionnement efficace

du Cloud, car de divers parametres de taches doivent etre pris en consideration pour

un ordonnancement approprie. Les ressources disponibles devraient etre utilisees

efficacement sans affecter les parametres de service du Cloud.

Les ressources cibles dans un environnement de Cloud peuvent etre choisies selon

diverses algorithmes. La selection des ressources peut etre aleatoire, Round Robin,

ou gourmande (en capacite de traitement de la ressource et en temps d’attente) ou

par tous les autres moyens. La selection des taches peut etre basee sur FCFS (First

Come First served), SJF (Short Job First), priorite, ou en groupement brute de

taches. L’algorithme d’ordonnancement choisit la tache a executer et la ressource

correspondante ou on executera la tache. Car chaque strategie de selection a un

certain bienfait et pourrait etre effectuee dans cette direction pour extraire les points

avantageux de ces algorithmes et pour aboutir a une meilleure solution qui essaye

de reduire au minimum les inconvenients de l’algorithme resultant.

Les algorithmes existants sont benefiques aux utilisateurs ou aux fournisseurs

de service de Cloud, mais pas a tous les deux en meme temps. Chacun a leurs

propres avantages et inconvenients. Comme l’ordonnancement gourmant ou base sur

la priorite sont salutaires a l’utilisateur et l’ordonnancement base sur un groupement

de taches brutes est concerne par une meilleure utilisation des ressources disponibles

[10]. Mais l’ordonnancement base sur la priorite peut mener au long temps d’attente

pour des taches avec des basses priorites. L’ordonnancement gourmand du point de

vue d’utilisateurs mene au gaspillage des ressources, tandis que l’ordonnancement

gourmant de point de vue des fournisseurs de services peut mener a la deception

pour l’utilisateur sur les parametres de qualite de service (QoS). De meme, le groupe

de taches peut avoir l’inconvenient du temps considerable d’accomplissement des

taches dus a la formation des groupes. Ainsi nous pouvons remarquer que quelques

Page 19: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

1.3. Contributions 7

strategies d’ordonnancement sont polarisees aux utilisateurs, tandis que d’autres

aux fournisseurs de services. Il y a une condition naissante a equilibrer ceci et qui

polarise pour former une solution d’ordonnancement.

Les nouvelles strategies proposees doivent surmonter les problemes poses par des

proprietes de reseau et des exigences d’utilisateur. Les nouvelles strategies peuvent

employer certains concepts d’ordonnancement conventionnels pour les fusionner

avec quelques strategies de reseau pour fournir la solution pour un meilleur et plus

efficace ordonnancement de taches.

1.3 Contributions

Dans les travaux de cette these, nous proposons trois strategies d’ordonnan-

cements, la premiere strategie d’ordonnancement est basee sur la replication des

donnees pour les workflows scientifiques, la seconde strategie d’ordonnancement est

basee sur le groupement de taches et la derniere strategie d’ordonnancement de

taches et d’allocation de ressources est destinee aux Big data. La premiere strategie

comporte trois phases, nommees respectivement, l’etape de construction, l’etape

d’execution et l’etape de replication. La deuxieme strategie est basee sur le groupe-

ment de taches, contient a son tour deux phases, nommees respectivement l’etape

de construction et l’etape d’ordonnancement. La troisieme strategie contient deux

sous strategies, la premiere basee sur des parametres d’optimisation de Cloud, tels

que la vitesse d’execution des machines virtuelles et la longueur des taches. La se-

conde est basee sur un arbre de construction des machines virtuelles. Ces travaux

visent, dans un premier temps, a reduire le temps de reponse et le temps d’attente

dans l’execution des taches. Ils visent, egalement, a minimiser le nombre de depla-

cements de donnees entre les datacenters, ainsi que le cout engendre de l’utilisation

de ressources dans la technologie Cloud.

Page 20: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

1.4. Organisation de la these 8

1.4 Organisation de la these

Le reste de la these est organise comme suit : Dans le chapitre 2, nous presentons

les notions de base des concepts que nous jugeons necessaires a la comprehension

du contenu de cette these. Nous presentons d’abord les concepts du Cloud com-

puting, ensuite, nous presentons les notions fondamentales, leurs interpretations,

ainsi que les services offerts par ce nouveau concept. Enfin, nous terminons ce cha-

pitre par une discussion sur les menaces majeures a la securite des donnees et a

celles des applications en Cloud. Dans le troisieme chapitre, les concepts lies a l’or-

donnancement et l’allocation de ressources dans le Cloud computing sont abordes,

ainsi que quelques travaux realises dans ces domaines. Le quatrieme chapitre est

destine a la conception de nos contributions en prenant en compte la gestion de

l’ordonnancement des taches et l’allocation de ressources. Le cinquieme chapitre

s’appesantit, en premier lieu a la concretisation de la conception presentee en cha-

pitre 4, et en second lieu a l’affichage de quelques resultats d’experimentation et

leurs interpretations. Le chapitre 6 synthetise cette these par une conclusion qui

discute les contributions realisees dans le cadre de nos travaux de these, ainsi que

des perspectives des travaux futurs envisagees.

Page 21: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 2

Cloud computing

Sommaire

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Les concepts du Cloud computing . . . . . . . . . . . . . . . 10

2.2.1 La virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.2.2 La grille informatique . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.3 L’informatique utilitaire (Utility computing) . . . . . . . . . . 14

2.3 Les technologies connexes liees au Cloud computing . . . . 14

2.4 Les principales caracteristiques des Clouds . . . . . . . . . . 14

2.5 Modeles de deploiement . . . . . . . . . . . . . . . . . . . . . 16

2.6 Modeles de service . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.6.1 SaaS (Software as a Service) . . . . . . . . . . . . . . . . . . . 18

2.6.2 IaaS (Infrasture as a Service) . . . . . . . . . . . . . . . . . . . 19

2.6.3 PaaS (Platform as a Service) . . . . . . . . . . . . . . . . . . . 19

2.7 Aborder un projet de migration vers le Cloud . . . . . . . . 20

2.8 Avantages du Cloud computing . . . . . . . . . . . . . . . . . 21

2.8.1 Avantages au niveau de la strategie . . . . . . . . . . . . . . . . 21

2.8.2 Avantages au niveau des fonctions et des processus metier . . . 22

2.8.3 Avantages operationnels . . . . . . . . . . . . . . . . . . . . . . 23

2.9 Securite dans les Cloud computing . . . . . . . . . . . . . . . 24

2.10 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.1 Introduction

L’informatique dans le nuage est plus connue sous sa forme anglo-saxonne :

« Cloud Computing », mais il existe de nombreux synonymes francophones

Page 22: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.2. Les concepts du Cloud computing 10

tels que : « informatique dans les nuages », « infonuagique » (Quebec) ou encore

« informatique dematerialisee ». C’est un domaine qui regroupe les technologies

de distribution, a la demande et via Internet, de services informatiques logiciels

et materiels. L’idee principale de ces technologies est de distribuer des ressources

informatiques comme un service d’utilite publique, conformement a ce qui avait ete

imagine par les pionniers de l’informatique moderne, il y a plus de 40 ans [25]. Ce

principe de distribution publique de ressources informatiques anime egalement la

communaute de la grille informatique, si bien qu’il est parfois difficile de distinguer

la frontiere entre « Grille » et « Informatique dans le nuage ». Cette difficulte est

d’autant plus reelle que l’informatique dans les nuages, est un concept jeune, dont

les premieres implantations datent de 2006, et dont le developpement s’est accelere

durant ces dernieres annees.

Dans ce chapitre, nous allons presenter globalement l’historique du « Cloud

computing » et l’origine de ce terme, suivi d’une definition explicite de ce dernier qui

sera basee sur une analyse des definitions proposees par le monde academique. Nous

decrivons aussi la virtualisation qui est une partie essentielle dans « l’informatique

en nuages », sans oublier les services de Cloud, les types de Cloud et ses acteurs

ainsi que les avantages, les inconvenients, les objectifs principaux et les domaines

d’utilisation du Cloud computing.

2.2 Les concepts du Cloud computing

Il y a une certaine confusion dans meme l’esprit d’analyse des praticiens expe-

rimentes sur ce que constitue le Cloud computing et ce qui est le partage en temps

ou tout simplement une grande collection de serveurs distants. Cette confusion est

aggravee par un grand nombre de fournisseurs de services qui pretendent donner le

meilleur et le moins cher pour le calcul dans le nuage sans elucider comment cela

est different de la generation de l’informatique [11, 64]. Puisque nous croyons que le

Cloud computing est plus qu’un mot a la mode, nous reproduisons ici la definition

du Cloud computing par le NIST repute [46]. Selon l’Institut national des normes

et de la technologie, Cloud computing est un modele pour permettre un acces pra-

Page 23: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.2. Les concepts du Cloud computing 11

tique a la demande du reseau a un ensemble partage de ressources informatiques

configurables (par exemple, les reseaux, les serveurs, le stockage, les applications

et les services) qui peuvent etre provisionnes rapidement et liberes avec un effort

de gestion minimale ou par l’interaction de fournisseur de services (Figure 2.1). Ce

modele favorise l’accessibilite et est compose de cinq caracteristiques essentielles

[46] :

Figure 2.1 – L’environnement de Cloud computing [66]

1. La demande libre des services

2. Un acces en diffusion via le reseau

3. La mise en commun des ressources

4. L’elasticite rapide

5. Un service mesure

Trois modeles de services (SaaS, PaaS et IaaS) et, quatre modeles de deploiement

(prive, public, communautaire et hybride). Les technologies cles comprennent :

1. Des reseaux rapides,

2. Des ordinateurs bon marche,

Page 24: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.2. Les concepts du Cloud computing 12

3. La virtualisation pour du materiel de base.

Les principaux obstacles a la plus large adoption du Cloud sont :

– La securite, l’interoperabilite et la portabilite.

Nous resumons en termes simples et courts, le Cloud computing est une grande

puissance evolutive et personnalisee de calcul disponible par loyer/ par heure et

accessible a distance. Il peut aider a faire plus de calcul a une fraction de cout.

2.2.1 La virtualisation

La virtualisation est une technologie qui isole et fait abstraction des ressources

de bas niveau et fournit des ressources virtualisees pour des applications de haut

niveau. Dans le contexte de virtualisation materielle, le detail de materiel physique

peut etre resume dans la distance basee sur le noyau de la machine virtuelle avec

le support des hyperviseurs tels que Linux [49, 50]. Un serveur virtualise gere par

l’hyperviseur est communement appele une machine virtuelle. En general, plusieurs

machines virtuelles peuvent etre extraites dans une seule machine physique. Avec

des grappes de machines physiques, les hyperviseurs sont capables d’extraire et de

la mise en commun des ressources, ainsi que l’affectation dynamique ou l’affectation

des ressources aux machines virtuelles a la demande. Par consequent, la virtualisa-

tion constitue la base du Cloud computing. Les fournisseurs peuvent personnaliser

la plate-forme pour repondre aux besoins des clients, soit par des applications expo-

sant en cours d’execution au sein de machines virtuelles des services, ou de fournir

un acces direct aux machines virtuelles permettant ainsi aux clients de creer des

services avec leurs propres applications. En outre, le Cloud computing est non seule-

ment base sur la virtualisation de ressources, mais aussi sur la repartition intelligente

des ressources pour la gestion des demandes concurrentes de ressources des clients.

La Figure 2.2 illustre une exploitation de la technologie de virtualisation dans les

environnements de Cloud computing.

L’informatique autonome ou encore le Computing autonome vise a construire

des systemes informatiques capables a l’autogestion, ce qui signifie etre capable de

fonctionner dans des conditions generales definies et reglementaires sans interven-

Page 25: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.2. Les concepts du Cloud computing 13

Figure 2.2 – La virtualisation dans les environnements de Cloud [31]

tion humaine. Le but de l’informatique autonome est de surmonter la complexite

croissante et rapide de la gestion du systeme informatique, tout en etant en mesure

de continuer a augmenter l’interconnectivite et l’integration sans relache. Bien que

le Cloud computing presente certaines similitudes avec l’automatique de calcul de

la facon dont il inter-connexe et integre la distribution des centres de donnees a

travers les continents. Son objectif est de reduire le cout des ressources plutot que

de reduire la complexite du systeme.

2.2.2 La grille informatique

Grid computing est un paradigme de calcul distribue qui coordonne en reseau

les ressources pour atteindre un objectif commun de calcul. Le developpement de

la grille informatique a ete tiree par les applications scientifiques qui necessite ha-

bituellement un calcul intensif, mais les applications necessitant le transfert et la

manipulation d’une quantite massive de donnees a egalement ete en mesure de tirer

parti des grilles. Le Cloud computing semble etre similaire a la grille informatique

dans la facon dont il a egalement employe les ressources distribuees pour atteindre

les objectifs au niveau de l’application. Cependant, le Cloud computing prend un

Page 26: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.3. Les technologies connexes liees au Cloud computing 14

peu plus loin en mettant a profit les technologies de virtualisation pour atteindre

le partage a la demande des ressources et le provisionnement dynamique des res-

sources.

2.2.3 L’informatique utilitaire (Utility computing)

L’informatique utilitaire represente le modele d’affaires des ressources d’em-

ballage en tant que services comptes similaires a ceux fournis par les entreprises

traditionnelles d’utilite publique. En particulier, il permet aux ressources d’appro-

visionnement sur les clients a la demande et a la charge base sur l’utilisation plutot

que sur un taux forfaitaire. Le principal avantage de l’informatique utilitaire est

l’economie. Le Cloud computing peut etre percu comme une realisation de l’infor-

matique utilitaire. Avec un approvisionnement a la demande des ressources et de la

tarification fondee sur l’utilite, les clients sont en mesure de recevoir davantage de

ressources pour gerer les pics inattendus et ne payer que pour les ressources dont ils

avaient besoin ; Pendant ce temps, les fournisseurs de services peuvent maximiser

l’utilisation des ressources et minimiser leurs couts d’exploitation.

2.3 Les technologies connexes liees au Cloud computing

Le Cloud computing a evolue sur des decennies de recherche dans differentes

technologies, dont il a herite des caracteristiques et des fonctionnalites telles que

les environnements virtualises, le computing autonome, la grille informatique, et le

calcul distribue. La Figure 2.3 illustre l’evolution vers le Cloud computing dans l’he-

bergement des applications logicielles [75]. En fait, le Cloud computing est souvent

compare aux technologies connexes, dont chacun partage certains aspects avec le

Cloud computing.

2.4 Les principales caracteristiques des Clouds

Le modele Cloud Computing se differencie par les cinq caracteristiques essen-

tielles suivantes :

Page 27: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.4. Les principales caracteristiques des Clouds 15

Figure 2.3 – L’evolution vers le Cloud computing dans l’hebergement d’applica-

tions logicielles [75]

1. Acces reseau universel : Un environnement de type Cloud Computing

est accessible via le reseau, quel que soit le peripherique (PC, Mac, tablette,

SmartPhone, ...).

2. Mise en commun (Pooling) de ressources : Dans un environnement de

type Cloud Computing, on ne pense pas en nombre de serveurs, taille de

disques, nombre de processeurs..., mais en puissance de calcul, capacite totale

de stockage, bande passante disponible.

3. Elasticite : Grace au Cloud, il est possible de disposer de plus de ressources

tres rapidement pour soutenir une forte demande (par exemple pour garantir

une bonne experience d’achat sur une plateforme web d’e-commerce durant

les fetes de fin d’annees). Inversement, au-dela de la provision de ressources,

il est possible avec le Cloud de diminuer les ressources utilisees (par exemple

en cas de baisse d’activite sur cette meme plateforme web d’e-commerce) si

celles-ci sont superieures a ce qui est necessaire.

4. Libre-service (Self-Service) : Dans un environnement de type Cloud Com-

puting, il est possible a un utilisateur de consommer les services ou les res-

Page 28: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.5. Modeles de deploiement 16

sources sans pour autant necessiter une demande d’interventions aupres du

fournisseur : equipe IT ou fournisseur externe (par exemple, un developpeur

qui souhaite tester son application sur une machine virtuelle representative

d’un poste standardise de son entreprise peut, au travers d’un portail web,

provisionner ou utiliser une machine).

5. Service mesurable ou facturable : Dans un environnement de type Cloud

Computing, le fournisseur de la solution est capable de mesurer de facon pre-

cise la consommation des differentes ressources (CPU, stockage, bande pas-

sante, ...) ; cette mesure lui permet de facturer a l’usage le client [7].

2.5 Modeles de deploiement

Il existe 4 modeles de deploiement du Cloud computing (voir Figure 2.4) :

1. Le Cloud prive qui peut se deployer sous deux formes distinctes :

Cloud prive interne : heberge par l’entreprise elle-meme, parfois partage

ou mutualise en mode privatif avec les filiales.

Cloud prive externe : heberge chez un tiers, il est entierement dedie a l’en-

treprise et accessible via des reseaux securises de type VPN (Reseau

virtuel prive).

2. Le Cloud public est accessible par Internet et gere par un prestataire externe.

Il est ouvert au public ou a de grands groupes industriels. Cette infrastructure

est possedee par une organisation qui vend des services Cloud.

3. Le Cloud hybride ou mixte associe l’utilisation, pour une meme entreprise,

d’un Cloud prive et d’un Cloud public. Ces infrastructures sont liees entre

elles par la meme technologie qui autorise la portabilite des applications et

des donnees.

4. Le Cloud communautaire est dedie a une communaute professionnelle speci-

fique incluant partenaires, sous-traitants, etc, pour travailler de maniere colla-

borative sur un meme projet ou Cloud gouvernemental dedie aux institutions

etatiques.

Page 29: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.6. Modeles de service 17

Figure 2.4 – Les modeles de deploiement dans le Cloud computing

2.6 Modeles de service

Il existe trois types de services dans les Cloud computing : IaaS (Infrastructure

as a Service), PaaS (Plateform as a Service) et SaaS (Software as a Service), comme

il est montre dans la Figure 2.5.

Figure 2.5 – Les modeles de services dans le Cloud computing [32]

Fondamentalement, l’infrastructure en tant que service permet d’embaucher un ser-

veur virtuel, puis l’utiliser par le biais d’un navigateur. Il est comme une machine

Page 30: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.6. Modeles de service 18

distante qui vous permet de faire l’installation de logiciel et l’elargissement du ma-

teriel. La plate-forme en tant que service fournit une plate-forme a l’utilisateur sans

se soucier de la gestion du materiel, mais tout simplement le controle de logiciel.

Le logiciel en tant que service signifie essentiellement que le logiciel est loue par le

consommateur, mais est heberge et entierement gere par le prestataire.

– Exemples de machines virtuelles IaaS : Windows Azure (https ://azure.microsoft.com/en-

us/), Amazon Web Services EC2 (http ://aws.amazon.com/ec2/), et Google

Compute Engine(https ://cloud.google.com/products/compute-engine/).

– Des exemples de PaaS sont Google App Engine (https ://developers.google.com/appengine),

la plate-forme Salesforce (http ://www.salesforce.com/platform/), et Amazon

AWS Elastic Beanstalk (http ://aws.amazon.com/elasticbeanstalk/)

– Des exemples de SaaS sont Gmail (messagerie) et Salesforce (CRM).

2.6.1 SaaS (Software as a Service)

Les clients de ce modele sont aussi bien des utilisateurs personnels que des entre-

prises. Ce modele de service correspond a celui que nous rencontrons communement

dans le Cloud public. Il derive du monde des ASP (Application Service Provider)

qui se sont developpes initialement dans le monde du Web. Pour beaucoup de per-

sonnes et d’utilisateurs [8], le Cloud se resume uniquement a cet aspect ! Ce modele

represente l’acces a un service applicatif et a ses fonctionnalites associees. Tenons

comme exemples : Les reseaux sociaux, la messagerie personnelle, les applications

bureautiques et l’impression photo. Pour un public de masse, le fournisseur propose

des niveaux de service generique peu ou pas personnalisables. Ceci lui permet de

proposer des prix attractifs d’entree de gamme. Une politique de prix d’entree de

gamme, des niveaux de service quelques fois flous ou des clients en manque de ma-

turite peuvent poser des soucis de contractualisation et d’engagement. Ce point est

crucial pour les enjeux du Cloud.

Page 31: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.6. Modeles de service 19

2.6.2 IaaS (Infrasture as a Service)

Generalement, l’utilisateur final ne se voit pas offrir ce genre de service. Ce

modele sert de base pour construire ou renover des solutions informatiques. Ce type

de service se democratie toutefois dans le Cloud public. Pour deployer un service

applicatif, les architectures de systemes d’information considerent un certain nombre

de couches :

– Le reseau ;

– Le stockage ;

– L’infrastructure physique (ou virtuelle) communement appele un serveur ;

– L’hyperviseur pour l’infrastructure dite virtuelle ;

– Le systeme d’exploitation du serveur physique ou de la machine/ serveur

virtuelle ;

– Le middleware ;

– L’applicatif lui meme.

L’entreprise proposant ce type de service peut devenir, de fait, un fournisseur de

serveurs. Ces serveurs autrefois physiques sont devenus de nos jours virtuels par

le fait des technologies de virtualisation employees. La Direction du Systeme d’In-

formation (DSI) d’une organisation peut devenir un fournisseur de serveurs pour

ses clients en lieu et place des anciens fournisseurs de serveurs physiques que sont

les constructeurs. Le fournisseur/hebergeur peut devenir un fournisseur de serveur

pour les DSI [8].

2.6.3 PaaS (Platform as a Service)

La population cliente de ce type de service est compose de developpement qui

vont pouvoir concevoir un service de type SaaS par exemple. Ce type de service se

rencontre aussi bien en Cloud public qu’en Cloud prive. Le modele PaaS de Cloud

Computing ajoute, a la couche IaaS, la couche Middleware constituee de serveurs

d’application, de serveur de presentation (serveurs web), de systemes de bases de

donnees et d’environnements de programmation. Prenons comme exemples : le de-

ploiement d’un blog sur Internet, le developpement Interne d’une solution n-tiers,

Page 32: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.7. Aborder un projet de migration vers le Cloud 20

....

2.7 Aborder un projet de migration vers le Cloud

Les quatres points ci-dessous sont a prendre en consideration avec les avantages

et les inconvenients de la situation actuelle sans Cloud jusqu’a la situation vers le

Cloud [7].

L’elasticie : L’agilite est definit comme la capacite d’une entreprise a ressentir les

changements dans son environnement et a s’y adapter de maniere efficiente. Si

on s’en refere a cette definition, l’avantage le plus frequemment cite des archi-

tectures Cloud est, sans surprise, l’elasticite. Puisque cette notion fait partie

de la definition meme du Cloud Computing. Par exemple, l’un des avantages

les plus evidents d’une solution SaaS comme Salesforce est l’elasticite qu’elle

permet. Il est possible tres simplement d’augmenter le nombre d’utilisateurs

ou de fonctionnalites. Mais l’elasticite se ressent aussi tres clairement sur la

couche IaaS.

La reactivite : L’elasticite, c’est bien, a condition que les modifications d’ampli-

tude a la hausse ou a la baisse soient rapides. Le gain en reactivite peut etre

considerable par rapport aux solutions precedentes. Prenons comme exemple

le cas d’Intel : le simple passage en Cloud de son infrastructure a permis de

reduire de trois semaines a trois heures le temps necessaire pour allouer des

ressources a un utilisateur en faisant la demande. Dans l’exemple d’Intel, le

gain en reactivite peut etre considerable, par rapport aux solutions prece-

dentes sans Cloud.

La flexibilite : Quand on associe elasticite et reactivite, on obtient une souplesse

d’utilisation sans egale. Le Cloud remet les choses dans le bon sens : l’entre-

prise n’a plus besoin de se contorsionner pour faire evoluer son organisation

sans mettre en peril son service informatique ; c’est ce dernier qui se plie a

ses imperatifs. La flexibilite dans l’organisation du travail est permise par le

fait aussi que l’entreprise peut etre moins liee aux contraintes traditionnelles

de calcul de retour sur investissement (ROI) et de validation prealable. C’est

Page 33: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.8. Avantages du Cloud computing 21

particulierement vrai pour le SaaS. L’entreprise peut se permettre d’experi-

menter, de passer au Cloud petit a petit car l’investissement et l’engagement

restent modere. Contrairement a un projet informatique traditionnel, le ROI,

est calcule avant le demarrage. Le succes du projet se mesure au fil du temps,

dans la progression des usages [7].

L’ubiquite : Il y’a quelques annees, un constructeur informatique vantait ses so-

lutions de mobilite avec le slogan : « travailler partout pour ne pas travailler

tout le temps ». Aujourd’hui, cette promesse est devenue une realite grace a

la dissociation totale entre la couche des usages et celle de la technique [7].

2.8 Avantages du Cloud computing

2.8.1 Avantages au niveau de la strategie

Au niveau de la strategie, de nombreuses entreprises s’appuient sur le Cloud

pour alimenter de nouvelles strategies commerciales et chercher des sources concur-

rentielles. L’optimisation des ressources et les economies d’echelle augmentent en

theorie les marges. L’impact du Cloud sur la strategie se manifeste notamment par

la creation de nouveaux « business models », qui affectent tout l’ecosysteme de

l’entreprise. L’enjeu consiste a disposer des bonnes informations au bon moment

pour prendre les bonnes decisions. Cela passe par la mise en relation, le partage et

la combinaison de l’ensemble des actifs strategiques de l’organisation. Pour l’heure,

les DSI sont limitees par les capacites techniques des solutions de Cloud, notamment

en termes de securite des informations et de portabilite des donnees. Neanmoins, la

direction generale s’interroge sur l’ensemble des opportunites strategiques que les

solutions de Cloud pourraient apporter a l’entreprise. Comme souvent, ce sont les

solutions a usage personnel qui permettent au marche de se faconner et de s’orienter.

Par exemple, les solutions de webmail, comme Gmail de Google ou la messagerie

d’Apple, ont ouvert des perspectives tres interessantes pour les entreprises. Autre

exemple autour de la musique en ligne, l’offre iCloud d’Apple propose une fonction

appelee « iTunes Match », qui permet de stocker l’ensemble de sa musique et de ses

videos dans les nuages, et d’y acceder a partir de n’importe quelle plate-forme. Pour

Page 34: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.8. Avantages du Cloud computing 22

que ces services voient le jour et soient apprecies du marche professionnel, il faut

donc qu’ils s’inscrivent dans une demarche de standardisation, d’elasticite et d’ubi-

quite (autrement dit qu’ils soient accessibles a partir de tout type de plate-forme :

PC, tablettes, smartphones, ...). L’analyse des donnees (notamment a tres grande

echelle, voir le Big data) constitue egalement un domaine dans lequel les solutions

de Cloud sont tres innovantes. Ainsi, Tetrapak [30], un fournisseur d’emballages et

de briques alimentaires, analyse des banques de donnees en provenance d’eBay pour

detecter les tendances de consommation. C’est egalement l’esprit de la solution Web

Content Management d’Adobe, classee comme leader par le Gartner [30] dans ce

domaine eponyme, qui propose tout un ensemble d’outils d’analyse marketing sur la

frequentation d’un site web, pour mieux identifier et modeliser les comportements

des visiteurs et des acheteurs.

2.8.2 Avantages au niveau des fonctions et des processus metier

Au niveau des processus et des fonctions metier, les entreprises cherchent avant

tout la performance, le partage des ressources (afin d’acceder a des services aux-

quels elles ne pouvaient pas pretendre auparavant), une collaboration plus etroite,

davantage d’integration, ainsi qu’une meilleure coordination interprocessus. Or les

solutions de Cloud computing favorisent la coordination des processus et des fonc-

tions du metier. D’ailleurs, certains des plus grands succes du Cloud computing

concernent a ce jour des solutions de collaboration, qui permettent aux groupes

et aux communautes de travailler ensemble de maniere innovante. On peut citer

l’exemple des entreprises qui ouvrent leurs systemes a leur clientele en proposant

des services de calendriers en ligne : le client d’une banque peut ainsi fixer un rendez-

vous avec son conseiller clientele en fonction des plages disponibles. Les solutions

de Social Business Software, ou de collaboration pour l’ensemble des acteurs de

l’entreprise, offrent egalement des perspectives interessantes. Le cabinet de conseil

des services collectives (CSC) a deploye, par exemple, ce genre de solution pour

ses 90 000 collaborateurs. Lors de la premiere experience qui a dure 20 semaines,

plus de 25 000 personnes se sont inscrites a cette solution de collaboration Cloud,

appelee C3 et editee par Jive [30]. Ils ont cree plus de 2 100 groupes et gere jusqu’a

Page 35: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.8. Avantages du Cloud computing 23

150 000 activites par mois. Ces resultats encourageants ont convaincu l’entreprise

d’adopter la solution C3 de facon permanente. Autre exemple, Expensify [30] est

une solution de Cloud SaaS qui permet de gerer les depenses et les tickets de caisse

de toute une entreprise. Ce service est accessible depuis tous les types de plates-

formes (tablettes, smartphones, client leger, etc.) [30]. Grace au Cloud computing,

les entreprises pourront desormais s’inscrire dans une demarche de standardisation

des applications, des formats de donnees, des plates-formes de developpement et

d’exploitation, ce qui contribuera a la mise en œuvre de processus metier efficaces.

Ceux-ci favoriseront le partage d’information, l’acces universel depuis tout type de

plate-forme (notamment les tablettes et les smartphones) et la collaboration.

2.8.3 Avantages operationnels

Les principaux avantages operationnels qu’offre une solution de Cloud compu-

ting concernent la baisse des couts de production des services informatiques, grace

a la disponibilite et l’elasticite des ressources informatiques, ainsi qu’a des systemes

de facturation portant sur la consommation reelle de services, par opposition aux

systemes de forfaits (pour lequel le client paie, meme s’il ne consomme rien). Les

DSI estiment qu’ils pourraient realiser des economies de 10 a 50 % sur ces couts

de production. Il s’agit en outre de commercialiser plus rapidement de nouvelles

applications et d’accelerer leur mise a jour. Les petites et moyennes entreprises, de

meme que les startups, ont tres vite adopte les solutions de Cloud computing. Elles

ont rapidement compris les avantages qu’elles pouvaient en tirer en termes d’eco-

nomies d’echelle et d’agilite : le Cloud leur offre l’acces a des prestations en libre

service et le partage d’equipements et de ressources, ce qui leur permet d’utiliser des

services reserves jusqu’a present aux grandes entreprises. Les grandes entreprises,

elles, sont toujours plus reticentes des qu’il s’agit d’adopter des nouvelles techno-

logies. Mais elles commencent a entrevoir l’avantage concurrentiel qu’elles peuvent

tirer des solutions de Cloud, notamment en termes de performance, d’efficacite et

d’efficience. Les entreprises industrielles traditionnelles s’appuient sur des modeles

scientifiques de l’organisation du travail. Ces modeles sont optimaux lorsqu’il s’agit

de faire fonctionner des machines ensemble. Or, les societes de services reposent sur

Page 36: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.9. Securite dans les Cloud computing 24

la production de prestations par les hommes et pour les hommes [30]. Nous rappe-

lons que Taylor considerait l’etre humain comme le prolongement de la machine. Il

s’agit donc de remettre l’homme au centre de la production de services et de prendre

en compte les dimensions sociales, psychologiques et culturelles des entreprises [30].

2.9 Securite dans les Cloud computing

Les avantages du Cloud computing sont aujourd’hui une evidence. Les plus no-

tables sont : la reduction des couts de maintenance de l’infrastructure informatique,

la reduction de la consommation energetique, la disposition rapide d’une plateforme

prete a l’emploi pour le deploiement des applications, la disposition d’une solution

de sauvegarde simple et accessible a tous, meme aux non-informaticiens. Cependant,

devant toutes les possibilites offertes par ce nouveau concept de l’informatique, il

demeure des reticences dans son adoption. Ces reticences sont liees, pour la plupart,

au facteur de securite, qui reste encore un veritable challenge [56].

Le Cloud computing est une approche informatique qui consiste a exploiter

via Internet (ou tout autre reseau WAN) des ressources systeme et applicatives

(serveurs, stockage, outils de collaboration et d’administration, etc.). Ces ressources

distantes sont dites en Cloud. Plusieurs etudes menees par des specialistes tels

que ISACA (Information Systems Audit and Control Association) et CSA (Cloud

Security Alliance) ont permis d’identifier douze points qui constituent les menaces

majeures a la securite des donnees et a celles des applications en Cloud [56]. Ce

sont notamment :

1. L’existence de breches de securite tant sur l’une des couches logiques du Da-

tacenter que celles issues d’erreurs humaines ;

2. La fragilite dans la gestion des acces et des identites, bien que certains four-

nisseurs renforcent les interfaces d’authentification avec d’autres moyens tels

que les certificats, les smartcards, la technologie OTP et bien d’autres ;

3. L’utilisation d’API non securisees pour l’integration des applications avec les

services Cloud ;

Page 37: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.9. Securite dans les Cloud computing 25

4. L’exploit de vulnerabilites des systemes d’exploitation sur les serveurs du

Cloud et meme sur les applications hebergees ;

5. Le piratage de compte, qui est un vieux type d’attaque informatique, vient

avec une forte recrudescence depuis l’avenement d’Internet et encore celui du

Cloud computing ;

6. Une action malveillante initiee en interne dans les effectifs du fournisseur. Une

personne malveillante dans l’equipe de gestion du Datacenter peut facilement

nuire a la confidentialite et l’integrite des environnements heberges ;

7. Les menaces persistantes avancees (APT : Advanced Persistent Threats) qui

consistent en une forme d’attaque ou le Hacker reussit a installer d’une facon

ou d’une autre un dispositif dans le reseau interne de l’organisation, a partir

duquel il peut extirper des donnees importantes ou confidentielles. C’est une

forme d’attaque difficile a detecter pour un fournisseur de services Cloud ;

8. La perte de donnees qui peut etre causee par une attaque informatique (lo-

gique) du Datacenter, une attaque physique (incendie ou bombardement),

une catastrophe naturelle, ou meme simplement a un facteur humain chez le

fournisseur de services, par exemple en cas de faillite de la societe ;

9. Les insuffisances dans les strategies internes d’adoption ou de passage au

Cloud. Les entreprises ou les organisations ne prennent pas souvent en compte

tous les facteurs de securite lies a leur fonctionnement avant de souscrire a

un service Cloud. Certaines negligences, tant au niveau du developpement

d’application qu’au niveau de l’utilisation basique, leur sont parfois fatales ;

10. Utilisation frauduleuse des technologies Cloud en vue de cacher l’identite et

de perpetrer des attaques a grande echelle. Generalement, il s’agit de comptes

crees pendant les periodes d’evaluation (la plupart des fournisseurs d’acces

a Internet (FAI) proposent 30 jours d’essai gratuits) ou des acces achetes

frauduleusement ;

11. Le deni de service qui est une attaque qui consiste a rendre indisponible un

service par une consommation abusive des ressources telles que les processeurs,

la memoire ou le reseau. L’idee, pour le pirate, c’est de reussir a surcharger les

Page 38: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

2.10. Conclusion 26

ressources du Datacenter en vue d’empecher d’autres utilisateurs de profiter

des services ;

12. Les failles liees a l’heterogeneite des technologies imbriquees dans l’architec-

ture interne du Cloud, et l’architecture externe d’interfacage avec les utilisa-

teurs.

2.10 Conclusion

Le developpement du Cloud Computing passera certainement par son adoption

au sein des entreprises, pour qui les offres commencent a etre nombreuses. La renta-

bilite etant l’objectif numero 1, ces entreprises sont susceptibles de payer beaucoup

plus que les particuliers, et sont les cibles principales du Cloud, les offres gravitant

autour d’applications et d’environnements metier. Reste la question de la securite

et de la confidentialite des donnees stockees, qui sont potentiellement exposees a

des negligences.

Arriver a repondre de maniere rapide et efficace aux demandes croissantes des

utilisateurs, les entreprises ou les fournisseurs de Clouds doivent ameliorer constam-

ment les algorithmes d’execution des taches et ameliorer la qualite de services. La

theorie d’ordonnancement de taches et d’allocation de ressources dans les systemes

de Cloud computing suscite une attention croissante avec l’augmentation de la po-

pularite de Cloud. Pour cela, le chapitre suivant entamera le probleme d’ordonnan-

cement et d’allocation de ressources dans le Cloud computing.

Page 39: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 3

Probleme d’ordonnancement et

d’allocation de ressources

Sommaire

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.2 Ordonnancement : Concepts et definitions . . . . . . . . . . 28

3.3 Les problemes d’ordonnancement en ligne et hors ligne . . 30

3.4 Les criteres d’optimisation . . . . . . . . . . . . . . . . . . . . 31

3.5 L’ordonnancement et la virtualisation dans le Cloud com-

puting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.6 Les principaux algorithmes d’ordonnancement . . . . . . . . 35

3.7 Les algorithmes d’ordonnancement pour les applications

scientifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.8 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.1 Introduction

L’informatique dans le nuage ou le Cloud computing est un nouveau modele de

prestation de service informatique utilisant de nombreuses technologies exis-

tantes. Comme toute nouvelle technologie, elle a besoin cependant de nombreuses

ameliorations, et de la mise en place de normes precises pour eviter les risques.

L’ordonnancement des taches et l’allocation de ressources sont souvent consideres

comme des vrais challenges pour les gestionnaires dans ce type de technologies. C’est

ainsi que de nombreux travaux ont ete consacres a la recherche des solutions pour

remedier a ces problemes. Nous essayerons dans cette partie de presenter quelques

Page 40: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.2. Ordonnancement : Concepts et definitions 28

notions et travaux de recherches qui ont propose des solutions ou des ameliorations

dans ce contexte.

3.2 Ordonnancement : Concepts et definitions

Le probleme d’ordonnancement consiste a organiser dans le temps la realisation

de taches, compte tenu de contraintes temporelles (contraintes de delai, contraintes

d’enchaınement, ...) et de contraintes portant sur l’utilisation et la disponibilite des

ressources requises [54, 63].

Ordonnancement : Un probleme d’ordonnancement consiste a ordonner dans le

temps un ensemble de taches contribuant a la realisation d’un meme projet.

L’objectif est de minimiser la duree de realisation du projet compte tenu des

contraintes d’anteriorite reliant les differentes taches. De plus, on determine

les calendriers de realisation de chacune de ces taches ainsi que les marges de

manœuvre associees.

Allocation de ressources : L’allocation de ressources est le processus de division

et de repartition d’une quantite limitee des ressources disponibles a des usages

alternatifs concurrents, satisfaisant des besoins illimites. Etant donne que la

penurie est endemique dans le monde (desirs et besoins illimites, mais des res-

sources limitees), tous les besoins ne peuvent etre satisfaits par les ressources

disponibles. Des choix doivent etre faits. Ces choix et ces decisions sont le

processus d’allocation des ressources.

Dans le Cloud Computing, l’allocation de ressources est le processus d’attri-

bution des ressources disponibles pour les applications de Cloud Computing

sur Internet. L’allocation des ressources qui n’est pas geree avec precision em-

peche le bon fonctionnement des services. L’approvisionnement de ressources

resout ce probleme en permettant aux fournisseurs de services de gerer les

ressources pour chaque application.

Les taches : Une tache ou un job est une entite elementaire localisee dans le temps,

par une date de debut et une date de fin, et dont la realisation necessite une

Page 41: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.2. Ordonnancement : Concepts et definitions 29

duree prealablement definie. Elle est constituee d’un ensemble d’operations

qui requiert, pour son execution, certaines ressources et qu’il est necessaire de

programmer de facon a optimiser un certain objectif.

Les ressources : La ressource est un moyen technique ou humain destine a etre

utilise pour la realisation d’une tache et disponible en quantite limitee, sa

capacite. Plusieurs types de ressources sont a distinguer. Une ressource est

renouvelable si apres avoir ete allouee a une ou plusieurs taches, elle est a nou-

veau disponible en meme quantite (les hommes, les machines, l’equipement

en general) ; la quantite de ressource utilisable a chaque instant est limitee.

Dans le cas contraire, elle est consommable (matieres premieres, budget) ; la

consommation globale (ou cumul) au cours du temps est limitee. Une ressource

est doublement contrainte lorsque son utilisation instantanee et sa consom-

mation globale sont toutes deux limitees (l’argent en est un bon exemple).

Qu’elle soit renouvelable ou consommable, la disponibilite d’une ressource

peut varier au cours du temps. Sa courbe de disponibilite est en general connue

a priori, sauf dans les cas ou elle depend du placement de certaines taches ge-

neratrices. On distingue par ailleurs principalement dans le cas de ressources

renouvelables, les ressources disjonctives qui ne peuvent executer qu’une tache

a la fois (machine-outil, robot manipulateur) et les ressources cumulatives qui

peuvent etre utilisees par plusieurs taches simultanement mais en nombre li-

mite (equipe d’ouvriers, poste de travail).

Les contraintes : Les contraintes expriment des restrictions sur les valeurs que

peuvent prendre simultanement les variables de decision. On distingue :

– Des contraintes temporelles concernent les contraintes de temps alloue, is-

sues generalement d’imperatifs de gestion et relatives aux dates limites des

taches (delais de livraisons, disponibilite des approvisionnements) ou a la

duree totale d’un projet et les contraintes de coherence technologique, ou

contraintes de gammes, qui decrivent des relations d’ordre relatif entre les

differentes taches.

– Des contraintes de ressources decrivent les contraintes d’utilisation de res-

Page 42: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.3. Les problemes d’ordonnancement en ligne et hors ligne 30

sources qui expriment la nature et la quantite des moyens utilises par

les taches, ainsi que les caracteristiques d’utilisation de ces moyens et les

contraintes de disponibilite des ressources qui precisent la nature et la

quantite des moyens disponibles au cours du temps. Toutes ces contraintes

peuvent etre formalisees sur la base des distances entre debuts de taches ou

potentiels.

L’equilibrage de charge (Load Balancing) : L’equilibrage de charge est une

technique relativement nouvelle qui facilite l’execution des taches entre des

ressources en fournissant un debit maximal avec un temps de reponse minimal

[55]. Divisant le trafic entre les serveurs, les donnees peuvent etre envoyees et

recues sans retard majeur. Differents types d’algorithmes sont disponibles qui

aide le partage de charges entre les serveurs disponibles. Un exemple d’equi-

librage de charge peut etre lie a l’acces aux sites Web. Sans equilibrage de

charge, les utilisateurs pourraient subir des retards, delais d’attente et des

eventuelles reponses du systeme longues. Des solutions d’equilibrage de charge

s’appliquent habituellement sur des serveurs redondants qui permettent une

meilleure repartition du trafic de communication de sorte que la disponibilite

des sites web est definitivement tranchee [9].

3.3 Les problemes d’ordonnancement en ligne et hors

ligne

Le but de l’ordonnancement des taches est de trouver un plan d’execution op-

timal des taches qui prend en consideration leurs contraintes : les ressources, le

budget, la date de fin, la performance, etc. En general, un probleme contraint se

compose de : taches, ressources, conditions contraintes et une ou plusieurs fonc-

tions objectifs. Il existe beaucoup d’algorithmes d’ordonnancement dans le Cloud

computing. Les problemes d’ordonnancement peuvent etre classes en deux grandes

categories :

Page 43: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.4. Les criteres d’optimisation 31

1. Les problemes d’ordonnancement en ligne (online) [69, 24] pour lesquels la

date d’arrivee (release date) des jobs n’est pas connue a l’avance ;

2. Les problemes d’ordonnancement hors ligne (offline) pour lesquels les dates

d’arrivees des jobs (generalement ils sont tous prets a t = 0 et toutes leurs

caracteristiques sont connues avant l’ordonnancement. Ces problemes ont ete

tres largement etudies pour les jobs sequentiels [53] et pour les jobs paralleles

[20, 23].

Les problemes d’ordonnancement online sont generalement plus difficiles que

les problemes offline, puisque nous ne connaissons qu’une partie des donnees du

probleme. En effet, les decisions prises pour le placement ou l’execution de taches

ne tiennent pas compte des donnees manquantes car on ne peut pas prevoir l’avenir

[62].

Le processus d’ordonnancement se composent de tout ou partie des etapes sui-

vantes : task prioritizing, resource provisioning/ allocation et enfin scheduling/mapping

[61].

– La phase task prioritizing : etablit l’ordre des taches de depart leurs pro-

prietes et leurs contraintes. Apres cette phase, on a une liste ordonnee.

– La phase resource provisioning/allocation : reserve ou alloue un en-

semble de ressources, c’est-a-dire qu’elle calcule le nombre de machines vir-

tuelles pour l’ordonnancement des taches.

– La phase scheduling/mapping : selectionne les ressources parmi celles

precedemment allouer qui permettent d’executer les taches selon l’ordre pre-

defini. Ou elle fait l’ordonnancement de chaque tache a des ressources qui lui

sont optimales.

3.4 Les criteres d’optimisation

Les ressources dans un environnement de Cloud peuvent etre choisies par di-

verses manieres. La selection des ressources peut etre aleatoires, Round Robin, ou

gourmande en fonction de la capacite de traitement de ressource et de temps d’at-

tente ou par tous les autres moyens. La selection des taches peut etre basee sur

Page 44: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.4. Les criteres d’optimisation 32

FCFS (First Come First Served), SJF (Short Job First), priorite, ou en groupant

un ensemble de taches. L’algorithme d’ordonnancement choisit la tache a execu-

ter et la ressource correspondante ou sera executee la tache. Car chaque strategie

de selection a certain bienfaits et pourrait etre effectuee dans cette direction pour

extraire les points avantageux de ces algorithmes et pour aboutir a une meilleure

solution qui essaye de reduire au minimum les inconvenients de l’algorithme utilise.

Quand nous concevons un algorithme d’ordonnancement pour un probleme par-

ticulier, nous cherchons a optimiser certains criteres. Comme nous allons le voir,

ce critere depend du probleme a traiter et il n’existe pas pour tous les problemes

d’ordonnancement un critere d’optimisation universel. Neanmoins, nous pouvons

donner quelques criteres d’optimisation frequemment utilises. Pour les problemes

hors ligne d’ordonnancement d’une collection de jobs ou d’un graphe de taches

dont les proprietes sont connues a l’avance, un critere d’optimisation souvent utilise

est la date de terminaison du dernier job ou de la derniere tache du graphe. Il s’agit

du temps de completion maximal ou makespan note Cmax. Il correspond au temps

passe par le systeme a realiser tout son travail.

Dans un cluster, les ressources de calcul ne sont pas illimitees, si bien que, quand

les processeurs sont tous occupes, les jobs de certains utilisateurs sont mis dans une

file d’attente. A cause de cette file d’attente, un critere d’optimisation est alors

le temps d’attente moyen (flow time note Fi) qu’il faut minimiser. Il s’agit de la

moyenne des temps Fi ecoules entre l’arrivee du job i dans le cluster (a la date

ai) et la fin de son execution (a la date Ci) : Fi = Ci - ai. Dans [5], Bender et al.

preconise plutot de minimiser la fonction max Fi. En effet, minimiser une moyenne

des temps d’attente a tendance a allonger les temps d’attente des petits jobs.

Dans le contexte des problemes d’ordonnancement de jobs pour les clusters, les

travaux de Bender et al. [5] aborde un critere d’optimisation frequemment utilise :

le stretch. Le stretch Si reflete le ralentissement engendre par l’execution en concur-

rence avec d’autres jobs dans le cluster : Si =Fi

Ciavec Fi le temps d’execution totale

du job i et Ci le temps de calcul du job i s’il s’executait tout seul sur le cluster. Le

calcul du stretch moyen correspond a la moyenne arithmetique de l’ensemble des

stretchs Si :1

N

∑i Si. Pour des raisons de risque de famine, les auteurs proposent

Page 45: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.5. L’ordonnancement et la virtualisation dans le Cloud computing 33

de minimiser le max stretch qui est le maximum des Si : maxiSi.

Pour l’ordonnancement d’un graphe de taches execute un grand nombre de fois,

il est judicieux d’utiliser le debit comme critere d’optimisation, notamment pour

l’ordonnancement de flux d’une meme application. Avec le debit, nous considerons

une fraction de tache realisee par unite de temps. Nous definissons la periode comme

etant le temps moyen separant deux executions terminees de deux instances d’une

application consecutives. Ainsi, il n’y a pas de critere d’optimisation universel. Ce-

pendant le choix du critere d’optimisation a une grande importance. Comme nous

venons de le voir a travers la minimisation du temps d’attente moyen des Fi, cette

optimisation conduit a des effets indesirables. Il est alors judicieux de remplacer ce

critere par le maximum des temps d’attente.

3.5 L’ordonnancement et la virtualisation dans le Cloud

computing

L’ordonnancement dans le Cloud computing est classe au niveau de l’utilisateur

et au niveau du systeme [59]. Au niveau de l’utilisateur, la planification traite les

problemes souleves par la prestation de services entre les fournisseurs et les clients.

La programmation au niveau systeme gere la gestion des ressources dans les centres

de donnees. Le Datacenter se compose de plusieurs machines physiques. Des millions

de taches des utilisateurs sont recues ; l’attribution de ces taches aux machines phy-

siques se fait au niveau des centres de donnees. Cette affectation d’ordonnancement

joue un role significatif sur les performances du Datacenter. En plus de l’utilisa-

tion du systeme, d’autres exigences comme la qualite de service, le SLA (Service

Level Agreement), le partage des ressources, la tolerance aux pannes, la fiabilite, la

satisfaction en temps reel, etc. devraient etre pris en consideration.

Les ordonnanceurs bases sur le modele du marche et sur les encheres sont ap-

propries pour reguler l’offre et la demande des ressources sur le nuage. L’alloca-

tion des ressources en fonction du modele economique de marche est efficace dans

un environnement de Cloud computing ou les ressources sont virtualisees et livres

a l’utilisateur en tant que service. Une suite d’algorithmes d’ordonnancement de

Page 46: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.5. L’ordonnancement et la virtualisation dans le Cloud computing 34

taches axees sur la base du modele de marche pour les environnements distribues

heterogenes est proposee dans le travail [74].

Le developpement d’un modele de tarification en utilisant le partage du proces-

seur dans les Clouds, l’application de ce modele de tarification aux services compo-

sites avec dependance et le developpement de deux ensembles de planification et de

profit conduit aux algorithmes proposes dans [37].

Le service d’approvisionnement en Cloud est base sur les accords au niveau de

service. SLA represente un contrat signe entre le client et le fournisseur de services

en precisant les termes de l’accord, y compris les exigences non fonctionnelles du

service specifie comme la qualite de service (QoS), des obligations et des sanctions

en cas de violation de l’accord. Il existe donc un besoin de strategies de planification

tenant compte de multiples parametres SLA et d’allocation efficace des ressources.

Une nouvelle heuristique d’ordonnancement tenant en compte de multiples para-

metres SLA pour le deploiement d’applications dans le Cloud est presente dans

[36]. L’algorithme d’ordonnancement qui permet le reapprovisionnement des res-

sources dans le Cloud en cas de defaillance est introduit dans [1]. L’objectif du

modele est de fournir une entente equitable pour les utilisateurs et les consomma-

teurs, une meilleure qualite de service, ainsi que la generation de cout optimal. Un

schema d’ordonnancement du nuage presente en [13] utilise SLA avec moniteur de

confiance pour fournir une planification plus rapide a la demande de l’utilisateur

avec un traitement securise. Une nouvelle approche pour l’heuristique d’ordonnan-

cement des requetes sur chaque serveur, dans chacun des centres de donnees repartis

geographiquement, a l’echelle mondiale pour un meilleur equilibrage de charge du

systeme de Cloud computing est propose dans [6].

Sur la base de la fonction de files d’attente et de modele de couts, et compte tenu

des objectifs des utilisateurs et des fournisseurs de services de Cloud computing, le

travail [39] propose un algorithme pour obtenir la valeur optimiste approximative

de service pour chaque emploi dans le modele de file d’attente prioritaire de preemp-

tion correspondant. Cette approche garantit les exigences de QoS des utilisateurs,

ainsi que le maximum de profits pour les fournisseurs de services de Cloud com-

puting. Pour faire face a la fluctuation dynamique des demandes de ressources,

Page 47: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.6. Les principaux algorithmes d’ordonnancement 35

l’allocation des ressources axee sur le marche a ete proposee et mise en œuvre par

l’infrastructure publique en tant que service (IaaS) des fournisseurs comme Amazon

EC2. Dans cet environnement, les ressources en nuage sont offertes dans differents

types de machines virtuelles (VM) et le fournisseur de Cloud execute un modele de

marche a base d’encheres pour chaque type de VM avec l’objectif d’atteindre un

maximum de revenus au fil du temps. Une etude de cas du fournisseur de Cloud

unique et la meilleure facon de la demande de la clientele en termes de l’offre et de

prix, afin de maximiser les revenus des fournisseurs et les satisfactions des clients

tout en reduisant le cout de l’energie est proposee dans [73]. Un autre mecanisme

a base d’encheres pour le provisionnement et l’allocation dynamique de VM qui

tient compte de la demande des utilisateurs pour les machines virtuelles lorsqu’ils

prennent des decisions de provisionnement de VM est propose dans [72].

3.6 Les principaux algorithmes d’ordonnancement

Nous presentons dans ce qui suit, les principaux algorithmes d’ordonnancement

et d’allocation de ressources cites dans la litteratures [26, 33, 29, 34] :

Algorithme Min-min : L’algorithme commence par calculer le temps d’exe-

cution minimale pour toutes les taches puis la valeur minimale entre ces temps

minimum est choisie ; qui represente le temps minimum d’execution parmi toutes

les taches sur les ressources. Ensuite, en fonction de ce temps minimum, la tache

est ordonnancee sur la machine correspondante. Puis le temps d’execution pour

toutes les autres taches sont mises a jour sur cette machine en ajoutant le temps

d’execution de la tache assignee a des temps d’execution des autres taches sur cette

machine/ressource et la tache assignee est supprimee de la liste des taches. Ensuite,

la meme procedure est repetee jusqu’a ce que toutes les taches soient assignees sur

les ressources [29].

Un exemple d’application de l’algorithme pour 6 taches et 4 machines virtuelles,

les temps d’execution (en milliseconde secondes) de toutes les taches sur toutes les

machines sont presentes sur le tableau 3.1 suivant :

Page 48: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.6. Les principaux algorithmes d’ordonnancement 36

M0 M1 M2 M3

T0 160 400 80 200

T1 40 100 20 50

T2 100 250 50 125

T3 20 50 10 25

T4 140 350 70 175

T5 80 200 40 100

Table 3.1 – Le temps d’execution des taches (Algorithme Min-min)

Le resultat d’execution des taches selon l’algorithme Min-min est donne dans la

Figure 3.1 suivante :

Figure 3.1 – Le resultat d’execution des taches selon Min-min

Algorithme Max-min : L’algorithme Max-min suit le meme principe que

l’algorithme Min-min a l’exception des proprietes suivantes : Apres avoir calculer

les temps d’execution minimum, la valeur maximale est selectionnee, qui est la

duree maximale parmi toutes les taches sur les ressources. Ensuite, en fonction de

ce temps maximum, la tache est ordonnancee sur la machine correspondante. Puis le

temps d’execution pour toutes les autres taches sont mises a jour sur cette machine

en ajoutant le temps d’execution de la tache assignee a des temps d’execution des

autres taches sur la machine qui a acquise la tache selectionnee et la tache assignee

Page 49: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.6. Les principaux algorithmes d’ordonnancement 37

est supprimee de la liste des taches. La meme procedure est repetee jusqu’a ce que

toutes les taches soient assignees sur les ressources [34].

Le resultat d’execution des taches selon l’algorithme Min-max est donne dans

la Figure 3.2 suivante en utilisant les memes parametres du tableau 3.1 :

Figure 3.2 – Le resultat d’execution des taches selon Max-min

Algorithme Round Robin : Cet algorithme suit une strategie simple qui

consiste a distribuer de maniere equitable les taches sur les machines virtuelles dis-

ponibles, c’est-a-dire que le nombre de taches pour chaque machine virtuelle est le

meme. Cet algorithme est implemente dans le simulateur CloudSim [12].

Algorithme FIFO/FCFS : L’algorithme FIFO (First In First Out) ou FCFS

(First Come First Served) est l’un des algorithmes les plus simple qu’il soit. L’idee

est d’ajouter chaque tache et ressource disponible dans une file et d’executer chaque

tache et ressource par ordre d’arrivee. Cet algorithme est implemente dans le simu-

lateur CloudSim [12].

Shortest Job First (SJF)/Plus court d’abord : L’algorithme SJF ressemble

au FIFO, mais au lieu d’executer dans l’ordre d’arrivee, on choisit d’executer celui

qui sera le plus court. Mais le probleme est de determiner le temps d’execution

d’une tache avant de l’executer et pour cela il faut se baser sur une estimation.

Page 50: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.7. Les algorithmes d’ordonnancement pour les applicationsscientifiques 38

Earliest Deadline First scheduling (EDF) : Dans le meme ordre d’idee,

on peut aussi choisir d’executer en premier la tache qui necessite d’etre fini le plus

rapidement. Cet algorithme est utilise pour les systemes temps reel. C’est un ordon-

nancement preemptif avec priorite dynamique : la tache la plus prioritaire est celle

dont la date de fin est la plus proche, c’est a dire que plus le travail doit etre realise

rapidement, plus elle est prioritaire. Cependant, il est assez complexe a le mettre

en œuvre et il se comporte mal en cas de surcharge du systeme, c’est la raison pour

laquelle il est peu utilise.

3.7 Les algorithmes d’ordonnancement pour les appli-

cations scientifiques

Cette section presente une serie de travaux qui traitent differentes strategies

d’ordonnancement des workflows dans les grilles et les Clouds afin d’identifier les

caracteristiques et les possibilites dans les environnements mentionnes pour l’ordon-

nancement des taches et des ressources.

La Figure 3.3 decrit l’execution de plusieurs workflows sur plusieurs Clouds.

Tout d’abord, le client envoie son job a la couche Broker [22] ou l’algorithme d’or-

donnancement est installe. On suppose que tous les jobs sont formes par des DAGs

(Directed Acyclic Graph), chaque tache est representee par un cercle. Apres, l’al-

gorithme prioritise les taches et reserve des ressources dans le cloud prive et public.

Ensuite, il choisit pour chaque tache la ressource adequate pour l’executer. Enfin,

le resultat de calcul du job est renvoye a l’utilisateur [61]. La resolution de l’ordon-

nancement des taches, specialement dans un systeme distribue et heterogene, est de

complexite NP-hard. En general, des algorithmes courants utilisent des heuristiques

pour trouver une solution qui est quasi-optimal [22]. Le Tableau 3.2 presente les al-

gorithmes d’ordonnancement de workflows pour les environnements Clouds pour

optimiser l’utilisation de cout et de performance.

Page 51: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.7. Les algorithmes d’ordonnancement pour les applicationsscientifiques 39

Figure 3.3 – L’execution de plusieurs workflows sur plusieurs Clouds [22]

Le Tableau 3.2 se compose de 6 colonnes ou chaque ligne presente un algorithme

avec son nom, une description, sa strategie, ses caracteristiques, ses avantages et

ses inconvenients, etc. Pour la deuxieme colonne, nous presentons brievement l’al-

gorithme et son idee. Apres, nous presentons les parametres qu’il optimise. La pre-

miere, c’est makespan, il presente le temps complet d’execution du workflow de la

premiere tache a la derniere tache. L’algorithme doit trouver la valeur minimale.

Ensuite, c’est le cout minimal a payer quand on utilise les services. Les autres sont :

la fidelite, la securite, le taux de reussite, le taux de vitesse, etc. La colonne outil

presente le simulateur ou l’environnement de deploiement de l’algorithme. Enfin, les

2 dernieres colonnes presentent les avantages et les inconvenients des algorithmes

d’ordonnancement.

Page 52: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.7. Les algorithmes d’ordonnancement pour les applicationsscientifiques 40

Algorithme Resume Parametres Outil Avantages Inconvenients

Compromised

time-cost

scheduling

algorithm

(CTC) [41]

Un algorithme

d’ordonnancement

CTC pour

l’execution de

workflow dans le

Cloud computing.

Il est centre sur des

contraintes d’une

relation interactive

entre le temps et le

cout comme un

compromis qui est

base sur des

caracteristiques du

Cloud

Makespan,

cout

monetaire

SwinDeWC

L’algorithme a une

pre-etape pour

decouvrir et

reordonner les

taches echouees. Il

exploite l’effet

interactif entre le

cout et le deadline

qui agit sur la

performance du

workflow. De plus,

il permet a

l’utilisateur de

redefinir leurs

deadline et leurs

couts dans chaque

cycle de

l’ordonnancement

Il ne considere pas

simultanement les

deux contraintes

dans le workflow

pour minimiser la

performance totale

Learning

architec-

ture for

scheduling

(LA) [3]

L’article propose

une nouvelle

approche pour

l’ordonnancement

du workflow dans

le Cloud

computing, c’est

l’architecture

d’apprentissage qui

utilise un processus

de decision pour

diriger

optimalement le

processus

d’execution du

workflow selon

l’etat de

l’environnement

Makespan,

cout

monetaire

Cloudsim

Il s’adapte

automatiquement

au changement

d’environnement

des ressources par

l’apprentissage. De

plus, il garantit

l’execution reussie

du workflow

L’espace d’etat

pour faire des

taches est grande

en incluant

l’utilisation ou

non-utilisation des

ressources selon le

temps. Il ne

considere pas les

types de VMs. Il

repete l’evaluation

de la fonction

fitness

Page 53: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.7. Les algorithmes d’ordonnancement pour les applicationsscientifiques 41

Deadline

and budget

distribu-

tion based

cost-time

optimiza-

tion

scheduling

algorithm

(DBD-

CTO)

[65]

Cet algorithme

minimise le cout

d’execution tout en

repondant au delai

pour l’obtention des

resultats et analyse

le comportement de

l’algorithme

Makespan,

cout

monetaire

Java

Il garantit que toutes

les taches sont faites

par leurs contraintes

correspondantes

Il ne fait pas avec un

reordonnancement

quand une tache

n’est pas terminee.

De plus, il est

statique

Multiple

QoS

constrai-

ned

scheduling

strategy of

multiple

workflows

(MQMW)

[68]

La strategie peut

faire

l’ordonnancement

pour multiple

workflows qui sont

demarres tous en

meme temps et les

exigences de QoS

sont prises en

compte. Il considere

4 facteurs qui

affectent grandement

le makespan, le cout

et le taux de reussite

du workflow

Taux de

reussite,

cout, temps,

makespan

CloudSim

Il s’accorde avec les

multiples workflows

et le

multiple-objectifs

optimal en

meme-temps. De

plus, il considere la

performance totale

par 3 contraintes.

Une tache est

toujours terminee

Il ne fait pas un

re-ordonnancement

quand une tache

n’est pas terminee

Scheduling

Scientific

Workflows

Elastically

SSWE [40]

SSWE fait

l’ordonnancement

d’un workflow

elastique sur le

Cloud computing

pour optimiser le

temps d’execution

du workflow et met a

echelle elastique des

ressource lors de

l’execution

Le temps

d’execution,

capacite

CloudSim

Il considere les

changements

elastiques des

ressources quand le

workflow s’execute.

De plus, les

ressources peuvent

etre assignees

seulement quand

elles sont necessaire

Il groupe des

ressources qui sont

de meme capacite de

calcul dans un

cluster. Il ne

considere pas

d’autres

caracteristiques de

VMs comme : le

prix, le stockage, la

bande passante, etc.

Table 3.2 – Comparaison entre les algorithmes d’ordonnancement des workflows

Page 54: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.7. Les algorithmes d’ordonnancement pour les applicationsscientifiques 42

Dans [44], les auteurs presentent une strategie d’ordonnancement des taches dy-

namique qui traite la relation entre l’utilisateur et la ressource. Dans cette approche,

les ressources ne sont pas considerees individuellement, mais regroupees. L’ordon-

nanceur, dans cette approche, selectionne les sites, et cette selection est faite par

une strategie opportuniste. Il vise a repartir les taches du flux de travail a travers

des sites de la grille en fonction de leurs performances.

Le travail [67] presente une etude de programmation des applications de work-

flow sur les grilles base sur un modele d’ordonnancement bi-criteres. Il utilise le

Constraint Algorithme dynamique (DCA) comme une solution au probleme d’op-

timisation avec deux criteres independants (execution et cout). L’algorithme choi-

sit un critere primaire et l’utilisateur etablit un pourcentage de variation pour le

deuxieme critere. Cependant, cette approche ne tient pas compte des exigences de

qualite de service, ne differenciant pas la qualite des ressources et des services. Il

n’utilise pas le regroupement des taches pour reduire la consommation de bande

passante. Dans [70], le travail presente un algorithme d’ordonnancement base sur le

cout des flux de travail pour les applications en temps reel. Le but de l’algorithme

est de developper un programme qui minimise le cout et repond aux contraintes

de temps imposees par l’utilisateur. Le flux de travail est divise en sous-ensembles

de taches pour l’etablissement d’un seul flux. Les taches qui ne forment pas un

seul flux sont separes et chacune d’entre elles fonctionne comme un sous-ensemble

independant.

Le theme de la replication des taches a ete largement exploree dans le contexte

des systemes de grille sans aborder la question du cout et de l’utilisation des res-

sources. Des recentes recherches sont portes sur des algorithmes qui sont conscients

de la complexite des environnements de Cloud lors de leur utilisation pour ordon-

nancer des applications de workflow. Reynolds [52] a propose l’utilisation de Cloud

pour completer les ressources de la grille. Cependant, les ressources de Cloud sont

deployes dans le but de repliquer les taches lentes pour augmenter les chances d’un

achevement rapide du flux de travail. La methode proposee n’est pas optimisee soit

pour le budget et pour le temps d’execution ; par contre, elle fonctionne dans des

meilleures conditions lorsque les taches en retard sont detectees. Xu et al. [68] et

Page 55: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

3.8. Conclusion 43

Mao et Humphrey [42] ont propose des algorithmes pour l’ordonnancement de plu-

sieurs flux de travail dans les Clouds. Rahman et al. [51] ont propose un algorithme

pour les Clouds hybrides, ou au moins une partie des ressources peut etre utilisee

sans cout et avec un niveau plus eleve de controle de performance.

3.8 Conclusion

La theorie d’ordonnancement de taches et d’allocation de ressources dans les

systemes de Cloud computing suscite une attention croissante avec l’augmentation

de la popularite de Cloud. En general, l’ordonnancement de taches est le processus

d’affectation des taches aux ressources disponibles sur la base des caracteristiques

et des conditions des taches. C’est un aspect important dans le fonctionnement effi-

cace du Cloud, car de divers parametres de taches doivent etre pris en consideration

pour un ordonnancement approprie. Les ressources disponibles devraient etre utili-

sees efficacement sans affecter les parametres de service du Cloud. Dans le cadre de

ce travail, nous proposons trois strategies d’ordonnancement et d’allocation de res-

sources. Le chapitre suivant permet de decrire nos contributions, leurs demarches,

ses differentes phases, et les algorithmes necessaires ainsi que les differentes etapes

formalisees a l’aide du langage UML (Unified Modeling Langage).

Page 56: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 4

Strategies d’ordonnancement et

d’allocation de ressources pour

les Clouds scientifiques

Sommaire

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2 Strategie d’ordonnancement basee sur la replication de don-

nees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2.1 Etape de construction . . . . . . . . . . . . . . . . . . . . . . . 47

4.2.2 Etape d’execution . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.2.3 Service de gestion de replication dynamique . . . . . . . . . . . 60

4.3 Strategie d’ordonnancement basee sur le groupement de

taches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

4.3.1 Etape de construction . . . . . . . . . . . . . . . . . . . . . . . 64

4.3.2 Etape d’ordonnancement . . . . . . . . . . . . . . . . . . . . . 66

4.4 Strategies d’ordonnancement et d’allocation de ressources

pour les Big Data . . . . . . . . . . . . . . . . . . . . . . . . . 67

4.4.1 La premiere variante OADTV . . . . . . . . . . . . . . . . . . . 67

4.4.2 La deuxieme variante OAAMV . . . . . . . . . . . . . . . . . . 69

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

Page 57: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.1. Introduction 45

4.1 Introduction

Dans les chapitres precedents, nous avons presente les notions de base du Cloud

Computing, et nous avons explore et compare certaines strategies d’ordon-

nancement de taches et d’allocation de ressources. Notre objectif principal est

de proposer et d’implementer des strategies d’ordonnancement et d’allocation de

ressources de donnees scientifiques afin d’ameliorer certaines metriques de perfor-

mances tels que le temps de reponse, le temps d’attente, le nombre de deplacements

des donnees et le cout total engendre. Le present chapitre permet de decrire nos

trois contributions, d’expliquer leurs demarches, de detailler leurs differentes phases,

et de decrire les algorithmes necessaires, ainsi que les diagrammes du langage UML

(Unified Modeling Langage) pour modeliser les demarches de l’ensemble des diffe-

rentes etapes.

4.2 Strategie d’ordonnancement basee sur la replica-

tion de donnees

Dans cette section, nous decrivons notre premiere contribution a savoir une

strategie pour l’ordonnancement des taches et l’allocation de ressources, destinee

aux applications de workflows scientifiques distribuees. Cette strategie est etablie

a partir d’une matrice de clusterisation (classification) basee sur l’algorithme des

K-means [48].

La Figure 4.1 donne une vue globale sur les principales etapes de la strategie, et

qui est realisee a partir d’une simple instance de workflow (prise comme exemple).

Page 58: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 46

Figure 4.1 – Vue globale de la strategie utilisee

L’approche utilisee [71] comprend deux etapes importantes. Chacune d’elles

contient un ensemble d’operations a effectuer. En plus de ces deux etapes, nous

avons etendu la strategie avec un service de replication qui constituera la troisieme

phase de ce travail [15, 18]. Ces trois etapes se resument comme suit :

1. Etape de construction : Represente la premiere partie de la strategie, dans

laquelle les operations suivantes doivent etre realisees :

– Construction de la matrice de dependances ;

– Etablissement de la matrice de dependances clusterisee ;

– Partitionnement et deplacement des donnees vers leurs nouveaux emplace-

ments ;

– Obtention du parametre K, pour l’algorithme des K-means.

Page 59: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 47

2. Etape d’execution : Represente la deuxieme partie de la strategie, dans

laquelle les operations suivantes doivent etre effectuees :

– Ordonnancement et execution des taches ;

– Traitement des donnees generees en appliquant l’algorithme des K-means ;

3. Etape de replication : Represente l’extension ajoutee a la strategie utilisee.

Elle comprend un service de replication dynamique des donnees.

4.2.1 Etape de construction

Durant la phase de construction, un modele de matrice sera utilise pour represen-

ter les donnees existantes. Un pre-classement de ces donnees sera, ensuite, effectue

en appliquant des transformations a cette matrice et en distribuant les donnees sur

differents datacenters. Cette distribution representera les partitions initiales pour

l’algorithme des K-means, qui sera utilise durant l’etape d’execution.

L’etape de construction se constitue, a son tour, de deux etapes :

– Mise en place et clusterisation de la matrice de dependance ;

– Partitionnement et distribution des datasets.

4.2.1.1 Mise en place et clusterisation de la matrice de dependance

Dans les Clouds executant des workflows scientifiques, de nombreuses instances

vont etre executees simultanement. Certaines taches utiliseront un nombre impor-

tant de donnees et produiront, ainsi, plusieurs autres donnees en sortie.

Dans le but d’executer une tache, toutes les donnees requises doivent etre situees

dans le meme datacenter et cela peut necessiter certains mouvements des donnees

aussi appelees datasets.

En outre, si deux datasets sont toujours utilises ensemble par de nombreuses

taches, ils doivent etre stockes ensemble dans le but de reduire la frequence du

mouvement de donnees.

De ce fait, de nombreux algorithmes et operations doivent etre effectues, la

demarche se presente comme suit :

Page 60: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 48

1. Calcul des dependances :

Deux ensembles sont a considerer, l’ensemble de datasets note par D et l’en-

semble de taches note par T . Chaque dataset di ∈ D possede deux attributs

notes : 〈Ti, si〉 ou Ti ⊂ T est l’ensemble de taches qui utiliseront le dataset di,

si etant la taille de di. Deux datasets di et dj sont dits dependants s’il existe

des taches qui utiliserons a la fois di et dj . La quantite de cette dependance

est egale au nombre de taches communes entre di et dj (voir Formule 4.1) :

dependencyij = Count(Ti⋂Tj) (4.1)

2. Construction de la matrice de dependance DM :

Chaque element de la matrice DM, note DMi,j = dependencyij . Pour les ele-

ments de la diagonale, chaque valeur DMi,i representera le nombre de taches

qui vont utiliser le dataset di. DM est une matrice symetrique de dimension

n× n ou n est le nombre total des datasets existants.

3. Elaboration de la matrice de dependance clusterisee :

Le Bond Energy Algorithm (BEA) [43] sera applique sur la matrice DM dans

le but de regrouper les valeurs similaires ensembles, c’est-a-dire que les grandes

valeurs ensembles et les petites valeurs ensembles.

Deux mesures, BEC et BEL sont definies pour cet algorithme. La permutation

est faite de telle sorte que ces mesures (voir les Formules 4.2 et 4.3) soient

maximisees :

BECi, j =

n∑i=1

DMi,j ×DMi,j+1 (4.2)

BELi, j =n∑

j=1

DMi,j ×DMi+1,j (4.3)

Algorithme du BEA : Le Bond Energy Algorithm [43] a ete propose en 1972

et a ete largement utilise dans les systemes de bases de donnees distribues. C’est un

algorithme de permutation qui peut regrouper, ensemble, les objets similaires dans

Page 61: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 49

la matrice en calculant des energies (d’ou son nom) et en permutant les lignes et

les colonnes.

Apres de nombreuses iterations, le resultat de l’application de cet algorithme

donnera une matrice de dependance clusterisee notee CM . La Figure 4.2 resume, a

travers un diagramme d’activite, cette phase de mise en place et clusterisation de

la matrice de dependance.

Figure 4.2 – Diagramme d’activite de la phase de mise en place et clusterisation

de la matrice de dependance

4.2.1.2 Partitionner et distribuer les datasets

Au cours de cette partie, deux operations importantes seront effectuees. Ces

dernieres sont le partitionnement et la distribution des datasets.

A. Etape de Partitionnement :

L’ensemble des datacenters est note DC dans lequel chaque datacenter dcj possede

une capacite de stockage notee csj . Un algorithme de partitionnement binaire (voir

Algorithme 1) sera applique sur la matrice CM dans le but d’obtenir le meilleur

partitionnement binaire possible. Une mesure PM (voir Formule 4.4) est definie

pour cet algorithme.

Page 62: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 50

PM =

p∑i=1

p∑j=1

CMij ×n∑

i=p+1

n∑j=p+1

CMij − (

p∑i=1

n∑j=p+1

CMij)2 (4.4)

Cette mesure signifie que les datasets dans chaque partition auront des depen-

dances plus elevees qu’avec les datasets qui se trouvent dans les autres partitions.

Algorithme de partitionnement binaire : Cet algorithme a ete mis en place

afin de partitionner, dans un premier temps, la matrice CM en deux parties (ou deux

sous-matrices). Le principe de cet algorithme est definit comme suit :

Etant donne un ensemble D de datasets, l’algorithme essaye, a chaque iteration,

de former deux groupes differents a partir des datasets existants, dans le but de

trouver la meilleure combinaison possible. L’operation s’effectue en variant la valeur

de p et en choisissant la valeur maximum de PM . Choisir une valeur max pour PM

signifie que les datasets se trouvant dans le meme groupe ont une dependance plus

elevee que s’ils etaient regroupes autrement.

Algorithme 1 Algorithme de partitionnement binaire

Input : CM : Matrice de dependance clusterisee.

Output : CMT et CMB : Deux matrices clusterisees representant les 2 partions de

CM .

Description :

1: pour p := 1, p ≤ n− 1, p+ + faire

2: Calculer PM (formule 4.4)

3: pour tout PMs obtenues faire

4: Choisir p/ sa valeur PM = MAX

5: Prendre p point de coupure et Partitionner CM en CMT et CMB

6: retour CMP ;

Apres de nombreuses operations, le resultat de l’application de cet algorithme

donnera deux matrices clusterisees notees CMT et CMB. La matrice CMT repre-

sente la premiere partition de CM , elle contient le sous-ensemble de datasets DT /

DT = {d1, d2, ..., dp}. DT est de taille dsT / dsT=∑p

i=1 si. La matrice CMB repre-

sente la deuxieme partition de CM , elle contient le sous-ensemble de datasets DB/

Page 63: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 51

DB = {dp+1, dp+2, ..., dn}. DB est de taille dsB/ dsB=∑n

i=p+1 si. P etant le point

de coupure.

La Figure 4.3 montre un diagramme d’activite decrivant l’algorithme de parti-

tionnement de la matrice de dependance clusterisee.

Figure 4.3 – Diagramme d’activite pour le partitionnement de la matrice de de-

pendance clusterisee

B. Etape de distribution :

Dans cette partie, nous devons distribuer les datasets sur les datacenters. Un para-

metre note λini est introduit pour chaque datacenter dcj ∈ DC. Il designe l’usage

initial (en %) de la capacite de stockage du datacenter, c’est-a-dire, que la taille ini-

tiale des datasets qui vont se trouver dans dcj ne pourra pas depasser csj ∗ λini. La

valeur de λini dependra du type d’application en cours d’execution [71]. De ce fait,

nous avons etabli une liste d’applications avec les valeurs de λini correspondantes

(Voir Tableau 4.1) :

Page 64: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 52

Type d’application Valeur de λini

Bio-informatique 50%

Astronomie 40%

Physique nucleaire 20%

Sismologie 60%

Sciences de la sante 30%

Table 4.1 – Valeurs de λini par rapport aux types d’applications

Un algorithme de distribution (voir Algorithme 2) sera applique sur la matrice

CM .

Algorithme de distribution : Cet algorithme a ete concu dans le but d’af-

fecter les datasets existants aux datacenters disponibles, en suivant certaines condi-

tions. Le principe de cet algorithme est :

Etant donne un ensemble DC de datacenters, l’algorithme calcule pour chacun

d’eux, sa capacite de stockage initiale (Ligne 2 de l’Algorithme 2). Ensuite, il verifie

si les datacenters disponibles pourront heberger tous les datasets existants (Ligne 3

de l’Algorithme 2). Si la condition precedente est satisfaite, l’algorithme partitionne,

d’abord, la matrice CM (Ligne 4 de l’Algorithme 2) et ensuite, refait l’operation (si

necessaire) avec les sous-matrices MCT et MCB jusqu’a trouver un datacenter dci

d’une capacite de stockage (parmi celles disponibles) qui puisse heberger la partition

en question. (En cas de non satisfaction de la condition, la distribution ne pourra

pas s’effectuer). Une fois le datacenter dci trouve, la distribution des datasets est

effectuee (Lignes 12 et 20 de l’Algorithmes 2), ainsi que l’affectation de l’identifiant

du datacenter a l’ensemble K.

Des appels recursifs de l’algorithme de distribution sont executes, jusqu’a la

distribution de la derniere partition.

La Figure 4.4 montre un diagramme d’activite decrivant la phase de partition-

nement et distribution des datasets.

Page 65: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 53

Algorithme 2 Algorithme de distribution des datasets

Input : CM : Matrice de dependance clusterisee.

DC : Ensemble de datacenters.

Output : K : Ensemble de datacenters avec les datasets initiaux.

Description :

1: pour each dcj ∈ DC faire

2: i csj = csj ∗ λini

3: si∑n

i=1 si <∑m

j=1 (csj ∗ λini) alors

4: Partitionner CM (Algorithme 1)

5: si dsT < maxmj=1csj alors

6: Trouver dci ∈ DC

7: si csi = minmj=1(csj > dsT ) alors

8: Distribuer CMT dans dci

9: Mettre dci dans K

10: i csj = i csj − dsT

11: sinon

12: Partitionner et Distribuer CMT (Algorithme 1, 2)

13: si dsB < maxmj=1 alors

14: Trouver dci ∈ DC

15: si csi = minmj=1(csj > dsB) alors

16: Distribuer CMB dans dci

17: Mettre dci dans K

18: i csj = i csj − dsB

19: sinon

20: Partitionner et Distribuer CMB (Algorithme 1, 2)

21: La distribution ne peut pas etre effectuee //Taille des datasets > Capa-

cite des DC

22: retour K ;

Page 66: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 54

Figure 4.4 – Diagramme d’activite de la phase de partitionnement et distribution

des datasets

Page 67: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 55

Le resultat obtenu, de la phase de partitionnement et distribution, est l’ensemble

de datacenters sur lesquels nous avons effectue une distribution. Cet ensemble note

K represente le parametre d’entree pour l’algorithme du K-means qui s’effectuera

dans l’etape d’execution. Avec ce troisieme algorithme, l’etape de construction

s’acheve pour donner naissance a l’etape d’execution.

4.2.2 Etape d’execution

Durant la phase d’execution, l’algorithme des K-means [48] sera utilise afin

de classifier, dynamiquement, les datasets generes en affectant chacun deux a l’un

des K datacenters obtenus durant l’etape de construction. Comme pour l’etape de

construction, cette etape, contient, elle aussi, deux phases importantes :

– Ordonancement et execution des taches ;

– Preallocation des datasets generes par un algorithme de classification.

4.2.2.1 Ordonnancement et execution des taches

Avant de se preoccuper des datasets qui vont etre generes, il faudrait, d’abord

executer les taches existantes. Etant donne que le deplacement de datasets d’un

datacenter vers un autre est plus couteux que l’ordonnancement des taches vers ce

datacenter. Un algorithme d’ordonnancement des taches est utilise (Algorithme 3).

Dans cet algorithme, la technique employee se base sur le placement des datasets,

c’est-a-dire, les taches pretes sont ordonnancees vers le datacenter qui contient la

majorite des datasets requis. Une tache est dite prete si tous les datasets requis

appartiennent a l’ensemble des datasets existants. Une fois les taches executees, de

nouveaux datasets sont generes.

La Figure 4.5 montre un diagramme d’activite decrivant l’ordonnancement et

l’execution des taches.

Page 68: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 56

Algorithme 3 Algorithme d’ordonnancement

Input : T : Ensemble de taches.

DC : Ensemble de datacenters.

Output : Toutes les taches ordonnancees vers le datacenter approprie.

Description :

pour chaque ti ∈ T faire

si les datasets requis par ti sont disponibles alors

Ordonnancer ti vers dcj pour s’executer

si dcj possede la majorite des datasets requis par ti alors

Mettre etat ti= pret

sinon

etat ti= non pret

pour chaque ti ∈ T faire

si etat ti= pret alors

Executer ti

Figure 4.5 – Diagramme d’activite de la phase d’ordonnancement et execution des

taches

Page 69: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 57

4.2.2.2 Pre-allocation des datasets generes par un algorithme de classi-

fication

Une fois generes, les nouveaux datasets seront classifies a l’aide de l’algorithme

des K-means [48], en suivant la demarche suivante :

A. Choix du Datacenter destinataire

Etant donne du un nouveau dataset genere et Tu l’ensemble des taches qui

utiliseront du. Le calcul de la dependance entre du et les K datacenters se

procede comme suit :

1. En premier lieu, le calcul des dependances entre du et tous les datasets

existants est effectue. Aussi, une colonne et une ligne seront ajoutees a

la matrice de dependance DM , ou :

DMui = dependencyui = Count(Tu⋂Ti) i = 1, 2, .., n (4.5)

2. En second lieu, le calcul des dependances entre du et les K datacenters

est effectue, ou :

dc depuj =∑

dm∈dcj

dependencyum j = 1, 2, ..,K (4.6)

Une fois, les K dependances calculees, le datacenter avec la plus grande valeur

de dependance est selectionne (la dependance entre deux datasets represente

le nombre de taches qui les executent ensemble, plus elle est elevee dans un

datacenter donne plus le dataset genere est dependant et doit se trouver avec

les datasets de ce datacenter). Ce dernier est note dch, ou :

dc depuh = maxKj=1(dc depuj) (4.7)

dch est le datacenter dans lequel le dataset du va etre stocke. Une verification

de la capacite de stockage disponible pour ce datacenter est effectuee avant le

deplacement de du.

B. Verification de l’espace de stockage

Un parametre note λmax est introduit pour chacun des K datacenters. Il

designe l’usage maximal (en %) de la capacite de stockage du datacenter, c’est-

a-dire, un seuil indiquant quand est-ce qu’un datacenter devient surcharge.

Page 70: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 58

La valeur de λmax dependra de la charge de travail globale du systeme. De ce

fait, nous supposons que tous les datacenters ont une charge plus au moins

egale. Par consequent, la valeur de λmax sera la meme pour tous, ainsi : λmax

= 90 % ([71]).

De ce fait, les datasets generes ne peuvent utiliser qu’un taux limite de la

capacite de stockage d’un datacenter dci, note par csiUT , tel que :

csiUT = csi ∗ (λmax − λini) (4.8)

Enfin, le dataset genere du sera deplace au datacenter dch selectionne si la

formule 4.9 est verifiee :

csh ∗ λ+ su < csh ∗ λmax (4.9)

ou su est la taille de du est λ est le pourcentage de l’usage en cours de la

capacite de stockage de dch.

Les demarches ci-dessus representent les operations elementaires qu’utilisera

l’algorithme des K-means pour la classification des datasets generes.

Algorithme des K-means

L’algorithme des K-means, ou K-moyennes a ete propose en 1967 [48]. Il figure

parmi les techniques de classification non supervisee (clustering) les plus uti-

lisees pour resoudre les problemes de classification. Son principe se constitue

des etapes suivantes :

i) Placer K points d’entree : C’est K points representeront les groupes

initiaux, sur la base desquels la classification s’effectuera. Dans notre tra-

vail, ces points d’entree sont les K datacenters resultant de la phase de

construction.

ii) Calculer des distances avec les K points : Dans notre strategie, ce

sont les dependances qui sont calculees (voir formules 4.5 et 4.6).

iii) Choisir le point le plus proche : Dans notre cas, la notion de proche

Page 71: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 59

est exprimee en terme de plus grande valeur de dependance avec l’un des

K datacenters (voir Formule 4.7).

iv) Classifier : Une fois le datacenter approprie trouve et apres une veri-

fication de la capacite de stockage disponible (voir Formules 4.8 et 4.9) ;

l’affectation des datasets est effectuee.

La Figure 4.6 montre un diagramme d’activite decrivant la gestion des datasets

generes avec l’algorithme des K-means.

Figure 4.6 – Diagramme d’activite pour la gestion des datasets generes avec l’al-

gorithme des K-means

Remarques :

1. Vu que λmax represente le pourcentage de l’espace de stockage total d’un data-

center, chaque datacenter aura toujours un certain espace disponible (100%−

λmax) pour faciliter le mouvement des datasets durant la re-distribution.

Page 72: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 60

2. Dans le cas ou λmax est mis a 100%, un espace de stockage additionnel et

temporaire peut etre requis pour servir comme buffer, avant l’accomplisse-

ment du processus d’ajustement. Cependant, cette situation ne se produit

que rarement dans le systeme et ce pour les causes suivantes :

(a) La taille totale des datasets dans le systeme est plus petite que celle de

la capacite de stockage disponible dans tous les datacenters, car nous

sommes sur que les datacenters peuvent heberger tous les datasets du

systeme ;

(b) Pour chaque datacenter, nous reservons certain espace de stockage pour

les datasets generes pendant l’execution (cs ∗ (λmax − λini)), cet espace

de stockage n’est pas toujours tres utilise, parce que nous supprimons les

datasets obsoletes, dynamiquement.

Dans le but d’ameliorer et d’augmenter les performances de l’approche utilisee,

nous proposons de l’etendre par un service de gestion de replication dynamique.

4.2.3 Service de gestion de replication dynamique

Durant l’etape d’execution, chacune des taches va etre ordonnancee vers le data-

center qui possede la majorite des datasets requis. Avec cette approche, nous allons

essayer de repliquer certains datasets dans le but de minimiser leurs deplacements

d’un datacenter vers un autre et par consequent reduire le temps de reponse des

requetes des utilisateurs. Pour ce faire nous avons elabore un algorithme pour la

replication des datasets.

Afin de repliquer certains datasets importants, les plus frequemment utilises, un

algorithme a ete mis en place. Son principe peut etre decrit comme suit :

1. Etant donne un ensemble T des taches s’executant dans un datacenter donne,

nous calculons la majorite absolue pour cet ensemble. Cette majorite repre-

sente le seuil a partir duquel la replication s’effectuera (Ligne 1 de l’Algo-

rithme 4). Ainsi, dans chaque datacenter, le seuil dependra du nombre de

taches s’executant dans ce datacenter (voir les Formules 4.10 et 4.11). Si :

Page 73: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 61

Nb tches = pair =⇒ Seuil = (Nb tche \ 2) + 1 (4.10)

Nb tches = impair =⇒ Seuil = (Nb tche+ 1) \ 2 (4.11)

2. Pour chaque tache nous marquerons les datasets qui ne sont pas disponibles

dans le datacenter destinataire, c’est-a-dire, que chaque datacenter contiendra

sa propre liste de marquage qui sera etablie en fonction des datasets non dispo-

nibles en local et qui doivent etre deplaces (Lignes 2 jusqu’a 4 de l’Algorithme

4).

3. Si la majorite des taches requierent le deplacement du meme dataset, ce der-

nier va etre replique, afin d’eviter son deplacement pour chaque tache (Lignes

6 et 7 de l’Algorithme 4).

4. La replication doit s’effectuer au niveau du datacenter destinataire sur lequel

les taches, qui requierent le dataset marque, s’executeront.

5. Dans le cas ou il y a plusieurs datasets marques pour lesquels le marquage

a atteint le seuil, la replication s’effectuera pour l’ensemble de ces datasets

marques. Une fois les datasets en question repliques, l’execution des taches

commence.

Page 74: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.2. Strategie d’ordonnancement basee sur la replication de donnees 62

Algorithme 4 Algorithme de replication

Input : T : Ensemble de taches.

K : Ensemble de datacenters resultant de l’etape de construction.

Output : Datasets repliques.

Description :

Calculer le Seuil

pour chaque dcj ∈ K faire

pour chaque ti ∈ T faire

si dj est requis par ti mais dj /∈ dci alors

Marquer dj

si Nombre de marquage >= Seuil alors

repliquer dj

pour chaque dcj ∈ K faire

Mettre a jour csj

pour chaque ti ∈ T faire

Executer ti

La Figure 4.7 expose un diagramme d’activite decrivant le service propose pour

les replications dynamiques.

Page 75: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.3. Strategie d’ordonnancement basee sur le groupement de taches 63

Figure 4.7 – Diagramme d’activite pour la phase de la replication dynamique

4.3 Strategie d’ordonnancement basee sur le groupe-

ment de taches

Dans cette section, nous decrivons notre deuxieme contribution a savoir une

strategie pour l’ordonnancement des taches et l’allocation de ressources, destinee

aux applications de workflows scientifiques distribuees. La strategie d’ordonnance-

ment est basee sur le groupement de taches [17] qui se compose de deux grandes

etapes :

– Etape de construction ;

– Etape d’ordonnancement.

Page 76: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.3. Strategie d’ordonnancement basee sur le groupement de taches 64

4.3.1 Etape de construction

Nous construisons dans cette etape la matrice de dependance, c’est une matrice

symetrique carree (taches/taches), chaque case de sa diagonale represente le nombre

de donnees dans le Cloud, et le reste des elements represente les dependances entre

les taches. Cette dependance est calculee par la Formule suivante (voir formule

4.12) :

TMij = dependencyij = Count(Di

⋂Dj) (4.12)

Le resultat de l’application de la Formule 4.12 sur l’ensemble des donnees et des

taches dans le Cloud donnera une matrice de dependance notee TM . La Figure 4.8

donne un exemple sur cette matrice de dependance :

Figure 4.8 – Exemple de construction de la matrice de dependance TM

Une fois la matrice de dependance etablie. Nous appliquons l’algorithme BEA

(Bound Energy Algorithm) [43] sur la matrice TM . C’est un algorithme qui consiste

a regrouper les valeurs identiques de la matrice, ensemble, en permutant l’ensemble

des lignes et des colonnes. Deux mesures, BEC et BEL sont definies pour cet algo-

rithme. La permutation est faite de telle sorte que ces mesures (voir les Formules

4.13 et 4.14) soient maximisees :

′BECi, j =

n∑i=1

TMi,j × TMi,j+1 (4.13)

′BELi, j =

n∑j=1

TMi,j × TMi+1,j (4.14)

Page 77: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.3. Strategie d’ordonnancement basee sur le groupement de taches 65

La Figure 4.9 donne un exemple de l’application de l’algorithme BEA sur la

matrice de dependance de l’exemple 4.8 :

Figure 4.9 – Exemple d’application de l’algorithme BEA sur la matrice de depen-

dance TM

Apres l’application de l’algorithme BEA sur la matrice de dependance. Nous

obtenons une matrice de dependance clusterisee. Cette matrice est ensuite decoupee

en sous matrices en definissant un point de coupure. Le nombre de sous matrices

depend du nombre de datacenters dans le Cloud. La Figure 4.10 montre un exemple

de decoupage de la matrice en deux sous matrices :

Figure 4.10 – Exemple de decoupage de la matrice de dependance clusterisee

Page 78: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.3. Strategie d’ordonnancement basee sur le groupement de taches 66

4.3.2 Etape d’ordonnancement

Une fois le decoupage de la matrice realise, nous obtenons un ensemble de sous

matrices. L’ensemble de groupe de taches de chaque sous matrice est affecte au

datacenter correspondant. La figure 4.11 donne un exemple d’affectation et d’or-

donnancement des taches dans le datacenter correspondant :

Figure 4.11 – Exemple d’affectation et d’ordonnancement des taches dans l’en-

semble des Datacenters

La Figure 4.12 montre un diagramme d’activite decrivant la phase d’affectation

et d’ordonnancement des taches dans l’ensemble des Datacenters et l’Algorithme 5)

decrit la phase d’ordonnancement des taches vers les datacenters.

Figure 4.12 – Affectation et ordonnancement des taches

Page 79: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 67

Algorithme 5 Algorithme d’ordonnancement

Input :

T : Ensemble de taches.

DC : Ensemble de datacenters.

Output : Toutes les taches ordonnancees vers le datacenter approprie.

Description :

pour chaque ti ∈ T faire

si les datasets requis par ti sont disponibles alors

Ordonnancer ti vers dcj pour s’executer

si dcj possede la majorite des datasets requis par ti alors

Mettre etat ti= pret

sinon

etat ti= non pret

pour chaque ti ∈ T faire

si etat ti= pret alors

Executer ti

4.4 Strategies d’ordonnancement et d’allocation de res-

sources pour les Big Data

Dans cette section, nous decrivons notre troisieme contribution a savoir deux

sous-strategies pour l’ordonnancement des taches et l’allocation de ressources, des-

tinee aux environnements de Cloud computing. Deux variantes d’ordonnancement

des taches et d’allocation des ressources [16] sont presentees :

4.4.1 La premiere variante OADTV

Nous proposons une strategie d’ordonnancement des taches et l’allocation des

ressources en fonction de la date limite, la taille des cloudlets et la vitesse d’execution

de la machine virtuelle (variante OADTV). Notre proposition est differente de celle

presentee en [27] car nous ajoutons dans l’algorithme, dans la deuxieme etape,

Page 80: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 68

la division du nombre de cloudlets par le nombre de machines virtuelles afin de

minimiser le temps d’execution moyen de toutes les taches. Les grandes lignes de la

strategie sont les suivantes, et le diagramme d’activite correspondant est represente

dans la Figure 4.13 :

Figure 4.13 – La premiere variante OADTV d’ordonnancement et d’allocation de

ressources dans les Cloud computing

Notre premiere variante d’ordonnancement est composee de trois etapes :

Etape 1 : Trier les cloudlets (taches) en fonction de la date limite des instructions

et de leurs longueurs (taille) dans l’ordre croissant ;

Etape 2 : Trier les machines virtuelles en fonction de la vitesse d’execution dans

l’ordre croissant ;

Page 81: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 69

Etape 3 : Attribuer pour chaque VM un vecteur de taches, le nombre de cases

est egal a M qui est le nombre de taches (nombre de cloudlets) divise par N

(nombre de VM) ; de sorte que le premier groupe des premieres taches sont

executees par la premiere machine virtuelle, la seconde sont executees par la

deuxieme machine virtuelle,...

Un algorithme d’ordonnancement des taches est utilise (Algorithme 6) :

Algorithme 6 Algorithme d’ordonnancement

Input :

T : Ensemble de taches (Cloudlets).

DC : Ensemble de datacenters.

VM : Ensemble de machines virtuelles.

Output : Toutes les taches ordonnancees vers les machines virtuelles appropriees.

Description :

pour chaque ti ∈ T faire

Trier ti en fonction de la date limite et la longueur

pour chaque vmi ∈ VM faire

Trier vmi en fonction de la vitesse d’execution

Attribuer a chaque vmi un vecteur contenant la liste des ti a executer

pour chaque ti ∈ T faire

pour chaque vmj ∈ VM faire

si etat ti= pret alors

Executer ti dans vmj

Mettre a jour la liste des ti et vmj

4.4.2 La deuxieme variante OAAMV

La deuxieme strategie d’ordonnancement des taches et d’allocation des res-

sources utilise une structure d’arbre de donnees appelee Arbre de machines virtuelles

(AMV) pour l’execution efficace des taches. Notre algorithme est une amelioration

du travail [45], et il offre un meilleur equilibrage de charge. Un arbre de machines

Page 82: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 70

virtuelles (AMV) est un arbre binaire avec N nœuds. Chaque nœud represente une

machine virtuelle contenant un identifiant Id et une vitesse d’execution exprimee en

MIPS de la machine virtuelle. N represente le nombre total de machines virtuelles

specifiques de calcul dans le Cloud. La propriete speciale de AMV est que la valeur

de nœud (MIPS) au niveau L est superieure ou egale a la valeur de nœud au niveau

L+1 ou L >= 0. Chaque nœud contient zero, un ou deux nœuds enfants. Un nœud

sans nœud enfant est appele un nœud feuille et le nœud avec des nœuds enfants est

designe en tant que nœud interne.

Considerons 5 machines virtuelles specifiques de calcul representees par leur Id

et MIPS V = {{0, 250}, {1, 1000}, {2, 250}, {3, 500}, {4, 250}}. La Figure 4.14 ci-

dessous montre le AMV. Le AMV est construit sur la base de l’ordre prioritaire des

machines virtuelles de gauche a droite, de telle sorte que la machine virtuelle avec

la plus haute MIPS devient la racine de l’arbre.

Figure 4.14 – La deuxieme variante OAAMV d’ordonnancement et d’allocation de

ressources dans les Cloud computing

Dans la Figure 4.14 ; l’arbre AMV a un nœud racine representant la machine

virtuelle avec Id = 1 et MIPS = 1000. Le nœud racine a deux enfants. Le nœud

enfant de gauche represente la machine virtuelle avec Id = 3 et MIPS = 500. Le

nœud enfant droit represente la machine virtuelle avec Id = 0 et MIPS = 250. De

meme, le nœud qui represente la machine virtuelle avec Id = 3 et MIPS = 500

a 2 enfants. L’enfant gauche de ce nœud represente les machines virtuelles avec

Page 83: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 71

Id = 2 et MIPS = 250, l’enfant droit represente la machine virtuelle avec Id = 4

et MIPS = 250.

Nous presentons ici une strategie d’ordonnancement et d’allocation de ressources

basee sur un groupe de taches dans le Cloud. Soient T COUNT le nombre to-

tal de taches soumises et L COUNT le nombre total de nœuds feuilles en AMV.

Le nombre total de groupes G COUNT pour les taches presentees sont calculees

comme suit : G COUNT = L COUNT . Si AMV est construit avec 5 machines

virtuelles, le nombre total des groupes est le nombre de niveau (il est egal a 3 dans

notre exemple). Le nombre de taches de chaque groupe G est calcule comme suit,

G = Nombre de niveaux. Chaque groupe contient le nombre maximum de taches en

MIPS, qui ne doit pas depasser une valeur qui est calculee par la Formule 4.15, et

chaque groupe de taches est assigne pour chaque niveau, le premier dans le niveau

superieur (racine), le deuxieme groupe dans le second et le dernier groupe dans le

troisieme niveau.

∑lengthoftasks ∈ G COUNT <=

∑lengthoftasks∗(VMMipsinlevel)÷

∑MipsofVMs

(4.15)

Un algorithme d’ordonnancement des taches est utilise (Algorithme 7) :

Page 84: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 72

Algorithme 7 Algorithme d’ordonnancement

Input : T : Ensemble de taches (Cloudlets).

DC : Ensemble de datacenters.

VM : Ensemble de machines virtuelles.

L COUNT : Le nombre total de nœuds feuilles en AMV.

G COUNT : Le nombre total de groupes G COUNT

Output : Toutes les taches ordonnancees vers les machines virtuelles appropriees.

Description :

pour chaque vmi ∈ VM faire

Trier vmi en fonction de la vitesse d’execution Mips

Attribuer chaque vmi comme racine a l’arbre AMV

G COUNT = L COUNT

pour chaque ti ∈ T faire

Trier ti en fonction de la longueur Mips

pour chaque ti ∈ T faire

pour chaque vmj ∈ G COUNT faire

Attribuer ti a vmj tel que∑lengthoftasks ∈ G COUNT <=∑

lengthoftasks ∗ (VMMipsinlevel)÷∑MipsofVMs

pour chaque ti ∈ T faire

pour chaque vmj ∈ VM faire

si etat ti= pret alors

Executer ti dans vmj

Mettre a jour la liste des ti et vmj

Prenons l’exemple de 12 taches representees par leurs Id et leurs longueurs

(MIPS) tel que :

G = {{0, 20000}, {1, 20000}, {2, 20000}, {3, 10000}, {4, 10000}, {5, 20000}, {6, 10000},

{7, 20000}, {8, 10000}, {9, 10000}, {10, 20000}, {11, 10000}}.

Apres le decoupage et le regroupement de taches, chaque groupe contient les

taches suivantes :

Page 85: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.4. Strategies d’ordonnancement et d’allocation de ressources pour lesBig Data 73

G1 = {{0, 20000}, {1, 20000}, {2, 20000}, {5, 20000}}

G2 = {{7, 20000}, {10, 20000}, {3, 10000}, {4, 10000}}

G3 = {{6, 10000}, {8, 10000}, {9, 10000}, {11, 10000}}

Une fois les regroupements des taches sont effectuees, les machines virtuelles

appropriees sont selectionnees pour l’execution. Les taches de chaque groupe sont

selectionnees sequentiellement et soumises a la machine virtuelle correspondante.

L’ordre est le suivant : La premiere tache du groupe G1 est executee par la machine

virtuelle representee par le nœud racine de l’arbre AMV. La deuxieme tache sera

executee par son enfant, la troisieme tache sera executee par le petit-enfant et

ainsi de suite. Une fois qu’elle atteint la machine virtuelle representee par le nœud

feuille, la tache suivante sera soumise a nouveau au nœud racine et ainsi de suite.

La meme procedure est repetee pour toutes les taches de chaque groupe. La Figure

4.15 ci-dessous montre l’arbre AMV pour 5 machines virtuelles et le nombre total

de groupes formes pour les 12 taches soumises.

Figure 4.15 – Le resultat d’execution des taches

Ici, le nombre total de taches soumises sera rassemble en 3 groupes a savoir

G1, G2 et G3 respectivement. Les taches avec Id = 0, 2, 5, 7 seront dans le groupe

G1, les taches avec Id = 10, 1, 3, 4 seront dans le groupe G2 et les taches avec

Id = 6, 8, 9, 11 seront dans le groupe G3 respectivement.

Page 86: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

4.5. Conclusion 74

4.5 Conclusion

Au cours de ce chapitre, nous avons essaye de decrire nos trois contributions pour

l’ordonnancement et l’allocation de ressources, nous avons presente les differentes

etapes a suivre pour l’utilisation de nos trois strategies. Nous avons etendue la

premiere strategie par un service de replication dynamique, la seconde strategie

d’ordonnancement est basee sur le groupement de taches et la derniere strategie

d’ordonnancement de taches et d’allocation de ressources est destinee pour les Big

data. Du point de vue technique, nous avons utilise un ensemble d’algorithmes, de

formules et de diagrammes UML pour faciliter la comprehension et la lecture du

chapitre, d’une part, et d’autre part pour donner un schema conceptuel general du

travail realise.

Dans le chapitre suivant, nous nous interessons a la concretisation des strategies

proposees et cela par l’implementation de nos strategies presentees et les differentes

interpretations des resultats obtenus par la simulation.

Page 87: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 5

Experimentation et evaluation

Sommaire

5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.2 Langage et environnements de travail . . . . . . . . . . . . . 76

5.2.1 Langage de programmation Java . . . . . . . . . . . . . . . . . 76

5.2.2 Environnements de developpement . . . . . . . . . . . . . . . . 76

5.3 Resultats experimentaux . . . . . . . . . . . . . . . . . . . . . 79

5.3.1 Resultats experimentaux 1 : Strategie d’ordonnancement basee

sur la replication de donnees . . . . . . . . . . . . . . . . . . . 79

5.3.2 Resultats experimentaux 2 : Strategie d’ordonnancement basee

sur le groupement de taches . . . . . . . . . . . . . . . . . . . . 88

5.3.3 Resultats experimentaux 3 : Strategies d’ordonnancement et

d’allocation de ressources pour les Big Data . . . . . . . . . . . 92

5.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

5.1 Introduction

Ce chapitre est consacre a la phase d’implementation des strategies d’ordon-

nancement et d’allocation de ressources proposees. Il permettra d’evaluer et

de valider nos strategies proposees dans l’environnement de Cloud computing par

rapport aux objectifs traces dans le cahier des charges initial. Pour cela, nous avons

realises plusieurs simulations soit en utilisant notre simulateur developpe en Java,

soit en utilisant le simulateur CloudSim [12], dans le but d’effectuer des series d’ex-

perimentations dont les resultats et les interpretations font l’objet de ce chapitre.

Page 88: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.2. Langage et environnements de travail 76

5.2 Langage et environnements de travail

Nous avons utilise le langage de programmation Java, les environnements de

developpement Eclipse et Netbeans, et le simulateur CloudSim.

5.2.1 Langage de programmation Java

Le langage Java est un langage de programmation informatique oriente objet

[14, 21, 58]. Java a la particularite principale d’etre portable, c’est a dire, que les

logiciels ecrits avec ce dernier sont tres facilement reutilisable sur plusieurs systemes

d’exploitation tels qu’UNIX, Microsoft Windows, Mac OS ou Linux avec peu ou pas

de modifications. C’est la plate-forme qui garantit la portabilite des applications

developpees en Java.

Le langage reprend en grande partie la syntaxe du langage C++, tres utilise par

les informaticiens. Neanmoins, Java a ete epure des concepts du C++ et a la fois

les plus deroutants, tels que l’heritage multiple remplace par l’implementation des

interfaces. Les concepteurs ont privilegie l’approche orientee objet de sorte qu’en

Java, tout est objet a l’exception des types primitifs (nombres entiers, nombres a

virgule flottante, ...).

Java est un langage de developpement cree par Sun puis rachete par Oracle en

2010 qui a reussi a obtenir une tres grande notoriete en seulement quelques annees

grace a ces qualites. Aujourd’hui Java est largement utilise notamment en entreprise

et pour les applications pour appareils mobiles. Java represente la synthese des bons

cotes de plusieurs langages de programmation (notamment C++ et Small Talk).

5.2.2 Environnements de developpement

Eclipse

Eclipse est un environnement de developpement integre (Integrated Develop-

ment Environment) dont le but est de fournir une plate-forme modulaire pour per-

mettre de realiser des developpements informatiques.

I.B.M. est a l’origine du developpement d’Eclipse qui est d’ailleurs toujours le

cœur de son outil Websphere Studio Workbench (WSW), lui-meme a la base de la

Page 89: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.2. Langage et environnements de travail 77

famille des derniers outils de developpement en Java d’I.B.M. Tout le code d’Eclipse

a ete donne a la communaute par I.B.M afin de poursuivre son developpement [19].

Eclipse utilise enormement le concept de modules nommes «Plug-Ins» dans

son architecture. D’ailleurs, hormis le noyau de la plate-forme nomme «Runtime»,

tout le reste de la plate-forme est developpe sous la forme de Plug-Ins. Ce concept

permet de fournir un mecanisme pour l’extension de la plate-forme et ainsi fournir

la possibilite a des tiers de developper des fonctionnalites qui ne sont pas fournies en

standard par Eclipse. Eclipse possede de nombreux points forts qui sont a l’origine

de son enorme succes dont les principaux sont :

– Une plate-forme ouverte pour le developpement d’applications et extensible

grace a un mecanisme de Plug-Ins.

– Plusieurs versions d’un meme Plug-In peuvent cohabiter sur une meme plate-

forme ;

– Un support multi langages grace a des Plug-Ins dedies : Cobol, C, PHP, ...

– Support de plusieurs plateformes : Windows, Linux, Mac OS X, ...

– Les nombreuses fonctionnalites de developpement proposees par le JDT.

– Le gestionnaire de mise a jour permet de telecharger de nouveaux Plug-ins ou

nouvelles versions d’un Plug-in deja installees a partir de sites Web dedies.

NetBeans

NetBeans est un projet open source ayant un succes et une base d’utilisateur tres

large, une communaute en croisance constante, et pres 100 partenaires mondiaux et

des centaines de milliers d’utilisateur a travers le monde. Sun Microsystems a fonde

le projet open source NetBeans en Juin 2000 et continue d’etre le sponsor principal

du projet [2].

Aujourd’hui, deux projets existent : L’EDI NetBeans et la Plateforme NetBeans.

L’EDI NetBeans est un environnement de developpement, un outil pour les pro-

grammeurs pour ecrire, compiler, deboguer et deployer des programmes. Il est ecrit

en Java mais peut supporter n’importe quel langage de programmation. Il y a egale-

ment un grand nombre de modules pour etendre l’EDI NetBeans. L’EDI NetBeans

est un produit gratuit, sans aucune restriction quant a son usage.

Egalement disponible, La Plateforme NetBeans ; une fondation modulable et

Page 90: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.2. Langage et environnements de travail 78

extensible utilisee comme brique logicielle pour la creation d’applications bureau-

tiques. Les partenaires privilegies fournissent des modules a valeurs rajoutees qui

s’integrent facilement a la Plateforme et peuvent etre utilises pour developper ses

propres outils et solutions. Les deux produits sont open source et gratuits pour un

usage commercial et non-commercial. Le code source est disponible pour reutilisa-

tion sous la Common Development and Distribution License (CDDL).

CloudSim

CloudSim est un Framework de simulation generalise et extensible qui permet

la modelisation, la simulation et l’experimentation des nouvelles infrastructures de

Cloud Computing et des services d’application associes. Nous avons utilise pour la

realisation de nos travaux de these la version du simulateur CloudSim 3.0.3.

Le simulateur ClouSim est compose de plusieurs classes (Figure 5.1). Parmi les

classes fondamentales qui forment les blocs constitutifs du simulateur CloudSim,

nous pouvons citer :

Datacenter : La classe Datacenter permet de modeliser le cœur de l’infrastruc-

ture du Cloud. elle encapsule un ensemble de machines physiques appelees

Hosts qui se caracterisent par leurs configurations (memoire, CPU, stockage

et nombre de cœurs). Chaque Datacenter implemente un ensemble d’algo-

rithmes pour l’allocation de la bande passante, la memoire et le stockage aux

differents hosts et machines virtuelles du Cloud.

Cloudlet : La classe Cloudlet modelise les applications. Elle a un nombre d’ins-

tructions et de donnees connu a executer et a transferer. A noter que cette

classe est etendue par WorkflowSim en Task puis en Job pour modeliser les

relations de dependances entre les taches.

Datacenter Broker : Cette classe modelise le courtier (Broker), qui est respon-

sable de la mediation entre les utilisateurs et les prestataires de service selon

les conditions de QoS des utilisateurs et elle permet de deployer les taches de

service a travers les Clouds. Le Broker agit au nom des utilisateurs, il identifie

les prestataires de service appropries du Cloud par le service d’information

du Cloud CIS (Cloud Information Services) et negocie avec eux pour une

Page 91: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 79

allocation des ressources qui repond aux besoins de QoS des utilisateurs.

Machine virtuelle : Cette classe modelise une instance de la machine virtuelle

(VM), dont la gestion pendant son cycle de vie, est une responsabilite de la

machine (Host). Un Host peut simultanement instancier de multiples VMS et

assigner des cœurs a base des politiques predefinies de partage de processeur :

espace partage ou temps partage (voir Annexe B).

Figure 5.1 – Les principales classes de CloudSim [56]

5.3 Resultats experimentaux

5.3.1 Resultats experimentaux 1 : Strategie d’ordonnancement ba-

see sur la replication de donnees

5.3.1.1 Description du simulateur

Dans cette partie, nous allons nous interesser a la demonstration du simulateur

realise, qui est ecrit en Java et qui permet de tester a travers des exemples et des sce-

narios de simulation [4], la strategie d’ordonnancement basee sur la replication qui

est presente dans le chapitre 4, en faisant reference a quelques interfaces graphiques.

Page 92: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 80

5.3.1.2 Creation d’un nouveau workflow et configuration des Datacen-

ters

La premiere chose a effectuer est le deploiement d’un nouveau workflow sur le

systeme. L’utilisateur introduit certaines informations concernant le workflow. Il

s’agit du nombre de sous-ensembles de taches (les taches sont regroupees en lots) ;

du nombre de taches, du nombre de donnees ; des datacenters requis, du nombre de

donnees generees (voir Figure 5.2).

Figure 5.2 – Creation d’un nouveau workflow

Toutes les informations sont mises, initialement a 10. Cependant l’utilisateur

peut les modifier en introduisant de nouvelles valeurs. Aussi, l’utilisateur doit choi-

sir le type d’application parmi celles disponibles, c’est-a-dire, a quel domaine son

workflow appartient, pour que le systeme puisse determiner le pourcentage initial

de la capacite de stockage autorisee pour heberger les donnees (il faut laisser un

espace libre pour stocker ; ensuite les donnees generees).

Du moment ou le nombre de datacenters requis est specifie, l’utilisateur peut

passer a leurs configurations en introduisant, a chaque fois le nombre d’hotes, de

machines virtuelles, de processeurs, la bande passante, son cout d’utilisation, la

capacite de stockage et son cout d’utilisation.

Page 93: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 81

5.3.1.3 Deploiement et clusterisation de la matrice de dependance

A l’issue de l’etape de saisie, toutes les configurations concernant le Cloud et

le workflow, sont effectuees. Ainsi, les calculs concernant la strategie peuvent com-

mencer. Ces derniers commencent par l’elaboration de la matrice de dependance.

La Figure 5.3 suivante montre la creation de la matrice de dependance :

Figure 5.3 – Deploiement de la matrice de dependance

Apres l’etape de construction de la matrice de dependance, on passe a l’etape

de clusterisation de la matrice de dependance avec l’algorithme BEA. La Figure 5.4

montre le resultat obtenu :

Figure 5.4 – Clusterisation de la matrice de dependance

Page 94: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 82

5.3.1.4 Partitionnement et distribution

La troisieme etape de la strategie est le partitionnement et la distribution des

donnees sur les datacenters. Un journal decrivant la tracabilite du partitionnement

des donnees a ete mis en place (voir Figure 5.5).

Figure 5.5 – Partitionnement et distribution des donnees

5.3.1.5 Gestion des donnees generees

Apres avoir effectue la simulation, c’est a dire que les taches se sont executees, de

nouvelles donnees sont generees. Leur classification est effectuee grace a l’algorithme

des K-means (voir Figure 5.6).

Figure 5.6 – Gestion des donnees generees

Page 95: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 83

5.3.1.6 Experimentations

Dans cette partie, nous allons effectuer plusieurs series de simulations sur trois

types d’approches :

(i) Approche FCFS (First Come First Served) : Represente la premiere

approche dans laquelle les donnees et les taches sont affectees, aleatoirement,

avec une file d’attente FIFO (First In First Out), aux differents datacenters.

(ii) Approche de placement des donnees : Represente la deuxieme approche

dans laquelle la strategie de placement de donnees est utilisee.

(iii) Approche de replication : Represente la troisieme approche dans laquelle

la replication des donnees est effectuee.

Experience 1 : Temps de reponse

Dans cette premiere serie d’experiences, nous avons mesure le temps de reponse.

Ce dernier est calcule en fonction de l’emplacement des donnees, c’est-a-dire, inclure

la latence ou le temps d’attente pour les donnees qui ne se trouvent pas en local.

Pour cela nous avons lance la simulation avec les trois approches. Les simulations

ont ete realises avec les parametres decrits dans le tableau 5.1 :

Parametres Valeurs

Nombre de donnees 100

Taille des donnees 3000 Go

Nombre des datacenters 20

Capacite de stockage 30000 Go

Nombre de hosts 10

Nombre de VMs 1

Bande passante 10 Go/s

Table 5.1 – Les parametres de simulation pour le temps de reponse

Le resultat des simulations est donne dans la Figure 5.7 :

Page 96: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 84

0

200000

400000

600000

800000

1000000

1200000

1400000

1600000

1800000

2000000

2200000

2400000

2600000

2800000

3000000

3200000

Tem

ps d

e ré

pons

e m

oyen

(ms)

200 400 600 800 1000

Nombre de tâches

Stratégie FCFS Stratégie de placement Stratégie de réplication

Temps de réponse moyen

Figure 5.7 – Le temps de reponse moyen

Le gain obtenu est donne dans la Figure 5.8 :

0

10

20

30

40

50

60

70

80

90

100

110

Le g

ain

pour

le te

mps

de

répo

nse

(ms)

200 400 600 800 1000

Nombre de tâches

Gain/ Stratégie de placement Gain/ Stratégie de réplication

Le gain pour le temps de réponse

Figure 5.8 – Le gain obtenu pour le temps de reponse

Page 97: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 85

Experience 2 : Nombre de deplacements

Dans cette deuxieme serie d’experiences, nous avons mesure le nombre de de-

placements. Pour cela nous avons lance la simulation avec les trois approches. Les

simulations ont ete realise savec les parametres decrits dans le tableau 5.2.

Parametres Valeurs

Nombre de taches 100

Taille des donnees 3000 Go

Nombre des datacenters 20

Capacite de stockage 30000 Go

Nombre de hosts 10

Nombre de VMs 1

Bande passante 10 Go/s

Table 5.2 – Les parametres de simulation pour le nombre de deplacements

Le resultat des simulations est donne dans la Figure 5.9 :

0

10

20

30

40

50

60

70

80

90

100

110

Donn

ées

D0 D1 D2 D3 D4 D5 D6 D7 D8 D9

Nombre de déplacement

Stratégie FCFS Stratégie de placement Stratégie de réplication

Nombre de déplacement des données

Figure 5.9 – Le nombre de deplacement des donnees

Le gain obtenu est donne dans la Figure 5.10 :

Page 98: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 86

-40

-20

0

20

40

60

80

100

120

Le g

ain

pour

le n

ombr

e de

dép

lace

men

t (%

)

D0 D1D2 D3 D4 D5 D6 D7 D8 D9

Données

Gain/ Stratégie de placement Gain/ Stratégie de réplication

Le gain obtenu pour le nombre de déplacement

Figure 5.10 – Le gain obtenu pour le deplacement des donnees

Experience 3 : Cout de la replication

Dans cette troisieme serie d’experiences, nous avons mesure le cout de la re-

plication. Pour cela nous avons lance la simulation avec les trois approches. Les

resultats de simulation ont ete realises avec les memes parametres de simulation en

faisant varier le nombre de datacenters et le nombre de taches comme montre la

figure 5.11 :

0

200000

400000

600000

800000

1000000

1200000

1400000

1600000

1800000

2000000

Tem

ps ré

pons

e m

oyen

(ms)

4 DC 200 tâ

ches

6 DC 300 tâ

ches

8 DC 400 tâ

ches

10 DC 500 tâ

ches

12 DC 600 tâ

ches

Stratégie FCFS Stratégie de placement Stratégie de réplication

Le coût de la réplication pour le temps de réponse

Figure 5.11 – Le cout de la replication

Page 99: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 87

Le gain obtenu est donne dans la Figure 5.12 :

0

20

40

60

80

100G

ain

pour

le c

oût d

e la

répl

icat

ion

(%)

4 DC 20

0 tâc

hes

6 DC 30

0 tâc

hes

8 DC 40

0 tâc

hes

10 D

C 500 t

âche

s

12 D

C 600 t

âche

s

Gain/ Stratégie de placement Gain/ Stratégie de réplication

Le gain pour le coût de la réplication

Figure 5.12 – Le gain obtenu pour le cout de la replication

Experience 4 : Cout global engendre

Dans cette serie d’experiences, nous avons calcule le cout global engendre. Ce

dernier est calcule en fonction du cout de la bande passante et du cout de stockage

(car ce sont les deux facteurs pertinents dans notre travail). Pour cela nous avons

lance la simulation avec les trois approches cites auparavant. Les simulations ont

ete realises avec les memes parametres de simulations avec 600 taches. La Figure

5.13 ci-dessus montre le resultats de simulation :

Figure 5.13 – Le cout global engendre

Page 100: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 88

Synthese des resultats obtenus :

Nous avons realise plusieurs simulations en faisant varier plusieurs criteres d’eva-

luation du systeme comme : Le temps de reponse moyen d’execution des taches, le

nombre de deplacement des donnees, le cout de replication et le cout global d’utili-

sation de ressources.

Apres avoir fait plusieurs essais de simulation, nous avons pu extraire les re-

marques suivantes :

– Les premiers graphes (Figures5.7 et 5.8) concernant le temps de reponse

moyen des requetes montrent que le temps de reponse diminue d’une facon

remarquable en utilisant la strategie de replication puisque les donnees sont

repliquees avant l’execution des taches.

– Dans les graphes des (Figures 5.9 et 5.10), nous remarquons que le nombre

de deplacement de donnees entre les centres de donnees a reduit considera-

blement puisque nous avons complete l’approche par un service de replication

dynamique intelligente de donnees.

– Les graphes des Figures (5.11, 5.12 et 5.13) montrent l’effet de l’utilisation

du service de replication dans la reduction du temps de reponse des taches

puisque les donnees seront trouvees sur des machines virtuelles plus proches,

ce qui minimise en plus le temps de reponse des requetes en augmentant le

cout de la replication et par consequent le cout d’utilisation des ressources.

5.3.2 Resultats experimentaux 2 : Strategie d’ordonnancement ba-

see sur le groupement de taches

Dans cette partie, les experiences sont realisees dans un environnement de Cloud

fourni par le simulateur CloudSim (voir Annexe B)

5.3.2.1 Mesures de performances

Nous presentons les mesures de performances sur lesquelles nous sommes ap-

puyees pour interpreter les resultats obtenus par les simulations puis comparer

entre les differentes approches. Les deux principales mesures de performances sont

Page 101: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 89

le temps de reponse et le budget (cout financier). Ce sont des mesures classiques

pour tester l’efficacite des algorithmes d’ordonnancement et de gestion de ressources.

Le Temps de reponse : Ti etant la date de fin du job i Le temps de reponse est

calcule a partir du Makespan Makespan = max Ti

Il represente tout simplement la date fin du dernier job, parmi tous les jobs

executes.

Le budget : Nous avons propose quelques formules pour calculer le budget. Pour

calculer le cout de traitement des cloudlets qui est egal a la somme du cout

de traitement et de transfert des fichiers d’entrees et de sorties, est donnee

comme suite :

ProcessingCost = (ActuelT imeCPU×CostPerSec)+InputDataTransfer+

OutputTansferCost

Ou le cout total de transfert du fichier d’entree est comme suit :

InputDataTransfer = CostPerBW ×GetCloudletF ilesize

Et le cout total de transfert du fichier de sortie est egal a l’equation :

OutputTansferCost = CostPerBW ×GetCloudletOutputsize.

5.3.2.2 Scenarios et resultats

Dans cette partie, nous allons effectuer plusieurs series de simulations sur les

trois approches :

(i) La politique d’ordonnancement Space Shared (Espace partage) :

Cette politique suit la meme procedure que l’algorithme du premier arrive,

premier servi.

(ii) La politique d’ordonnancement Time Shared (Temps partage) : Le

principe de l’algorithme d’ordonnancement Round-Robin (RR) est utilise dans

cette politique.

(iii) La politique d’ordonnancement Time Shared Clustering : Cette poli-

tique suit la meme procedure que la strategie d’ordonnancement basee sur le

groupement de tache presente dans le chapitre 4.

Page 102: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 90

– Resultat 1 (Le temps de reponse moyen) :

Dans cette premiere simulation, nous avons calcule le temps de reponse moyen

par les techniques TimeShared et TimeShared Clustering (strategie 2 proposee en

chapitre 4). Pour un nombre de Cloudlets (taches) differents «20, 40, 60, 80, 100,

200, 300, 400, 500» avec une longueur correspondante aux donnees de Cloudlets. Les

Figures 5.14 et 5.15 montrent le resultat d’execution du temps de reponse moyen.

0

50

100

150

200

250

300

350

400

450

500

550

600

650

700

750

800

850

Temp

s (s)

20 40 60 80 100

Nombre de cloudlets

Time Shared Time Shared Clustering

Le temps de réponse moyen

Figure 5.14 – Le temps de reponse moyen

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

5500

6000

Temp

s (s)

100 200 300 400 500

Nombre de cloudlets

Time Shared Time Shared Clustering

Le temps de réponse moyen

Figure 5.15 – Le temps de reponse moyen pour des taches>=100

Page 103: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 91

D’apres ces resultats, nous remarquons que le temps de reponse moyen en Time-

Shared augmente a chaque fois qu’on augmente le nombre de Cloudlets car plusieurs

Cloudlets sont traitees a la fois, alors l’execution prend beaucoup de temps pour

traiter toutes les Cloudlets, par consequent le temps de reponse moyen augmente a

chaque fois. Par contre en TimeShared Clustering le temps de reponse moyen est

tres faible car les Cloudlets sont repartis sur les differents Datacenters. L’allure de

la courbe en TimeShared Clustering est presque lineaire avec une pente faible par

rapport a la courbe TimeShared.

– Le cout de traitement moyen des Cloudlets :

Dans cette serie de simulation, nous avons calcule le cout de traitement moyen des

Cloudlets avec les deux algorithmes (TimeShared et TimeShared Clustering).

Les Figures 5.16 et 5.17 montrent l’impact du nombre de cloudlets sur le cout

de traitement, sur des histogrammes, les principales executions realisees sur

ce scenario.

585 358

2026

672

4140

972

7719

1288

12086

1550

0

2000

4000

6000

8000

10000

12000

14000

Coû

t ($)

20 40 60 80 100

Cloudlets

Timeshared TimeShared Clustering

Le coût de traitement moyen des cloudlets

Figure 5.16 – Le cout de traitement moyen des Cloudlets

Page 104: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 92

0

50000

100000

150000

200000

250000

300000

350000C

oût (

$)

100

200

300

400

500

Cloudlets

Timeshared TimeShared Clustering

Le coût de traitement moyen des cloudlets

Figure 5.17 – Le cout de traitement moyen pour des taches>=100

L’objective de cette serie de simulation est d’etudier l’impact de notre stra-

tegie sur le cout de traitement moyen des Cloudlets. D’apres ces resultats, nous

remarquons que le cout de traitement moyen dans l’algorithme TimeShared est tres

eleve par rapport a la strategie TimeShared Clustering car l’utilisation de CPU

est moins importante qu’en TimeShared. Les differentes partitions contiennent les

memes donnees donc l’utilisation de CPU est amoindri.

5.3.3 Resultats experimentaux 3 : Strategies d’ordonnancement et

d’allocation de ressources pour les Big Data

Les experiences sont realisees dans un environnement de Cloud fourni par le

simulateur CloudSim (voir Annexe B).

5.3.3.1 Parametres de simulation

La vitesse de chaque element de traitement est exprime en MIPS (millions d’ins-

tructions par seconde) et la longueur de chaque Cloudlet (tache) est exprimee par

le nombre d’instructions a executer. L’environnement de simulation se compose de

deux datacenters avec deux hotes ayant deux elements de calcul chacun. Chaque

Page 105: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 93

element de calcul a une puissance de calcul varie (selon le parametre MIPS). Les

algorithmes sont testes en faisant varier le nombre de cloudlets entre 10 et 50 par

un pas de 20, et en changeant aussi la longueur des cloudlets. En outre, le nombre

de machines virtuelles utilisees pour executer les cloudlets, sont modifiees en conse-

quence.

5.3.3.2 Scenarios et resultats

Dans cette partie, nous allons effectuer des simulations en comparant les deux

sous-strategies proposees avec les deux politiques d’ordonnancements implementees

dans le simulateur CloudSim :

1. La politique d’ordonnancement Space Shared (Espace partage) :

Cette politique suit la meme procedure que l’algorithme du premier arrive,

premier servi.

2. La politique d’ordonnancement Time Shared (Temps partage) : Le

concept de l’algorithme d’ordonnancement Round-Robin (RR) est utilise dans

la presente politique.

Le temps de reponse global pour executer les cloudlets est utilise comme indi-

cateur pour evaluer les performances de la premiere sous-strategie (OADTV). Les

resultats sont presentes dans le tableau 5.3 et la Figure 5.18 :

Time Shared(s) Space Shared(s)Premiere strate-

gie proposee(s)

Temps de reponse

10 Cloudlets734,92 840,75 646,63

Temps de reponse

30 Cloudlets3185,15 2204,34 2032,39

Temps de reponse

50 Cloudlets8959 3776,8 3548,35

Table 5.3 – Resultat de simulation de la premiere strategie (OADTV)

Page 106: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 94

0

1000

2000

3000

4000

5000

6000

7000

8000

9000

10000

Tem

ps (s

)

10 30 50

Nombre de cloudlets

Time Shared Space Shared Stratégie proposée

Le temps de réponse total

Figure 5.18 – Le resultat de temps de reponse dans l’execution des taches

La Figure 5.19 ci-dessous montre le gain obtenu :

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

5500

6000

6500

Gai

ns (s

)

10 Cloudlets

30 Cloudlets

50 Cloudlets

Gain/ Time Shared Gain/ Space Shared

Le gain obtenu pour le temps de réponse

Figure 5.19 – Le gain obtenu pour le temps de reponse

Il a ete constate que, pour un petit nombre de taches, les trois algorithmes

presentent des performances plus ou moins similaires. Mais, comme le montre le

Page 107: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 95

tableau 5.3 et la figure 5.19. Lorsque le nombre de taches augmente, la premiere

strategie proposee presente une meilleure performance par rapport a la politique de

l’espace partage et la politique du temps partage, puisque les taches les plus longues

sont affectees aux machine virtuelles les plus puissantes et les plus rapides.

Pour la deuxieme sous-strategie (OAAMV), les experiences sont menees sur un

environnement de Cloud avec les memes parametres de simulation. Le temps de

reponse global pour executer les cloudlets est utilise comme indicateur pour evaluer

les performances de la premiere strategie. Les resultats sont presentes dans le tableau

5.4 et la Figure 5.20 :

Time Shared(s)Deuxieme strate-

gie proposee(s)

Temps de reponse

10 Cloudlets1334,94 980

Temps de reponse

30 Cloudlets11475,05 8819,98

Temps de reponse

50 Cloudlets31875,7 24959,88

Table 5.4 – Resultat de simulation de la deuxieme strategie (OAAMV)

0

5000

10000

15000

20000

25000

30000

35000

40000

Tem

ps d

e ré

pons

e (s

)

10 cl

oudle

ts

30 cl

oudle

ts

50 cl

oudle

ts

Cloudlets

Timeshared Stratégie2 propsée

Le temps de réponse des cloudlets

Figure 5.20 – Le resultat de temps de reponse pour l’execution des taches

Page 108: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 96

La Figure 5.21 ci-dessous montre le gain obtenu :

0

1000

2000

3000

4000

5000

6000

7000

8000G

ain

(s)

10 cl

oudle

ts

30 cl

oudle

ts

50 cl

oudle

ts

Cloudlets

Le gain obtenu/ TimeShared pour le temps de réponse

Figure 5.21 – Le gain obtenu pour le temps de reponse

Nous pouvons remarque que, pour un petit nombre de taches, tous les deux

algorithmes presentent des performances plus ou moins similaires puisque les lon-

gueurs des cloudlets sont petites. Mais, comme le montre le tableau 5.4 et les Figures

5.20 et 5.21. Lorsque le nombre de taches augmente, la seconde strategie presente

une meilleure performance par rapport a la politique de temps partage, puisque les

taches sont affectees equitablement sur l’ensemble des machines virtuelles. Les deux

sous-strategies peuvent fournir un meilleur temps de reponse, temps d’attente, et

un meilleur equilibrage de charge.

Dans cette derniere partie, nous allons effectuer des simulations en comparant

l’hybridation des deux sous-strategies proposees avec la politique d’ordonnancement

Time Shared, implementee sous le simulateur CloudSim. Les algorithmes sont testes

en faisant varier le nombre de cloudlets entre 100 a 700 par pas de 100, en changeant

la longueur des cloudlets. En outre, le nombre de machines virtuelles utilisees pour

executer les cloudlets, sont modifiees en consequence. Le temps de reponse pour

executer les cloudlets et le cout global d’utilisation de ressources sont utilises comme

des indicateurs pour evaluer les performances de la strategie. Les resultats sont

Page 109: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.3. Resultats experimentaux 97

presentes dans les Figures 5.22 et 5.23 :

0

50

100

150

200

250

300

350

400

450T

emps

de

répo

nse

(s)

100

200

300

400

500

600

700

Cloudlets

Timeshared Stratégie propsée

Le temps de réponse des cloudlets

Figure 5.22 – Le temps de reponse moyen des Cloudlets

0

200

400

600

800

1000

1200

1400

1600

Coû

t ($)

100

200

300

400

500

600

700

Cloudlets

TimeShared Stratégie proposée

Le coût de traitement moyen des cloudlets

Figure 5.23 – Le cout moyen d’utilisation de ressources

Les graphes des Figures 5.22 et 5.23 montrent l’effet de l’equilibrage de charge

dans l’execution des taches entre les differentes machines virtuelles dans la reduction

du temps de reponse des taches puisque les taches seront executees sur les differentes

Page 110: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

5.4. Conclusion 98

machines virtuelles equitablement ce qui minimise en plus le temps de reponse des

taches en augmentant les cloudlets et par consequent le cout de traitement moyen

des cloudlets pour les Big data.

5.4 Conclusion

Dans ce chapitre, nous avons simule nos trois strategies proposees sous le simu-

lateur realise en Java et sous le simulateur CloudSim pour etudier leurs comporte-

ments. Nous avons compare les resultats obtenu avec des approches existantes tel

que la strategie d’ordonnancement FCFS (First Come First Served) et RR (Round

Robin) et les strategies deja implementees sous le simulateurs CloudSim, a savoir

(Space Shared et Time Shared). Comme metriques de performance, nous avons uti-

lise le temps de reponse, le nombre de deplacement des donnees et le cout de la

replication pour les workflows scientifiques, et le cout global engendre.

En resume, les resultats de simulation des strategies d’ordonnancement et d’al-

location de ressources proposees ont donne un comportement positif et les resultats

obtenus sont tres encourageant qui repondent aux objectifs traces dans le cahier de

charge initial.

Page 111: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Chapitre 6

Conclusion generale

Le Cloud computing ou informatique en nuage est une infrastructure dans la-

quelle la puissance de calcul et le stockage sont geres par des serveurs distants

auxquels les usagers se connectent via une liaison Internet securisee. L’ordinateur de

bureau ou portable, le telephone mobile, la tablette tactile et autres objets connec-

tes deviennent des points d’acces pour executer des applications ou consulter des

donnees qui sont hebergees sur les serveurs. Le Cloud se caracterise egalement par

sa souplesse qui permet aux fournisseurs d’adapter automatiquement la capacite de

stockage et la puissance de calcul aux besoins des utilisateurs.

Le Cloud computing est la prochaine generation dans l’informatique. Probable-

ment les gens peuvent avoir tout ce qu’ils ont besoin sur le Cloud. Le Cloud est la

prochaine etape normale dans l’evolution des services sur la demande et des produits

de technologie de l’information. Le Cloud est une technologie de calcul naissante

qui se consolide rapidement comme prochaine grande etape dans le developpement

et le deploiement d’un nombre croissant des applications reparties. Le Cloud a ete

emerge pour des varietes d’entreprises d’Internet, beaucoup de cadres de calcul pour

la memoire enorme de donnees et les besoins de calcul fortement paralleles.

La theorie de l’ordonnancement est une branche de la recherche operationnelle

qui s’interesse au calcul de dates d’execution optimales de taches. Pour cela, il est

tres souvent necessaire d’affecter en meme temps les ressources necessaires a l’exe-

cution de ces taches. Un probleme d’ordonnancement peut etre considere comme

un sous-probleme de planification dans lequel il s’agit de decider de l’execution

operationnelle des taches planifiees.

Dans la resolution d’un probleme d’ordonnancement, deux grands types de stra-

tegies peuvent etre utilisees, visant respectivement l’optimalite des solutions, ou plus

Page 112: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

100

simplement leur admissibilite. L’approche par optimisation suppose que les solutions

candidates a un probleme puissent etre ordonnees de maniere rationnelle selon un

ou plusieurs criteres d’evaluation numeriques, construits sur la base d’indicateurs

de performances. On cherchera donc a minimiser ou maximiser de tels criteres lies

au temps ou aux ressources.

L’ordonnancement de taches et d’allocation de ressources dans les systemes de

Cloud computing suscite une attention croissante avec l’augmentation de la popu-

larite de Cloud. En general, l’ordonnancement de taches est le processus d’affec-

tation des taches aux ressources disponibles sur la base des caracteristiques et des

conditions des taches. C’est un aspect important dans le fonctionnement efficace du

Cloud, car de divers parametres de taches doivent etre pris en consideration pour

un ordonnancement approprie. Les ressources disponibles devraient etre utilisees

efficacement sans affecter les parametres de service du Cloud.

Pour optimiser l’ordonnancement et l’allocation de ressources dans les Cloud

computing, nous avons propose dans cette these trois strategies d’ordonnancement,

la premiere strategie d’ordonnancement est basee sur la replications des donnees

pour les workflows scientifiques, la seconde strategie d’ordonnancement est basee

sur le groupement de taches et la derniere strategie d’ordonnancement de taches

et d’allocation de ressources pour les Big data. La premiere strategie comporte

trois phases, nommee respectivement, l’etape de construction, l’etape d’execution

et l’etape de replication. La deuxieme strategie basee sur le groupement de tache,

contient a son tour deux phases, nommee respectivement l’etape de construction

et l’etape d’ordonnancement. La troisieme strategie contient deux sous strategies,

la premiere basee sur des parametres d’optimisation de Cloud, tel que la vitesse

d’execution des machines virtuelles et la longueur des taches. La seconde est basee

sur un arbre de construction de machines virtuelles.

Dans ce travail, nous avons simule les trois strategies proposees sous un simula-

teur realise en Java et sous le simulateur Cloudsim pour etudier leurs comportements

et nous avons compare les resultats obtenus avec des approches existantes telque la

strategie d’ordonnancement FCFS (First Come First Served) et RR (Round Robin)

et des strategies deja implementees sous le simulateurs Cloudsim, a savoir (Space

Page 113: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

101

Shared et Time Shared). Comme metriques de performance, nous avons utilise le

temps de reponse, le nombre de deplacement des donnees et le cout de la replication

pour les workflows scientifiques, et le cout global engendre.

Nos strategies d’ordonnancement proposees permettent de reduire le temps de

reponse moyen d’execution des taches, de diminuer le deplacement des donnees

pour les applications scientifiques dans le cas de la strategie 1, d’avoir un meilleur

equilibrage de charge dans le cas de la strategie 3, et de reduire le cout global

d’utilisation de ressources dans les strategies 1 et 2 proposees.

En resume, Les resultats de simulation obtenus pour nos strategies d’ordonnan-

cement et d’allocation de ressources proposees sont satisfaisants, tres encourageant,

et repondent aux objectifs traces dans le cahier de charge.

Afin d’etendre notre travail de recherche, nous envisageons plusieurs perspec-

tives. Nous voulons augmenter les capacites de la premiere strategie proposee en

permettant la replication des ensembles de donnees pour l’ordonnancement des

taches dans les environnements de Clouds multiples (federation de Clouds). Nous

proposons egalement d’integrer la premiere strategie proposee dans le simulateur

Cloudsim et de prendre en considerations d’autres parametres comme la taille des

donnees et le cout de la replication comme facteurs essentiels dans la deuxieme

strategie. Nous proposons aussi d’etudier comment la strategie de replication peut

etre utilisee lorsque le provisionnement et le processus d’ordonnancement est ef-

fectue sur des flux de donnees multiples dont les taches ont differentes priorites.

Nous prevoyons egalement de realiser la mise en œuvre de nos strategies dans la

planification et l’ordonnancement des taches sur des cas reel d’une compagnie pe-

troliere Sonatrach-Algerie contenant des donnees chimiques industrielles reparties

sur plusieurs clusters dans un objectif d’ameliorer efficacement le systeme de cette

compagnie.

Page 114: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie

[1] Ravin Ahuja, Asok De, and Goldie Gabrani. Sla based scheduler for cloud

for storage and computational services. In ICCSA Workshops, pages 258–262.

IEEE Computer Society, 2011. (Cite en page 34.)

[2] Oracle Corporation and/or its affiliates. Bienvenue a netbeans. https ://net-

beans.org/, (Consulte Mai 2014). (Cite en page 77.)

[3] Enda Barrett, Enda Howley, and Jim Duggan. A learning architecture for

scheduling workflow applications in the cloud. In Proceedings of the 9th IEEE

European Conference on Web Services, ECOWS’11, pages 83–90, 2011. (Cite

en page 40.)

[4] Meriem Benadda. Strategie de placement de donnees dans le cloud computing.

Master en informatique, Universite d’Oran, Faculte des sciences, Departement

d’informatique, 2012. (Cite en page 79.)

[5] Michael Bender, Soumen Chakrabarti, and S. Muthukrishnan. Flow and stretch

metrics for scheduling continuous job streams. In Proceedings of the 9th Annual

ACM-SIAM Symposium on Discrete Algorithms, pages 270–279, 1998. (Cite

en page 32.)

[6] Keerthana Boloor, Rada Chirkova, Timo J. Salo, and YannisViniotis. Heuristic-

based request scheduling subject to a percentile response time sla in a dis-

tributed cloud. In GLOBAL COMMUNICATIONS CONFERENCE (IEEE

GLOBECOM 2010), pages 1–6, 2010. (Cite en page 34.)

[7] Sylvain Caicoya and Jean-Georges Saury. CLOUD COMPUTING : Maıtrisez

les enjeux et solutions de l’informatique dans les nuages. Micro Application,

2011. (Cite en pages 16, 20 et 21.)

[8] Jean-Louis Caire and Willy Munch. Objectif Cloud : Une demarche pratique

orientee services. Eni Datapro, 2014. (Cite en pages 18 et 19.)

[9] Zenon Chaczko, Venkatesh Mahadevan, Shahrzad Aslanzadeh, and Christopher

Mcdermid. ”availability and load balancing in cloud computing. In Internatio-

Page 115: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 103

nal Conference on Computer and Software Modeling, IPCSIT’11, 2011. (Cite

en page 30.)

[10] Amit Nathani Sanjay Chaudharya and Gaurav Somanib. Policy based resource

allocation in iaas cloud. Future Generation Computer Systems, 28(7) :94–103,

2012. (Cite en page 6.)

[11] Shruti Chhabra and V. S. Dixit. Cloud computing : State of the art and

security issues. SIGSOFT Softw. Eng. Notes, 40(2) :1–11, April 2015. (Cite en

page 10.)

[12] The Cloud Computing and Distributed Systems (CLOUDS Laboratory) Uni-

versity of Melbourne. Cloudsim. http ://www.cloudbus.org/cloudsim/,

(Consulte Mars 2015). (Cite en pages vii, x, 37, 75, 111, 112 et 117.)

[13] D. Daniel and S.P.Jeno Lovesum. A novel approach for scheduling service re-

quest in cloud with trust monitor. In International Conference on Signal Pro-

cessing, Communication, Computing and Networking Technologies (ICSCCN),

2011. (Cite en page 34.)

[14] Claude Delannoy. Programmer en Java. Eyrolles, 2007. (Cite en page 76.)

[15] Esma Insaf Djebbar and Ghalem Belalem. Optimization of tasks scheduling

by an efficacy data placement and replication in cloud computing. In Algo-

rithms and Architectures for Parallel Processing - 13th International Confe-

rence, ICA3PP 2013, LNCS 8286, Vietri sul Mare, Italy, December 18-20,

2013, Proceedings, Part II, pages 22–29, 2013. (Cite en page 46.)

[16] Esma Insaf Djebbar and Ghalem Belalem. Tasks scheduling and resource allo-

cation for high data management in scientific cloud computing environment. In

he International Conference on Mobile, Secure and Programmable Networking

(MSPN’2016), LNCS 10026, Paris, France, June 1-3, 2016. (Cite en page 67.)

[17] Esma Insaf Djebbar and Ghalem Belalem. An effective task scheduling strategy

in multiple data centers in cloud scientific workflow. In MIPRO Proceedings,

The 39th International ICT Convention on Information and Communication

Technology, Electronics and Microelectronics (MIPRO 2016), IEEE, Rijeka,

Croatia, pages 214–217, May 30-June 3, 2016. (Cite en page 63.)

Page 116: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 104

[18] Esma Insaf Djebbar, Ghalem Belalem, and Merien Benadda. Task scheduling

strategy based on data replication in scientific cloud workflows. Multiagent and

Grid Systems : An International Journal of Cloud Computing, 12(1) :55–67,

2016. (Cite en page 46.)

[19] Jean Michel Doudoux. Java et eclipse.

http ://www.jmdoudoux.fr/accueil.html, (Consulte Juin 2016). (Cite en

page 77.)

[20] Pierre-Francois Dutot, Lionel Eyraud, Gregory Mounie, and Denis Trystram.

Bi-criteria algorithm for scheduling jobs on cluster platforms. In Proceedings

of the Sixteenth Annual ACM Symposium on Parallelism in Algorithms and

Architectures, SPAA ’04, pages 125–132, New York, NY, USA, 2004. ACM.

(Cite en page 31.)

[21] Bruce Eckel. Thinking in Java (4th Edition). Prentice Hall PTR, Upper Saddle

River, NJ, USA, 2005. (Cite en page 76.)

[22] Hamid Mohammadi Fard, Radu Prodan, and Thoma Fahringers. A truthful

dynamic workflow scheduling mechanism for commercial multicloud environ-

ments. IEEE Trans. Parallel Distrib. Syst., 24(6) :1203–1212, 2013. (Cite en

pages viii, 38 et 39.)

[23] D.G. Feitelson. A survey of scheduling in multiprogrammed parallel systems.

International Business Machines Corporation, 1994. (Cite en page 31.)

[24] D.G. Feitelson and 1.W. Mu’alem. On the definition of ”on-line” in job sche-

duling problems. Tech. rep., SIGACT News, 2000. (Cite en page 31.)

[25] Ian T. Foster, Yong Zhao, Ioan Raicu, and Shiyong Lu. Cloud computing and

grid computing 360-degree compared. CoRR, abs/0901.0131, 2009. (Cite en

page 10.)

[26] Yuji Ge and Guiyi Wei. Ga-based ta,sk scheduler for the cloud computing

systems. In Proceedings of the IEEE International Conference on Web Infor-

mation Systems and Mining, pages 181–186, 2010. (Cite en page 35.)

Page 117: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 105

[27] Shamsollah Ghanbaria and Mohamed Othman. A priority based job scheduling

algorithm in cloud computing. Procedia Engineering, 50 :778–785, 2012. (Cite

en page 67.)

[28] Jens Gustedt, Emmanuel Jeannot, and Martin Quinson. Experimental vali-

dation in large-scale systems : a survey of methodologies. Parallel Processing

Letters, 19(3) :399–418, 2009. RR-6859. (Cite en page 113.)

[29] M. Hemamalini. Review on grid task scheduling in distributed heterogeneous

environment. International Journal of Computer Applications, 40(2) :24–30,

2012. (Cite en page 35.)

[30] Romain Hennion, Hubert Tournier, and Eric Bourgeois. Cloud computing : De-

cider, Concevoir, Piloter, Ameliorer. Groupe Eyrolles, 2012. (Cite en pages 22,

23 et 24.)

[31] http ://www.hebergeurcloud.com. Hebergeur cloud.

http ://www.hebergeurcloud.com/les-technologies-du-cloud-computing/,

(Consulte Mars 2015). (Cite en pages viii et 13.)

[32] Le Cloud Kesako. Cloud-serveur. http ://www.cloud-serveur.fr/fr/le-

cloud/cloud-kesako, (Consulte Mars 2016). (Cite en pages viii et 17.)

[33] Mansouri Khalil. L’ordonnancement des taches dans le cloud computing par

une approche d’optimisation parallele. Master en informatique, Universite Mo-

hamed Khider, Biskra, 2013. (Cite en page 35.)

[34] Pardeep Kumar and Amandeep Verma. Scheduling using improved genetic

algorithm in cloud computing for independent tasks. In Proceedings of the In-

ternational Conference on Advances in Computing, Communications and In-

formatics, ICACCI ’12, pages 137–142, New York, NY, USA, 2012. ACM. (Cite

en pages 35 et 37.)

[35] Parveen Kumar and Anjandeep Kaur Rai. An overview and survey of va-

rious cloud simulation tools. Journal of Global Research in Computer Science,

5(1) :24–26, January 2014. (Cite en page 112.)

Page 118: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 106

[36] Shyamlal Kumawat and Deepak Tomar. Sla aware trust model for cloud service

deployment. International Journal of Computer Applications, 90(10) :10–15,

March 2014. (Cite en page 34.)

[37] Young Choon Lee, Chen Wang, Albert Y. Zomaya, and Bing Bing Zhou. Profit-

driven service request scheduling in clouds. In Proceedings of the 2010 10th

IEEE/ACM International Conference on Cluster, Cloud and Grid Computing,

CCGRID ’10, pages 15–24, Washington, DC, USA, 2010. (Cite en page 34.)

[38] Jiayin Li, Meikang Qiu, Zhong Ming, Gang Quan, Xiao Qin, and Zonghua Gu.

Online optimization for scheduling preemptable tasks on iaas cloud systems.

J. Parallel Distrib. Comput., 72(5) :666–677, 2012. (Cite en pages 119 et 120.)

[39] Luqun Li. An optimistic differentiated service job scheduling system for cloud

computing service users and providers. In the third International Conference

on Multimedia and Ubiquitous Engineering, MUE 2009, Qingdao, China, June

4-6, 2009, pages 295–299, 2009. (Cite en page 34.)

[40] Cui Lin and Shiyong Lu. Scheduling scientific workflows elastically for cloud

computing. In Ling Liu and Manish Parashar, editors, IEEE CLOUD, pages

746–747. IEEE, 2011. (Cite en page 41.)

[41] Ke Liu, Hai Jin, Jinjun Chen, Xiao Liu, Dong Yuan, and Yun Yang.

A compromised-time-cost scheduling algorithm in swindew-c for instance-

intensive cost-constrained workflows on a cloud computing platform. Inter-

national Journal of High Performance Computing Applications, 24(4), 2010.

(Cite en page 40.)

[42] Ming Mao and Marty Humphrey. Auto-scaling to minimize cost and meet appli-

cation deadlines in cloud workflows. In Proceedings of International Conference

for High Performance Computing, Networking, Storage and Analysis, SC ’11,

pages 1–49, New York, NY, USA, 2011. ACM. (Cite en page 43.)

[43] Wiliam T. McCormick, Paul J. Sehweitzer, and Thomas W. White. Problem

decomposition and data reorganization by a clustering technique, volume 20,

chapter 1, pages 993–1009. Operations Research, 1972. (Cite en pages 48

et 64.)

Page 119: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 107

[44] Luiz Meyer, Marta Mattoso, Doug Scheftner, Mike Wilde, Jens Voeckler, and

Ian Foster. (Cite en page 42.)

[45] Ioannis A. Moschakis and Helen D. Karatza. Performance and cost evaluation

of gang scheduling in a cloud computing system with job migrations and star-

vation handling. In Proceedings of the 16th IEEE Symposium on Computers

and Communications, ISCC 2011, Kerkyra, Corfu, Greece, June 28 - July 1,

2011, pages 418–423, 2011. (Cite en page 69.)

[46] A. Ohri. R for Cloud Computing : An Approach for Data Scientists. Springer,

New York Heidelberg Dordrecht London, 2014. (Cite en pages 10 et 11.)

[47] Simon Ostermann, Kassian Plankensteiner, Radu Prodan, and Thomas Fah-

ringer. GroudSim : An Event-based Simulation Framework for Computational

Grids and Clouds. In CoreGRID/ERCIM Workshop on Grids and Clouds, Is-

chia, Naples, Italy, Aug 2010. Springer Computer Science Editorial. (Cite en

page 114.)

[48] Dan Pelleg and Andrew W. Moore. X-means : Extending k-means with efficient

estimation of the number of clusters. In Proceedings of the Seventeenth Interna-

tional Conference on Machine Learning, ICML ’00, pages 727–734, San Fran-

cisco, CA, USA, 2000. Morgan Kaufmann Publishers Inc. (Cite en pages 45,

55, 57 et 58.)

[49] Linux Project. Linux, the linux foundationt. http ://www.Linux.com/,

(Consulte Janvier 2014). (Cite en page 12.)

[50] Xen Project. A linux foundation collaborative project : Xen.

http ://www.xenproject.org/, (Consulte Janvier 2016). (Cite en page 12.)

[51] Mustafizur Rahman, Xiaorong Li, and Henry Novianus Palit. Hybrid heuristic

for scheduling data analytics workflow applications in hybrid cloud environ-

ment. In IPDPS Workshops, pages 966–974. IEEE, 2011. (Cite en page 43.)

[52] Christopher J. Reynolds, Stephen C. Winter, Gabor Terstyanszky, Tamas Kiss,

Pamela Greenwell, Sandor Acs, and Peter Kacsuk. Scientific workflow makes-

pan reduction through cloud augmented desktop grids. In Costas Lambri-

Page 120: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 108

noudakis, Panagiotis Rizomiliotis, and Tomasz Wiktor Wlodarczyk, editors,

CloudCom, pages 18–23. IEEE Computer Society, 2011. (Cite en page 42.)

[53] Michael R.Garey and David S.Johnson . Computers and Intractability : A

Guide to the Theory of NP-Completeness. W. H. Freeman & Co., New York,

NY, USA, 1979. (Cite en page 31.)

[54] J. R. Rodrigues, L. Z. Zhou, L. M. Mendes, K. L. Lin, and J. L. Lloret. Distri-

buted media-aware flow scheduling in cloud computing environment. Computer

Communications, 35(1) :1819–1827, September 2012. (Cite en page 28.)

[55] Robert Shimonski. Windows 2000 & Windows Server 2003 Clustering and

Load Balancing. (Cite en page 30.)

[56] Guillaume Sigui. Cloud computing, quels sont les risques de securite majeurs

du cloud computing ? http ://www.developpez.com/, (Consulte Mars 2014).

(Cite en pages ix, 24 et 79.)

[57] The Green Cloud Simulator. Greencloud. https ://greencloud.gforge.uni.lu/,

Universite du Luxemburg, (Consulte Mars 2015). (Cite en page 113.)

[58] Anne Tasso. Le livre de Java : premier langage. Collection noire. Eyrolles,

Paris, 2010. (Cite en page 76.)

[59] Fei Teng. Resource allocation and schelduling models for cloud computing. Phd

thesis, Ecole Centrale Paris, October 2011. (Cite en page 33.)

[60] Michael Tighe, Gaston Keller, Michael Bauer, and Hanan Lutfiyya. Dcsim : A

data centre simulation tool for evaluating dynamic virtualized resource mana-

gement. In 8th International Conference on Network and Service Management,

CNSM 2012, Las Vegas, NV, USA, October 22-26, 2012, pages 385–392, 2012.

(Cite en pages vii, x, 114 et 115.)

[61] DAO Van Toan. Workflows scientifiques sur plusieurs clouds. Master en in-

formatique, Institut de la francophonie pour l’informatique, Laboratoire de

l’informatique du parallelisme (LIP), 2013. (Cite en pages 31 et 38.)

[62] Lamiel Toch. Contributions aux techniques d’ordonnancement sur plates-

formes paralleles ou distribuees. PhD thesis, Ecole doctorale sciences pour

l’ingenieur et microtechniques, Universite de Franche comte. (Cite en page 31.)

Page 121: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 109

[63] C. T. Tsai and J. R. Rodrigues. Metaheuristic scheduling for cloud : A survey.

IEEE Systems, 8(1) :279–291, March 2014. (Cite en page 28.)

[64] Luis M. Vaquero, Luis Rodero-Merino, Juan Caceres, and Maik Lindner. A

break in the clouds : Towards a cloud definition. SIGCOMM Comput. Commun.

Rev., 39(1) :50–55, December 2008. (Cite en page 10.)

[65] Amandeep Verma and Sakshi Kaushal. Deadline and budget distribution based

cost-time optimization workflow scheduling algorithm for cloud. IJCA Procee-

dings on International Conference on Recent Advances and Future Trends in

Information Technology (iRAFIT 2012), iRAFIT(7) :1–4, April 2012. (Cite en

page 41.)

[66] Global Digital Vision. Cloud computing. http ://www.gdv.com.au/cloud-

computing.html, (Consulte Mars 2014). (Cite en pages viii et 11.)

[67] Marek Wieczorek, Stefan Podlipnig, Radu Prodan, and Thomas Fahringer. Bi-

criteria scheduling of scientific workflows for the grid. In CCGRID’08 : Pro-

ceedings of the 2008 Eighth IEEE International Symposium on Cluster Com-

puting and the Grid, pages 9-16, IEEE Computer Society, Washington, DC,

USA, 2008. (Cite en page 42.)

[68] Meng Xu, Li zhen Cui, Haiyang Wang, and Yanbing Bi. A multiple qos constrai-

ned scheduling strategy of multiple workflows for cloud computing. In ISPA,

pages 629–634. IEEE Computer Society, 2009. (Cite en pages 41 et 42.)

[69] Deshi Ye and Guochuan Zhang. On-line scheduling of parallel jobs in a list.

Journal of Scheduling, 10(6) :407–413, 2007. (Cite en page 31.)

[70] Jia Yu, Rajkumar Buyya, and Chen Khong Tham. Cost-based scheduling

of scientific workflow application on utility grids. In Proceedings of the First

International Conference on e-Science and Grid Computing, E-SCIENCE’05,

pages 140–147, Washington, DC, USA, 2005. IEEE Computer Society. (Cite

en page 42.)

[71] Dong Yuan, Yun Yang, Xiao Liu, and Jinjun Chen. A data placement stra-

tegy in scientific cloud workflows. Future Generation Computer Systems,

26(8) :1200–1214, 2010. (Cite en pages 46, 51 et 58.)

Page 122: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Bibliographie 110

[72] Sharrukh Zaman and Daniel Grosu. Combinatorial auction-based dynamic

VM provisioning and allocation in clouds. In the 3rd International Conference

on Cloud Computing Technology and Science, CloudCom 2011, Athens, Greece,

IEEE, November 29-December 1, 2011, pages 107–114, 2011. (Cite en page 35.)

[73] Qi Zhang, Quanyan Zhu, and Raouf Boutaba. Dynamic resource allocation for

spot markets in cloud computing environments. In the Fourth International

Conference on Utility and Cloud Computing (UCC’11), IEEE, 2011. (Cite en

page 35.)

[74] Han Zhao and Xiaolin Li. Auctionnet : Market oriented task scheduling in he-

terogeneous distributed environments. In the International Parallel and Dis-

tributed Processing Symposium (IPDPS), pages 1–4. IEEE, 2010. (Cite en

page 34.)

[75] Liang Zhao, Sherif Sakr, Anna Liu, and Athman Bouguettaya. Cloud Data

Management. Springer Editor, 2014. (Cite en pages viii, 14 et 15.)

Page 123: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Annexe A

Simulateurs de Cloud

computing

Dans un systeme distribue, il existe des enjeux a resoudre tels que la gestion

des ressources et l’ordonnancement des applications car, ces taches sont com-

pliquees et il n’existe pas une solution optimale pour repondre a ces issues. D’autre

part, dans l’environnement d’un systeme distribue comme Cloud, il est difficile d’ef-

fectuer les differents scenarios avec differents nombres de ressources et d’utilisateurs

afin d’evaluer la performance des algorithmes de partage de charge, Broker, gestion

des ressources, etc. Lorsque on veut evaluer les scenarios de maniere repetable et

controlable, cela est parfois impossible a cause de l’issue du cout et de la gestion.

Afin de resoudre cette issue, les chercheurs utilisent des simulateurs pour effectuer

leur scenarios avant de les effectuer au sein d’un systeme distribue reel. Plusieurs

simulateurs de Cloud Computing sont actuellement en developpement. En voici une

liste non exhaustive, decrivant les caracteristiques de chacun d’entre eux.

A.1 Simulateur CloudSim [12]

CloudSim est un framework qui modelise et qui simule l’environnement du Cloud

computing et ses services, il a ete realise en Java. Ce framework supporte la mo-

delisation et la simulation de l’environnement de Datacenter base sur le Cloud, tel

que les interfaces de gestion dediees aux VMs, la memoire, le stockage et la bande

passante. La couche CloudSim gere l’instanciation et l’execution des entites de base

(VM, hotes, Datacenters, applications) au cours de la periode de simulation. Dans

la couche la plus haute de la pile de simulation, on trouve le code de l’utilisateur qui

Page 124: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

A.1. Simulateur CloudSim [12] 112

expose la configuration des fonctionnalites liees aux hotes (ex : nombre de machines,

leurs specifications), les politiques d’ordonnancement de Broker, les applications (

ex : nombre de taches et leurs besoins), les VMs , et le nombre d’utilisateurs.

Il a ete developpe dans le laboratoire CLOUDS de science et de genie dans le

departement Informatique de l’Universite de Melbourne, en Australie. Il fournit des

classes de base pour decrire les centres de donnees, les machines virtuelles, les ap-

plications, les utilisateurs, les ressources informatiques et les politiques de gestion

des diverses parties du systeme (par exemple, l’ordonnancement et l’approvisionne-

ment). Ces composants peuvent etre mis en place pour les utilisateurs pour evaluer

de nouvelles politiques, les algorithmes d’ordonnancement, la cartographie, etc. Le

Cloud est une boıte a outils de simulation complexe a l’aide duquel la plupart des

scenarios de Cloud peuvent etre construites par une simple extension ou de rempla-

cement des classes et de codage du scenario souhaite.

CloudSim est une solution prete a l’emploi pour definir les parametres et simu-

ler afin d’obtenir des resultats. Etant une bibliotheque, CloudSim exige d’ecrire le

programme en Java a l’aide de ses composants pour composer le scenario souhaite

et de recueillir les resultats de l’analyse de la performance et de la securite des

applications de Cloud.

Tous les composants de CloudSim communiquent entre eux par envoi de mes-

sages. Dans l’architecture en couches au-dessus de CloudSim, la couche la plus

basse est principalement responsable de la communication entre les composants et

la seconde couche possede toutes les sous-couches en ce qui concerne les principaux

composants tels que les capteurs de nuages, les centres de donnees, etc. [35]. L’uti-

lisation de CloudSim permet de modeliser les centres de donnees, la repartition de

la machine virtuelle en utilisant un VMScheduler, la consommation d’energie et le

comportement du reseau. D’autres outils de simulation qui etendent la puissance

de CloudSim sont : CloudSimEx, WorkflowSim, SimpleWorkflow, RealCloudSim,

CloudReports, CloudAuction, CloudMIG Xpress, CloudAnalyst [12].

Page 125: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

A.2. EMUSIM 113

A.2 EMUSIM

EMUSIM (Integrated Emulation and Simulation) combine l’emulation et la si-

mulation [28] pour permettre a des modeles plus precis des artefacts de logiciels

(obtenus par profilage lors de l’emulation) a les utiliser lors des simulations. Ceci

est particulierement utile lorsque le testeur n’a aucune idee sur la performance du

logiciel sous differents niveaux de concurrence et parallelisme, ce qui empeche l’uti-

lisation de la simulation.

Figure A.1 – Organisation interne EMUSIM

A.3 Simulateur GreenCloud

GreenCloud est un simulateur pour les centres de donnees de Cloud computing

developpe pour la reduction de l’energie en mettant l’accent sur les communications

en Cloud. Il propose une modelisation fine et detaillee de l’energie consommee par

l’equipement informatique des centre de donnees, tels que les serveurs informatiques,

les commutateurs de reseau, et les liens de communication.

GreenCloud peut etre utilise pour developper de nouvelles solutions en matiere

de suivi, d’allocation des ressources, d’ordonnacement, ainsi que d’optimisation des

protocoles de communication et des infrastructures de reseau (Figure A.2). Il est

libere en vertu du Contrat de Licence Publique Generale et est une extension du

simulateur de reseau NS2 bien connu. GreenCloud a ete elabore dans le cadre des

projets Greenit et ECO-CLOUD [57].

Page 126: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

A.4. Simulateur GroudSim 114

Figure A.2 – Architecture GreenCloud

A.4 Simulateur GroudSim

GroudSim est un simulateur base sur des evenements, il a ete propose par Oster-

mann et al. [47] pour des applications scientifiques sur les environnements de grille

et de Cloud base sur un noyau discret d’evenement independant pour la simulation

evolutive. Il fournit un ensemble complet de fonctionnalites pour les scenarios de

simulation complexes a partir des executions d’emploi simples sur les ressources

informatiques louees a des couts de calcul, et la charge des ressources. Les simu-

lations peuvent etre parametrees et sont facilement extensibles par des paquets de

distribution de probabilite pour les defaillances qui se produisent normalement dans

des environnements complexes. Il est principalement concentre sur le IaaS, mais il

est facilement extensible pour soutenir des modeles supplementaires tels que PaaS,

DaaS (Data as a Service) et TaaS (Text as a Service).

A.5 iCanCloud [60]

iCanCloud est un autre outil de simulation des applications de hautes perfor-

mances sur des grands reseaux de stockage (Figure A.3). Ce simulateur est developpe

sur Simcan (un outil de simulation pour analyser les architectures d’E/S a haute

performance). Dans ce simulateur, il n’y a pas besoin de modifier le code de simula-

tion pour tester differentes architectures. Il peut etre effectue simplement en creant

Page 127: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

A.5. iCanCloud [60] 115

un nouveau fichier de configuration.

Figure A.3 – Architecture iCanCloud [60]

Page 128: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Annexe B

Simulateur CloudSim :

Developpement et

experimentation

Le framework Cloudsim modelise et simule l’environnement du Cloud computing

et ses services, il a ete realise en Java.

B.1 Architecture detaillee de CloudSim

La Figure B.1 illustre les differentes couches de la structure du CloudSim et

ses elements architecturaux. Au niveau le plus bas est le moteur de simulation aux

evenements discrets SimJava, qui implemente les fonctionnalites de base requises

pour les cadres de simulation au niveau superieur, telles que les files d’attente, le

traitement des evenements, la creation de composants du systeme (services, hote,

Datacenter, Broker, les machines virtuelles), la communication entre les composants

et la gestion de l’horloge de simulation.

CloudSim supporte la modelisation et la simulation de l’environnement de Da-

tacenter base sur Cloud, tel que les interfaces de gestion dediees aux VMs, la me-

moire, le stockage et la bande passante. La couche CloudSim gere l’instanciation

et l’execution des entites de base (VM, hotes, Datacenters, applications) au cours

de la periode de simulation. Dans la couche plus haute de la pile de simulation, on

trouve le code de l’utilisateur qui expose la configuration des fonctionnalites liees

aux hotes (ex : nombre de machines...), les politiques d’ordonnancement de Broker,

les applications ( ex : nombre de taches...), les VMs, et le nombre d’utilisateurs.

Page 129: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

B.2. Modelisation du Cloud 117

Figure B.1 – Architecture de Cloudsim [12]

B.2 Modelisation du Cloud

Dans cette partie, nous allons voir comment simuler une application distribuee

au sein d’un Cloud. Chaque Cloud est constitue des Datacenters. On trouve dans

chaque Datacenter, des hotes et chaque hote heberge les VMs. Pour faire la simu-

lation, il faut definir une classe qui contient la fonction Main(), dans laquelle, on

definit les parametres de notre Cloud comme le nombre de Datacenter, des hotes, et

les caracteristiques de chaque hote et machine virtuelle comme la bande passante.

Dans cet exemple, la configuration de la VM est :

//—————–VM description—————–

int vmid = 0 ;//vm id

int mips = 250 ;//number of operations

long size = 10000 ; //image size (MB)

int ram = 512 ; //vm memory (MB)

long bw = 1000 ;//vm bandwidth

Page 130: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

B.2. Modelisation du Cloud 118

int pesNumber = 1 ; //number of cpus

String vmm = ”Xen”; //VMM name

//create VMs

Vm vm1 = new Vm(vmid, brokerId, mips, pesNumber, ram, bw, size, vmm, new

CloudletSchedulerTimeShared()) ;

Et la configuration de l’hote est :

//—————–create host—————–

List<Host> hostList = new ArrayList<Host>() ; List<Pe> peList = new Array-

List<Pe>() ; int mips = 1000 ;

peList.add(new Pe(0, new PeProvisionerSimple(mips))) ; // need to store Pe id and

MIPS Rating

int hostId=0 ;

int ram = 2048 ; //host memory (MB)

long storage = 1000000 ; //host storage

int bw = 10000 ;

hostList.add(new Host(hostId,new RamProvisionerSimple(ram),new BwProvisioner-

Simple(bw), storage, peList, new VmSchedulerSpaceShared(peList))) ;

Et finalement le Datacenter :

//—————–create Datacenter—————–

String arch = ”x86”;//system architecture

String os = ”Linux”;//operating system

String vmm = ”Xen”;

double time zone = 10.0 ;//time zone this resource located

double cost = 3.0 ;// the cost of using processing in this resource

double costPerMem = 0.05 ;//the cost of using memory in this resource

double costPerStorage = 0.001 ;//the cost of using storage in this resource

double costPerBw = 0.0 ;//the cost of using bw in this resource

LinkedList<Storage> storageList = new LinkedList<Storage>() ;//we are not ad-

ding SAN devices by now

DatacenterCharacteristics characteristics = new DatacenterCharacteristics

(arch, os, vmm, hostList, time zone, cost, costPerMem, costPerStorage, costPerBw) ;

Page 131: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

B.3. Politiques d’ordonnancement 119

Datacenter datacenter = null ;

try {

datacenter = new Datacenter(name, characteristics, new VmAllocationPolicySimple(hostList),

storageList, 0) ;

} catch (Exception e) {

e.printStackTrace() ;

}

Dans CloudSim, il y a deux entites importantes : Broker et Cloudlet. Le Broker

gere la creation de VMs, la soumission aux VMs et la destruction de VMs. Les

Cloudlets sont les taches a executer sur les machines virtuelles. La derniere version

de CloudSim 3, nous permet de configurer et de changer les parametres de reseau

entre les hotes dans un datacenter, aussi entre les datacenters en utilisant des switchs

et des routeurs.

B.3 Politiques d’ordonnancement

Il existe deux politiques qui sont definies dans le simulateur CloudSim :

– La politique d’ordonnancement Space Shared (Espace partage)

– La politique d’ordonnancement Time Shared (Temps partage)

B.3.1 Etape pour definir la politique SPACE SHARED

Dans la politique d’ordonnancement Space Shared, l’ordonnanceur (Broker) pla-

nifie une tache sur la machine virtuelle concernee a un instant donne et apres son

achevement, il lance une autre tache sur la machine virtuelle. Cette meme politique

est utilisee pour programmer les machines virtuelles sur l’hote. Cette politique suit

la meme procedure que l’algorithme du premier arrive, premier servi (PAPS) [38].

Etape 1 : Les taches acceptees sont disposees dans une file d’attente.

Etape 2 : La premiere tache dans la file d’attente est lancee sur la machine vir-

tuelle donnee.

Etape 3 : Apres la terminaison de la premiere tache, la prochaine tache dans la

file d’attente sera consideree.

Page 132: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

B.3. Politiques d’ordonnancement 120

Etape 4 : Si la file d’attente est vide, le Broker verifie pour une eventuelle tache.

Etape 5 : Repeter ensuite a partir de l’etape 1.

Etape 6 : Fin.

B.3.2 Etape pour definir la politique TIME SHARED

Dans la politique d’ordonnancement en temps partage, l’ordonnanceur planifie

toutes les taches sur la machine virtuelle en meme temps. Il partage le temps entre

toutes les taches et les planifie simultanement sur la machine virtuelle. Cette po-

litique est egalement utilisee pour ordonnancer la machine virtuelle sur l’hote. Le

concept de l’algorithme d’ordonnancement Round-Robin (RR) [38] est utilise dans

cette politique.

Etape 1 : Les taches acceptees sont disposees dans une file d’attente.

Etape 2 : Planifier les taches simultannement sur la machine virtuelle.

Etape 3 : Si la file d’attente est vide, verifier pour une eventuelle tache.

Etape 4 : Si une nouvelle tache arrive, repeter a partir de l’etape 2.

Etape 5 : Fin.

CloudSim met en œuvre les politiques d’ordonnancement Space Shared et Time

Shared. La difference entre ces deux politiques et leurs effets sur les performances de

l’application est montree dans la Figure B.2. Dans lequel, un hote avec deux cœurs

de processeurs recoit une demande pour l’hebergement de deux machines virtuelles,

et chacune necessitant deux noyaux et execute quatre unites de taches : t1, t2, t3

et t4 a executer en VM1, tandis que t5, t6, t7 et t8 a executer dans VM2.

Page 133: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

B.3. Politiques d’ordonnancement 121

Figure B.2 – Effets des politiques d’ordonnancements sur l’execution des taches :

(a) Space-shared for VMs and Tasks, (b) Space-share for VMs and Time-shared for

tasks, (c) Time-shared for VMs, Space-shared for tasks, and (d) Time-shared for

both VMs and Tasks

Page 134: DEPARTEMENT D'INFORMATIQUE THESE · 2017. 2. 9. · A mes amies et mes coll egues A tous ceux qui m’ont encourag e et aid e iii Remerciements J ... 2.8.2 Avantages au niveau des

Résumé

Le Cloud computing est une technologie de calcul et de stockage naissante qui se consolide rapidement

comme une grande étape dans le développement et le déploiement d'un nombre croissant des

applications réparties. L'ordonnancement de tâches et d'allocation de ressources dans les systèmes de

type Cloud computing suscite une attention croissante avec l'augmentation de la popularité de Cloud.

Dans les travaux de cette thèse, nous proposons trois stratégies d'ordonnancement et d'allocation de

ressources, la première stratégie d'ordonnancement est basée sur la réplication des données pour les

workflows scientifiques, la seconde stratégie d'ordonnancement se focalise sur le groupement de

tâches et la dernière stratégie d'ordonnancement de tâches et d'allocation de ressources est destinée

aux Big data. Nos propositions permettent de réduire le temps de réponse moyen des tâches, de

diminuer le déplacement des données pour les applications scientifiques, et de réduire le coût global

d'utilisation de ressources.

Mots clés: Cloud computing, ordonnancement des tâches, allocation des ressources,

workflows, groupement de tâches, Big data.

Abstract

Cloud computing is an emerging computing and storage technology that is rapidly consolidating as a

great step in the development and deployment of an increasing number of distributed applications.

The task scheduling and resource allocation in the systems based Cloud computing are receiving

increasing attention with the rise in popularity of Cloud. In the works of this thesis, we propose three

scheduling and resource allocation strategies, the first scheduling strategy is based on the replication

of data for scientific workflows, the second scheduling strategy focuses on the grouping of tasks and

the last strategy of task scheduling and resource allocation is intended for the big data. Our proposals

will reduce the average response time of tasks, decrease data movement for scientific applications, and

minimize the overall cost of resource use.

Keywords: Cloud computing, tasks scheduling, resource allocation, workflows, tasks

grouping, Big data.

ملخص

الحوسبة السحابية هي تكنولوجيا الحوسبة والتخزين الناشئة التي تعمل على التوطيد بسرعة كبيرة في تطوير ونشر عدد

جدولة المهام وتخصيص الموارد في الحوسبة السحابية أنظمة تحظى باهتمام متزايد مع . متزايد من التطبيقات الموزعة

في عمل هذه الأطروحة، نقترح ثلاث استراتيجيات للجدولة وتخصيص الموارد، . ارتفاع الشعبية في الحوسبة السحابية

استراتيجية الجدولة الأولى تعمل على أساس تكرار البيانات لسير التطبيقات العلمية، استراتيجية الجدولة الثانية تركز على

مقترحاتنا تعمل على . تجميع المهام و الاستراتيجية الأخيرة من جدولة المهام وتخصيص الموارد تختص بالبيانات الكبيرة

. التكلفة الإجمالية لاستخدام المواردتقليلستجابة المهام، الحد من حركة البيانات للتطبيقات العلمية، وإتقليل متوسط زمن

الحوسبة السحابية، جدولة المهام، تخصيص الموارد، التطبيقات العلمية، تجميع المهام، البيانات :كلمات البحث

. الكبيرة