1 Gestion de données à grande échelle : une approche pair-à-pair à partir de l'environnement JXTA Gabriel Antoniu, Luc Bougé IRISA, équipe PARIS CUIC 2003.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
Qualité du Premier Billot. 2 3 Défauts reliés à labattage.
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Gabriel Antoniu IRISA / INRIA Rennes
Sud Ouest Est Nord Individuel 36 joueurs
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Simulation de réseaux pair-à-pair à grande échelle
Applications et Techniques
Le Modèle Logique de Données
Architecture de réseaux
Jean-François Deverge, Sébastien Monnet
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
1 Efficient Data and Program Integration Using Binding Patterns Ioana Manolescu, Luc Bouganim, Francoise Fabret, Eric Simon INRIA.
1 ACI DADDI - Réunion de lancement IRISA - Projet ADEPT Michel Hurfin Jean-Pierre Le Narzul Frédéric Tronel 23 mai 2005.
2 1. Vos droits en tant quusagers 3 1. Vos droits en tant quusagers (suite) 4.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
PARTENARIAT ÉDUCATIF GRUNDTVIG PARTENARIAT ÉDUCATIF GRUNDTVIG REPERES COHESION CULTURELLE ET EXPANSION DES IDEES SUR LE TERRITOIRE EUROPEEN.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Interagir avec un objet mixte Propriétés physiques et numériques Céline Coutrix, Laurence Nigay Équipe Ingénierie de lInteraction Homme-Machine (IIHM)
Contrôles d'accès aux données
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
XML-Family Web Services Description Language W.S.D.L.
Synchronisation et communication entre processus
Serveurs Partagés Oracle
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Traitements &Suppléments
~ Veille technologique ~ Les réseaux pair-à-pair
Virtual Local Area Network
Titre : Implémentation des éléments finis sous Matlab
Cloud Computing et mesures de performances
Un nouveau monde d’échange sur Internet ????
Projet poker 1/56. Introduction Présentation de léquipe Cadre du projet Enjeux Choix du sujet 2.
INDUSTRIE sa Tel : 0033(0) Fax : Projet: SKIP CAPSULES – v.1 Client: CARDIVAL HEALTH.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
LES NOMBRES PREMIERS ET COMPOSÉS
Projet Génie Logiciel & UML, Bases de Données & Interfaces
802.1x Audric PODMILSAK 13 janvier 2009.
Séminaire Service Interoperability on Context Level in Ubiquitous Computing Environments Davide Bazzi IIUF Etude de larticle: Service Interoperability.
Architecture des systèmes pair-à-pair de gestion de données Gabriel Antoniu Projet PARIS IRISA/INRIA.
Stockage dans les systèmes Pair à Pair
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
LEGO – Rennes, 18 Septembre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de.
JEE 5 F.Pfister 2 institut eerie JEE – Une plateforme serveur  Développement et exécution d'applications réparties.
Qu’est ce qu’une grille ?
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
GDS – Paris, 13 Octobre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de M2RI.
CALENDRIER-PLAYBOY 2020.
Partage de mémoire à très grande échelle sur des réseaux pair-à-pair
Fondements de l’algorithmique des réseaux
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
1. Présentation générale du système
Outil de gestion des cartes grises
1 Réseaux : algorithmique et combinatoire Daniel Krob (LIX) Laurent Viennot (INRIA)
Les Chiffres Prêts?
Réseau Infrastructure Partage ressources Protocole Sécurité.
Projet Implémentation du protocole MMT sous Linux
Plan Définitions et exemples Composants de cluster
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 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.
Nicolas DEWEZ Cyrille JOSSELIN Tuteur: Thierry DELOT Conception d’une application de partage de fichiers Projet IUP3 GMI - Valenciennes Jeudi, 23 mars.
Étude d’un protocole de partage de travail entre systèmes Pair à Pair
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.
COMPARAISON ENTRE GNUTELLA ET FREENET
Un service de partage de données pour DIET : GDS basé sur JuxMem Mathieu Jan Projet PARIS Lyon, 5 décembre 2003.
Projet GDS de l’ACI MD Projet PARIS IRISA, Rennes.
Transcription de la présentation:

1 Gestion de données à grande échelle : une approche pair-à-pair à partir de l'environnement JXTA Gabriel Antoniu, Luc Bougé IRISA, équipe PARIS CUIC 2003 Saint-Malo

2 Des applications de plus en plus exigeantes… Simulation électromagnétique d’une antenne d’avion Simulation du comportement d’un satellite Simulation d’un écoulement dans un milieu avec fracture

