E N D
1. 1 Simulation de réseaux pair-à-pair à grande échelle Projet de fin d’études
RANAIVO-RAVONISON Gaël
SABOURIN Aurélien
2. 2 Sommaire Le P2P, qu’est ce que c’est ?
Le simulateur PeerSim
Notre travail
Démonstration
Questions
3. 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. 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. 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. 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. 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. 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. 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. 10 Le P2P qu’est ce que c’est ? (8/12) Les architectures centralisées à serveur unique,
11. 11 Le P2P qu’est ce que c’est ? (9/12) Les architectures décentralisées à serveurs multiples,
12. 12 Le P2P qu’est ce que c’est ? (10/12) Les architectures décentralisées,
13. 13 Les « super-peers », Le P2P qu’est ce que c’est ? (11/12)
14. 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. 15 Le simulateur PeerSim (1/8) PeerSim offre une plateforme de tests commune pour les projets de recherche P2P
http://peersim.sourceforge.net
16. 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. 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. 18 Le simulateur PeerSim (4/8)
19. 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. 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. 21 Le simulateur PeerSim (7/8)
22. 22 Le simulateur PeerSim (8/8) 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
23. 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. 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. 25 Notre travail (3/9)
Ecriture d’un script en bash (pour Linux)
Automatisation des simulations
Génération de graphes résultats
26. 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. 27 Notre travail (5/9)
28. 28 Notre travail (6/9)
29. 29 Notre travail (7/9)
30. 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. 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. 32 Démonstration
Simulations
Interprétations
Conclusions
33. 33 Questions