La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Riad Mokadem Signatures Algébriques dans les Systèmes de Gestion de Données Scalables et Distribuées SDDS-2005 Encadré par : Pr.

Présentations similaires


Présentation au sujet: "Riad Mokadem Signatures Algébriques dans les Systèmes de Gestion de Données Scalables et Distribuées SDDS-2005 Encadré par : Pr."— Transcription de la présentation:

1 Riad Mokadem Signatures Algébriques dans les Systèmes de Gestion de Données Scalables et Distribuées SDDS-2005 Encadré par : Pr W.Litwin Séminaire de Recherche CERIA 15 Décembre 2005

2 Les SDDSs Problématique Signatures Algébriques Signatures Algébriques Pré Calculées cumulatives Encodage / Décodage de données Algorithmes de Karp-Rabin, Boyer Moore. Recherche de caractères Recherche complète, par préfixe, par chaîne, plus grand préfixe commun, plus grande chaîne commune. Protection contre la corruption dans SDDS-2005 Mesures de Performances Comparaisons Perspectives et Conclusion Plan

3 3 Multi-ordinateur Architecture Matérielle: Multi-ordinateur RessourceDisque local Ram distant (Ethernet) Ram distant (Giga bit) Ram locale Temps daccès10msec100 µsec1 µsec100nsec

4 4 Architecture SDDS-2005 Architecture SDDS 2005

5 5 Problématique ? - Données visibles par les utilisateurs. - Différents types de recherche coûtants Utilisation des signatures cumulatives pour la recherche et contre les vues accidentelles des données Encodage\ Décodage des données par le client ( Données codées sur les serveurs). différentes possibilités de recherches

6 6 Structure de Données Key Data Non Key Data Structure dun enregistrement Le codage décodage concerne les données non clé Le codage décodage est transparent pour le serveur et les signatures sont calculées au niveau du client. Limite des 256B pour les données

7 7 Signatures Algébriques Structure de corps de Galois fini GF() f>>1 Structure de corps de Galois fini GF(2 f ) f>>1 Chaque symbole du corps de longueur f Utilisation de Xor pour les opérations + et –. Utilsation de tables Antilog et Log pour X et /. Existence dun élément primitif Existence dun élément primitif Signature algébrique Sign ( P ) = p i i i = 1..n = : Tels que P=(p 1,p 2,…,p n ) ( = :, 2, 3 … ) Signature sur N symboles: Sign (P)= (Sign ( P ), Sign 2 ( P ),…Sign N ( P ))

8 8 Signatures Algébriques dans SDDS-2005 Utilisation des signatures algébriques dans SDDS-2004: * Stockage sur le disque. - Calcul de signatures pour les pages de données et stockage des pages mises à jour. * Gestion de concurrence (Mise à jour). - Comparaison entre la signature avant et la signature après dun enregistrement lors dune mise à jour. * Recherche complète de chaîne dans les enregistrements.

9 9 Signatures Algébriques:Recherche de Chaînes (SDDS-2004): Recherche Complète de Donnée Recherche dune chaîne de signature S * Le client envoi la signature S de la chaîne à rechercher * Parcours séquentiel des enregistrements * Comparaison avec les signatures algébriques stockées au niveau de chaque en-tête denregistrement.(Test sur le 1 er symbole puis le 2 ème en cas dégalité) Lr : Longer of record. Es: Pointer to next record K: Key of record. Lc: Version Sg: Signature of record. Lr Es K Lc Sg Data Record Structure Comparaison avec la signature stockée au niveau de chaque enregistrement

10 10 Signatures Algébriques Cumulatives Encodage de pi : p i =pi i = antilog (log p i +i) p i = p i-1 + p i = p i-1 XOR p i Décodage de Pi : p i =p i / i = antilog (log p i - i) p i = p i - p i-1 = p i XOR p i-1

11 11 Signatures Algébriques Cumulatives Exemple: P=« CERIA_SEMINAIRE» Encodage P=(p 1,p 2,….p 15 )=( C, p E,….,p E) Sign 2 (P)= C+ 2 E+….+ 15 E Décodage p i = p i - p i-1 p 2 = p 2 - p 1 p i = p i / i p 2 = p 2 / i

12 12 Cas SDDS-2005 Signatures algébriques pour la recherche complète N=2 (N nombre de symboles constituant la signature) F=16 Signatures cumulatives pour la recherche de chaines N=2 F= 16 Probabilité de collision de 2 -Nf. GF(28) chaînes Code ASCII GF(216 ) chaînes dans Unicode

