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

Documents pareils