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 Encadré par : Pr W.Litwin Séminaire de Recherche CERIA

Présentations similaires


Présentation au sujet: "Riad Mokadem Encadré par : Pr W.Litwin Séminaire de Recherche CERIA"— Transcription de la présentation:

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

2 Plan 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 Mesures de Performances Comparaisons Perspectives et Conclusion

3 Multi-ordinateur Architecture Matérielle: Multi-ordinateur Ressource
Disque local Ram distant (Ethernet) (Giga bit) Ram locale Temps d’accès 10msec 100 µsec 1 µsec 100nsec

4 Architecture SDDS-2005 Architecture SDDS 2005 Réseau Serveur
Cases en RAM Client SDDS-CP Applications ... de Noms d'index RP* S Architecture SDDS 2005

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 Structure d’un enregistrement
Structure de Données Key Data Non Key Data Structure d’un 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 Signatures Algébriques
Structure de corps de Galois fini GF(2f ) 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 d’un élément primitif  Signature algébrique Sign  ( P )= pi  i i = 1..n Tels que P=(p1,p2,…,pn) ( = : , 2, 3… ) Signature sur N symboles: Sign  (P)= (Sign ( P ), Sign 2( P ),…Sign N ( P ))

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 d’un enregistrement lors d’une mise à jour. * Recherche complète de chaîne dans les enregistrements.

9 Signatures Algébriques:Recherche de Chaînes (SDDS-2004): Recherche Complète de Donnée
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 Recherche d’une 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 d’enregistrement.(Test sur le 1er symbole puis le 2 ème en cas d’égalité)

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

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

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 Recherche de Données Pas d’Envoi 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…

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

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

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) Sc  Sign (U) ….Sc= Sign (S)  Préfixe trouvé

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, l’enreg est sélectionné dans la liste des enregistrements envoyés au client. 2- Si i+l = n (taille de l’enregistrement) et Ss  Sc passer à l’enreg suivant.

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

19 Recherche de Chaînes dans SDDS-2005 Recherche Partielle
Exemple: - Recherche de la chaîne « PARIS » - Le client envoi la signature cumulative Sc 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 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’’1s’’2…s’’l à l’ensemble des serveurs -1. Trouver le 1er enreg tels que p’’1=s’’1. u=1;//Test si p’’2= s’’2. 2. Parcourir l’enreg suivant 2u.i=2u 3. tant que p’’i=s’’i et 2u<n u:=u+1; L=u; Soit j=(2u + 2u-1)/2 Si p’’j=s’’j Recherche dans [j,p’’u] L:=j Sinon recherche dans [p’’u-1,j] Revenir à (3)

21 Recherche de Chaînes dans SDDS-2005 Recherche du Plus Grand Préfixe
- Rajouter l’enregistrement à 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 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. Complexité de la Recherche par enregistrement: Entre O(1) et O(Log 2m). (M taille du préfixe commun)

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. 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. Inégalité sur p16. Egalité ur p12, p14, p15.  L=15

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’’1s’’2…s’’m à l’ensemble des serveurs. ( Appliquer l’algorithme du plus grand préfixe sur chaque caractère ) i:=1;j:=1; Si p’’j=s’’i k:=i; appliquer l’Algorithme 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); -2. i:=i+1; si i < m et m-i<L j=1;revenir à (1) sinon Enregistrement suivant n Taille de l’enreg. m Taille de la chaîne L Taille de la plus grande chaîne commune

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

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. - Risque de recherche à nouveau sur l’ensemble des serveurs en cas de collision. * 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 l’enregistrement sélectionné. Relancer la recherche en cas de collision (caractére par caractére)

26 Recherche de Chaî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 = pifM-1+pi+1fM-2+ … +pi+M-2f+pi+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-pifM-1)*f+pi+M

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 Mesures de Performances (Signatures Cumulative)
Record Record Préfix Time Position Size Size (msec) Record Record String Offset Time Position Size Size (msec) Temps de recherche de chaînes Temps de recherche de Préfixes L’utilisation de Modulo pour remédier à la limite de taille de données (255) augmente le temps de recherche de 1% à 2%.

