IH* Hachage Multidimensionnel Distribu et ScalableBOUKHELEF Djelloultudiant en PhD, Institut National dInformatique (INI), Alger. Algrie
E-mail: [email protected]
Directeur de thse : Pr D-E. ZEGOUR
Partie I:Structures de donnes Distribus et Scalables
Structures de donnes classiquesSchmas de distribution classiques :Partitionnement par intervalle,Partitionnement par hachage, Round-Robin ,
Mcanisme de calcul d'adresse unique et centralis un point d'accumulationLimite sur les performances d'accsVulnrabilit aux pannesScalabilit et Disponibilit
Duplication du calcul d'adresse MAJ synchrones des clients:Impossible pour un grand nombre de clients distribus et autonomes
SDDS Structures de Donnes Distribues et ScalablesConues spcifiquement pour les multiordinateursUne collection d'ordinateurs, Stations de travail, faiblement coupls ( partage de rien, shared nothing) interconnects par un rseau informatique (MAN, LAN, WAN)Une nouvelle classe de structures de donnes pour des bases de donnes modernesDune grande taille (GO TO)Avec des donnes complexes: spatiales, gographiques, Image, Son, ScalablesGrandissent rapidement en gardant les mmes performancesHaute disponiblilit et disponibilit incrmentale (scalable availability)
SDDS Axiomes gnraux (1)Les donnes sont identifies par des cls (d1), OID pour les objets Les donnes sont stockes sur des serveurs et sont accdes par des clients autonomesIl n'y a pas de rpertoire central d'accsImage locale par clientMcanisme de vrification et de redirection des requtesMcanisme de mise jour distribu des images des clientsLes MAJ de la structure d'une SDDS ne sont pas envoyes aux clients de manire synchrone
SDDS Axiomes gnraux (2)Un client peut faire des erreurs d'adressage suite une image inadquate de la structure de SDDSChaque serveur vrifie l'adresse de la requte et l'achemine vers un autre serveur si une erreur est dtecteLe serveur adquat envoie un message correctif (Image Adjustment Message, IAM) au client ayant commis l'erreur d'adressageLe client ajuste son image local pour ne plus faire, au moins, la mme erreur
SDDS Axiomes gnraux (3)i = 0n = 001
0
1
2
3
4Level = 2Next = 1i = 2n = 0
SDDS Contraintes (1)Si une SDDS n'volue plus, alors les IAM font converger toute image d'un client vers l'image actuelle du fichierL'ensemble des renvois la suite d'une erreur d'adressage ne se fait qu'en quelques messagesPerformance d'accs d'une SDDSNombre de messages sur le rseau (indpendante des paramtres du rseau)Nombre de messages par oprationVitesse de convergence de limage dun nouveau client
SDDS Contraintes (2)ScalabilitPrendre en charge nimporte quelle quantit de donnespas de limite thorique de la taille, pas de rorganisation totale de la structureMaintenir les performances quand le volume de donnes stockes varie: temps daccs constants
DistributionUne grande quantit de donnesTraitement parallle et distribuNon vulnrabilit aux pannes
DisponibilitAssurer la continuit du fonctionnement 24 heures sur 7 jours
SDDS Typologie1-d-ArbreDRT, DRT*, RP*k-d-ArbreDistributed B+k-RP*d-dimensionnelIH*1-dimensionnelLH*, LH*LHDDH, EH*k-disponibilitLH*RS, LH*SAStructure de Donnes
SDDS Travaux en cours lINIIH*Scalable and Distributed Interpolation-Based Hashing D. Boukhelef
CTH*Scalable and Distributed Compact-Trie-HashingD-E. Zegour
TH*Scalable and Distributed Trie-HashingM. Aridj
Partie II:Structures de donnes multidimensionnelles
Donnes multidimensionnellesEspace de cls K :K = D0D1...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
Mthodes daccs multidimensionnelles
Proprits
IH Hachage par InterpolationPropos par W.A. Burkhard en 1983Extension du Hachage Linaire (LH) de Litwin
Principe : cl k = k0, k1, ... , kd-1Interpolation (shuffle function)Former la signature de k (record signature)Appliquer le LH classique pour dcider o se trouve la cl k
Implmentation des requtes intervalle : (partial match query & range query).
Partie III:IH* - Adaptation du Hachage par interpolation aux environnements distribus
IH* Hachage par Interpolation Distribu et ScalableStructure de donne base du Hachage (Linaire)
Adaptation du IH aux environnements distribus selon le modle SDDS
Introduction de lordre et laspect multidimensionnel la SDDS LH*Hachage Linaire (LH)
IH* Structure dun fichierServeurs (j)Stockage de donnesEvaluation des requtes des clients
Clients autonomes (i , n)Accs aux donnesIntermdiaire entre application et systme SDDS
Site Coordinateur (i , n)Maintient les paramtres du fichierGestion dclatementAllocation de sites
IH* volution du Fichier0
i = 0 , n = 0
0
IH* volution du Fichieri = 1 , n = 00
1
0
1
IH* volution du Fichieri = 1 , n = 10
1
2
0
1
2
IH* volution du Fichieri = 2 , n = 0
0
1
2
30
2
1
3
clatement dun serveurAlgorithme SplitServer (n)
1- crer la case (n+2j): niveau j= j+1
2- clater la case (n) en utilisant hj+1
3- mettre jour j j+1
4- confier lclatement au site coordinateur
Fin
IH* Eclatementclatement non contrl chaque collision
clatement contrlTaux de chargement est suprieur / infrieur au facteur de chargement du fichier
IH* - clatement contrl1re solution : Loi de distribution de donnes
2me solution : Ngociation entre Coordinateur et Server (n)Garder lhistorique des messages de collisionNext server to split (n)
Adressage (1)i = 0n = 0Level = 2Next = 1
Adressage (2)i = 2n = 0Level = 2Next = 3
4
5
6
Requte intervalles
1
Requte intervalles
Envoi par Diffusion Principes
Envoi par Diffusion CritiquesSimple: un envoi pour tous le monde
Multicast nest pas toujours disponibles sur tous les rseaux
Peut ne pas tre efficacement implment
Trop de messages sur le rseaux
Problmes du dterminisme denvoi et de rception dans le cas des
Envoi cibl (solution LH*)
Envoi cibl CritiquesDterministe
Parcours de tous les serveur mme pour un petit nombre denregistrements
Pas dordre dans LH
Envoi slectif (solution IH*)
Envoi slectif ClientDterminer lensemble A des serveurs couvrant la rgion de Q (Algo Range Query du IH) : A {0, 1, ..., n+2i}
Dterminer pour chaque serveur de A la rgion correspondante en utilisant (nest pas forni par IH)
Envoyer chaque serveur de A la sous-requte correspondante;
Envoi slectif ServeurDcouper la requte reue en des sous des sous-requtes plus fines
Dterminer lensemble des serveur fils et envoyer chaque serveur la sous-requte correspondante
Si porte du serveur porte de la sous-requte alors Excuter la requte correspondante Retourner(rponse + adresse + niveau)
Envoi par dcomposition rcursive
Dcomposition rcursive ClientAlgorithm Generate_Target_ServersBeginCompute the set S of target servers: S={s0, s1, ... , sm} {0, 1, ... , n+2i-1}Decompose the range of Q into relevant sub-queries: P ={ q0, q1, ... , qm}for each server si from S doSend (qi, j) towards server (si): j i+1 if (sin) and j i otherwiseend for End
Dcomposition rcursive Exemple
Tests de terminaisonProbabilisteExpiration du timeout
DterministeTous les serveurs ont bien rpondu
Hybride : Dterministe avec timeout
Dterminer les serveurs manquantLeur retransmettre les messages de requteRetourner lapplication les rponses reuesSignaler au Coordinateur les serveurs nayant pas rponduLancer la procdure de recouvrement
Architecture Serveur / Coordinateur
Architecture Client
Architecture Serveur de noms
Module de contrle de flux
ImplmentationsEnvironnement Windows (XP, 2000)
Windows - Visual C++ (V6)Protocole plus completTest et validation des rsultats
Java et XMLInteroprabilit (Langage, SQL Xquery, )Portabilit (Windows, Linux, )Requtes / Rponses par lot (bulk operations)
Environnement de dveloppementVisual C++ (V6)
Programmation 100% objet
Interface graphique
MFC & API Windows
TCP, UDPI/O Completion Port, Asynchronous I/OMultithreading
Implmentation Client
Implmentation Serveur
Implmentation Manager / Agent
Partie IV:Conclusion & perspectives
Travaux en coursComplter le prototype IH*, mesurer ses performancesRtrcissement du fichierStructure de la case (IH*IH), contrle dclatementTerminaison des requtes intervalle et rception de repensesGnraliser le contrleur de flux, Event-driven : IOCP
Amlioration du schma IH classiqueRequtes intervalle rcursivesDtermination de la porte dune rgion quelque soit le niveau actuelle du fichier.
Nouveau schma de hachage linaire multidimensionnel Gray code, distance de HammingPrservation de la localit spatiale (proximity preserving)Meilleur dclustering des donnes Requte non orthogonales & Recherche au voisinage
Travaux futursScurit & Haute disponibilitrcupration sur panne: serveur, coordinateurSans-coordinateur, coordination distribus
Sauvegarde & restauration : Signature,
Qualit , Performances : Architectures (Even-driven), communication, Serveur de noms distribu, Interoprabilit (XML)
Adaptation du IH* au P2PFully decentrilzed (data & index), fault tolerent SDDS
Problmes ouvertsPlate-forme unifie pour le test et la validation des systmes SDDS
SDDS avec coordination et accs compltement dcentraliss
Placement des serveurs et quilibrage de charge (donnes et travail)
Gestion des caches dans les systmes SDDS
Merci de votre attentionBOUKHELEF Djelloul
Top Related