IH Hachage Multidimensionnel Distribu et Scalable - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

IH Hachage Multidimensionnel Distribu et Scalable

Description:

Structures de donn es Distribu s et Scalables. 3. Serveurs. Clients ... les IAM font converger toute image d'un client vers l'image actuelle du fichier ... – PowerPoint PPT presentation

Number of Views:111
Avg rating:3.0/5.0
Slides: 56
Provided by: BCOM9
Category:

less

Transcript and Presenter's Notes

Title: IH Hachage Multidimensionnel Distribu et Scalable


1
IH 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

2
Partie I
  • Structures de données Distribués et Scalables

3
Structures 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

4
SDDS 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)

5
SDDS 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

6
SDDS 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

7
SDDS Axiomes généraux (3)
0
1
i 0 n 0
Level 2 Next 1
0
1
2
3
4
i 2 n 0
8
SDDS 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

9
SDDS 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

10
SDDS 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
11
SDDS 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

12
Partie II
  • Structures de données multidimensionnelles

13
Donné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

14
Méthodes daccès multidimensionnelles
  • Propriétés

15
IH 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).

16
Partie III
  • IH - Adaptation du Hachage par interpolation aux
    environnements distribués

17
IH 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

18
IH 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

19
IH Évolution du Fichier
0
0
i 0 , n 0
20
IH Évolution du Fichier
0
1
0
1
i 1 , n 0
21
IH Évolution du Fichier
1
2
0
1
2
0
i 1 , n 1
22
IH É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

24
IH Eclatement
  • Éclatement non contrôlé
  • À chaque collision
  • Éclatement contrôlé
  • Taux de chargement est supérieur / inférieur au
    facteur de chargement du fichier

25
IH - É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)
26
Adressage (1)
i 0 n 0
Level 2 Next 1
27
Adressage (2)
i 2 n 0
Level 2 Next 3
4
5
6
28
Requête à intervalles
1
29
Requête à intervalles
30
Envoi par Diffusion Principes
31
Envoi 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

32
Envoi ciblé (solution LH)
33
Envoi ciblé Critiques
  • Déterministe
  • Parcours de tous les serveur même pour un petit
    nombre denregistrements
  • ? Pas dordre dans LH

34
Envoi sélectif (solution IH)
35
Envoi 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

36
Envoi 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)

37
Envoi par décomposition récursive
38
Dé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

39
Dé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

40
Décomposition récursive Exemple
41
Tests 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

42
Architecture Serveur / Coordinateur
43
Architecture Client
44
Architecture Serveur de noms
45
Module de contrôle de flux
46
Implé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)

47
Environnement de développement
  • Visual C (V6)
  • Programmation 100 objet
  • Interface graphique
  • MFC API Windows
  • TCP, UDP
  • I/O Completion Port, Asynchronous I/O
  • Multithreading

48
Implémentation Client
49
Implémentation Serveur
50
Implémentation Manager / Agent
51
Partie IV
  • Conclusion perspectives

52
Travaux 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

53
Travaux 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

54
Problè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

55
Merci de votre attention
  • BOUKHELEF Djelloul
  • boukhelef_dj_at_yahoo.fr
Write a Comment
User Comments (0)
About PowerShow.com