Workflows scientifiques sur plusieurs clouds



Documents pareils
Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Bonjour. Yohan PARENT, Cyprien FORTINA, Maxime LEMAUX, Hyacinthe CARTIAUX

Ordonnancement sous contraintes de Qualité de Service dans les Clouds

Séminaire Partenaires Esri France 6 et 7 juin 2012 Paris. ArcGIS et le Cloud. Gaëtan LAVENU

Cloud Computing : Généralités & Concepts de base

Big Data et Graphes : Quelques pistes de recherche

Le Cloud Open-Mind! Emilien Macchi

Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing

Cloud Computing et Calcul Haute Performance (HPC High Performance C

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

VMware : De la Virtualisation. au Cloud Computing

LES APPROCHES CONCRÈTES POUR LE DÉPLOIEMENT D INFRASTRUCTURES CLOUD AVEC HDS & VMWARE

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Cloud Computing, Fondamentaux, Usage et solutions

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Breizhcamp - Cloud - Ruby

Orchestrer son cloud OpenStack avec Heat

Chapitre 4: Introduction au Cloud computing

Le Cloud Computing L informatique de demain?

Serveur d'application à la juste taille

+ = OpenStack Presentation. Raphaël Ferreira - enovance. Credits : Thanks to the OpenStack Guys 1

La tête dans les nuages

Enseignant: Lamouchi Bassem Cours : Système à large échelle et Cloud Computing

Tests de SlipStream sur les plateformes et : vers la. Vers la fédération du Cloud computing

OpenStack, l Infrastructure as a Service libre

Big Data et Graphes : Quelques pistes de recherche

Plate-forme Cloud CA AppLogic pour les applications d entreprise

Informatique en nuage Cloud Computing. G. Urvoy-Keller

Cloud Computing - présentation d un outil complet

Cloud et SOA La présence du Cloud révolutionne-t-elle l approche SOA?

Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales

L accès aux Clouds (Académiques)

Evolution des technologies et émergence du cloud computing Drissa HOUATRA, Orange Labs Issy

Brochure Datacenter. Novell Cloud Manager. Création et gestion d un cloud privé. (Faire du cloud une réalité)

Ordonnancement en temps réel d un jobshop par métaheuristique hybride : étude comparative

CloudBees AnyCloud : Valeur, Architecture et Technologie cloud pour l entreprise

Projet d'infrastructure de stockage mutualisée

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Fiche Technique Windows Azure

L'automatisation open source pour SI complexes

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Déterminer les enjeux du Datacenter

Annexe 6. Notions d ordonnancement.

Section I: Le Contexte du DATA CENTER Pourquoi l AGILITE est Nécessaire dans le DataCenter

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Cloud Computing - L environnement concurrentiel. Points forts reformulés, issus d un récent article du Taneja Group, publié en septembre 2012.

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

ETUDE ET IMPLÉMENTATION D UNE CACHE L2 POUR MOBICENTS JSLEE

Licences Windows Server 2012 R2 dans le cadre de la virtualisation

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Forthcoming Database

Virtualiser ou ne pas virtualiser?

L UNIVERS INSTANTANÉ:

Transformation vers le Cloud. Premier partenaire Cloud Builder certifié IBM, HP et VMware

AGROBASE : un système de gestion de données expérimentales

Le Cloud au LIG? Pierre Neyron PimLIG

A Libre Ouvert. Médiathèque Jacques Ellul. le

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

SysFera. Benjamin Depardon

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Hébergement MMI SEMESTRE 4

Comment démarrer son Cloud Hybrid avec Amazon Web Services

EXALOGIC ELASTIC CLOUD MANAGEMENT

Les environnements de calcul distribué

Grid 5000 : Administration d une infrastructure distribuée et développement d outils de déploiement et d isolation réseau

Le Cloud: Mythe ou Réalité?

Virtualisation & Sécurité

.Réinventons l innovation.

Automatisation de l administration système

Choisir la solution d hébergement et de support faite pour vous

Evolution des SI à l heure du Cloud

VMWare Infrastructure 3

Architectures informatiques dans les nuages

e need L un des premiers intégrateurs opérateurs Cloud Computing indépendants en France

Cloud computing Architectures, services et risques

Dynamic Computing Services solution de backup. White Paper Stefan Ruckstuhl

Le cloud computing au service des applications cartographiques à haute disponibilité

Une méthode d apprentissage pour la composition de services web

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

FAMILLE EMC VPLEX. Disponibilité continue et mobilité des données dans et entre les datacenters AVANTAGES

Virtual Data Center d Interoute. Prenez la main sur votre Cloud.

L état de la virtualisation

Livre blanc. La sécurité de nouvelle génération pour les datacenters virtualisés

Les termes du cloud CUMULO NUMBIO 2015 O. COLLIN

Vers une IT as a service

ARCHITECTURE ET SYSTÈMES D'EXPLOITATIONS

LIVRE BLANC OCTOBRE CA Unified Infrastructure Management : architecture de la solution

Cours de Master Recherche

COMPUTING. Jeudi 23 juin CLOUD COMPUTING I PRESENTATION

Un exemple de cloud au LUPM : Stratuslab

Les six choses les plus importantes à savoir sur la sécurité VDI/DaaS

IaaS à la sauce Portails Focus sur. Pierre Aubert Orange Portails OF/DMGP/Portails/DOP 1 er Juillet 2013

Anatomie d'un cloud IaaS Représentation simplifiée

E-Biothon : Une plate-forme pour accélérer les recherches en biologie, santé et environnement.

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

Transcription:

Workflows scientifiques sur plusieurs clouds Mémoire de fin d études Stage effectué à l ENS de Lyon Laboratoire de l Informatique du Parallélisme (LIP) pour l obtention du diplôme de Master Informatique option Système et Réseaux Par DAO Van Toan dvtoan@ifi.edu.vn van-toan.dao@ens-lyon.fr Encadrants : Frédéric DESPREZ (INRIA - Avalon) frederic.desprez@inria.fr Jonathan ROUZAUD-CORNABAS (CNRS - CC-IN2P3/LIP - Avalon) jonathan.rouzaud-cornabas@ens-lyon.fr Lyon, Novembre 2013

Remerciements Je tiens à remercier tous ceux qui m ont aidé à la réalisation de ce travail. Mes premiers remerciements vont à mes encadrants Fédéric DESPREZ et Jonathan ROUZAUD-CORNABAS à l École Normale Supérieure de Lyon pour m avoir donné de nombreux conseils ainsi que des orientations importantes dans l approche académique et scientifique. J ai obtenu des connaissances inestimables et de très bonnes compétences dans le domaine de la recherche. De plus, j aimerais remercier Laurent LEFEVRE qui a présenté ce stage sur son site. J aimerais remercier tous les membres de l équipe AVALON du LIP, pour leur amitié et leur soutien. Je tiens à remercier ensuite tout le personnel et enseignants de l Institut de la Francophonie pour l Informatique (IFI) à Hanoi pour leur conseil et le suivi qu ils m ont accordé pendant mes études de master. Je tiens également à remercier mes camarades étudiants de l IFI avec qui j ai passé de bons moments pendant les périodes de stress et des cours. J aimerais remercier mes amis de Lyon. J adresse un merci particulier à toute ma famille qui malgré la distance n a cessé de me prêter main forte.

Résumé Les calculs scientifiques sont compliqués et les données manipulées sont très grandes alors ils nécessitent un grand ensemble de ressources de calcul et de stockage ainsi qu une méthode pour les utiliser efficacement. La technique dite workflow scientifique est devenue l un des principaux choix dans la communauté scientifique pour formaliser et structurer les calculs scientifiques. Le but premier du workflow scientifique est de maximiser la performance. De plus, le concept de cloud computing amène une nouvelle dimension dans la technologie de l information, grâce à ses avantages, on peut augmenter les ressources disponibles avec celles provenent de clouds privés et publiques. De plus, le cloud privé peut facilement renforcer sa performance en tirant parti des clouds publiques, hybride cloud computing. Les workflows ont tout intérêt à tirer parti des environnements multi-clouds. Dans ce rapport, nous nous intéressons aux algorithmes d ordonnancement pour les workflows scientifiques dans les environnements multi-clouds de type IaaS pour maximiser leurs performances d exécution tout en minimisant son coût et son temps d exécution. Pour cela, nous proposons notre solution qui se compose de 3 phases : découpage d un graphe en sous-graphes (cutting-graph), faire l allocation des ressources, faire l ordonnancement des tâches et des données. Après, notre proposition est validé via simulateur grâce à SimGrid Cloud Broker du projet ANR INFRA SONGS 1 qui a été construit pour simuler Amazon Web Service 2. Les résultats expérimentaux montrent une corrélation entre le temps d exécution, la distribution des tâches dans des clusters et le coût du workflow, révélant ainsi la nécessité d algorithmes qui s adaptent aux demandes de l utilisateur. Mots-clés : Le cloud computing, le modèle IaaS, l environnement multi-clouds, le workflow scientifique, l algorithme d ordonnancement, le coût et le makespan, SimGrid Cloud Broker, le simulateur Amazon Web Service. 1. http ://infra-songs.gforge.inria.fr/ 2. http ://aws.amazon.com/fr/

Abstract The scientific applications are complex and manipulated very large datasets. So they require a large set of computing resources and storage as well as a method to use them effectively. The scientific workflow technique has become one of the main choice in the scientific community to formalize and structure scientific computations. The main goal of scientific workflow is to maximize performance. Furthermore, the cloud computing is a new dimension in the information of technology, thank to its advantages, you can increase the available resources with those coming from private and public cloud computing. In addition, the private cloud computing can easily enhance its performance or its infrastructure through the public cloud computing, hybrid cloud computing. Scientific workflows must take adavantage of multi-clouds environment. In this report, we focus on the scheduling algorithms for the scientific workflows in the IaaS multi-clouds environments to maximize runtime performance while minimizing its costs and execution time. For this, we propose our solution consists of three phases : cutting a graph into subgraphs, resource provisioning, task allocation. Finally, our proposal is validated via the simulator with SimGrid Cloud Broker of the project ANR INFRA SONGS that was built to simulate Amazon Web Service. Experimental results show a correlation between the execution time, the distribution of the tasks in the clusters and the cost of workflow, revealing that algorithms needs to adapt to user s requirements. Key-words : The cloud computing, the model IaaS, the multi-clouds environment, the scientific workflow, the scheduling algorithm, the cost and the performance, SimGrid Cloud Broker, the simulator Amazon Web Service.

Table des matières 1 INTRODUCTION 5 1.1 Motivations.................................. 5 1.2 Objectifs et Domaines d application..................... 5 1.3 Structure du document............................ 6 1.4 Présentation de l environnement de travail................. 7 2 LE CLOUD COMPUTING ET LE WORKFLOW SCIENTIFIQUE 8 2.1 LE CLOUD COMPUTING......................... 8 2.2 LE WORKFLOW SCIENTIFIQUE..................... 12 2.3 SGCB : Simulation d environnement multi-clouds avec SimGrid..... 15 3 DES ALGORITHMES D ORDONNANCEMENT DES TÂCHES DU WORKFLOW 16 4 SOLUTION ET RÉLIASATION PRATIQUE 21 4.1 LA SOLUTION PROPOSÉE........................ 21 4.2 LE TRAVAIL PRATIQUE.......................... 29 5 EXPÉRIMENTATIONS ET ANALYSES DES RÉSULTATS 31 6 CONCLUSION 39 A La taille de données dans un cluster 44 B Des autres expérimentations 46 1

Table des figures 2.1 La convergence des avantages du cloud computing............. 9 2.2 Les types de cloud computing......................... 11 2.3 Des structures simples du workflow...................... 12 2.4 Un workflow simple par DAG......................... 13 2.5 Des types de découpage des tâches dans le workflow............ 14 2.6 L architecture du broker de cloud SIMGRID................. 15 3.1 Un exemple des workflows dans plusieurs clouds............... 17 4.1 Des étapes de l algorithme de l ordonnancement dans mon étude..... 22 4.2 Un processus avec des étapes de faire l ordonnancement.......... 29 4.3 Le workflow Montage............................. 30 4.4 Le workflow Epigenomics........................... 30 4.5 Le workflow Inspiral.............................. 30 5.1 La distribution des tâches dans des clusters avec Inspiral.......... 32 5.2 La distribution des tâches dans des clusters avec Montage......... 33 5.3 La distribution des tâches dans des clusters avec Epigenomics....... 33 5.4 Le prix total, le temps total d exécution et ratio entre eux du Montage 25 35 5.5 Le prix total, le temps total d exécution et ratio entre eux du Inspiral 30 36 5.6 Le prix total, le temps total d exécution et ratio entre eux du Epigenomics 24....................................... 37 A.1 La taille de données dans des clusters avec Inspiral............. 44 A.2 La taille de données dans des clusters avec Montage............ 45 A.3 La taille de données dans des clusters avec Epigenomics.......... 45 B.1 Le prix total, le temps d exécution et ratio entre eux du Montage 50... 46 B.2 Le prix total, le temps d exécution et ratio entre eux du Inspiral 50... 46 B.3 Le prix total, le temps d exécution et ratio entre eux du Epigenomics 46. 47 B.4 Le prix total, le temps d exécution et ratio entre eux du Montage 100.. 47 B.5 Le prix total, le temps d exécution et ratio entre eux du Inspiral 100... 47 2

B.6 Le prix total, le temps d exécution et ratio entre eux du Epigenomics 100 47 B.7 Le prix total, le temps d exécution et ratio entre eux du Montage 1000. 48 B.8 Le prix total, le temps d exécution et ratio entre eux du Inspiral 1000.. 48 B.9 Le prix total, le temps d exécution et ratio entre eux du Epigenomics 997 48 3

Liste des tableaux 2.1 Types de VMs du cloud computing..................... 10 3.1 Étude des algorithmes de l ordonnancement du workflow......... 19 3.2 Une comparaison des algorithmes en basant sur les facteurs différents.. 20 5.1 La relation entre le numéro de clusters et le temps d exécution....... 31 4

Chapitre 1 INTRODUCTION 1.1 Motivations Dans la réalité, les organismes scientifiques ont besoin d un système informatique pour exécuter leurs calculs, leurs applications scientifiques et stocker leurs données et ceci dans un grand nombre de domaine scientifique comme : l astronomie, la bioinformatique, la génétique, la physique, la physique nucléaire, etc. Ces calculs et ces applications sont très grands, s exécutent de manière concurrente et peuvent tirer parti des ressources fournies par les clouds. Pour cela, il y a plusieurs solutions pour construire un environnement multi-cloud : Construire un nouveau système ou reconstruire sur un système existant (le cloud privé a été construit localement en utilisant un logiciel ouvert comme : OpenStack, OpenNebula, Eucalyptus, StratusLab, etc.). Si l organisme scientifique a un propre cloud privé, il est alors possible de créer une liaison avec des autres organismes scientifiques, ayant également des clouds privés (federated cloud) ou une combinaison de plusieurs cloud publics (cloud hybrid). Utiliser directement plusieurs cloud publics via un logiciel ou une interface commune entre eux. Le workflow scientifique est une méthode pour formaliser et structurer les calculs scientifiques. Le but du workflow scientifique est de maximiser la performance, un budget minimale, la sécurité, etc. Pour le moment, il n est pas aisé d utiliser ces workflows dans le cadre du cloud computing, en particulierement dans l environnement multi-clouds alors qu ils ont tout intérêt à en tirer parti. 1.2 Objectifs et Domaines d application L objectif du stage est d étudier des algorithmes d ordonnancement pour les workflows scientifiques dans les environnements multi-clouds de type IaaS. Nous proposons 5

des algorithmes qui sont meilleurs selon différents objectifs comme maximiser la performance, minimiser le coût et minimiser le temps d exécution, etc. et ainsi que nous présentons notre solution. Les workflows scientifiques sont utilisés dans un grand nombre de projets qui travaillent sur des grands ensembles de données comme : Montage, Epigenomics, LHC Atlas, etc. Dans ce rapport, nous proposons des algorithmes d ordonnancement pour les workflows dans un environnement multi-clouds pour maximiser la performance, minimiser le coût et le temps d exécution, etc. C est-à-dire, nous présentons des solutions pour améliorer l exécution de calculs scientifiques qui nécessitent un grand emsemble avec de ressources qui proviennent d un environnement dynamique et distribué comme le cloud computing. 1.3 Structure du document Le contenu du rapport se compose de 6 chapitres : Dans le premier, nous présentons brièvement notre sujet et notre motivation. Le chapitre 2 présente un état de l art des travaux en liaison avec notre travail. Tout d abord, ce rapport revient sur les définitions du cloud computing, un cloud computing IaaS et hybride, le workflow scientifique et ses problèmes comme la structure, ses caractéristiques, le système de gestion du workflow. De plus, nous présenterons des stratégies pour découper un workflow. Enfin, nous présentons brièvement l outil de simulation, SIMGRID Cloud Broker (SGCB). Dans le chapitre 3, nous présenterons une recherche bibliographique contenant une synthèse et une analyse critique combinée des algorithmes d ordonnancement optimiser pour l utilisation des clouds par les workflows scientifiques. Ce rapport présente les algorithmes existants et leurs paramètres particuliés (répondre au problème du temps, du coût, de la performance, etc). Après, dans le chapitre 4, nous donnons un modèle des étapes de notre algorithme et une considération des stratégies et des algorithmes qui peuvent utiliser pour chacune des étapes. Ensuite, le chapitre 5, nous introduisons notre extension à SGCB pour supporter les workflows scientifiques. Puis, nous présentons l expérimentation et donnons notre analyse des résultats. Enfin dans la dernière partie du rapport, le chapitre 6, nous résumerons les points faibles et forts de notre algorithmes et concluons notre étude. 6

1.4 Présentation de l environnement de travail Mon stage de fin d études de Master a été effectué à l Ecole Normale Supérieure de Lyon (ENS de Lyon) sous encadrants M. Fédéric DESPREZ et M. Jonathan ROUZAUD- CORNABAS dans l équipe de recherche AVALON du laboratoire de l Informatique du Parallélisme (LIP). Le LIP est associé à l Institut National de Recherche en Informatique et en Automatique (INRIA), le Centre national de la recherche scientifique (CNRS) et l Université de Lyon 1. L équipe AVALON 1 est grande avec environ de 30 membres, est un groupe commun entre l INRIA, le CNRS, le LIP, l université Claude Bernard Lyon 1 et l université de Lyon. Les sous-projets dans l équipe contient : les algorithmes distribuées, les modèles de programmation, le déploiement de services, la composition de service et l orchestration, la gestion des donées à grande échelle, etc. Mon stage est une partie dans le sous-projet des algorithmes distribuées. Nous proposons des algorithmes d ordonnancement par les workflows scientifiques dans les clouds computing qu ils vont tester par simulation via le projet ANR INFRA SONGS. 1. http ://avalon.ens-lyon.fr/ 7

Chapitre 2 LE CLOUD COMPUTING ET LE WORKFLOW SCIENTIFIQUE 2.1 LE CLOUD COMPUTING L idée d Utility computing dont est fortement inspiré le concept de Cloud computing a été présentée par M. John McCarthy en 1961 dans sa thèse. De plus, l architecture du cloud computing est issue de la recherche sur la grille de calcul, le calcul distribué, la virtualisation, l utility computing, etc. Grâce à ces avantages, le cloud computing est un nouveau modèle de calcul pour les applications scientifiques, l entreprise et l utilisateur lambda. Le cloud computing 1 est un concept qui consiste à déporter sur des serveurs distants le stockage et les traitements informatiques traditionnellement localisés sur des serveurs locaux ou sur le poste de l utilisateur. D après la définition de l Institut des sciences et techniques de l ingénieur de Lyon, le cloud computing : "C est un concept qui fait référence à l utilisation d un "cloud" de serveurs et d ordinateurs répartis dans le monde entier et liés par un réseau, tel Internet. Le concept du Cloud Computing est comparable à celui de la distribution de l énergie électrique. L hébergeur fournit une plateforme technique capable d accueillir à peu près tout type d application et facture son service en fonction de la consommation des ressources", [11]. Différentes définitions ont été présentées mais elles ne sont pas des définitions standards et officielles. L Institut National des Normes et de la Technologie des États-Unis (NIST) a donné une définition officielle : "Le cloud computing est un modèle qui apparaît partout et permet d accèder facilement via Internet aux services qui permettent de partager des ressources informatiques (par exemple : des ressources de calcul, réseaux, serveurs, stockages, applications et services)". De plus, "Une infrastructure du 1. http ://fr.wikipedia.org/wiki/cloud_computing 8

cloud est la collection du logiciel et du matériel qui respectent 5 caractères essentiels du cloud computing (on-demand self service, broad network access, resource pooling, rapid elasticity, measured service). Il peut être considéré comme un système qui contient deux couches : la physique et l abstraction. La couche physique contient des ressources matériels (serveurs, stockages, composants de réseau) et autres services du cloud. La couche abstraite qui se trouve au-dessus la couche physique, contient des logiciels qui s exécutent sur le cloud et manifestent des caractères essentielles du cloud", [37]. D après ces définitions, on voit que le cloud computing est un modèle de services et n est pas une technologie. C est une combinaison complexe de matériels et logiciels mais aussi de techniques d ingénieurie. On peut décrire les spécificités du cloud computing par un modèle visuel présenté dans la Figure 2.1. Selon [38], le cloud computing est une convergence des points forts des systèmes, des méthodes scientifiques, des technologies modernes et des nouvelles techniques. En pratique, il devient une nouvelle dimension de la technologie. Le cloud computing permet d augmenter les profits et la rentabilité des consommateurs et des fournisseurs du service d informatique. Toutes les ressources du cloud computing sont fournies comme des services (as a service) à l utilisateur comme : les ressources de calcul, les ressources réseau, les ressources virtuelles, les ressources logiciel, les nouvelles technologies, etc. Le cloud computing se présente comme un modèle de service allant de l infrastructure à la plate-forme et au logiciel comme une machine universelle. Un client lambda peut facilement l utiliser ou l exploiter. Il garantit la qualité de service (QoS), la sécurité, etc. Figure 2.1 La convergence des avantages du cloud computing. 9

En pratique, il n est pas seulement un nouveau système générique pour une organisation quelconque (l entreprise, l institut de la recherche, l université, etc.) comme les systèmes précédents mais encore il est un produit des services qui permet de tirer un bénéfice. LE CLOUD COMPUTING IAAS ET HYBRIDE Le IaaS signifie Infrastructure as a Service, est un cloud de service d infrastructure, la plus basse des 3 couches du cloud computing. Pour le modèle IaaS, NIST a donné la définition suivante : "Le IaaS fournit du calcul, stockage, réseau au consommateur pour qu il puisse déployer des logiciels, faire fonctionner des applications (incluant le système d exploitation). Le consommateur ne peut pas gérer ou contrôler l infrastructure du cloud computing mais il peut contrôler le système d exploitation et ses applications", [37]. L Institut des sciences et techniques de l ingenieur de Lyon a donné sa définition suivante : "L Infrastructure-as-a-Service (IaaS) apporte la possibilité pour l utilisateur de bénéficier, à la demande, d une infrastructure matérielle lui fournissant une capacité de traitement, sans avoir à gérer le réseau en tant que tel", [11]. Nous présentons brièvement un tableau des types de VMs dans des clusters. Dans notre travail, nous utilisons les types de Amazon 1. Type ArchitectureVCPUsMémoire Stockage Prix Linux Windows Amazon EC2 t1. micro 32/64 bits 1 0.60 Go 0 Go $0.02/h $0.02/h m1.small 32/64 bits 1 1.70 Go 1 x 160 Go$0.06/h $0.09/h m1.xlarge 64 bits 4 15 Go 4 x 420 Go$0.48/h $0.73/h OpenStack m1.tiny N/A 1 512 Mo 0 Go N/A N/A m1.small N/A 1 2 Go 10 Go N/A N/A m1.xlarge N/A 8 16 Go 10 Go N/A N/A StratusLab t1.micro N/A 1 128 Mo 0 Go N/A N/A m1.small N/A 1 128 Mo N/A N/A N/A m1.xlarge N/A 2 1 Go N/A N/A N/A Table 2.1 Types de VMs du cloud computing Selon moi, le IaaS est un modèle de service du cloud qui fournit une infrastructure d informatique comme un service en permettant de créer ou installer, intégrer, gérer et superviser des services et de construire un système virtuel complet sur un système 1. http ://aws.amazon.com/fr/ec2/pricing/ 10

réel aussi que l administrer, etc. Différentes techniques de virtualisation peuvent être utilisées : KVM, VirtualBox, Xen, OpenVZ, VMWare, HyperV, etc. Maintenant, il existe beaucoup d IaaSs différents en incluant les publics et les privés. Les offres de cloud publique, les plus connues sont Amazon EC2 1, VMware vcloud Suite 2, GoGrid 3, Microsoft Azure 4, etc. De plus, des logiciels qui permettent de construire un cloud sur ses propres ressources ont été proposés : Openstack 5, OpenNebula 6, StratusLab 7, etc. Dans la Table 2.1, nous présentons brièvement des types différents de VMs disponibles dans plusieurs clouds : Amazon EC2, OpenStack, StratusLab. Figure 2.2 Les types de cloud computing. La combinaison entre deux ou plus types différents de cloud (privé, communautaine ou public) s appelle hybride, [37]. La Figure 2.2 donne une explication synthétique, des différents types de cloud, [33]. Un cloud hybride n est qu un ensemble de clouds séparés par contre il garantit l unité étroite, le standard commun, la correspondance de la technologie, la flexibilité d applications entre le cloud privé et le cloud public. De plus, il limite les inconvénients du cloud privé et public en tirant parti des points forts du cloud privé et public en concernant : la sécurité, le stockage de données, le coût, la QoS, etc. En d autres mots, le cloud privé peut facilement renforcer sa performance grâce au cloud public quand il en a besoin en prenant en compte le coût des ressources provenant d un ou plusieurs clouds public. Grâce à cela, le cloud privé économise le coût d acheter du matériel, le temps pour étendre le système, etc. Aujourd hui, il existe beaucoup des logiciels facilitant cette hybridation : VMware vcloud Hybrid, etc. 1. http ://aws.amazon.com/fr/ec2/ 2. http ://www.vmware.com/products/datacenter-virtualization/vcloud-suite/overview.html 3. http ://www.gogrid.com 4. http ://www.windowsazure.com 5. http ://www.openstack.org/ 6. http ://opennebula.org/start 7. http ://stratuslab.eu/ 11

2.2 LE WORKFLOW SCIENTIFIQUE Le concept du workflow est originaire du commerce pour faire l organisation et la gestion commerciale, selon le WFMC (est signe de "workflow management coalition") a défini un workflow comme : "l automatisation d un processus, en totalité ou en partie, au cours laquelle des documents, des informations ou des tâches sont transmises d un participant à l autre pour l action, selon un ensemble de règles de procédure", [30][33][42]. Maintenant, on l utilise dans le domain scientifique. Il existe beaucoup d applications scientifiques qui utilisent le workflow : Montage, Ligo [13][31][39]. Le workflow (flux de travail en français) est une façon de réorganiser, de gérer et d exécuter automatiquement des tâches compliquées ou des grands calculs dans un système comme le cloud computing par un ensemble d étapes. La notation workflow scientifique dans mon étude parle de l utilisation d un workflow pour l application ou le calcul scientifique. Un workflow scientifique est un modèle qui contient des tâches, des éléments de données, des contraints entre des tâches, des séquences de contrôle. On utilise un graphe orienté acyclique (directed acyclic graph - DAG) pour représenter un workflow scientifique, qui est composé d un ensemble de sommets V et d un ensemble d arcs E avec E VxV alors on a G = (V, E). Les sommets représentent les tâches calculs et les arcs représentent des dépendances de données et des contrôles entre les sommets correspondants comme : le poids d arc, la dépendance hiérarchique parentenfant ou la flèche ou l ordre d exécution, [13][39]. Le coût de communication entre deux noeuds est déterminé par le poids (une valeur ou un ensemble de valeurs différentes) de l arc. Le coût de calcul de la tâche est déterminé par le poids du sommet. Chaque DAG a seulement un sommet entré et un sommet sorti. D après [20], on a une classification du workflow selon son architecture comme : séquentiel, paralléle ou conditionnel. Selon [39], il y a 5 structures simples du workflow, il contient : le processus, le pipeline, la distribution de données, l agrégation de données, la redistribution de données dans la Figure 2.3. Grâce à ces structures, on facilite de construire un grand workflow compliqué. Figure 2.3 Des structures simples du workflow. 12

Dans le workflow, le type de communication entre des tâches le plus utilisé se fait via des fichiers. Le fichier sorti de la tâche précédente est le fichier entré de la tâche suivante. Les fichiers sont stockés dans un système de fichiers partagés (NFS, GlusterFS, cluster storage, pvfs, etc) ou transférer d un noeud à une autre, [14]. En effet, on a un seul fichier entré, un seul fichier sorti et beaucoup de fichiers intermédiaires qui sont créés par les noeuds intermédiaires du workflow. On a une illustration d un workflow simple dans la Figure 2.4 avec deux fichiers entré et sorti : f1in, f7out et des fichiers intermédiaires : f1out, f2out, f3out, f4out, f5out, f6out. Chaque sommet a une valeur wi avec i=1, 7 qui représente son coût en MIPs 1, chaque arc représente une relation entre deux sommets ainsi que les données à transférer de l un vers l autre. Par l utilisation du DAG, quand une tâche finit son travail alors il envoie sa sortie à son enfant, dans ce moment-là, son enfant peut commencer son travail avec la donnée sortie comme une entrée. Si un noeud parent n a pas encore fini son travail alors un noeud enfant ne peut pas commencer jusqu à ce qu il reçoive les données d entrée. Dans le cloud computing, un DAG correspond à un ensemble de machines virtuels et leurs liaisions qui sont des tâches d un job entrée et transmettent des données correspondants entre eux. Figure 2.4 Un workflow simple par DAG. Le cloud computing peut exécuter plusieurs DAGs différents en paralléle, on appelle cela multi-dags, [19][38]. [17] présente des stratégies pour changer un multi-dags en un DAG. Le problème d ordonnancement est une partie ou une module du Workflow Engine(s), [36][42] qui permet l exécuter de workflows sur une plate-forme. 1. http ://en.wikipedia.org/wiki/instructions_per_second 13

LE DÉCOUPAGE DES TÂCHES DANS LE WORKFLOW Comme dit précédemment les tâches d un workflow sont interdépendantes concernant les données, l ordre d exécution, les contraintes. Afin de faciliter son ordonnancement la première étape consiste à découper les tâches (le découpage permet de minimiser le déplacement des données entre des tâches). Le but est de minimiser l utilisation des ressources et le budget alloué des ressources, par exemple : un workflow a 400 Go de données alors on choisit 3 x m1.small plutôt que 1 x m1.xlarge parce qu on considère le budget alloué et l utilisation des ressources dans l environnement présenté dans la Table 2.1. Comme plusieurs tâches et/ou workflows demandent des ressources, il n est pas optimal de réserver toutes les ressources pour exécuter toutes les tâches en même temps car ce problème va entraîner du gaspillage de temps, d argent, etc. Le découpage va permettre de créer des sous-graphes ou sous-workflows qui correspondent aux ressources d exécution, s appelle un groupe ou un cluster. Figure 2.5 Des types de découpage des tâches dans le workflow. Plusieurs méthodes existent pour découper un workflow en sous-workflows. La Figure 2.4 montre 3 approches : level-based/cut-horizon [10], label-based [10], triplet [6] ; "minimum k-way cut" [25], décomposition en composantes fortement connexes ; le hasard, etc. 14

2.3 SGCB : Simulation d environnement multi-clouds avec SimGrid SGCB (SimGrid Cloud Broker) est un simulateur et un logiciel ouvert qui fournit un cadre de simulation pour les systèmes distribués. De plus, il a été construit pour simuler AWS. En d autres mots, il est une implémentation complète de AWS (il contient 3 services : AC2, S3, EBS). Alors, on l utilise pour simuler des algorithmes d ordonnancement des tâches du workflow. Il a été développé par Fédéric DESPREZ et Jonathan ROUZAUD-CORNABAS, [12]. Figure 2.6 L architecture du broker de cloud SIMGRID. L approche de développement du module est une seule interface interactive entre le cloud computing et l utilisateur, c est comme un API. De plus, il supporte le multi-clouds et le multi-régions. On a un modèle visuel comme Figure 2.5 pour présenter l architecture du SGCB. L architecture se compose de 3 couches : multi-clouds infrastructure, la couche middleware et la couche interface (API). 15

Chapitre 3 DES ALGORITHMES D ORDONNANCEMENT DES TÂCHES DU WORKFLOW Le but de l ordonnancement des tâches est de trouver un plan d exécution optimal des tâches qui prend en considération leurs contraintes : les ressources, le budget, la date de fin, la performance, etc. En général, un problème contraint se compose de : tâches, ressources, conditions contraintes et une ou plusieurs fonctions objectifs. Il existe beaucoup d algorithmes d ordonnancement des tâches de workflow dans le cloud computing. Ce rapport s intéresse au problème de l ordonnancement d un ensemble de tâches à un ensemble des processeurs ou machines virtuelles. Le processus d ordonnancement se composent de tout ou partie des étapes suivantes : task prioritizing, resource provisioning/allocation et scheduling/mapping. La phase task prioritizing, établit l ordre des tâches de départ leurs propriétés et leurs contraintes. Après cette phase, on a une liste ordonnée. La phase resource provisioning/allocation réserve/alloue un ensemble de ressources c est-à-dire qu elle calcule le nombre de VMs pour chaque type. On voit des types de VMs dans le Table 2.1. La phase scheduling/mapping sélectionne les ressources parmi celles précédemment allouer qui permettent d exécuter les tâches selon l ordre prédéfini. Ou elle fait l ordonnancement de chaque tâche à des ressources qui lui sont optimals. 16

Figure 3.1 Un exemple des workflows dans plusieurs clouds. La Figure 3.1 décrit l exécution de plusieurs workflows sur plusieurs clouds. Tout d abord, le client envoie son job à la couche Broker [16] où l algorithme d ordonnancement est installé. On suppose que tous les jobs sont formés par des DAGs, chaque tâche est représentée par un cercle. Après, l algorithme prioritise les tâches et réserve des ressources dans le cloud privé et public. Ensuite, il choisit pour chaque tâche la ressource correspondant la mieux pour l exécuter. Enfin, le résultat de calcul du job est renvoyé à l utilisateur. La résolution de l ordonnancement des tâches, spécialement dans un système distribué et hétérogène, est de complexité NP-hard 1. En général, des algorithmes courants utilisent des heuristiques pour trouver une solution qui est quasi-optimal, [16]. Le Table 3.1 présente les algorithmes d ordonnancement de workflows pour les environnements multi-clouds pour optimiser l utilisation coût et performance. 1. http ://en.wikipedia.org/wiki/np-hard 17

AlgorithmeIntroduction brève Méthode ParamètresFacteur Stratégie Outil Avantages Inconvénients ACO [18] L utilisation de l algorithme deqos mode/ Fiabilité, Une listemodèle du ser-java Il permet de garantiril fait une sélection colonies de fourmis (ACO) estmarked- temps dedes work-vice avec un une qualité de servicealéatoire un service basé sur des exigences diversesbased réponse, flows pré-sla aussi bien pour l utili-candidat du cloud de la qualité de services pour coût, cisés avec ser que le fournisseur. pour each fourmi et optimiser l ordonnancement des sécurité leurs propriétés le repeate alors le flux de services dans le cloud et temps d exécution computing. L idée du ACO est leurs exigences soit en haut. De plus, d utiliser de la recherche aléatoire des la quantité de calcul dans le problème TSP. services de chaque fourmi augmente lorsque le nombre de services de cloud candidats augmente. Bi-criteira L article présente trois ap-contraintproches Makespan, Le DAG Pareto (non-simulationl ordonnancement etla complexité est [24] pour l ordonnancementde Dead-coût moné-dedominated) l allocation sont baséshaute par l approche et l allocation des tâches pourline ettaire tâches, leselection phase sur multiple objetspareto qui présente un le workflows avec deux critères : Budget graph des optimals : cost et ma-ensemblkespan. de solutions côut monétaire et temps. ressources Les aprochespour choisir. et les valeurs d attribut concernés Les auteurs ont construit à unimmediate Makespan, Un DAG, Reverse modèle d ordonnancement dy-modenamique coût moné-un mo-auction-based des flux de travauxmarked- taire dèle de scientifiques par une extensionbased prix, un du mécanisme BOSS. L algorithme mécanancement proposé est un ordonnisme heuristique de liste. vérité ont un bon résultat dans le cas "lower bounds" des critères. BOSSextensiomations WIEN2k Il remplace les infor-il ne fait pas un réor- non-exactesdonnancement quand [16] de ressource des four-unnisseurs tâche n est pas par un modèleterminée. De plus, il de prix qui est définisuppose que chaque par l auteur. fournisseur ait un seul ressource. CTC [26] Un algorithme d ordonnance-qoment Makespan, Un ta-stream-pipe SwinDeW-L algorithme a uneil ne considère pas si- CTC pour l éxecution de coût moné-bleau destechnique C pré-étape pour dé-multanément les deux workflow dans le cloud computing. taire workflows couvrir et réordonnercontraintes dans le Il est centré sur des des tâches échouées. workflow pour miniser contraintes d une relation interactive Il exploite l effet in-la performance totale. entre le temps et le cost teractif entre le côut comme un compromis qui est et le deadline qui agit basé sur des caractéristiques du sur la performance cloud. du workflow. De plus, il permet à l utilisateur de redéfinir leurs deadline et coût dans chaque cycle de l ordonnancement. DBD-CTO Cet algorithme minimise le costbatch Makespan, Une listegrouper desjava Il garantit toute lesil ne fait pas avec [4] d exécution tout en répondantmode coût moné-detairviceflow ser-tâches du work- tâches sont fait parun réordonnancement au timeframe pour l obtention dans des leurs contraintes cor-quand une tâche n est des résultats et analyse le comportement possibles partitions avec respondantes pas terminée. De plus, de l algorithme. et des pa-le deadline et le il est statique. ramètres budget corressvice du ser-pondentes. pour toute les tâches HSGA [5] C est une méthode heurisitiquealgorithmemakespan, Un en-lsemble fusion entresimulationil considère les in-les critères d arrêt hybride pour trouver un ordon-génétiqunancement speedup debest-fit et formations statiquene sont pas clairs. De approprié pour le ratio, ressourcesround Robin et dynamqiue de laplus, il ne considère workflow dans le cloud computing l équili- dispo- ressource et la tâche. pas la change du qui est basé sur l algobrage denibles et De plus, il réduit lenombre de ressource. rithme génétique en ordre. charge les tâches nombre d opération sur lanon- itérative GA au départ mappée. ressource. de l algorithme par une population initiale optimisée. LA [9] L article propose une nouvellealgorithmemakespan, Un work-l utilisation descloudsim Il s adapte automati-l espace d état pour approche de l ordonnancementgénétique coût moné-flotaire. Solver Agents, quement au change-faire des tâches du workflow dans le cloud l ordonnancement d environnementest grande en in- computing, c est l architecture ment évoulé des ressources parcluant l utilisation ou d apprentisage qui utilise un par l utilisation l apprentissage. Denon-utilisation des Markov Decision Process pour du Markov plus, il garantit l exé-ressourcecution selon le diriger optimisement le processus Decision Prolon réussie dutemps au contraire d exécution du workflow secess avec la workflow par le MDP. il ne considère pas l état d environnement. conjonction de les types de VMs. Il l algorithme répète l évaluation de Bayesian Model la fonction fitness. Learning. 18

MQMW [35] La stratégie peut faire l ordon-multiplnancement pour multiple work-qos mode Taux flows qui sont démarrés tous en même temps et les exigences de QoS sont prises en compte. Il a considéré 4 facteurs qui affectent grandement le makespan, le coût et le taux de réussite du workflow. réussite, coût, temps, makespan deun en-définisemble l utilisateur multiples workflows etun réordonnancement parcloudsim Il s accorde avec lesil ne fait pas avec des avec un modèle le multiple-objectif op-quantimal en même-temps. pas terminée. une tâche n est tâches, unde 4 étapes. ensemble Il seléctionne De plus, il considère des ser-devices ont le surplus par 3 contraintes. Un tâches qui la performance totale disponibles decoût minimal minée. de temps et tâche est toujours ter- pour faire l ordonnancement avant. QWS [20] QWS est l ordonnancement dumultiple Coût, ma-ukespan, en-négocier la QoSVMware Il s accorde avec lesil ne garantit pas l uti- fia-semble workflow basé sur la QoS. Il cal-qocule mode entre l utili-virtual multiples workflows etlisation meilleure des les surplus d information bilité des sateur et lemachines le multiple-objectif op-ressources. De plus, il d obtenir une négociation QoS tâches, unfournisseur par timal en même-temps. ne considère pas les ca- pour un workflow par l utilisation ensemble le calcul des de VMs. De plus, il va fait avecractéristiques des paramètres entre des des ser-surplus infor- un réordonnancement tâches. vices mations des quand une tâche n est disponiblefilling). tâches. pas terminée (back- S-CLPSO S-CLPSO est une extensionalgorithmecoût, ma-ukespan, en-la sélection10 appli-il va trouver untout d abord, il [42] de l algorithme PSO (particlegénétique fia-semble d un ensemblecations demeilleur ensembledonne des ressources swarm optimization) dans bilité. des tâchesoccasionnel workflow des ressources pourfaisables au hasard l espace discrète pour améliorer et undes ressources exécuter des tâchespour sélectionner par l effet de l ordonnancement ensemble enregistrées par qui sont définis parl élimination. dans le cloud computing avec occasionnel la mise à jour l utilisateur. multi-qos. des des valeurs qui ressourcessont satisfaits. SHEFT [7] SHEFT fait l ordonnancementdependencyle tempsun en-isemble est basé sur lecloudsim Il considère les chan-il groupe des res- un workflow élastique sur lemode d exécution, temps de début gements élastiques dusources qui sont même cloud computing pour optimiser des tâchesau plus tôt et le ressources quand lecapacité de calcul dans le temps d exécution du workflow capacité temps de fin au workflow marche. Deun cluster au contraire et mettre à échelle élas- plus tôt. plus, les ressourcesil ne considère pas des tique des ressource lors de l exécution peuvent être assignésautres caratéristiques seulement quand ellesde VMs comme : le sont nécessaires. prix, le stockage, la bande passante, etc. Table 3.1 Étude des algorithmes de l ordonnancement du workflow Le tableau 3.1 se compose de 9 colonnes où chaque ligne présente un algorithme avec son nom, une description, sa stratégie, ses caractéristiques, ses avantages et inconvénients, etc. Pour la deuxième colonne, nous présentons brièvement l algorithme et son idée. La troisième colonne, nous indiquons la méthode formelle utilisée par l algorithme. Après, nous présentons les paramètres qu elle optimise. La première, c est makespan, il présente le temps complet d exécution du workflow de la première tâche à la dernière tâche. L algorithme doit trouver la valeur minimale. Ensuite, c est le coût comme un frais minimal doit payer quand on utilise les services. Les autres sont : la fidélité, la sécurité, le taux de réussite, le taux de vitesse, etc. La colonne facteur représente les paramètres d entrée de l algorithme. La colonne stratégie présente la méthode ou la façon dont il l utilise dans l ordonnancement pour avoir le meilleur résultat. La colonne outil présente la simulation de l algorithme ou l environement de déploiement de l algorithme. Enfin, les 2 dernières colonnes présentent les avantages et les inconvénients. Un résumé complet des algorithmes est disponible dans le Table 3.2. Dans cette table, la colonne type et mode sont construites selon la taxonomie présentée dans [22]. La colonne autres de la partie Contraintes présente les contraintes comme : la sécurité, la fiabilité, le taux de vitesse, etc. De plus, la colonne "D-B" est signe de considérer simultanément le deadline et le budget. 19

Algorithme Contraintes Objets Plan Nom Type Mode DeadlineBudgetD-BAutresMakespanCoûtCapacitéFiabilitéTDR*SécuritéAutresDynamiqueStatique ACO [18] QoS Heuristique x x x x x x Bi-criteira QoS Heuristique x x x x x x x [24] BOSS-extens Best-effortHeuristique x x x x x x x x x [16] CTC [26] QoS Heuristique x x x x x x x x DBD-CTO Best-effortHeuristique x x x x x x x x x [4] HSGA [5] Best-effortMétaheuristique x x x x x x x x x LA [9] QoS Métaheuristique x x x x x x x x x MQMW [35] QoS Heuristique x x x x x x QWS [20] QoS Heuristique x x x x x x S-CLPSO[42] QoS Métaheuristique x x x x x x x SHEFT [7] Best-effortGlouton x x x x x x x x x x TDR* = Taux de réussites Table 3.2 Une comparaison des algorithmes en basant sur les facteurs différents Dans la partie Objets, nous présentons les objectifs que l algorithme veut optimiser. Pour le plan de l ordonnancement, il y a deux types d algorithmes : dynamique et statique. Pour le statique, l algorithme ne considère pas la charge dynamique des ressources. Les tableaux présentent les algorithmes sur le problème de l ordonnancement de workflows dans le cloud computing. En général, les algorithmes incluent deux étapes : la première l ordre des tâches et la sélection des services du cloud, ensuite, la deuxième le meilleur choix entre les deux ensembles. Cette sélection dépend des différentes contraintes ou leurs stratégies, comme : MQMW, QWS, etc. L algorithme S-CLPSO, fait l ordonnancement avec deux phases : l allocation de ressources et la sélection. Des algorithmes ajoutent une phase, comme Bi-criteria et BOSS-extension, il y a trois phases : l ordre des tâches, l allocation des ressources, la sélection. L algorithme SHEFT utilise deux phases : task priority, resource allocation. DBD-CTO fait de la découverte de services, ensuite groupe un workflow dans des partitions de tâche et distribue un budget et une deadline aux partitions, et fait la meilleure sélection. ACO utilise un modèle SLA. La garantie d exécution de la tâche comme : CTC, QWS. L algorithme intelligent est comme : LA, etc. On a des algorithmes heuristique comme : ACO, Bi-criteria, BOSS-extension, CTC, DBD-CTO, MQMW, QWS, un glouton comme SHEFT, des autres sont méta-heuristique. Des algorithmes sont statiques comme : DBD-CTO ou HSGA et d autres dynamiques comme : ACO, Bi-criteira, BOSS-extens, etc. Ensuite, des autres s intéressent aux workflows multiples et multiple-objectifs optimal : ACO, MQMW, QWS, etc. 20

Chapitre 4 SOLUTION ET RÉLIASATION PRATIQUE 4.1 LA SOLUTION PROPOSÉE D après des stratégies de découpage et des algorithmes de l ordonnancement des tâches du workflow, nous présentons notre approche qui construit un plan d exécution avec des objectif de QoS comme : le temps d exécution, le coût et le ratio entre eux. Selon la Table 3.1 et 3.2, notre approche est dynamique, son facteur est un ensemble des tâches et la contrainte est la taille de stockage des tâches du cluster. Enfin, elle optimise l utilisation dans un environnement multi-clouds. Notre approche se compose de 3 phases : graph-cut, resource provisioning et task allocation. La Figure 4.1 présente notre solution pour faire l ordonnancement des tâches du workflow. Pour la phase graph-cut, nous utilisons des stratégies que ce rapport a présenté dans la partie 2.2 comme : label-based, Triplet, DCC-based, BCC-based. Ensuite, la deuxième phase, nous présentons des stratégies pour faire la réservation des ressources comme : Cheapest, One cluster per VM. Ces approches sont originales même si fondamentales est proche d autres. Enfin, il faut faire un ordonnancement des tâches aux ressources allouées en prenant en compte les contraintes pour maximiser la performance et minimiser le côut. Ici nous proposons une version modifiée de l algorithme First-Fit. Nous utilisons la phase graph-cut dans notre solution car les raisons que nous avons présenté avant (des stratégies de découpage et des algorithmes existantes). De plus, nous avons une autre raison : on ne peux pas considérer qu une tâche correspond à une VM car il gaspille de l argent et il est compliqué de faire la réservation des ressources quand le nombre de tâches est plus grand. 21

Figure 4.1 Des étapes de l algorithme de l ordonnancement dans mon étude. Pour la première phase, nous présentons brièvement leurs idées et leurs pseudocodes. Tout d abord, pour l algorithme Label-based, l idée principale est de faire un cluster des tâches dans le workflow qui contient des tâches qui ont la même étiquette i.e. label. L algorithm 1 présente cette idée sous une pseudocode. Algorithm 1 Algorithme de coupage des tâches dans un graphe par l utilisation Labelbased Require: Un graphe des tâches. Ensure: Ensemble des clusters des tâches. Créer une liste du nom des tâches. Mettre chaque élément de cette liste dans un cluster avec sa marque et la valeur correspondant. for chaque cluster do for chaque tâche do if end if end for end for (Une tâche a le même nom avec que le cluster) then Ajouter cette tâche au cluster. Ensuite, nous présentons deux algorithmes de parcours en largeur d abord (BFS) et en profondeur d abord (DFS) qui ont été modifiés par l ajout des contraintes afin de 22

trouver des composantes connexes qui satisfaient notre demande, ils s appellent DCCbased et BCC-based. Nous définissons dans l algorithme 2 la fonction de calcul du total prédit totalpredit(c,k), c est le total des valeurs du cluster C et k (si on ajoute k dans le cluster C). La base de l algorithme, est en largeur d abord mais nous avons ajouté une contrainte que nous utilisons dans la deuxième phase de la solution. Cette contrainte peut-être la performance de la machine virtuelle, la taille de stockage de la machine virtuelle, le ratio de données transférées entre des clusters, le budget, le makespan, etc. Dans notre cas, nous choisissons la taille de stockage de la machine virtuelle. Cette valeur est dynamique car elle dépend la deuxième phase i.e. resources provioning. Algorithm 2 Algorithme de coupage des tâches dans un graphe par l utilisation BCCbased Require: Un graphe des tâches G. Ensure: Ensemble des clusters et des leurs tâches. for chaque tâche do if (une tâche n est pas marquée) then Créer une queue de cette tâche Q. Créer une liste adjacente L. Mettre cette tâche à Q. Marquer cette tâche. if (L ne contient pas cette tâche) then Ajouter cette tâche à L. end if while Q n est pas vide do Une tâche t Q.dequeue() for tout les arcs e dans G.adjacentEdges(t) do Une tâche k G.adjacentEdges(t, e)) if (k n est pas marquée AND totalp redit(c, k) seuil) then Mettre k à Q. Marquer k. if end if end if end for end while if end if end if end for (L ne contient pas k) then Ajouter k à L. (Cluster C ne contient pas L) then Mettre L à C. 23

