370 likes | 506 Views
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).
E N D
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) 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.
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
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
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
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
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
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é
Le P2P qu’est ce que c’est ? (8/12) Les architectures centralisées à serveur unique,
Le P2P qu’est ce que c’est ? (9/12) Les architectures décentralisées à serveurs multiples,
Le P2P qu’est ce que c’est ? (10/12) Les architectures décentralisées,
Le P2P qu’est ce que c’est ? (11/12) Les « super-peers »,
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, …)
Le simulateur PeerSim (1/8) PeerSim offre une plateforme de tests commune pour les projets de recherche P2P http://peersim.sourceforge.net
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
Le simulateur PeerSim (3/8) • Simulation sur une machine d’un ensemble de nœuds (pairs). • Chaque nœudexécute un ensemble de protocoles. (diapo suivante) • L’initialisation, les modifications de contexte, les observations sont faites via un ensemble de contrôles.
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.
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
Le simulateur PeerSim (8/8) Global simulation properties random.seed 1234567890 simulation.cycles 30 network.size 50000 protocol.lnk IdleProtocol protocol.avg example.aggregation.AverageFunction protocol.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 Protocols Initializers Include Controls
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 »
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 »
Notre travail (3/9) • Ecriture d’un script en bash (pour Linux) • Automatisation des simulations • Génération de graphes résultats
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
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
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
Démonstration • Simulations • Interprétations • Conclusions