V GRID : un émulateur de grilles à grande échelle Benjamin Quétier quetier@lri.fr http://www.lri.fr/~quetier
Plan Partie 1 : Choix d'un système de virtualisation Problématique Les outils existants Les expériences Le choix Partie 2 : Utilisation de V Grid Présentation Utilisation
Problématique Les outils de virtualisation deviennent très populaires dans le domaine des Grilles : Plusieurs OS sur une même machine physique Espaces de travail confinés Utilisation de ces outils pour obtenir un grand nombre de machines virtuelles. PlanetLab Microgrid Emulab Ces outils de virtualisation passent ils correctement à l'échelle? Sont ils utilisables pour faire une plate forme d'émulation à grande échelle?
Etat de l'art des outils de virtualisation Vserver Création de Serveurs Privés Virtuels Légèreté du système User Mode Linux (UML) Virtualisation du noyau Très utilisé dans la communauté linux Xen Prévu pour être équitable Très configurable VMware Haut niveau de virtualisation
Métriques Microbenchmarks : Processeur : approximation itérative de 2 Mémoire : calcul matriciel Réseau : mesure de bande passante avec Netperf Disque : écriture dans un fichier Critères : Linéarité : lancement de la même application en parallèle sur 1, 2, 3,..., n VM Surcoût : lancement d'un application sur une VM quand n autres VM sont lancées Isolation : lancement en parallèle de 3 fois la même application : 1 sur une VM et 2 sur une autre VM Les autres critères...
Résumé Linéarité Vserver Xen UML VMware CPU Mémoire Disque Réseau Surcoût Vserver Xen UML VMware CPU Mémoire Disque Réseau Isolation Vserver Xen UML VMware CPU Mémoire Disque Réseau
Notre choix : Vserver Linéarité, surcoût et isolation corrects Légèreté du système Facilement configurable Lancement très rapide (1 seconde) Pas besoin d'un noyau spécifique (juste un patch)
Partie 2 : V GRID
V Grid : Présentation But : Permettre aux utilisateurs de tester leur applications sur un grand nombre de machines. Caractéristiques : Transparence de la virtualisation. Facilité d'installation et d'utilisation. Rapidité de la mise en route. Moyens : Vserver Grid'5000
frontale V GRID : Vision utilisateur
frontale V GRID : Vision système
V GRID : Utilisation Faire sa réservation dans la queue deploy oarsub -q deploy -l nodes=11 -I Deployer l'image sur toutes machines kadeploy -e vserver -f $OAR_NODEFILE -l bquetier -p hda6 Lancer le script de configuration./vgrid $OAR_NODEFILE 20 Lancer son expérience./mon_xp /tmp/vserver_bquetier_ip.txt
V GRID : Details d'implantation Personnalisation de l'environnement : Environnement dérivé de la debian4all compilation d'un noyau spécifique Installation de Vserver Configuration de la machine virtuelle de base Installation d'un noyau patché pour Vserver Détails du script : Mise en place de la passerelle Remontage du /tmp dans un autre répertoire Boucle sur : copie de la machine virtuelle de référence Configuration de cette machine Récupération des IP, hostname pour les scripts utilisateurs
V GRID Petits soucis Place limitée sur les partitions Effacement du authorized_keys Impossible de modifier la table de routage et la carte réseau de la frontale Variété d'expériences possibles : N machines virtuelles sur M machines physiques Expériences variées : P2P, Client/Serveur, DOS,...
Conclusion et futurs travaux Comparer les résultat de V GRID avec des résultats obtenus sur des systèmes réels. Inclure ModelNet pour pouvoir tester PASTIS sur une plate forme émulée. Coupler V GRID avec FAIL (injecteur de fautes) Ajouter quelques options de configuration Toutes les infos sur : http://www.lri.fr/~quetier/vgrid Un didacticiel sur : http://www.lri.fr/~quetier/vgrid/tutorial
Isolation <== CPU Mémoire => <== Disque Réseau =>
Surcoût <== CPU Mémoire => <== Disque Réseau =>
Linéarité <== CPU Mémoire => <== Disque Réseau =>