13 13 Recherche de Données Pas dEnvoi de données lors de certaines recherches Envoi de signatures. Pas dEnvoi de données lors de certaines recherches Envoi de signatures. Données encodées. Signatures pré-calculées. Plusieurs algorithmes disponibles: Boyer Moore, Karp Rabin… Plusieurs algorithmes disponibles: Boyer Moore, Karp Rabin…

14 14 Encodage / Décodage Requête de Recherche Client Serv 1 Serv 2 Serv 3 Requête de Recherche Comparaison des signatures Envoi du résultat de la recherche Décodage Encodage à linsertion

15 15 Recherche de Chaînes dans SDDS-2005 Recherche du Préfixe Recherche de Préfixe - Le client envoi la signature S c et la taille du préfixe m. Au serveur: - Lecture dans lenregistrement de la signature S m. - Comparaison entre S c et S m. Sauvegarde lenregistrement en cas dégalité. - Passage à lenregistrement suivant. - Vérification de Collision et envoi des enregistrements sélectionnés au client. Complexité de la Recherche: O(1)

16 16 Recherche de Chaînes dans SDDS-2005 Recherche du Préfixe Signature cumulative de UNIVERSITE PARIS = Sign (S) UNIVERSITE PARIS DAUPHINE Signature cumulative de UNIVERSITE PARIS DAUPHINE = Sign (E) - S c Sign (U) - ….S c = Sign (S) Préfixe trouvé

17 17 Recherche de Chaînes dans SDDS-2005 Recherche Partielle Recherche de chaîne partielle * Le client envoi la signature Sc et la taille de donnée l. Au niveau du serveur: i=1; 1- Lecture de la signature Ss sur le préfixe de longueur L. Si Ss=Sc, lenreg est sélectionné dans la liste des enregistrements envoyés au client. 2- Si i+l = n (taille de lenregistrement) et Ss Sc passer à lenreg suivant.

18 18 Recherche de Chaînes dans SDDS-2005 Recherche Partielle 2.1 Ss := Ss XOR p i XOR p l + i 2.2 S c := antilog (log S c + 1). 3. Si Ss=S c Chaine trouvé et lenreg est sélectionné Sinon ( Ss S c ) pas de chaîne trouvée i := i + 1; Revenir à (2) jusquau dernier caractère p de lenreg. 4. passer à lenregistrement suivant

19 19 Recherche de Chaînes dans SDDS-2005 Recherche Partielle Exemple: - Recherche de la chaîne « PARIS » - Le client envoi la signature cumulative S c des 5 caractères à rechercher et la taille L=5. UNIVERSITE PARIS DAUPHINE …. Au niveau du serveur: - Parcourt séquentiel suivant des chaînes de 5 caractères et compraison de signatures. Sign(E)!=Sc, Sign(R)!=Sc,….Sign(S)=Sc Chaîne trouvée - Vérification de Collision sur les enregistrements trouvés. Complexité de la Recherche: O(n)

20 20 Recherche de Chaînes dans SDDS-2005 Recherche du Plus Grand Préfixe Le client envoi le préfixe encodée de données. S=s 1 s 2 …s l à lensemble des serveurs -1. Trouver le 1 er enreg tels que p 1 =s 1. u=1;//Test si p 2 = s 2. u=1;//Test si p 2 = s Parcourir lenreg suivant 2 u.i=2 u -3. tant que p i =s i et 2 u

