230 likes | 369 Views
Partage de mémoire à très grande échelle sur des réseaux pair-à-pair. Gabriel Antoniu , Luc Bougé, Thierry Priol IRISA/INRIA Rennes. Plan. Pourquoi le P2P Introduction à JXTA Objectifs Concepts de base Protocoles Service de partage de mémoire dans JXTA Proposition d’architecture
E N D
Partage de mémoire à très grande échelle sur des réseaux pair-à-pair Gabriel Antoniu, Luc Bougé, Thierry Priol IRISA/INRIA Rennes
Plan • Pourquoi le P2P • Introduction à JXTA • Objectifs • Concepts de base • Protocoles • Service de partage de mémoire dans JXTA • Proposition d’architecture • Conclusion
Pour quoi le pair-à-pair (P2P) ? Internet Client Client Cache Proxy Client Client Modèle pair-à-pair Client serveur serveur Client Client Client/Serveur Client/Serveur Zone de congestion Client/Serveur Client Client Client Client/Serveur Client/Serveur Modèle client/serveur serveur serveur Client/Serveur Zone de congestion Client/Serveur Client/Serveur Client/Serveur
P2P: une définition • Objectif: exploiter les ressources disponibles à la périphérie d’Internet • Puissance de calcul, espace de stockage, contenu • Définition • Parité: tout nœud peut être client et serveur pour des transactions différentes • Comment reconnaître un système P2P ? • Connectivité variable et adresses IP temporaires = le cas standard! • Autonomie des nœuds périphériques
P2P: caractéristiques • Dynamicité du réseau sous-jacent • Composition et topologie • Découverte dynamique de pairs et de ressources • Extensibilité • Plus de pairs=>plus de performance • Haute disponibilité • Pairs interchangeables (réplication) • Fiabilité des répertoires de ressources
JXTA: infrastructure génériquepour 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: http://www.jxta.org
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
Le réseau virtuel JXTA Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer TCP/IP Peer Peer Peer Peer Peer Peer Peer Peer Firewall Firewall Peer Peer Peer Peer Peer HTTP Réseau physique
JXTA: pairs • Un pair = • Un identifiant unique (UUID) • Adressable indépendamment de sa localisation (firewalls, NAT) • Plusieurs points d’accès réseau (TCP, HTTP, etc.) • Plusieurs types de pairs • Minimaux • Simples • Rendez-vous • Routage
JXTA: pairs de routage Peer ID Peer ID Peer ID Relay Peer Peer ID Peer ID Peer ID Peer ID Peer ID Relay Peer TCP/IP Peer Peer Peer Peer Peer Peer Peer Peer Peer Firewall Peer Peer Peer Peer Peer HTTP Réseau physique
JXTA: groupes de pairs • Ensemble de pairs réunis par un intérêt commun • Applications collaboratives • Services de groupe • Politique de sécurité NetPeerGroup PeerGroupA Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID PeerGroupB
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: <?xml version="1.0"?> <!DOCTYPE jxta:PGA> <jxta:PGA> <GID> urn:jxta: uuid- BCBCDEABDBBBABEABBBABA000000 </GID> <MSID> urn:jxta:uuid- BFEFDEDFBABAFRUDBACE00000001 </MSID> <Name> My Group </Name> <Desc> This group is to be used for my own testing </Desc> </jxta:PGA> JXTA: annonces (advertisements)
Input Pipe Output Pipe Peer Propagate Peer Propagate Pipe Receive Point-to-Point Pipe Peer Peer Send PeerGroup B Peer Group A JXTA: communication par canaux • Canaux • Asynchrones • Uni-directionnels • 1-to-1, 1-to-N ou N-to-1 • Localisation transparente des services • Pipeline de services • Haute disponibilité (reconfiguration transparente en cas de panne)
JXTA: pile des protocoles Pipe Binding Protocol Peer Discovery Protocol Peer Info Protocol Peer Resolver Protocol Peer Endpoint Protocol Peer Rendezvous Protocol
JXTA: protocole de découverte 3 2 4 4 RdV RdV 1 2 RdV 3 2 3 2 4
JXTA: architecture JXTA Applications SunJXTA Applications Community JXTA Applications Sun JXTAServices JXTA Shell Community JXTA Services JXTA Services • Indexing • Searching • File sharing Peer Commands Peer Monitoring Peer Groups Peer Pipes JXTA Core Security Security Any Peer on the Expanded Web
JXTA: services de base • Discovery Service • PeerInfo Service • Pipe Service • Resolver Service • Membership Service • Access Service
Service de partage de mémoire • Point de départ: mémoire virtuellement partagée Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Peer ID Espace d’adressage global Données communes
Service de partage de mémoire P2P • Nouvelles hypothèses • Dynamicité du réseau • Hétérogénéité des processeurs et des réseaux • Sécurité • Cohérence hiérarchique • Schémas d’accès aux données • Nommage des nœuds • Critères d’évaluation à revoir • Pas une DSM à grande échelle!
Visualisation Mécanique des structures Optique Conception de Satellite Thermique Dynamique Application de couplage Application: couplage de code • Une application = un assemblage de plusieurs codes de calcul SAN LAN Grappe de PC WAN SAN Supercomputer Grappe de PC
Client Application: metacomputing • Stockage des données • Éviter les transferts multiples entre client et serveurs • Gestion des données distribuées et redistribution • Modèle de déploiement P2P Requête AGENT(s) S2 ! A, B, C Réponse (C) Op2(C, A, B) Op1(C, A, B) S1 S3 S4 S2 Serveur Serveur Serveur Serveur Service de gestion des données distribuéespersistantes
Communications Superpages Service de partage de mémoire:Architecture Applications JXTA Applications Memory Sharing Service Consistency protocols JXTA Services Peer Monitoring Peer Groups Peer Pipes JXTA Core Security Security Any Peer on the Expanded Web
Conclusion • Partage de mémoire pair-à-pair • Principaux défis: dynamicité, hétérogénéité, architecture hiérarchique • Applications typiques • Couplage de code • Persistance des données dans les environnements de calcul sur grille • JXTA: plate-forme ouverte pour des services et applications P2P