La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Outil d’observation d’un réseau pair-à-pair Fabio Picconi – LIP6.

Présentations similaires


Présentation au sujet: "Outil d’observation d’un réseau pair-à-pair Fabio Picconi – LIP6."— Transcription de la présentation:

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 :


Télécharger ppt "Outil d’observation d’un réseau pair-à-pair Fabio Picconi – LIP6."

Présentations similaires


Annonces Google