21 21 Recherche de Chaînes dans SDDS-2005 Recherche du Plus Grand Préfixe - Rajouter lenregistrement à la liste. Soit s L sa sign cumulative - Examiner le prochains enregistrement: - Test Si p 1 =s L u=L revenir à (1). (en multipliant par - Test Si p 1 =s L u=L revenir à (1). (en multipliant par L ) - Déterminer nouveau L Chaque serveur répond au client en envoyant un message comportant la taille du plus grand préfixe et les différents enregistrements concernés. Chaque serveur répond au client en envoyant un message comportant la taille du plus grand préfixe et les différents enregistrements concernés. Complexité de la Recherche par enregistrement: Entre O(1) et O(Log 2 m). (M taille du préfixe commun)

22 22 Recherche de Chaînes dans SDDS-2005 Recherche du Plus Grand Préfixe UNIVERSITEDAUPHINE Enreg1 P UNIVERSITEPARIS9 DAUPHINE Enreg2 P UNIVERSITEPARIS_ DAUPHINE Chaîne S Enregistrement1: Comparaion entre P et S. Enregistrement1: Comparaion entre P et S. Egalité sur p1, p2, p4, p8. Inégalité sur p16, p12. Egalité ur p10. Inégalité sur p11 L=10 Enregistrement2: Comparaion entre P et S. Enregistrement2: Comparaion entre P et S. Egalité sur p1, p2, p4, p8. Inégalité sur p16. Egalité ur p12, p14, p15. L=15

23 23 Recherche de Chaînes dans SDDS-2005 Plus Grande Chaîne Commune Le client envoi la chaîne encodée de données. S=s 1 s 2 …s m à lensemble des serveurs. ( Appliquer lalgorithme du plus grand préfixe sur chaque caractère ) i:=1;j:=1; -1. Si p j =s i k:=i; appliquer lAlgorithme du plus grand préfixe Déterminer L i:=k+1; j:=1; revenir à (1) sinon j:=j+1, si j < n-L revenir à (1); sinon j:=j+1, si j < n-L revenir à (1); -2. i:=i+1; si i < m et m-i

24 24 Recherche de Chaînes dans SDDS-2005 Plus Grande Chaîne Commune UNIVERSITEDAUPHINE Enreg1 P UNIVERSITEPARISDAUPHINE9 Enreg2 P SEMINAIREPARISDAUPHINE Chaîne S Enregistrement1: L= 8 Enregistrement1: L= 8 Enregistrement2: L= 13 Enregistrement2: L= 13 Complexité de la Recherche par enregistrement: Entre O(n-L) (m-L)et O(nm). (n Taille de lenreg, m taille de la chaîne envoyée par le client, L la taille de chaîne commune la plus longue) ….

25 25 Protection contre la collision lors de la Recherche dans SDDS-2005 A la fin de la recherche, résolution collision donnés. Deux possibilités: * Résolution au niveau du client. * Résolution au niveau du client. - Risque de recherche à nouveau sur lensemble des serveurs en cas de collision. - Risque de recherche à nouveau sur lensemble des serveurs en cas de collision. * Résolution au niveau des serveurs (Notre choix). * Résolution au niveau des serveurs (Notre choix). - comparaisons en parallèle. Comparaison caractère par caractère entre la chaîne reçue et le contenu de lenregistrement sélectionné. Comparaison caractère par caractère entre la chaîne reçue et le contenu de lenregistrement sélectionné. Relancer la recherche en cas de collision (caractére par caractére) Relancer la recherche en cas de collision (caractére par caractére)

26 26 Recherche de C haînes: Algorithme de Karp-Rabin Une sous chaîne peut être considérée comme un nombre entier en base d (f=8 est la taille de l'alphabet, M taille de la chaîne à rechercher) P i = p i f M-1 +p i+1 f M-2 + … +p i+M-2 f+p i+M-1 La valeur pour la sous chaîne commençant à la position suivante peut être calculée à l'aide de l'expression: p i+1 = (p i -p i f M-1 )*f+p i+M

27 27 Mesures de Performances (Codage / Décodage de Données) Encodage : 0.045ms/KB Décodage : 0.042ms/KB Insertion : 0.25ms/KB Faible coût Recherche de données plus rapide Protection contre la vue accidentelle de ces données

28 28 Mesures de Performances (Signatures Cumulative) Record Record String Offset Time Position Size Size (msec) Record Record Préfix Time Position Size Size (msec) Temps de recherche de chaînesTemps de recherche de Préfixes Lutilisation de Modulo pour remédier à la limite de taille de données (255) augmente le temps de recherche de 1% à 2%.

29 29 Mesures de Performances (Signatures Cumulative) Position enregTaille donnes insérées Taille dernier enreg Taille prefixe à rechercher Temps de recherc he (ms) / / / Position enregTaille donnes insérées Taille dernier enreg (préfixe) Taille de la chaîne à rechercher Offset chaîne dans enregistre ment Temps de recherche (ms) Temps de recherche du plus grand Préfixe Temps de recherche de la plus grande chaîne commune Existence de plus grands préfixes intermédiaires }

30 30 Comparaisons Size of case Size of records Size of last record Size data to search Offset in last Record Algebraic Signature Search Karp Rabin Search Cumu- latives sign Search Tableau comparatif pour la recherche de chaîne dans un enregistrement

31 31 Comparaisons Temps de recherche de chaînes réduits: - Algorithmes existants (karp-Rabin) Gain de 5% pour les données<32B Gain de + de 20% pour les données>32B -Données non encodées (Gain de 30%). (Ms) (MB)

32 32 Recherche dans SDDS-2005 } } Recherche par clé Recherche par le contenu Interface du Client pour différents types de recherche s dans SDDS-2005

