Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFerrand Hue Modifié depuis plus de 9 années
1
Outil d’observation d’un réseau pair-à-pair Fabio Picconi – LIP6
2
Motivations Emulation : évaluation d’un réseau P2P (Pastry, PAST, Pastis) Modelnet : plate-forme répartie (~100 nœuds réels) Vision globale du réseau P2P utile pour : – démarrage du réseau – observation des clients – injection de volatilité
3
Architecture contrôleur hôte1hôte2hôte3 hôte1hôte2hôte3 routeur Modelnet
4
Gestion du réseau Pastry contrôleur eth0:1 eth0:2 eth0:3 eth0:4 JVM MON hôte1 créer nœud Pastry Pastry
5
Gestion du réseau Pastry contrôleur eth0:1 eth0:2 eth0:3 eth0:4 JVM MON hôte1 Pastry créer nœud Pastry Pastry bootstrap
6
Gestion du réseau Pastry contrôleur eth0:1 eth0:2 eth0:3 eth0:4 JVM MON hôte1 Pastry tuer nœud Pastry
7
Gestion du réseau Pastry contrôleur eth0:1 eth0:2 eth0:3 eth0:4 JVM MON hôte1 Pastry recréer nœud Pastry
8
Evaluation de FreePastry 04F2 3A79 5230 834B 8909 8954 8957 8BB2 AC78 C52A E25A k = 8959 73AB lookup(8959) racine contrôleur lookup(8959) fausse racine 8971
9
Evaluation de FreePastry 04F2 3A79 5230 834B 8909 8954 8957 8BB2 AC78 C52A E25A 73AB racine contrôleur fausse racine 8971 résultat
10
Architecture JVM Hôte JVM Controller RMI Controller TestBase ChurnManager SimulationHost Pastis Past / Pastry
11
Architecture void registerNodeStart( Id id, SimulationHost host ); void registerNodeReady( Id id ); void unregisterNode( Id id ); NodeConfigurator registerHost( SimulationHost host ); interface Controller
12
Architecture void startNewNode( InetSockAddress bootstrapHost ); void killNode( Id id ); NodeHandle getNodeHandle( Id id ); InetSocketAddress getNodeISA( Id id ); void sendPing( Id sender, Id dest, int pingId, PingManager pm ); interface SimulationHost
13
Architecture abstract void runTest(); abstract class TestBase void InitNetwork( NodeConfigurator configurator ); void waitForNodes() void setChurnRate(); Id pickRandomNodeId(); SimulationHost getHostForNodeId( Id id ); class ControllerImpl
14
Architecture registerHost() registerNodeStart() registerNodeReady() unregisterNode() Interface Controller startNewNode() killNode() getNodeHandle() sendPing() Interface SimulationHost initNetwork() waitForNodes() setChurnRate() pickRandomNodeId() getHostForNodeId() Class ControllerImpl runTest() Class PastryTest runTest() Class PastTest
15
Architecture void runTest() { controller.InitNetwork(); controller.waitForNodes(); controller.setChurnRate( 30 ); pingLauncher.setRate( 0.1 ); } void sendPing() { PingManager pm = new PingManager(); for( i = 0; i<num_senders; i++ ) { nid = controller.getRandomNodeId(); host = controller.getHostForNodeId(nid); host.sendPing( dest, pm ); } PastryTest.java
16
Architecture class PingApp extends CommonAPIAppl { void sendPing( Id dest, int pingId, PingManager pm ) { Message msg = new PingMsg(); pastry.routeMsg( dest, msg ); } void deliver(Id Key, Message msg ) { PingManager pm = msg.getPingManager(); pm.recordReciept( msg ); } PingApp.java
17
Architecture void churnNode() { Id id = pickRandomNodeId(); SimulationHost host = getHostForNodeId( id ); unregisterNode( id ); host.killNode(); host.startNewNode( generateBootStrap() ); } ControllerImpl.java
18
Evaluation de FreePastry Métriques d’évaluation de FreePastry : – Nb. de lookups réussis – Nb. de lookups cohérents – Latence – Nb. de hops – Distance par rapport à la vraie racine
19
Evaluation de Pastis 90 min45 min23 min10 minMST :
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.