Title: Mcanismes de recherche dans les systmes P2P
1Mécanismes de recherche dans les systèmes P2P
- Anne-Marie Kermarrec
- IRISA/INRIA Rennes
2Contexte et motivation
- Évolution constante des systèmes distribués
- Changement déchelle
- Nombre de machines, dispersion géographique,
volume de données - Comportement dynamique
- mobilité, volatilité, connectivité
- Inadéquation des algorithmes classiques
client/serveur - Réseaux P2P génériques
- Auto organisation absence de contrôle centralisé
- Paradigme de communication symétrique
- Connaissance partielle du système
- Agrégation de ressources
N
N
N
N
N
N
N
3Recherche dans un réseau P2P
N2
N1
N3
Ex Keytitle Valuefile data
Internet
?
Client
Ressource
Lookup (title)
N6
N4
N5
- Au coeur de tous les systèmes P2P
- Inondation (Gnutella)
- Index centralisé (Napster)
4Recherche dans les réseaux pair à pair
- Fonctionnalité centrale dans les réseaux P2P
- Réseaux structurés (DHT) recherche exacte
- Réseau non structurés ou hiérarchique recherche
par inondation - Flexible mais peu efficace
5Éventail de recherche
- Recherches instantanées
- Objets stockés
- Messagesrequêtes
- Recherches persistantes
- Requêtes stockées
- Messagespublications (sur objets)
- Types de recherche
- Exactes
- Par plages de valeurs
6Plan de lexposé
- Structuration des réseaux pair à pair
- Recherche persistantes systèmes
publication/abonnement - Réseaux structurés Meghdoot
- Réseaux non structurés Sub-2-sub
7Structure des réseaux pair à pair
- Réseaux non structurés
- Réseaux structurés (DHT)
- Réseau hiérarchique
Espace de nommage
8Réseaux structurés
- Overlay abstraction de réseau au dessus dIP
- Fonctionnalité de base table de hachage
distribuée - CAN repose sur un espace cartésien
multidimentionnel - Chord, Pastry, Tapestry routage hypercube
généralisé à base de correspondance de préfixe - Interface de recherche exacte
9Tables de hachage distribuées (DHT)
containers
k1,v1
k2,v2
k3,v3
Operations insert(k,v) lookup(k,v)
k4,v4
k5,v5
k6,v6
Table of containers
- Stocke des paires de type ltkey,valuegt
- Accès efficace à une valeur à partir dune clé
10Tables de hachage distribuées
nodes
k1,v1
k2,v2
k3,v3
P2P overlay network
Operations send(m,k)
k4,v4
k5,v5
k6,v6
- Messages envoyés aux clés
- P2P infrastructure assure la correspondance
entre clés et nuds physiques
11Réseaux structurés mise en correspondance de
clés et de noeuds
Espace de nommage
- Identificateurs de clés (objets) et de noeuds
cohabitent - dans un large espace de nommage
- Un noeud est responsable des clés proches
(identificateurs)
12Réseaux structurés mise en correspondance de
clés et de noeuds
Clé destination
Espace de nommage
Noeud source
Routage rapprochement du message de sa
destination Le message sarrête lorsque la
destination est atteinte Maintenance des
informations de routage (Identificateur de noeud
_at_IP)
13Example Pastry
d4213f
- Propriétés
- Routage log16 N hops
- Table de routage O(log N)
14CAN Content addressable network
node X insert(K,V)
(a,b)
(1) a hx(K) b hy(K)
y b
(2) route(K,V) -gt (a,b) (3) (a,b) stores
(K,V)
(x,y)
x a
15Recherche persistantes publication/abonnement
- Système de notification asynchrone
- Découplage des publieurs et des abonnés
- Les abonnés enregistrent leurs intérêts
- Les publieurs publient des événements
Pub-sub System
Publishers
Subscribers
16Systèmes Publication-abonnement
- Paradigme de communication assurant le passage à
léchelle - Classification des systèmes
- Topic-based multicast au niveau applicatif
- topichouses_sales
- Attribute-based
- s1(cityRennes) (capacity2_Bedrooms)
- Content-based
- s1(cityRennes Saint Malo)
(capacity3_Bedrooms price lt 300,000 EUR) - Architectures
- Centralisée
- Architecture à base de broker
- Systèmes pair à pair de filtrage
17Systèmes de publication-abonnement et réseaux
structurés
- Topic-based systèmes de type Scribe (anycast)
- Content-based correspondance entre lespace
dattribut et lespace des identificateurs - Un attribut/peer
- Une paire(attribut-valeur)/peer
- Compromis efficacité/expressivité
18Scribe système topic-based
- Création route vers groupId
- Join route vers groupId
- Arbre union des routes Pastry des membres du
groupe à la racine
join( groupId)
19Meghdoot système content-based
- Publication/abonnement basé sur le contenu
- Repose sur le réseau P2P Can
- Systèmes à base dattributs
- Chaque attribut est spécifié par un nom, un type
et des bornes name type, min, max - Type entier, flottant, caractère, chaines
- Meghdoot Content-based publish-subscribe over
P2P networks,A. Gupta, O. Sahin, D. Agrawal and
A. el Abbadi Middleware 2004
20Abonnements événements
- Abonnement conjonction de prédicats sur un ou
plusieurs attributs - Opérateurs, , lt, gt
- Constantes ou plage
- Événements ensemble dégalités sur des
attributs - E corresponds à s si chaque prédicat de s est
vérifié par e - Système en charge de
- Stocker les abonnements
- Router les évènements aux abonnements concernés
21Construction de lespace logique
- Espace cartésien de dimension 2n pour n attributs
- Plages représentées par un point dans lespace
logique - Début de la plage de lattribut i mappé sur la
dimension 2i-1 - La fin sur la dimension 2i
- Repose sur CAN
22Abonnements
si Av alors lhv
S associée au point
Subscription space
Subscribingrouting
Routing purposes FT
23Routage dévénement
e associé au point
is affecté par e si
24Gestion des pairs dans Meghdoot
- Insertion
- Un pair A utilise lalgorithme dinsertion de CAN
et contact un pair existant C - C choisit un point aléatoire dans lespace
logique, point appartenant à V - V divise sa zone et assigne la moitié à A
- Potentiel déséquilibre de charge en cas de
distribution non uniforme des abonnements
25Équilibrage de charge abonnements
- Pairs
- Gère les abonnements associés
- Propage les évènements
- Charge associée aux abonnements
- Abonnement stocké sur le pair gérant la zone
associée - Charge proportionnelle au nombre dabonnements
stockés dans la zone - Partage de son tient compte de cette charge
Uniform splitting
Sub-based splitting
26Équilibrage de charge événements
- Création de chemins de propagation alternatifs
- Réplication de zone pour partage de charge
- Augmente létat à maintenir
- Routage suivant un algorithme Round robin
- Insertion dépend de la charge
- Statistiques sur le réseau
- Charge de voisins
- Liste des k pairs les plus chargés
b
a
c
b
a
c
d
27Leçons
- Évaluation de Meghdoot montre de bonnes
propriétés - Passage à léchelle
- Équilibrage de charge
- Problèmes inhérents aux réseaux structurés
- Peu de flexibilité
- Attribution de zones de lespace de nommage
28Sub-2-Sub
- Objectif
- Système de notification asynchrone dévènements
basés sur le contenu (content-based pub-sub) - Support de requêtes exactes et par plages de
valeurs - Pallier linadéquation des réseaux p2p structurés
- Réseau pair à pair non structuré de construction
épidémique dans un espace dattributs
multidimensionnel - Clustering automatique de requêtes similaires
- Réseau faiblement structuré
- Support multi-attributs
- IPTPS 2006, S. Voulgaris, E. Rivière, A.-M.
Kermarrec, M. van Steen -
29Sub-2-Sub
- Abonnements spécifiés par une conjonction de
paires (attribut, value) ou (attribut, range) - Évènements
- Vecteur de taille n
- Algorithme épidémique périodiquement chaque
pair échange de linformation avec un de ses
voisins logiques - Sélection de la cible
- Communication
- Gestion de linformation reçue
msg
30Protocole épidémique générique
3
2
1
2 9 5
10
4
9
8
6
5
7
31Protocole épidémique générique
3
2
Peer selection
1
10
4
9
8
6
5
7
32Protocole épidémique générique
3
View propagation
2
1 2 9 5
1
2 6 10 3
10
4
9
8
6
5
7
33Protocole épidémique générique
3
2
1 2 9 5 6 10 3
1
10
4
9
8
6
5
7
34Protocole épidémique générique
View selection
3
2
2 5 10
1
10
4
9
8
6
5
7
35Sub-2-Sub
Sequence Id
Sequence Id
Sequence Id
Valeur de lattribut
Valeur de lattribut
Valeur de lattribut
- Liens aléatoires
- Algorithmes
- epidémiques classiques
- Liens dintérets
- Choix de la cible liens conservésprochesdans
lespace - d(i,j) 0 si intersection vide
- Liens structurés
- Choix de la cible dans lanneau
- Liens conservés
- triés
- par id de séquence croissant
36Agenda
- Découverte de ressources distribuée large
éventail de recherche - Recherche instantanées
- Recherche persistantes
- Recherche exacte/plage de valeurs
- Large domaine applicatif Grid computing, partage
de fichiers, systèmes dinformations - Réseaux P2P offrent des fonctionnalités très
différentes en terme de recherche - Pertinence de la structuration adoptée pour une
application donnée