ih* – hachage multidimensionnel distribu é et scalable
Embed Size (px)
DESCRIPTION
IH* – Hachage Multidimensionnel Distribu é et Scalable. BOUKHELEF Djelloul É tudiant en PhD, Institut National d ’ Informatique (INI), Alger. Algérie E-mail: [email protected] Directeur de thèse : Pr D-E. ZEGOUR. Partie I:. Structures de donn é es Distribu é s et Scalables. Serveurs. - PowerPoint PPT PresentationTRANSCRIPT
-
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 ServeurAlgorithm Query_Propagation (Q, j)BeginCompute the set S of children servers: S={sk, sk+1, ... , sk+m} {a+2j+1, ... , a+2j}where k is the level of sk at the moment of its creation by server (a): j
-
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