33 33 Exemple de Recherche de Préfixe dans SDDS-2005 Résultat provenant du serveur au niveau du Client SDDS-2005 Lancement de la recherche du Préfixe au niveau de lapplication

34 34 Perspectives Autres méthodes: (à implémenter) -Utilisation du schéma de Horner( signatures inversées) Sig n =p 1 α n +p 2 αp n α 1 =(pα+p 2 )α+p 3 ) αp n α Sig n =p 1 α n +p 2 α n-1 +….+p n α 1 =(p 1 α+p 2 )α+p 3 ) α ….+ p n α -Utilisation de table de Broder, de multiplication de polynômes, de table multiplication par α Plus rapide

35 35 Perspectives: Protection contre la corruption dans SDDS-2005 Au moment de linsertion de données Pour chaque 255 caractères Calcul du 2 ème symbole de la signature s2(élément primitif α 2 ) Sauvegarde au niveau du client de s2. Au moment du décodage: Au moment du décodage : Calcul de la signature s2 sur lenregistrement provenant du serveur Comparaison avec la signature stockée Détection de corruption en cas dinégalité Probabilité de non détection de corruption de données 1/2 nf Probabilité de non détection de corruption de données 1/2 nf

36 36 Perspectives: Compression delta pour les mise à jour distribuées de données dans GF(2 16 ): A chaque insertion: Calcul de la sign cumulative (2 symboles) chaque 256 car et stockage de s2 dans la structure de lenreg. Calcul de la sign cumulative (2 symboles) chaque 256 car et stockage de s2 dans la structure de lenreg. ): A chaque mise à jour (normale): Recherche->Comparaison entre limage avant et arrière au niveau du dernier car de la signature: *Egalité Pas de mise à jour *Différence: comparaison au milieu de lenreg.... Déterminer la partie mise à jour Déterminer la partie mise à jour Même principe pour le stockage (Déterminer les pages modifiées)

37 37 Exemple de stockage dans SDDS-2005 Listing dexécution sur Server SDDS-2005 (Cas de signatures algébriques) 1ére Requête de stockage : New File calcul de Signature s (375 ms) sauvegarde sur disque de toutes les pages (4922 ms) 1ére Requête de stockage : New File calcul de Signature s (375 ms) sauvegarde sur disque de toutes les pages (4922 ms) 2ème Requête de stockage : Pas de changement (375 ms) 3ème Requête de stockage : 1 page mise à jour ( ms) ( ms) Amélioration de ces temps en utilisant les signatures Pré Calculées Cumulatives

38 38 Conclusion - Implémentation de nouvelles primitives de recherche, mise à jour et stockage. ( Prototype SDDS-2005 ) En téléchargement sur

39 39 Références - W Litwin, R.Mokadem & Th.Schwarz Pre-computed Algebraic Signatures for faster string search. Protection against incidental viewing and corruption of Data in an SDDS. Proceeding of third international workshop and co-located with the 31 st international conference on very large data bases (DBISP2P 2005). Trondheim, Norway. August W Litwin, R Mokadem, Thomas Schwarz.: "Disk Backup Through Algebraic Signatures in Scalable and Distributed Data Structures", Proceedings of the Fifth Workshop on Distributed Data and Structures, Thessaloniki, June 2003 (WDAS 2003). -M. Crochemore and T.Lecroq, Pattern Matching and Text Compression Algorithm, in The Computer Science and Engineering Handbook, A.B. Tucker, Jr, ed., CRC Press, Boca Raton, 2003, Chapter 8. To appear. Litwin, W., Schwarz, Th. Algebraic Signatures for Scalable Distributed Data Structures. IEE Intl. Conf. On Data Eng., ICDE-04, Karp, R. M., Rabin, M. O. Efficient randomized pattern-matching algorithms. IBM Journal of Research and Development, Vol. 31, No. 2, March Ingold Rolf.2004 Ingold Rolf.2004 Programmation 3A: Algorithmique. Recherche de sous-chaînes. Université of Fribourg.2004

40 FIN Merci r


Télécharger ppt "Riad Mokadem Signatures Algébriques dans les Systèmes de Gestion de Données Scalables et Distribuées SDDS-2005 Encadré par : Pr."

Présentations similaires


Annonces Google