L algorithm 3 se nomme DCC-based et applique la recherche en profondeur (DFS) ainsi que en utilisant la fonction totalpredit(c,k) tout comme BCC-based. Algorithm 3 Algorithme de coupage des tâches dans un graphe par l utilisation DCCbased Require: Un graphe des tâches. Ensure: Ensemble des clusters et leurs tâches. for chaque tâche do if (une tâche n est pas marquée) then Créer une stack de cette tâche S. S.push(cette tâche). Marquer cette tâche. Créer une liste adjacente L. if (L ne contient pas cette tâche) then Ajouter cette tâche à L. end if while S n est pas vide do Une tâche t S.pop() for tout les arcs e dans G.adjacentEdges(t) do Une tâche k G.adjacentEdges(t, e)) if (k n est pas marquée AND totalp redit(l, k) seuil) then S.push(k). Marquer k. if end if end if end for end while if end if end if end for (L ne contient pas k) then Ajouter k à L. (Cluster C ne contient pas L) then Mettre L à C. Notre troisième algorithme de découpage de graphe est nommé Triplet et que nous avons présenté par l avant dans la partie 2.2. Nous présentons deux variantes : TripletVersion1- based (Algorithm 4) et TripletVersion2-based (Algorithm 5). Les différences principales entre TripletVersion1 et TripletVersion2 sont la manière dont est générée la liste de triplets et la façon de traiter la fusion des triplets qui satisfait notre condition. 24

