Une Plate-forme d`Émulation Légère pour Étudier les
Transcription
Une Plate-forme d`Émulation Légère pour Étudier les
Introduction P2PLab Conclusion Une Plate-forme d’Émulation Légère pour Étudier les Systèmes Pair-à-Pair Lucas Nussbaum Laboratoire Informatique et Distribution Laboratoire ID-IMAG Projet MESCAL RenPar’17 Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 1 / 25 Introduction P2PLab Conclusion Sommaire 1 Introduction : Étude des Systèmes Pair-à-Pair 2 P2PLab 3 Conclusion Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 2 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Sommaire 1 Introduction : Étude des Systèmes Pair-à-Pair Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé 2 P2PLab 3 Conclusion Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 3 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Systèmes Pair-à-Pair Noeuds hétérogènes (CPU, réseau) Noeuds non-persistants Difficiles (Impossible ?) à contrôler ⇒ Difficiles à étudier (correction, performance) et à comprendre Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 4 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Solutions pour l’étude des systèmes P2P log(coût) Vrais systèmes Vraies applications Plateformes de laboratoire Conditions synthétiques Vrais systèmes Vraies applications Vraies plateformes Vraies conditions Modélisation des : Systèmes Applications Plateformes Mécanismes clés des systèmes (Algorithmes...) Conditions Plateformes virtuelles Conditions synthétiques log(réalisme) Modélisation mathématique Simulation Émulation Systèmes réels Source : F. Cappello Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 5 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Émulation machine physique 1 machine physique 2 Réseau émulé machine physique 3 machine physique 4 Virtualisation des noeuds Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 6 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Outils Existants Outils Existants Modelnet, NetBed/Emulab, MicroGrid, PlanetLab Exemple : Modelnet Edge nodes switch Modelnet Core switch Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 7 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Outils Existants (2) Exemple : PlanetLab 700 noeuds distribués disponibles comme plateforme d’évaluation pour la recherche en systèmes distribués, mais : 700 « millions Noeuds hébergés par des universités, des centres de recherche, de grandes entreprises. "Vrai" Internet ? Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 8 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Outils pour l’émulation et la virtualisation Émulation réseau Change les caractéristiques du réseau (bande passante, latence, congestion/perte de paquets) NIST Net (Linux 2.4 et 2.6) TC et Netem (Linux 2.6) Dummynet (FreeBSD) Virtualisation Exécuter plusieurs instances d’une application sur le même système physique User Mode Linux VServer Xen Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 9 / 25 Introduction P2PLab Conclusion Systèmes Pair-à-Pair Solutions pour l’étude des systèmes P2P Résumé Résumé Solutions visant un très grand réalisme Efficacité ? Passage à l’échelle ? Virtualisation d’un SE complet Vraiment nécessaire pour les systèmes P2P ? (applis indépendantes) Émulation réseau visant le coeur du réseau Vraiment important pour les systèmes P2P ? (applications exécutées sur les "bords" d’Internet) Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 10 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Sommaire 1 Introduction : Étude des Systèmes Pair-à-Pair 2 P2PLab Introduction P2PLab : émulation réseau P2PLab : Évaluation Ratio de virtualization Passage à l’échelle Comparaison de différentes implémentations de BitTorrent 3 Conclusion Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 11 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations P2PLab : Introduction Idée principale système d’émulation léger et efficace (bon rapport de virtualisation) Visant spécifiquant les systèmes P2P Points clés Utilise FreeBSD 5 (pour Dummynet) Virtualisation au niveau processus (en virtualisant l’identité réseau : affectation d’une adresse IP à chaque processus) Émulation réseau décentralisée pour un bon passage à l’échelle Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 12 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations P2PLab : émulation réseau Utilise des alias d’interface (surcout minimal) Gère l’émulation réseau sur les noeuds (en entrée et en sortie) Limite la bande passante et ajoute de la latence pour chaque noeud virtuel Ajoute de la latence entre des groupes de noeuds virtuels Noeud Virtuel 3.2 Noeud Physique 1 Noeud Virtuel 3.1 Noeud Physique 3 Noeud Physique 2 Noeud Virtuel 1.1 Noeud Virtuel 2.1 Noeud Virtuel 1.2 Noeud Virtuel 2.2 Filtrage Dummynet en entrée Filtrage Dummynet en sortie Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 13 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Émulation de topologies 400ms 10.2.0.0/16 latence : 5ms bande passante : 10 Mbps 1000 noeuds 10.1.0.0/16 100ms 10.1.2.0/24 latence : 40ms bande passante : 512 kbps/128kbps 250 noeuds 100ms 10.1.1.0/24 latence : 100ms bande passante : 56kbps/33.6kbps 250 noeuds 1s 100ms 10.1.3.0/24 latence : 20ms bande passante : 8 Mbps/1Mbps 250 noeuds 600ms 10.3.0.0/16 latence : 10ms bande passante : 1 Mbps 1000 noeuds Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 14 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations P2PLab : Évaluation Rapport de virtualisation Combien de machines virtuelles sur chaque noeud physique ? Passage à l’échelle ? Éxpériences avec un grand nombre de noeuds ? Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 15 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations P2PLab : Évaluation (2) BitTorrent protocole de transfert de fichiers populaire chaque client reçoit une liste de peers du tracker, se connecte directement à eux, et échange des morceaux d’un fichier Largement étudié via modélisation, simulation, et exécution sur des systèmes réels très complexe, difficile à étudier correctement Plateforme d’évaluation GridExplorer (fait partie de Grid’5000) 200 bi-Opteron 2 Ghz, 2Go of RAM, gigabit ethernet Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 16 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Ratio de virtualisation Récupération d’un fichier de 16 Mo avec BitTorrent 160 téléchargeurs Démarrés toutes les 10 secondes Paramètres réseaux : 2 Mbps descendant, 128 Kbps montant, latence 30 ms (ADSL) Sur 160 noeuds physiques, puis 16, 8, 4 et 2. Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 17 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations total amount of data received by clients (MB) Ratio de virtualisation (2) 3000 1 client per physical node 10 clients per physical node 20 clients per physical node 40 clients per physical node 80 clients per physical node 2500 2000 1500 1000 500 0 0 500 1000 time (s) 1500 2000 Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 18 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Ratio de virtualisation (3) Récupération d’un fichier de 16 Mo avec BitTorrent 160 téléchargeurs Démarrés toutes les 10 secondes Paramètres réseaux : 2 Mbps descendant, 128 Kbps montant, latence 30 ms (ADSL) Sur 160 noeuds physiques, puis 16, 8, 4 et 2. ⇒ Aucun Surcoût visible, même avec 80 clients par noeud physique ⇒ Premier facteur limitant : performances du réseau sous-jacent Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 19 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Passage à l’échelle Téléchargement d’un fichier de 16 Mo avec BitTorrent Entre 13040 participants (13031 peers, 8 seeders, 1 tracker) Démarrés toutes les 0.25s Sur 163 machines physiques Paramètres réseaux : 2 Mbps descendant, 128 Kbps montant, latence 30 ms Clients affichés : n˚ 0, 100, 200 . . . 13000. Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 20 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Passage à l’échelle (2) pourcentage recu sur chaque client 100 80 60 40 20 0 0 500 1000 1500 2000 temps (s) 2500 3000 Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 3500 21 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Comparaison de différentes implémentations de BitTorrent Comparaison de BitTorrent (client originel) avec CTorrent Téléchargement d’un fichier de 16 Mo avec BitTorrent Entre 500 participants et 8 seeders Paramètres réseaux : 2 Mbps descendant, 128 Kbps montant, latence 30 ms Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 22 / 25 Introduction P2PLab Conclusion Intro Network Évaluation Virtualisation Passage à l’échelle Comparaison d’implémentations Comparaison de différentes implémentations de BitTorrent (2) quantite moyenne de donnees recues 16 14 12 10 8 6 4 BitTorrent seul (100% BT) 250 BitTorrent avec 250 CTorrent CTorrent seul (100% CT) 250 CTorrent avec 250 BitTorrent 2 0 0 100 200 300 temps (s) 400 500 600 Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 23 / 25 Introduction P2PLab Conclusion Sommaire 1 Introduction : Étude des Systèmes Pair-à-Pair 2 P2PLab 3 Conclusion Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 24 / 25 Introduction P2PLab Conclusion Conclusion L’émulation : un outil intéressant pour l’étude des systèmes pair-à-pair Une virtualisation complète n’est pas toujours nécessaire ... l’approche simple de P2PLab peut être suffisante et utile Encore beaucoup de travail : Poursuivre la validation de l’approche Comparaison avec d’autres outils (Modelnet, NetBed/Emulab, MicroGrid, PlanetLab) Comparaison avec les générateurs de topologie classiques Quelle est l’importance de la congestion dans le "coeur d’Internet" pour les systèmes P2P ? Virtualisation et équité ? Paramètres réalistes pour les expériences ? Injection de fautes, conditions réseaux variables Lucas Nussbaum Émulation légère pour étudier les systèmes P2P 25 / 25