29 Mesures de Performances (Signatures Cumulative)
Position enreg Taille donnes insérées Taille dernier enreg Taille prefixe à rechercher Temps de recherche (ms) 1 50 25 0.456 1/100 250 43 49/100 46.2 99/100 47 } Existence de plus grands préfixes intermédiaires Temps de recherche du plus grand Préfixe Position enreg Taille donnes insérées Taille dernier enreg (préfixe) Taille de la chaîne à rechercher Offset chaîne dans enregistrement Temps de recherche (ms) 1 100 22 70 0.62 10 290 45 15 470 120 565 Temps de recherche de la plus grande chaîne commune

30 Tableau comparatif pour la recherche de chaîne dans un enregistrement
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 100 250 25 10 5 205 151 147 200 368 275 268 500 1123 725 702 1000 2254 1580 1526 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Preparer un tampon Unifier les messages de supp et d’insertion du meme enreg e … Tableau comparatif pour la recherche de chaîne dans un enregistrement

31 Comparaisons Temps de recherche de chaînes réduits:
(Ms) (MB) 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%). 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Preparer un tampon Unifier les messages de supp et d’insertion du meme enreg e …

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 Exemple de Recherche de Préfixe dans SDDS-2005
Lancement de la recherche du Préfixe au niveau de l’application Résultat provenant du serveur au niveau du Client SDDS-2005

34 Perspectives Autres méthodes: (à implémenter)
-Utilisation du schéma de Horner( signatures inversées ) Sign=p1αn+p2αn-1+….+pnα1 =(p1α+p2)α+p3) α ….+pnα -Utilisation de table de Broder, de multiplication de polynômes, de table multiplication par α 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Preparer un tampon Unifier les messages de supp et d’insertion du meme enreg e … Plus rapide

35 Perspectives: Protection contre la corruption dans SDDS-2005
Au moment de l’insertion 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 : Calcul de la signature s’2 sur l’enregistrement provenant du serveur Comparaison avec la signature stockée Détection de corruption en cas d’inégalité Probabilité de non détection de corruption de données 1/2nf

36 Perspectives: Compression delta pour les mise à jour distribuées de données dans GF(216):
A chaque insertion: Calcul de la sign cumulative (2 symboles) chaque 256 car et stockage de s2 dans la structure de l’enreg. A chaque mise à jour (normale): Recherche->Comparaison entre l’image avant et arrière au niveau du dernier car de la signature: *Egalité Pas de mise à jour *Différence: comparaison au milieu de l’enreg....  Déterminer la partie mise à jour Même principe pour le stockage (Déterminer les pages modifiées) 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Préparer un tampon Unifier les messages de supp et d’insertion du même enreg e …

37 Exemple de stockage dans SDDS Listing d’exé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) Intégration d’autres codes: X-code [Xu & Bruck], Tornado codes [ Luby] 2ème Requête de stockage : Pas de changement (375 ms) 3ème Requête de stockage : 1 page mise à jour ( ms) Amélioration de ces temps en utilisant les signatures Pré Calculées Cumulatives

38 Conclusion - Implémentation de nouvelles primitives de recherche, mise à jour et stockage. ( Prototype SDDS-2005 ) En téléchargement sur 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Preparer un tampon Unifier les messages de supp et d’insertion du meme enreg e …

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 31st international conference on very large data bases (DBISP2P 2005). Trondheim, Norway. August 2005. - 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, 2004. Karp, R. M., Rabin, M. O. Efficient randomized pattern-matching algorithms. IBM Journal of Research and Development, Vol. 31, No. 2, March 1987. Ingold Rolf.2004 Programmation 3A: Algorithmique. Recherche de sous-chaînes. Université of Fribourg.2004 1) La solution d’envoi de ces messages par UDP, faite par .. 2) Preparer un tampon Unifier les messages de supp et d’insertion du meme enreg e …

40 FIN Merci Riad.Mokadem@Dauphine.fr


Télécharger ppt "Riad Mokadem Encadré par : Pr W.Litwin Séminaire de Recherche CERIA"

Présentations similaires


Annonces Google