• Aucun résultat trouvé

Mécanismes pour la création efficace de plates-formes d’exécu-

A.2 Objectifs

A.3.1 Mécanismes pour la création efficace de plates-formes d’exécu-

tiques à large échelle, au-dessus de nuages informatiques fédérés en utilisant l’approche sky computing

De nombreux nuages informatiques sont maintenant disponibles, présentant des types de déploiement différents : publics, privés ou communautaires. Dans ce contexte, la fédération de ressources de calcul provenant de multiples nuages informatiques per- met de construire des plates-formes d’exécution à large échelle. L’approche dite de sky computing fédère des nuages informatiques de manière transparente, afin de créer des plates-formes d’exécution pour des applications nécessitant d’importantes quantités de puissance de calcul.

Dans ces travaux, nous avons réalisé une série d’expérimentations utilisant l’ap- proche sky computing pour créer des plates-formes d’exécution intercontinentales à large échelle. Pour cela, nous avons utilisé des nuages informatiques Nimbus [27, 128] dé- ployés sur les infrastructures expérimentales Grid’5000 [79] en France et FutureGrid [15]

A.3. Contributions

aux États-Unis. Nous avons rendu élastiques ces plates-formes de type sky computing en les étendant afin d’accélérer les calculs. Les leçons tirées de ces expérimentations nous ont mené à concevoir deux nouveaux mécanismes de propagation de machines virtuelles et à les mettre en œuvre dans le système de nuage informatique Nimbus. Ces mécanismes, fondés sur une chaîne de diffusion et sur des volumes utilisant la copie sur écriture, permettent de réduire le temps requis pour créer et étendre de façon élastique des plates-formes d’exécution à large échelle sur des nuages informatiques.

Ces travaux ont été réalisés en collaboration avec Kate Keahey (Argonne National Laboratory / Computation Institute, University of Chicago), Maurício Tsugawa, Andréa Matsunaga et José Fortes (University of Florida). Ils ont été démarrés durant une visite de 3 mois au laboratoire ACIS à l’Université de Floride à Gainesville, États-Unis, pendant l’été 2010.

A.3.1.1 L’approche sky computing

L’approche sky computing, proposée par Keahey et al. [130], fédère de multiples nuages informatiques de façon transparente. Les ressources de différents nuages sont rassem- blées dans un environnement réseau unifié, afin de répliquer une plate-forme tradition- nelle de grappe de calcul. Ainsi, une plate-forme de type sky computing peut exécuter des applications non modifiées tout comme une grappe de calcul. Cette approche utilise principalement deux outils : le réseau virtuel ViNe et les outils de contextualisation de Nimbus.

ViNe est un logiciel de réseau virtuel fondé sur un réseau overlay, permettant d’uni- fier de multiples réseaux physiques en un seul réseau virtuel. Il permet d’offrir une connectivité directe entre tous les participants d’un réseau virtuel, même lorsque cer- tains réseaux physiques utilisent un adressage IP privé ou un pare-feu, ce qui est géné- ralement le cas pour les nuages informatiques privés. Cette connectivité directe est un besoin essentiel pour de nombreuses applications conçues pour des environnements de grappes de calcul.

Les outils de contextualisation de Nimbus permettent d’automatiser le déploiement et la configuration de machines virtuelles dans les nuages informatiques. Ces outils assignent des rôles aux membres d’une grappe de machines virtuelles, afin de créer une plate-forme d’exécution cohérente.

A.3.1.2 Expérimentations de plates-formes de type sky computing à large échelle Lors de nos expérimentations, nous avons créé des plates-formes de type sky computing à large échelle, en utilisant des nuages informatiques Nimbus [27, 128] déployés sur les infrastructures expérimentales Grid’5000 [79] en France et FutureGrid [15] aux États- Unis. Sur ces plates-formes, nous avons exécuté BLAST (Basic Local Alignment Search Tool [55, 162], une application localisant les régions similaires dans des séquences géno- miques.

Les nuages informatiques offrent la possibilité de modifier à la volée les demandes de ressources, rendant les plates-formes d’exécution élastiques. Nous nous sommes in- téressés aux capacités d’extension élastiques de ces plates-formes de type sky compu- ting. Nous avons étendu de manière élastique ces plates-formes, pendant l’exécution de l’application BLAST, afin de fournir plus de puissance de calcul et ainsi d’accélérer le

progrès de l’application.

A.3.1.3 Passage à l’échelle des infrastructures d’informatique en nuage

Lors de ces expérimentations, il est apparu que l’élément principal limitant les per- formances de la création et de l’extension élastique de plates-formes d’exécution était la propagation des images de machines virtuelles. En effet, chaque machine virtuelle nécessite sa propre copie de l’image de machine virtuelle contenant l’installation du système d’exploitation et des applications. Le système Nimbus utilisait un système de copie centralisé depuis un serveur de stockage d’images vers chacun des nœuds héber- geant les machines virtuelles. Ainsi, les performances sont limitées par les capacités de transfert de ce serveur de stockage.

Pour résoudre ce problème, nous avons conçu deux nouveaux mécanismes de pro- pagation d’images de machines virtuelles. Ces mécanismes améliorent les performances de la propagation de la même image de machines virtuelles vers de multiples nœuds physiques. Le premier mécanisme est fondé sur les programmes Kastafior et TakTuk [88] développés à Inria. Ces outils permettent de créer une chaîne de diffusion de données entre de nombreux nœuds. Nous utilisons cette chaîne pour diffuser le contenu des images de machines virtuelles. Lorsque la même image est requise sur tous les nœuds physiques, le serveur centralisé n’a besoin de réaliser qu’une seule copie, les données étant ensuite relayées entre chaque nœud de l’infrastructure. Ce mécanisme divise le temps de propagation par le nombre de copies requises de l’image.

Le second mécanisme est fondé sur des volumes utilisant la copie sur écriture. Afin d’éviter la création d’une nouvelle copie d’image pour chaque allocation de machine virtuelle, cette approche crée un volume utilisant la copie sur écriture. La copie sur écri- ture stocke les données modifiées par chaque machine virtuelle dans un fichier séparé, permettant ainsi de partager la même image de base en lecture seule. En utilisant une pré-propagation des images de base sur chaque nœud physique, nous avons montré que des grappes de machines virtuelles peuvent être allouées en quelques secondes au lieu de plusieurs minutes ou même heures avec les approches classiques.

Documents relatifs