Algorithm 4 Algorithme de coupage des tâches dans un graphe par l utilisation TripletVersion1-based Require: Un graphe des tâches. Ensure: Ensemble des clusters et de leurs tâches. Créer une liste des tâches adjacents à chaque tâche. Créer une liste des triplets T avec son concept : i j et j k OR i j et i k. for chaque triplet do for chaque triplet do if (Deux triplets ont un ou deux tâche(s) commun(s) AND totalp redit(c, tachesdut riplet) seuil) then Fusionner deux triplets sans duplications, après les mettre dans un cluster C. end if end for end for for chaque cluster do if (Deux clusters ont un ou des tâche(s) commun(s)) then Supprimer des tâches communs dans un cluster. end if end for for chaque cluster do if end if end for (Un cluster est vide) then Supprimer ce cluster. Pour TripletVersion1, nous fusionnons tous les triplets qui satisfont nos contraintes. Après ça, si il existe des tâches se trouvent dans 2 clusters différents, nous supprimons les redondances. Après cela, s il existe des clusters qui sont vides, nous les supprimons. Par contre, pour TripletVersion2, nous construisons des clusters sans duplication grâce à l utilisation de marque, c est-à-dire, après avoir ajouter une tâche dans un cluster, nous marquons cette tâche comme traité. La fonction totalpredit(c,tâche) dans deux versions du triplet est la même que celle des algorithmes précédants. Le but de la fonction est de calculer le changement de la valeur d un cluster si on met une tâche dans ce cluster. Cette fonction est notre contrainte et sert de solution d arrêt. 25

Algorithm 5 Algorithme de coupage des tâches dans un graphe par l utilisation TripletVersion2-based Require: Un graphe des tâches. Ensure: Ensemble des clusters et leurs tâches. Créer une liste des triplets T avec son concept : i j et j k OR i j et i k. avec la condition : si un arc contient la première tâche d autres arcs. for chaque triplet do Créer une liste Tmp. for chaque triplet do if (Deux triplets ont un ou deux tâche(s) commun(s)) then for chaque tâche dans un triplet do if (une tâche n est pas marqué AND totalp redit(t mp, cettet ache) seuil) then Mettre cette tâche dans Tmp. Marque cette tâche. end if end for end if end for if end if end for (Cluster C ne contient pas Tmp) then Mettre Tmp à C. Notre dernier algorithme NoGraphCut sert uniquement à comparer nos algorithmes de graph-cut contre un cas où il n y avait pas cette étape. Dans ce cas, on peut voir chaque tâche comme un cluster. 26

Algorithm 6 Algorithme de la provision par l utilisation OneClusterPerVM Require: Des clusters et une liste des modèles de la ressource : les VMs et ses prix. Ensure: Une liste des modèles qui satisfaient des contraintes. Calculer la taille de chaque cluster. Créer une liste des modèles qui satisfait la taille de stockage demande. for chaque cluster do for chaque région des ressources do for chaque ressource do if (Cette ressource est satisfaite) then Ajouter cette ressource à la liste. end if end for end for Choisir une valeur dans cette liste qui est moins cher pour ce cluster. end for Pour la deuxième phase Resources provisioning, nous présentons deux algorithmes : Cheapest et OneClusterPerVM présentés dans l algorithme 6 et 7. Algorithm 7 Algorithme de la provision par l utilisation Cheapest Require: Des clusters et une liste des modèles de la ressource : les VMs et ses prix. Ensure: Une liste des modèles qui satisfaient des contraintes. Calculer la taille de chaque cluster. Créer une liste des modèles qui satisfait la taille de stockage demande. for chaque cluster do for chaque région des ressources do for chaque ressource do if (Cette ressource est satisfaite) then Ajouter cette ressource à la liste. end if end for end for end for Recalculer selon la corrélation entre la taille du cluster et le budget du cluster pour choisir une meilleure valeur dans cette liste avec la critère : l espace du stockage libre restant. L idée principale de l algorithme 6 est d allouer chaque cluster dans une VM, en d autres termes, le nombre de machines virtuelles correspond au nombre de clusters. Pendant ce temps, l algorithme 7 recalcule à utiliser le prix qui est le moins cher et garantir à satisfaire le nombre de clusters. Enfin, nous utilisons l algorithme First-Fit pour faire la dernière phase (task allocation). 27

