Les infrastructures informatiques distribu´ees et la virtualisation

Télécharger le fichier original (Mémoire de fin d’études)

Introduction

La flexibilit´ est un el´ement cl´e de l’informatique, il suffit de reprendre les fondements de l’informatique pos´es par Turing pour s’en appercevoir [54]. La flexibilit´ extrˆeme est celle de la machine de Turing universelle qui permet de simuler le comportement de n’importe quelle autre machine de Turing. En pratique, la flexibilit´ dans un syst`eme informatique revient a` pouvoir ex´ecuter une s´erie d’instructions sur des donn´ees, ces instructions et ces donn´ees n’´etant pas ≪ cod´ees ≫ dans le syst`eme au moment de sa cr´eation, mais≪ charg´ees ≫ au moment de son utilisation.
Ce document se concentre sur la flexibilit´ dans les infrastructures informatiques de type grappe, grille et centrale num´erique (informatique en nuage [36], Cloud Comput-ing). Ces infrastructures sont distribu´ees sur un ou plusieurs sites et sont g´er´ees par des gestionnaires de ressources. Ce sont ces gestionnaires de ressources qui apportent la flexi-bilit´e requise pour la configuration et l’utilisation de ces infrastructures aussi bien pour les utilisateurs que pour les administrateurs. Prenons l’exemple d’une centrale num´erique. Ce type de syst`eme propose aux utilisateurs de pouvoir d´eployer des machines virtuelles dans lesquelles ils ont des droits d’administration privil´egi´es. Ces machines virtuelles sont ex´ecut´ees sur les nœuds de la centrale num´erique. L’axe de flexibilit´e que l’on peut d´egager ici est que, d’une part les administrateurs d’une centrale num´erique d´efinissent leurs poli-tiques de gestion de l’infrastructure, et que d’autre part, les utilisateurs peuvent, sans intervention des administrateurs, d´efinir le nombre de machines virtuelles qu’ils veulent en disposant d’un degr´ de personnalisation important. Ils ont en effet la possibilit´e de choisir le type de syst`eme d’exploitation et de configurer leur environnement d’ex´ecution. Du point de vue des utilisateurs, ces op´erations sont faites `a la demande, c’est-`a-dire imm´ediatement (ordre de la dizaine de secondes).
Le domaine de l’informatique est en constante ´evolution. On peut y remarquer un cer-cle vertueux : les besoins en service entraˆınent des avanc´ees technologiques (logiciels et mat´eriels) qui en retour apportent de nouvelles perspectives et m`enent vers de nouveaux besoins [20, 27, 35]. Or, la mise en place et la maintenance d’infrastructures informatiques pour r´epondre `a un besoin est complexe et coˆuteuse en terme de temps, et leur reconfig-uration pour les ´etendre ou r´epondre `a un besoin diff´erent peut l’ˆetre encore plus. Dans ce contexte, la motivation d’utiliser des ressources le plus efficacement possible avec des syst`emes extrˆemement optimis´es pour un besoin particulier, peut laisser place dans cer-tains cas `a celle d’avoir des syst`emes flexibles pouvant se configurer et se reconfigurer pour s’adapter `a une large majorit´e de cas d’utilisation, mˆeme si pour cela il faut faire des concessions sur les performances.
Cette th`ese s’int´eresse a` l’identification, la conception et la mise en œuvre d’axes de flexibilit´ pour la gestion et l’utilisation d’infrastructures informatiques distribu´ees. Autrement dit, dans quelle mesure est-il possible de concevoir et mettre en oeuvre un syst`eme g´en´erique pour g´erer des infrastructures distribu´ees regroupant les axes de flexi-bilit´e pr´ealablement identifi´es ? Pour y r´epondre nous proposons de diviser notre ´etude en diff´erentes parties, chacune correspondant a` une contribution present´ee dans ce document.

D´emarche et contributions