3 Une approche : Computational Grids Buts Connecter différentes machines pour exécuter des applications à très grande échelle Déploiement transparent des calculs Meilleures performances possibles Nombreux projets de recherche et outils Sujet en plein développement !

4 Problème : Gestion et transfert des données Approche traditionnelle (grappes) : MPI Point-à-point Localisation et transferts explicites Programmation complexe ! Hypothèses Architecture statique Noeuds fiables Schéma de mouvement des données connu

5 Défi : passage à l’échelle ! Fonctionnement à grande échelle Extensibilité Tolérance aux fautes MPI-V Système ouvert réparti Hétérogénéité Interopérabilité MPI-G, Web services CORBA, SOAP Auto-organisation Équilibrage de charge Volatilité Systèmes pair-à-pair Napster, Gnutella, … MPI

6 Systèmes client-serveur Modèle actuel d’Internet Serveur Problème :  Répartition de la charge  Tolérance aux défaillances des serveurs requêtes

7 Systèmes pair-à-pair Complémentaires aux systèmes client-serveur Serveur Objectifs :  Exploitation des ressources sous-utilisées  Répartition de la charge  Partage et agrégation des ressources  Réduction des coûts requête

8 Gestion de données à grande échelle : localisation dans un système P2P ?! recherche Exemple : KaZaA  connexions simultanées  Durée des connexions : quelques heures  fichiers  9 péta-octets de données

9 Localisation avec répertoire centralisé Index recherche téléchargement Coût : nombre de messages + Réponses exactes - Tolérance aux fautes faible Solutions coûteuses A l’encontre de l’un des objectifs du P2P Napster

10 Localisation par inondation + Tolérance aux fautes forte - Coût : nombre de messages - Réponses partielles recherche téléchargement Gnutella

11 Localisation hybride Superpair Répertoire pour un ensemble de pairs +Réduction du nombre de messages +Tolérance aux fautes -Réponses partielles -Choix des superpairs : difficile ! Index Index requête requête inter-index

12 Localisation par table de hachage distribuée Objectif : garantir de retrouver une donnée Décentralisation Minimiser le nombre de pairs contactés Minimiser la taille des structures de données Solution : table de hachage Une clé unique pour chaque donnée Trouver le pair responsable de la donnée à partir de la clé Demander la donnée au pair responsable

13 Localisation par table de hachage distribuée Approche totalement distribuée Localisation exacte et efficace Equilibrage de charge (tables de routage, trafic) Extensible Systèmes : CFS, Past, OceanStore Localiser (clé) Publier (clé, objet)

14 Comparaison des techniques Localisation par répertoire centralisé Nombre de messages Réponses exactes Tolérance aux fautes Localisation par inondation Tolérance aux fautes Nombre de messages Réponses partielles  Localisation hybride Tolérance aux fautes Nombre de messages Réponses partielles Localisation par table de hachage distribuée Nombre de messages Réponses exactes Tolérance aux fautes

15 JXTA : infrastructure générique pour le P2P Plate-forme ouverte de programmation P2P Ensemble de protocoles interopérables (XML) Indépendance des langages, systèmes, réseaux Projet open source:

16 Services et applications JXTA Stockage distribué et partage de données Recherche, indexation et partage de fichiers Calcul distribué à grande échelle Outils de collaboration Messagerie P2P Monitoring des pairs et des services

17 Le réseau virtuel JXTA Peer Firewall Peer TCP/IP HTTP Peer ID Firewall Un pair = Un identifiant unique (UUID) Adressable indépendamment de sa localisation (firewalls) Plusieurs points d’accès réseau (TCP, HTTP, etc.) Plusieurs types de pairs Minimaux Simples : cache Rendez-vous : retransmission de requêtes Relais : gestion des pare-feux

18 JXTA : pairs de relais Peer Firewall Peer HTTP Peer ID Relay Peer TCP/IP

19 JXTA : groupes de pairs Ensemble de pairs réunis par un intérêt commun Applications collaboratives Services de groupe Borner les communications Politique de sécurité Peer ID NetPeerGroup PeerGroupA PeerGroupB

20 JXTA : annonces (advertisements) Toute ressource est représentée par une annonce Pair Groupe de pairs Canal de communication Point d’accès au pair Service Contenu Etat d’un pair PeerGroup Advertisement: urn:jxta: uuid- BCBCDEABDBBBABEABBBABA urn:jxta:uuid- BFEFDEDFBABAFRUDBACE My Group This group is to be used for my own testing