Algorithm 8 Algorithme de l ordonnancement par l utilisation First-Fit Require: Des clusters et une liste des modèles de la ressource : les VMs et ses prix. Ensure: Pour chaque VM et cluster, allocation des données et prioritisation des tâches. Créer une liste de toutes les tâches sans dépendance parent. Créer une liste triée de toutes les tâches de chaque cluster. Allouer des données à l instance où la première tâche qui l utilise sera alloué. Écrire une liste de données de sortie (pour extraire à la fin). L idée principale de l algorithme 8 est d allouer les données à l instances et les tâches. 28

4.2 LE TRAVAIL PRATIQUE Tout d abord nous présentons l installation du simulateur SIMGRID 1 (sur le système d exploitation Ubuntu) : sudo apt-get install git cmake cmake-curses-gui mkdir./simgrid git clone git ://scm.gforge.inria.fr/simgrid/simgrid.git simgrid cd simgrid cmake -Denable_maintainer_mode=on -DCMAKE_INSTALL_PREFIX=../install_simgrid. make make install Nous utilisons également R pour analyser et présenter nos résultats ainsi que pajeng pour lire des fichiers des données généré par SGCB. Figure 4.2 Un processus avec des étapes de faire l ordonnancement. 1. http ://simgrid.gforge.inria.fr/simgrid/latest/doc/use.html 29

Ensuite, nous présentons notre approche en réel, elle se compose de trois phases : découper un graph en sous graphes ou clusters, faire la réservation des ressources, faire l ordonnancement selon la Figure 4.2. C est un processus complet qui permet l exécution d un workflow scientifique dans notre environnement multi-cloud simulé. Des triangles présentent les algorithmes, les rectangles présentent l entrée et le sortie de l algorithme. De plus, des chiffres présentent l ordre de l exécution. Selon cette figure, l entrée de notre solution est un fichier au format.xml qui présente un workflow, la sortie est les tâches et ses données avec les ressouces correspondantes. Selon notre solution, tout d abord, l étape "Lire XML", notre programme lit des fichiers entrés sous le format *.xml qui définissent un graph avec ses données. Après avoir charger le DAG, nous le découpons en sous-graph avec des algorithmes que nous avons présenté précédemment : Label-based, DCC-based (Depth-Constraint based Clustering), BCC-based (Breath-Constraint based Clustering), Triplet, NoGraphCut. En sortie, nous avons des cluster des tâches qui satisfont notre condition. Pour la deuxième phase, nous présentons deux algorithmes : Cheapest et One Cluster per VM. Enfin, nous utilison l algorithme First-Fit pour faire l ordonnancement. Figure 4.3 Le workflow Montage. Figure 4.4 Le workflow Epigenomics. Figure 4.5 Le workflow Inspiral. Dans notre pratique, nous utilisons des fichiers qui décrivent des workflows comme : Montage, Epigenomics, LIGO Inspiral Analysis 1. Ces workflows sont présentés dans des figures 4.3, 4.4 et 4.5. 1. https ://confluence.pegasus.isi.edu/display/pegasus/workflowgenerator 30