Upload
chars
View
21
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Partage de mémoire à très grande échelle
sur des réseaux pair-à-pair
Gabriel Antoniu, Luc Bougé, Thierry Priol
IRISA/INRIA Rennes
2
Plan
Pourquoi le P2P Introduction à JXTA
Objectifs Concepts de base Protocoles
Service de partage de mémoire dans JXTA Proposition d’architecture
Conclusion
3
Pour quoi le pair-à-pair (P2P) ?
Client
Internet
serveur
Client
ClientClient
Client
Client
ClientClient
Client
Client
CacheProxy
serveur
Zone de congestion Client/Serveur
serveur serveur
Client/Serveur
Client/Serveur Client/
Serveur
Client/Serveur
Client/Serveur
Client/Serveur
Client/Serveur
Client/Serveur
Zone de congestion
Modèle client/serveur
Modèle pair-à-pair
4
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
5
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
6
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
7
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
8
Le réseau virtuel JXTA
Peer
Peer
Peer Peer
Peer
PeerPeer
Peer
PeerPeer
Peer
Peer
FirewallPeer
PeerTCP/IP
HTTP
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Réseau physique
Firewall
9
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
10
JXTA: pairs de routage
Peer
Peer
Peer Peer
Peer
PeerPeer
Peer
PeerPeer
Peer
Peer
FirewallPeer
Peer
HTTP
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Relay Peer
Relay Peer
Réseau physique
TCP/IP
11
JXTA: groupes de pairs
Ensemble de pairs réunis par un intérêt commun Applications collaboratives Services de groupe Politique de sécurité
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
Peer ID
NetPeerGroup
PeerGroupA
PeerGroupB
12
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:
<?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>
13
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)
Peer Group A
Input Pipe Output Pipe
Peer
Peer
PeerPeer
PeerGroup B
Send
Receive
Point-to-Point
Pipe
Propagate
Pipe
Propagate
14
JXTA: pile des protocoles
Peer Resolver Protocol
Peer Rendezvous
Protocol
Peer Endpoint
Protocol
Peer Discovery
Protocol
Pipe Binding
Protocol
Peer Info
Protocol
15
JXTA: protocole de découverte
1
2
22
2
3
3
3
44
4
RdV RdV
RdV
16
JXTA: architecture
Community JXTACommunity JXTAServicesServices
Community JXTA ApplicationsCommunity JXTA ApplicationsSunSun
JXTAJXTAApplicationsApplications
SecuritySecurity
Peer GroupsPeer Groups Peer PipesPeer Pipes PeerPeerMonitoring Monitoring
PeerPeerCommands Commands
Sun JXTASun JXTAServicesServices
IndexingIndexing SearchingSearching File sharingFile sharing
JXTAJXTAShellShell
JXTAJXTAApplicationsApplications
JXTAJXTAServicesServices
JXTAJXTACoreCore
SecuritySecurity
Any Peer on the Expanded WebAny Peer on the Expanded Web
17
JXTA: services de base
Discovery Service PeerInfo Service Pipe Service Resolver Service
Membership Service Access Service
18
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
Données communes
Espace d’adressage global
19
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!
20
Application: couplage de code
Une application = un assemblage de plusieurs codes de calcul
Mécanique des structures
Thermique
Optique
Dynamique
Conceptionde
Satellite
Application de couplage
Grappe de PC
SAN
SAN
Grappe de PC
LAN
WAN
SupercomputerVisualisation
21
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
AGENT(s)
S1 S2 S3 S4
Client
A, B, C
Réponse (C)
S2 !
Requête
Op1(C, A, B)
Serveur Serveur Serveur Serveur
Op2(C, A, B)
Service de gestion des données distribuéespersistantes
22
Service de partage de mémoire:Architecture
ApplicationsApplications
SecuritySecurity
Peer GroupsPeer Groups Peer PipesPeer Pipes PeerPeerMonitoring Monitoring
Memory Sharing ServiceMemory Sharing Service
JXTAJXTAApplicationsApplications
JXTAJXTAServicesServices
JXTAJXTACoreCore
SecuritySecurity
Any Peer on the Expanded WebAny Peer on the Expanded Web
CommunicationsCommunications SuperpagesSuperpages
Consistency protocolsConsistency protocols
23
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