Download - IH* – Hachage Multidimensionnel Distribu é et Scalable

Transcript
  • 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

    [email protected]