21 JXTA : communication par canaux Canaux Asynchrones Uni-directionnels 1-to-1, 1-to-N Localisation transparente des services Pipeline de services Haute disponibilité (reconfiguration transparente en cas de panne) Peer Group A Input PipeOutput Pipe Peer PeerGroup B Send Receive Point-to-Point Pipe Propagate Pipe Propagate

22 JXTA : pile des protocoles Peer Resolver Protocol Peer Rendezvous Protocol Peer Endpoint Protocol Peer Discovery Protocol Pipe Binding Protocol Peer Info Protocol

23 JXTA Protocol Stack

24 JXTA : architecture Community JXTA Services Community JXTA Applications Sun JXTA Applications Security Peer Groups Peer Pipes PeerMonitoring PeerCommands Sun JXTA Services ● Indexing ● Searching ● File sharing JXTAShell JXTAApplications JXTAServices JXTACore Security Any Peer on the Expanded Web

25 JXTA 2.0 J2SE Sorti en mars 2003 Meilleure performance Meilleure extensibilité Plus stable Protocoles modifiés API compatible à 99% avec JXTA 1.0

26 Réseau des super-pairs de rendez-vous JXTA 1.0 : tous les pairs propagent les messages JXTA 2.0 : réseau de super-pairs de rendez-vous Seuls les pairs de rendez-vous propagent les messages Les pairs simples sont interrogés uniquement pour les ressources qu’ils possèdent Publication et recherche par table de hachage au sein du réseau de super-pairs

27 Index distribué des ressources partagées Les pairs simples publient leurs annonces sur les pairs de RV à l’aide de tables de hachage distribuées Les tables sont gérées par les pairs de RV Les requêtes sont dirigées vers les pairs de RV correspondants Si échec, recherche par inondation des pairs de RV Fonctions de hachage configurables

28 Rendezvous Peer View (RPV) Chaque pair de RV maintient une liste des pairs de RV du groupe (Rendezvous Peer View) Pas de cohérence forte pour la gestion de toutes les vues Les pairs de RV échangent périodiquement leurs vues (cohérence faible)

29 Publication d’une annonce

30 Recherche d’une annonce

31 Tolérance aux fautes

32 Comment trouver des pairs de RV ? Les pairs simples maintiennent des listes de pairs de RV Reconfiguration dynamique si déconnexion des pairs connus Les pairs simples découvrent et cachent des annonces de pairs de RV Une liste de pairs stables connus est fournie au bootstrap Auto-promotion en tant que RV si aucun pair de RV n’est trouvé

33 Implémentations de JXTA JXTA-J2SE (J2SE 1.3.1) Implémentation complète des protocoles JXTA Tutoriaux et Guide du programmeur JXTA-C JXTA 1.0 Non implémentés: pairs de RV, transport TCP Autres : Objective-C, Perl,.Net

34 JuxMem : un service de partage de données sur JXTA R é seau physique R é seau virtuel Groupe juxmem Groupe cluster A Groupe cluster B Groupe cluster C Groupe data

35 API de JuxMem Alloc (size, options) Map (id, options) Put (id, value) Get (id) Lock (id) Unlock (id)

36 Annonce de type ssfournisseur : groupe cluster Annonce de type grappe : groupe juxmem Gestion des ressources mémoires : publication et placement Groupe cluster Groupe juxmem Taille 10

37 Caractéristiques du service JuxMem Architecture hiérarchique Fédération de grappes Accès transparent aux blocs de données Localisation prise en charge par le service Gestion interne par table de hachage distribuée Support de la volatilité des pairs Réplication automatique des données et des pairs gestionnaires

38 Implémentation de JuxMem Utilisation de JXTA 2.0 Gestion des pairs, des groupes, des communications, etc Implémentation en tant que service utilisateur Prototype en Java JuxMem lignes Outil graphique Outils utilisés : Ant et Junit Service JXTA

39 JXTA : conclusion JXTA : plate-forme ouverte pour des services et applications P2P Pairs Groupes de pairs Annonces Canaux Pile des protocoles JXTA Localisation par table de hachage distribuée à cohérence faible JuxMem : service de partage de données basé sur JXTA Architecture hiérarchique Accès transparent aux blocs de données Support de la volatilité des pairs

40 Défi : passage à l’échelle ! Fonctionnement à grande échelle Extensibilité Tolérance aux fautes MPI-V Système ouvert réparti Hétérogénéité Interopérabilité MPI-G, Web services CORBA, SOAP Auto-organisation Équilibrage de charge Volatilité Systèmes pair-à-pair Napster, Gnutella, … MPI