Title: IH Hachage Multidimensionnel Distribu et Scalable
1IH Hachage Multidimensionnel Distribué et
Scalable
- BOUKHELEF Djelloul
- Étudiant en PhD,
- Institut National dInformatique (INI), Alger.
Algérie - E-mail boukhelef_dj_at_yahoo.fr
- Directeur de thèse Pr D-E. ZEGOUR
2Partie I
- Structures de données Distribués et Scalables
3Structures de données classiques
- Schémas de distribution classiques
- Partitionnement par intervalle,
- Partitionnement par hachage,
- Round-Robin ,
- Mécanisme de calcul d'adresse unique et
centralisé ? un point d'accumulation - Limite sur les performances d'accès
- Vulnérabilité aux pannes
- Scalabilité et Disponibilité
- Duplication du calcul d'adresse ? MAJ
synchrones des clients - Impossible pour un grand nombre de clients
distribués et autonomes
4SDDS Structures de Données Distribuées et
Scalables
- Conçues spécifiquement pour les multiordinateurs
- Une collection d'ordinateurs, Stations de
travail, faiblement couplés (à partage de rien,
shared nothing) interconnectés par un réseau
informatique (MAN, LAN, WAN) - Une nouvelle classe de structures de données pour
des bases de données modernes - Dune grande taille (GO TO)
- Avec des données complexes spatiales,
géographiques, Image, Son, - Scalables
- Grandissent rapidement en gardant les mêmes
performances - Haute disponiblilité et disponibilité
incrémentale (scalable availability)
5SDDS Axiomes généraux (1)
- Les données sont identifiées par des clés (d?1),
OID pour les objets - Les données sont stockées sur des serveurs et
sont accédées par des clients autonomes - Il n'y a pas de répertoire central d'accès
- Image locale par client
- Mécanisme de vérification et de redirection des
requêtes - Mécanisme de mise à jour distribué des images des
clients - Les MAJ de la structure d'une SDDS ne sont pas
envoyées aux clients de manière synchrone
6SDDS Axiomes généraux (2)
- Un client peut faire des erreurs d'adressage
suite à une image inadéquate de la structure de
SDDS - Chaque serveur vérifie l'adresse de la requête et
l'achemine vers un autre serveur si une erreur
est détectée - Le serveur adéquat envoie un message correctif
(Image Adjustment Message, IAM) au client ayant
commis l'erreur d'adressage - Le client ajuste son image local pour ne plus
faire, au moins, la même erreur
7SDDS Axiomes généraux (3)
0
1
i 0 n 0
Level 2 Next 1
0
1
2
3
4
i 2 n 0
8SDDS Contraintes (1)
- Si une SDDS n'évolue plus, alors les IAM font
converger toute image d'un client vers l'image
actuelle du fichier - L'ensemble des renvois à la suite d'une erreur
d'adressage ne se fait qu'en quelques messages - Performance d'accès d'une SDDS
- Nombre de messages sur le réseau (indépendante
des paramètres du réseau) - Nombre de messages par opération
- Vitesse de convergence de limage dun nouveau
client
9SDDS Contraintes (2)
- Scalabilité
- Prendre en charge nimporte quelle quantité de
données - pas de limite théorique de la taille, pas de
réorganisation totale de la structure - Maintenir les performances quand le volume de
données stockées varie temps d accès ?
constants - Distribution
- Une grande quantité de données
- Traitement parallèle et distribué
- Non vulnérabilité aux pannes
- Disponibilité
- Assurer la continuité du fonctionnement 24 heures
sur 7 jours
10SDDS Typologie
Structure de Données
d-dimensionnel IH
1-d-Arbre DRT, DRT,RP
k-d-Arbre Distributed B k-RP
1-dimensionnel LH, LHLH DDH, EH
k-disponibilité LHRS, LHSA
11SDDS Travaux en cours à lINI
- IH
- Scalable and Distributed Interpolation-Based
Hashing - D. Boukhelef
- CTH
- Scalable and Distributed Compact-Trie-Hashing
- D-E. Zegour
- TH
- Scalable and Distributed Trie-Hashing
- M. Aridj
12Partie II
- Structures de données multidimensionnelles
13Données multidimensionnelles
- Espace de clés K
- K D0?D1?...?Dd-1
- Fichier F
- F (r1,r2, ... , rN)
- Enregistrement r
- r (k0, k1, ... , kd-1, a0, a1, ... , am) ? K
kj ? Dj pour 0 ? j ? d
14Méthodes daccès multidimensionnelles
15IH Hachage par Interpolation
- Proposé par W.A. Burkhard en 1983
- Extension du Hachage Linéaire (LH) de Litwin
- Principe clé k k0, k1, ... , kd-1
- Interpolation (shuffle function)
- Former la signature de k (record signature)
- Appliquer le LH classique pour décider où se
trouve la clé k - Implémentation des requêtes à intervalle
(partial match query range query).
16Partie III
- IH - Adaptation du Hachage par interpolation aux
environnements distribués
17IH Hachage par Interpolation Distribué et
Scalable
Hachage Linéaire (LH)
- Structure de donnée àbase du Hachage (Linéaire)
- Adaptation du IH aux environnements
distribuésselon le modèle SDDS - Introduction de lordre et laspect
multidimensionnel à la SDDS LH
18IH Structure dun fichier
- Serveurs (j)
- Stockage de données
- Evaluation des requêtes des clients
- Clients autonomes (i , n)
- Accès aux données
- Intermédiaire entre application et système SDDS
- Site Coordinateur (i , n)
- Maintient les paramètres du fichier
- Gestion déclatement
- Allocation de sites
19IH Évolution du Fichier
0
0
i 0 , n 0
20IH Évolution du Fichier
0
1
0
1
i 1 , n 0
21IH Évolution du Fichier
1
2
0
1
2
0
i 1 , n 1
22IH Évolution du Fichier
2
3
0
1
2
3
0
1
i 2 , n 0
23Éclatement dun serveur
- Algorithme SplitServer (n)
- 1- créer la case (n2j) niveau j j1
- 2- éclater la case (n) en utilisant hj1
- 3- mettre à jour j ? j1
- 4- confier léclatement au site coordinateur
- Fin
24IH Eclatement
- Éclatement non contrôlé
- À chaque collision
- Éclatement contrôlé
- Taux de chargement est supérieur / inférieur au
facteur de chargement du fichier
25IH - Éclatement contrôlé
- 1ère solution Loi de distribution de données
- 2ème solution Négociation entre Coordinateur et
Server (n) - Garder lhistorique des messages de collision
Next server to split (n)
26Adressage (1)
i 0 n 0
Level 2 Next 1
27Adressage (2)
i 2 n 0
Level 2 Next 3
4
5
6
28Requête à intervalles
1
29Requête à intervalles
30Envoi par Diffusion Principes
31Envoi par Diffusion Critiques
- Simple un envoi pour tous le monde
- Multicast nest pas toujours disponibles sur tous
les réseaux - Peut ne pas être efficacement implémenté
- Trop de messages sur le réseaux
- Problèmes du déterminisme denvoi et de réception
dans le cas des
32Envoi ciblé (solution LH)
33Envoi ciblé Critiques
- Déterministe
- Parcours de tous les serveur même pour un petit
nombre denregistrements - ? Pas dordre dans LH
34Envoi sélectif (solution IH)
35Envoi sélectif Client
- Déterminer lensemble A des serveurs couvrant la
région de Q (Algo Range Query du IH) A ? 0, 1,
..., n2i - Déterminer pour chaque serveur de A la région
correspondante en utilisant (nest pas forni par
IH) - Envoyer à chaque serveur de A la sous-requête
correspondante
36Envoi sélectif Serveur
- Découper la requête reçue en des sous des
sous-requêtes plus fines - Déterminer lensemble des serveur fils et envoyer
à chaque serveur la sous-requête correspondante - Si portée du serveur ? portée de la sous-requête
? ? alors - Exécuter la requête correspondante
- Retourner(réponse adresse niveau)
37Envoi par décomposition récursive
38Décomposition récursive Client
- Algorithm Generate_Target_Servers
- Begin
- Compute the set S of target servers Ss0,
s1, ... , sm ? 0, 1, ... , n2i-1 - Decompose the range of Q into relevant
sub-queries P q0, q1, ... , qm - for each server si from S do
- Send (qi, j) towards server (si) j ? i1 if
(si?n) and j ? i otherwise - end for
- End
39Décomposition récursive Serveur
- Algorithm Query_Propagation (Q, j)
- Begin
- Compute the set S of children servers Ssk,
sk1, ... , skm ? a2j1, ... , a2j - where k is the level of sk at the moment of its
creation by server (a) j ltk ? j - Decompose the range of Q into relevant
sub-queries P qk, qk1, ... , qkm - for each server sk from S do
- Send (qk, k) towards server (sk)
- end for
- End
40Décomposition récursive Exemple
41Tests de terminaison
- Probabiliste
- Expiration du timeout
- Déterministe
- Tous les serveurs ont bien répondu
- Hybride Déterministe avec timeout
- Déterminer les serveurs manquant
- Leur retransmettre les messages de requête
- Retourner à lapplication les réponses reçues
- Signaler au Coordinateur les serveurs nayant pas
répondu - Lancer la procédure de recouvrement
42Architecture Serveur / Coordinateur
43Architecture Client
44Architecture Serveur de noms
45Module de contrôle de flux
46Implémentations
- Environnement Windows (XP, 2000)
- Windows - Visual C (V6)
- Protocole plus complet
- Test et validation des résultats
- Java et XML
- Interopérabilité (Langage, SQL ? Xquery, )
- Portabilité (Windows, Linux, )
- Requêtes / Réponses par lot (bulk operations)
47Environnement de développement
- Visual C (V6)
- Programmation 100 objet
- Interface graphique
- MFC API Windows
- TCP, UDP
- I/O Completion Port, Asynchronous I/O
- Multithreading
48Implémentation Client
49Implémentation Serveur
50Implémentation Manager / Agent
51Partie IV
52Travaux en cours
- Compléter le prototype IH, mesurer ses
performances - Rétrécissement du fichier
- Structure de la case (IHIH), contrôle
déclatement - Terminaison des requêtes à intervalle et
réception de repenses - Généraliser le contrôleur de flux, Event-driven
IOCP - Amélioration du schéma IH classique
- Requêtes à intervalle récursives
- Détermination de la portée dune région quelque
soit le niveau actuelle du fichier. - Nouveau schéma de hachage linéaire
multidimensionnel - Gray code, distance de Hamming
- Préservation de la localité spatiale (proximity
preserving) - Meilleur déclustering des données
- Requête non orthogonales Recherche au voisinage
53Travaux futurs
- Sécurité Haute disponibilité
- récupération sur panne serveur, coordinateur
- Sans-coordinateur, coordination distribués
- Sauvegarde restauration Signature,
- Qualité , Performances
- Architectures (Even-driven), communication,
- Serveur de noms distribué, Interopérabilité (XML)
- Adaptation du IH au P2P
- Fully decentrilzed (data index), fault tolerent
SDDS
54Problèmes ouverts
- Plate-forme unifiée pour le test et la validation
des systèmes SDDS - SDDS avec coordination et accès complètement
décentralisés - Placement des serveurs et équilibrage de charge
(données et travail) - Gestion des caches dans les systèmes SDDS
55Merci de votre attention
- BOUKHELEF Djelloul
- boukhelef_dj_at_yahoo.fr