Upload
sebastian-hickman
View
29
Download
0
Embed Size (px)
DESCRIPTION
Simulation de réseaux pair-à-pair à grande échelle. Projet de fin d’études RANAIVO-RAVONISON Gaël SABOURIN Aurélien. Sommaire. Le P2P, qu’est ce que c’est ? Le simulateur PeerSim Notre travail Démonstration Questions. Le P2P qu’est ce que c’est ? (1/12). - PowerPoint PPT Presentation
1
Simulation de réseaux pair-à-pair à grande échelle
Projet de fin d’études
RANAIVO-RAVONISON Gaël SABOURIN Aurélien
2
Sommaire
• Le P2P, qu’est ce que c’est ?
• Le simulateur PeerSim
• Notre travail
• Démonstration
• Questions
3
Le P2P qu’est ce que c’est ? (1/12)
Le Peer-to-Peer (P2P) est un moyen de partager des ressources (des données ou des calculs), comme le mode client/serveur. Il a été popularisé avec le téléchargement illégal de contenus.
4
Le P2P qu’est ce que c’est ? (2/12)
Avant le World Wide Web,
• Médias trop volumineux
• Coûts élevés
• Quelques serveurs FTP confidentiels
5
Le P2P qu’est ce que c’est ? (3/12)
• L’époque Napster,
• Le téléchargement à grande échelle se développe
• Napster : download de MP3 (S. Fanning)
• P2P centralisé
• Le P2P devient à la mode
6
Le P2P qu’est ce que c’est ? (4/12)
L’époque KaZaa,
• Architecture décentralisée
• C’est le comportement de l’utilisateur qui devient répréhensible
• Nouvelles fonctionnalités
• Connexion continue au réseau
7
Le P2P qu’est ce que c’est ? (5/12)
L’époque eDonkey,
• Fractionnement des fichiers
• Tout le monde peut ajouter du contenu
• Les majors de la musique et du cinéma commencent à attaquer les internautes
8
Le P2P qu’est ce que c’est ? (6/12)
L’époque Bittorent,
• Optimisation de la bande passante
• Débit maximal en flux continu (« torrent »)
• Fichiers partagés moins lourds
9
Le P2P qu’est ce que c’est ? (7/12)
La nouvelle génération,
• P2P crypté (Freenet, GNUNet)
• Confidentialité parfaite des échanges
• Chiffrement par clé publique et privée
• Sens de la communauté
10
Le P2P qu’est ce que c’est ? (8/12)
Les architectures centralisées à serveur unique,
11
Le P2P qu’est ce que c’est ? (9/12)
Les architectures décentralisées à serveurs multiples,
12
Le P2P qu’est ce que c’est ? (10/12)
Les architectures décentralisées,
13
Les « super-peers »,
Le P2P qu’est ce que c’est ? (11/12)
14
Le P2P qu’est ce que c’est ? (12/12)
Le P2P sémantique
• Rajouter de l’information dynamique (nœuds, requêtes, utilisateurs) aux tables de routage
• Encore à l’état de recherche (routing indices, SON, …)
15
Le simulateur PeerSim (1/8)
PeerSim offre une plateforme de tests commune pour les projets de recherche P2P
http://peersim.sourceforge.net
16
Le simulateur PeerSim (2/8)
• PeerSim est un simulateur de réseau P2P
• Deux modes de fonctionnement: par cycles et par évènements
• C’est une composante du projet BISON de l’université de Bologne (Italie)
• Il est codé en Java et est sous licence GPL
• API riche et modulaire
17
Le simulateur PeerSim (3/8)
• Simulation sur une machine d’un ensemble de nœuds (pairs).
• Chaque nœud exécute un ensemble de protocoles. (diapo suivante)
• L’initialisation, les modifications de contexte, les observations sont faites via un ensemble de contrôles.
18
Le simulateur PeerSim (4/8)
19
Le simulateur PeerSim (5/8)
• Dans le mode “par cycles”, les protocoles sont exécutés sur les noeuds du réseau et à tous les cycles.
20
Le simulateur PeerSim (6/8)
• Dans le mode “par évènements”, les protocoles sont exécutés en réponse à des évènements sur le réseau.
• Compatible avec le mode par cycles
• Possibilité de simuler une couche de transport
21
Le simulateur PeerSim (7/8)
22
Le simulateur PeerSim (8/8)
random.seed 1234567890 simulation.cycles 30 network.size 50000
protocol.lnk IdleProtocol protocol.avg example.aggregation.AverageFunctionprotocol.avg.linkable lnk
init.rnd WireKOut init.rnd.protocol lnk init.rnd.k 20 init.lin LinearDistribution init.lin.protocol avg init.lin.max 100 init.lin.min 1
include.init rnd lin
control.avgo example.aggregation.AverageObserver control.avgo.protocol avg
Global simulation properties
Protocols
Initializers
Include
Controls
23
Notre travail (1/9)
• Etude de PeerSim en général à travers sa documentation
• Etude plus poussée du mode « par évènements »
• Ecriture de la documentation de ce mode• Analyser les performances des deux modes et
les comparer• Proposer des recommandations en vue
d’implémentations du mode « par évènements »
24
Notre travail (2/9)
• Tests sur trois paramètres : le nombre de nœuds, le nombre de cycles et l’activité des nœuds
• Deux types de simulations utilisées : un programme converti directement en event-based et un programme écrit « from scratch »
25
Notre travail (3/9)
• Ecriture d’un script en bash (pour Linux)
• Automatisation des simulations
• Génération de graphes résultats
26
Notre travail (4/9)
• Développement d’une interface graphique avec Java SWING
• Trois onglets pour configurer les deux modes et pour configurer des séries de simulations.
• Affichage des résultats sous forme de courbes avec GNUPlot et sous forme de tableau
27
Notre travail (5/9)
28
Notre travail (6/9)
29
Notre travail (7/9)
30
Notre travail (8/9)
• Le mode par évènement est moins performant dans la plupart des cas (surtout dans les conversions directes)
• Il est plus performant dans le cas où le taux d’activité des nœuds par cycle est faible
• La consommation mémoire est équivalente pour les deux
31
Notre travail (9/9)
• La conversion directe en mode évènement est déconseillée
• Les simulations utilisant tous les nœuds constamment sont désavantagées dans ce mode
• Les simulations n’utilisant qu’une petite partie des nœuds à chaque cycle sont particulièrement conseillées
32
Démonstration
• Simulations
• Interprétations
• Conclusions
33
Questions