Cette th`ese se place dans le contexte du projet XtreemOS visant `a concevoir et mettre en œuvre un syst`eme d’exploitation pour grille. Ce projet qui regroupe 19 partenaires acad´emiques et industriels en Europe et en Chine, a pour objectif d’´etendre le syst`eme Linux pour offrir un support natif aux organisations virtuelles. Le but recherch´ est d’of-frir aux utilisateurs une interface permettant d’utiliser simplement et efficacement les ressources de la grille, et aux administrateurs, l’interface et les outils pour collaborer en-tre diff´erents domaines d’administration, assurer la s´ecurit´ et le bon fonctionnement des ressources qu’ils mettent en partage.
Les syst`emes de virtualisation dont les fondements datent des ann´ees 1970 sont de nos jours d´eclin´es sous diff´erentes formes de mise en œuvre. Ces syst`emes de virtualisation d´ecouplent la vue logique des ressources qu’a l’utilisateur, de celle mat´erielle sous-jacente. C’est au cours des ann´ees 2000 que les syst`emes de virtualisation prennent leur essor et les premi`eres centrales num´eriques voient le jour `a partir des ann´ees 2005. Ces syst`emes per-mettant de cr´eer des axes de flexibilit´e, c’est tout naturellement que nous avons d´emarr´ notre ´etude par ces derniers. Les centrales num´eriques peuvent ˆetre d´ecrites comme des infrastructures informatiques mono-site (de type grappe) dont les nœuds sont g´er´es par un syst`eme de virtualisation. Dans ce contexte, nous nous sommes interrog´es sur l’utilisation de syst`eme de virtualisation dans des infrastructures informatiques multi-sites (de type grille). Quels sont les avantages et inconv´enients d’utiliser des syst`emes de virtualisation `a l’´echelle d’une grille du point de vue de l’utilisateur, de son application et des admin-istrateurs de la grille ? Quels sont les probl`emes engendr´es et quelles sont les solutions possibles ? Nous ´etudions et proposons des el´ements de r´eponse `a ces questions en conce-vant et mettant en œuvre Saline, un syst`eme gestion de collections de machines virtuelles sur grille pour l’ex´ecution de tˆaches interruptibles.

Saline, gestion de collections de machines virtuelles sur grille pour l’ex´ecution des tˆaches interruptibles

Les m´ecanismes de virtualisation permettent d’encapsuler les applications dans les machines virtuelles et de leur faire b´en´eficier de la flexibilit´e offerte par ces derni`eres. Cependant, alors que l’utilisation et la gestion d’une machine virtuelle sur un nœud peut ˆetre simple, la gestion de collections de machines virtuelles sur des nœuds r´epartis sur diff´erents sites g´eographiques est complexe. Les principales raisons de cette complexit´ sont li´ees `a la gestion des adresses MAC/IP ainsi qu’`a la gestion des images des machines virtuelles.
Saline est un syst`eme con¸cu et mis en œuvre pour d´eployer et g´erer des collections de machines virtuelles (un ensemble de machines virtuelles utilis´e pour l’ex´ecution d’une mˆeme tˆache, parall`ele ou distribu´ee) sur des infrastructures distribu´ees [82, 84, 85, 86]. Afin d’´etudier un cas concret, nous avons d´evelopp´ Saline dans le but de g´erer les tˆaches interruptibles (best-effort jobs) sur la plate-forme d’exp´erimentation `a grande ´echelle Grid’5000 [53]. Les tˆaches interruptibles sont des applications de basse priorit´e qui sont d´emarr´ees lorsque des ressources sont inutilis´ees et peuvent ˆetre arrˆet´ees de mani`ere bru-tale, sans sauvegarde pr´ealable, en fonction des tˆaches de plus haute priorit´e : une tˆache interruptible peut ne pas ˆetre ex´ecut´ee de mani`ere efficace. C’est sur ce cas d’´ecole que Saline se concentre. Pour ce faire, Saline encapsule les tˆaches interruptibles dans des ma-chines virtuelles qu’il g`ere sur la grille. Saline propose des m´ecanismes de configuration transparente du r´eseau des machines virtuelles (adresses MAC et IP) : la configuration du r´eseau permet d’isoler des collections de machines virtuelles entre diff´erents sous-r´eseaux et assure qu’une collection de machines virtuelles peut ˆetre d´eplac´ee d’un site a` un autre de la grille sans engendrer de conflit d’adresse. Cela se fait de mani`ere transparente pour l’application ex´ecut´ee dans la collection consid´er´ee.
De plus Saline effectue des sauvegardes p´eriodiques des collections de machines virtuelles afin de les restaurer le cas ech´eant. Lors d’une pr´eemption des ressources, la tˆache interruptible est arrˆet´ee. Dans ce cas, si elle ne dispose pas de m´ecanismes internes lui permettant d’ˆetre restaur´ee a` l’endroit o`u elle a et´ arrˆet´ee (par exemple une applica-tion disposant de m´ecanismes de sauvegarde et restauration de points de reprise ou une application parall`ele de type ≪ sac de tˆaches ≫ – bag of tasks –), son red´emarrage se fait depuis le d´ebut, tous les calculs pr´ealablement effectu´es sont perdus. L’encapsulation d’une tˆache interruptible dans une machine virtuelle peut b´en´eficier des propri´et´es des machines virtuelles : une collection de machines virtuelles peut ˆetre arrˆet´ee puis restaur´ee de mani`ere transparente pour les applications ex´ecut´ees. Ces fonctionnalit´es ´elargissent les tˆaches interruptibles a` une plus large gamme de type d’application.
Enfin Saline est con¸cu pour ˆetre install´e et utilis´e sur une large gamme d’infrastruc-tures informatiques sans n´ecessiter de modification de celles-ci. Saline s’interface avec le gestionnaire des ressources de l’infrastructure pour r´eserver les ressources mat´erielles et ensuite d´eployer et g´erer les collections de machines virtuelles.
Ouvertures Saline est un syst`eme qui apporte de la flexibilit´ aux applications en g´erant des collections de machines virtuelles dans des infrastructures informatiques distribu´ees de type grille. Nous nous sommes int´eress´es `a ´etudier le rapprochement entre les m´ecanismes que nous avons con¸cus et mis en œuvre dans Saline et d’autres syst`emes existants pour la gestion des grappes, grilles et centrales num´eriques.
En effet, comme nous l’´etudions dans ce document, les syst`emes de gestion de ressources pour grappe, grille et centrale num´erique proposent des axes de flexibilit´e diff´erents prin-cipalement dˆus aux infrastructures et aux communaut´es d’utilisateurs vis´ees qui diff`erent selon les cas. Se pose alors une question plus g´en´erale : quels seraient les avantages de faire un rapprochement entre les grappes, les grilles et les centrales num´eriques ? Un syst`eme pouvant g´erer `a la fois les grappes, les grilles et les centrales num´eriques est-il concevable et possible `a mettre en œuvre ? Nous ´etudions et proposons des el´ments de r´eponse `a ces questions en concevant et mettant en œuvre Grillade, un syst`eme flexible de gestion des ressources pour grille et centrale num´erique.

Grillade, vers un syst`eme de gestion pour grilles et centrales num´eriques

Nous continuons notre quˆete de flexibilit´ dans les infrastructures informatiques en ´etudiant plus en d´etail les axes de flexibilit´ offerts par les syst`emes existants pour la gestion des grappes, des grilles et des centrales num´eriques [63, 128, 130]. De cette ´etude deux axes de flexibilit´ ont retenu notre attention : la possibilit´e d’avoir un syst`eme de gestion des collections de machines virtuelles sur une infrastructure mat´erielle r´epartie sur plusieurs sites et la possibilit´e d’´etendre une infrastructure mat´erielle avec des ressources fournies par une centrale num´erique. Ces axes de flexibilit´ ont et´ con¸cus et mis en œuvre dans le syst`eme Grillade, un syst`eme fond´e sur le syst`eme d’exploitation pour grille XtreemOS. Grillade est compos´e de deux sous-syst`emes, chacun des sous-syst`emes traitant d’un axe de flexibilit´ particulier. Nous nommons Grillade-CN (Grillade-Centrale Num´erique) le sous-syst`eme de Grillade traitant de l’axe de flexibilit´ orient´ vers la gestion des collections de machines virtuelles a` la mani`ere des centrales num´eriques. Nous nommons Grillade-Ext (Grillade-Extension) le sous-syst`eme de Grillade traitant de l’axe de flexibilit´ orient´ vers l’extension de l’infrastructure.

Table des matières

Introduction
1 Les infrastructures informatiques distribu´ees et la virtualisation
1.1 Gestion des ressources informatiques
1.1.1 Un ordinateur
1.1.2 Les r´eseaux
1.1.3 Les grappes de calcul
1.1.4 Les grilles
1.2 La virtualisation des ressources informatiques
1.2.1 Principe de la virtualisation
1.2.2 Int´erˆet de la virtualisation sur un noeud
1.2.3 Int´erˆet de la virtualisation en environnement distribu´e
1.3 Discussion
1.3.1 Composition des syst`emes informatiques et degr´es de flexibilit´e
1.3.2 La flexibilit´e
2 Saline
2.1 Les tˆaches interruptibles dans les grilles
2.1.1 Motivation
2.1.2 Des approches pour l’ex´ecution de tˆaches interruptibles
2.2 Objectifs
2.2.1 Infrastructures et tˆaches cibl´ees par Saline
2.3 Gestion du cycle de vie des collections de machines virtuelles dans Saline .
2.3.1 Les propri´et´es du protocole TCP utilis´ees par Saline
2.3.2 Architecture de Saline
2.3.3 Choix de mise en oeuvre
2.3.4 Pr´esentation des deux mises en oeuvre propos´ees
2.4 Saline et les ordonnanceurs ´emettant un signal avant pr´eemption des
ressources
2.5 ´Evaluations
2.5.1 Coˆut de configuration des noeuds d’ex´ecution
2.5.2 Gain obtenu par l’utilisation de la technique de la copie sur ´ecriture
2.5.3 Temps de d´eploiement des machines virtuelles
2.5.4 Temps de sauvegarde et de r´ecup´eration des images des machines
virtuelles
2.5.5 Red´eploiement des machines virtuelles sauvegard´ees
2.6 Conclusion et ouverture vers d’autres outils
2.6.1 Les outils de d´eploiement de syst`eme d’exploitation : ind´ependance
par rapport `a l’infrastructure cibl´ee
2.6.2 Les outils de gestion des r´eseaux virtuels : ind´ependance par rapport
`a la localisation g´eographique des noeuds
2.6.3 Les outils de manipulation des machines virtuelles : flexibilit´e par
rapport aux syst`emes de virtualisation utilis´es
3 Grillade
3.1 Grilles et centrales num´eriques : un rapprochement `a ´etudier
3.1.1 Quand les grilles et les centrales num´eriques se rencontrent
3.1.2 Autres variantes
3.1.3 Cas d’´etude retenus
3.2 XtreemOS, un syst`eme d’exploitation pour grille
3.2.1 LinuxSSI
3.2.2 Les organisations virtuelles
3.2.3 XtreemFS
3.2.4 La d´ecouverte de ressources
3.2.5 Le contrˆoleur d’ex´ecution d’applications
3.2.6 Les fonctionnalit´es d’XtreemOS
3.3 Grillade-CN : gestion des centrales num´eriques sur une grille XtreemOS .
3.3.1 S´election des m´ecanismes d’XtreemOS utiles pour la gestion des collections
de machines virtuelles
3.3.2 Conception de m´ecanismes de gestion des centrales num´eriques
int´egr´es `a XtreemOS
3.3.3 Raffinement du cas id´eal : conception de m´ecanismes de gestion des
centrales num´eriques int´egr´es `a XtreemOS en tenant compte des
contraintes de mise en oeuvre
3.3.4 Mise en oeuvre de Grillade-CN
3.3.5 Validation et exp´erimentations
3.3.6 Conclusion
3.4 Grillade-Ext : extension d’une grille XtreemOS avec des ressources
provenant de centrales num´eriques
3.4.1 Modification du syst`eme XtreemOS pour l’approvisionnement dynamique
des ressources
3.4.2 Mise en oeuvre de Grillade-Ext
3.4.3 Validation
3.4.4 Conclusion
3.5 Travaux apparent´es
3.6 Conclusion
4 Tropicbird
4.1 Diff´erencier la composition de l’infrastructure mat´erielle de la vue qu’en a
l’utilisateur, une histoire qui commence dans les ann´ees 1960
4.1.1 Ann´ees 1970 : apparition des concepts de virtualisation et d’´emulation125
4.1.2 Ann´ees 2000 : regain d’int´erˆet pour les syst`emes de virtualisation et
d’´emulation
4.2 Objectifs
4.3 Formalisation des syst`emes de virtualisation
4.3.1 D´efinition de la fonction f
4.3.2 D´efinition de la fonction
4.3.3 Ex´ecution d’une machine virtuelle : composition de f et
4.3.4 Lien avec les syst`emes de virtualisation de Type-I et de Type-II
d´efinis par Goldberg
4.3.5 Pourquoi et comment proposer un raffinement de la th´eorie de
Goldberg ?
4.4 Proposition d’un formalisme de description des ressources informatiques .
4.4.1 Raffinement de la fonction f de Goldberg
4.4.2 Raffinement de la fonction de Goldberg
4.5 Tropicbird : proposition d’architecture d’un syst`eme fond´e sur le formalisme
propos´e
4.5.1 Le module de description : les concepts de plate-forme virtuelle et
d’environnement d’ex´ecution virtuel
4.5.2 Le module de conciliation : conciliation entre les contraintes de l’utilisateur
et les politiques de l’administrateur
4.5.3 Le module de planification : mise en oeuvre des plates-formes
virtuelles et des environnements d’ex´ecution virtuels
4.5.4 D´ecouverte, allocation et configuration de l’infrastructure mat´erielle
4.5.5 Boˆıte `a outils
4.6 ´El´ements de mise en oeuvre
4.6.1 La description et le module de conciliation
4.6.2 Le module de planification
4.6.3 D´ecouverte, allocation et configuration des ressources
4.6.4 La boˆıte `a outils
4.7 Cas d’utilisation
4.8 Travaux apparent´es
4.9 Conclusion
Conclusion
Bibliographie

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *