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

Slides:



Advertisements
Présentations similaires
Gabriel Antoniu IRISA / INRIA Rennes
Advertisements

ESSI AM Dery Merci à Rémi Vankeisbelck, Michel Riveill etc
1 Plan de lenseignement Cours Introduction au réseau via les objets distants (Application à RMI) Ce que cache RMI : programmation socket – mode connecté
Message Oriented Middleware. Plan Pourquoi un nouveau type de middleware? Quelle lignée logicielle ? Historique JMS : Java Message Server Limplémentation.
Architecture CORBA réseau Objet Corba Application Serveur
Introduction aux applications réparties
Architecture. Architecture Enjeux Les Enjeux Trouver une solution e-Business Accessible à partir d’un navigateur Web Accédant au système via un Portail.
– NAT et PAT.
1 Tableaux des objets C++ si on connaît le nombre dobjets nécessaires davance on peut utiliser des tableau dobjets dans les fonctions dusage class Personne.

simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
M. BENJELLOUN : Info II Mohammed BENJELLOUN Service dInformatique Faculté Polytechnique de Mons
Les fonctions en Java Partie I Le type void. Dans cette rapide présentation, je vais expliquer :.à quoi servent les fonctions.à quoi faut-il penser avant.
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Classes locales classes définies à l'intérieur d'un bloc de code,
Faculté I&C, Claude Petitpierre, André Maurer 1 Java.
Les pointeurs 1. Notion de pointeurs cest Travailler avec les pointeurs cest Se rapprocher du matériel Nécessite de bien connaitre le fonctionnement de.
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Noyau persistant en réseaux pair-à-pair Comment relier la taille à la durée de vie V. Gramoli, A-M. Kermarrec, A. Mostéfaoui, M. Raynal, B. Sericola.
IFT1025, Programmation 2 Jian-Yun Nie
Un nouveau monde d’échange sur Internet ????
L E S S U T U R E S T . P . S U R M A C H O I R E A N I M A LE.
Structures de données IFT-2000 Abder Alikacem Espace de nommage Département dinformatique et de génie logiciel Édition Septembre 2009 Département dinformatique.
Vue d'ensemble Présentation du rôle du système DNS dans Active Directory Système DNS et Active Directory Résolution de noms DNS dans Active Directory.
Badr Benmammar Programmation concurrente et temps réel en Java Badr Benmammar
Cours 6 Interfaces, classes imbriquées (début). Chapitre IV Interfaces, classes imbriquées, Object.
Cours 5 Héritage, Interfaces, classes internes. POO-L3 H. Fauconnier2 La classe Object Toutes les classes héritent de la classe Object Object méthodes:
Eléments pour GridExplorer (GdX). Evalutation de grand système Modélisation Simulation Emulation Exécution (In-situ) Quelle méthodologie pour l'évalutation/test.
Architecture des systèmes pair-à-pair de gestion de données Gabriel Antoniu Projet PARIS IRISA/INRIA.
Adaptée du cours de Richard Grin
Intention Séparer et extraire les traitements appliquées à différents type de nœuds d’une structure.
Objectifs À la fin de ce cours, vous serez capables de :
Les Access-lists sur routeurs Cisco
Héritage multiple En langage C++, il est possible d’utiliser l’héritage multiple. Il permet de créer des classes dérivées à partir de plusieurs classes.
Routeur Cisco® Formation.
Les listes de contrôle d’accès
Systèmes distribués Plusieurs technologies existent : Les sockets
Papa! Papa! A l’école, en classe d’ informatique, on m’a demandé que pour demain j’explique la différence entre 'virtuellement' et 'réellement'
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
1/13 Sécurité dans Pastis Fabio Picconi LIP6 13 février 2004 ACI MD Grid Data Services (GDS)
Etude de la volatilité dans un système de stockage P2P Fabio Picconi – LIP6.
Jean-Michel BUSCA et Pierre SENS
Étude d’un protocole de partage de travail entre systèmes Pair à Pair
Entrées / Sorties.
Constructeurs H Batatia. Variable statique Une variable statique est partagée par tous les objets d’une classe.
SIO SI2 : Support Réseau des Accès Utilisateurs
GDS – 17/02/061 Gestion de la volatilité dans un système de stockage P2P F. Picconi, P. Sens Regal (LIP6 / INRIA) ACI Masses de Données.
05 – Couche 3 - Couche réseau Terme anglais = The Network Layer.
GDS : Grid Data Service Gabriel Antoniu IRISA / INRIA Rennes Réunion de lancement du projet GDS de l’ACI Masses de Données 22 septembre 2003.
1 Détection et tolérance aux fautes dans JuxMem Sébastien Monnet IRISA / PARIS Lyon, 05/12/2003.
Exemple : Relation IP/MASQUE
1 Premières études sur la gestion de la volatilité dans Pastis Fabio Picconi Réunion GDS – 19/11/2004.
Utilisation de Modelnet dans le cluster de SRC Fabio Picconi – LIP6.
ACI Masses de Données Bilan GDS Regal (LIP6 / INRIA)
Iterator Design Pattern Alessandro Soro Sylvain Giroux.
PERI Master ACSI cours Gestion des Périphériques Année (Transparents de F. Dromard)
Clustering. Le Clustering est une technique qui consiste à assembler virtuellement plusieurs machines afin de les faire travailler en parallèle. Cela.
Un service de partage de données pour DIET : GDS basé sur JuxMem Mathieu Jan Projet PARIS Lyon, 5 décembre 2003.
LIFI-Java 2004 Séance du Mercredi 29 sept. Cours 4.
Introduction à la programmation objet avec java
Java RMI: Remote Method Invocation
/24 P02P03 P / /24 Eth0:.1/27 Eth0:.2/27 Eth1:.1/24 dummy0:.1/ / / /24 Eth1:.3 Groupe.
Les réseaux X.25 et le relais de trames
Formation Cisco Partie 2 – IOS.
NAT (scénario 1) 1 NAT y1 Adresses publiques du NAT z1 = ______ z2 = ______ z3 = ______ INTERNET RÉSEAU LOCAL y2 x1.
Chapitre 1 Introduction à l'infrastructure Active Directory Module S44.
(a)(b) (a) (d).
Int 10. Int 6.
A b c. a b ab ab.
TP N°6: Construction d’un Serveur Multi-Client
Transcription de la présentation:

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

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é

Architecture contrôleur hôte1hôte2hôte3 hôte1hôte2hôte3 routeur Modelnet

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

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

Gestion du réseau Pastry contrôleur eth0:1 eth0:2 eth0:3 eth0:4 JVM MON hôte1 Pastry tuer nœud Pastry

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

Evaluation de FreePastry 04F2 3A B BB2 AC78 C52A E25A k = AB lookup(8959) racine contrôleur lookup(8959) fausse racine 8971

Evaluation de FreePastry 04F2 3A B BB2 AC78 C52A E25A 73AB racine contrôleur fausse racine 8971 résultat

Architecture JVM Hôte JVM Controller RMI Controller TestBase ChurnManager SimulationHost Pastis Past / Pastry

Architecture void registerNodeStart( Id id, SimulationHost host ); void registerNodeReady( Id id ); void unregisterNode( Id id ); NodeConfigurator registerHost( SimulationHost host ); interface Controller

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

Architecture abstract void runTest(); abstract class TestBase void InitNetwork( NodeConfigurator configurator ); void waitForNodes() void setChurnRate(); Id pickRandomNodeId(); SimulationHost getHostForNodeId( Id id ); class ControllerImpl

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

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

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

Architecture void churnNode() { Id id = pickRandomNodeId(); SimulationHost host = getHostForNodeId( id ); unregisterNode( id ); host.killNode(); host.startNewNode( generateBootStrap() ); } ControllerImpl.java

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

Evaluation de Pastis 90 min45 min23 min10 minMST :