Signatures Alg - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Signatures Alg

Description:

Signatures Alg briques dans les Syst mes de Gestion de Donn es Scalables et Distribu es SDDS-2005 Riad Mokadem Riad.Mokadem_at_Dauphine.fr Encadr par : Pr W.Litwin – PowerPoint PPT presentation

Number of Views:130
Avg rating:3.0/5.0
Slides: 41
Provided by: MikeW264
Category:
Tags: alg | boyer | moore | signatures

less

Transcript and Presenter's Notes

Title: Signatures Alg


1
Signatures Algébriques dans les Systèmes de
Gestion de Données Scalables et Distribuées
SDDS-2005

Riad Mokadem Riad.Mokadem_at_Dauphine.fr
Encadré par Pr W.Litwin
Séminaire de Recherche CERIA 15 Décembre 2005
2
Les SDDSsProblématiqueSignatures Algébriques
Signatures Algébriques Pré Calculées
cumulativesEncodage / Décodage de
donnéesAlgorithmes 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 ComparaisonsPerspective
s et Conclusion
Plan

3
Multi-ordinateur
Architecture Matérielle Multi-ordinateur
Ressource Disque local Ram distant (Ethernet) Ram distant (Giga bit) Ram locale
Temps daccès 10msec 100 µsec 1 µsec 100nsec
4
Architecture SDDS-2005
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 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
Signatures Algébriques
Structure de corps de Galois fini GF(2f )
fgtgt1 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 ? 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 dun
enregistrement lors dune mise à jour.
Recherche complète de chaîne dans les
enregistrements.
9
Signatures AlgébriquesRecherche de Chaînes
(SDDS-2004) Recherche Complète de Donnée
Comparaison avec la signature stockée au niveau
de chaque enregistrement
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 1er symbole puis le
2 ème en cas dégalité)
10
Signatures AlgébriquesCumulatives
Encodage de pi pipi ?i antilog (log pii)
pi pi-1 pi pi-1 XOR pi
Décodage de Pi pipi / ?i antilog (log
pi- i) pi pi - pi-1 pi XOR pi-1
11
Signatures Algébriques Cumulatives
Exemple P CERIA_SEMINAIRE Encodage
P(p1,p2,.p15)(? C, p1 ?
2E,.,p14 ? 15E) Sign2(P) ? C ? 2E. ?
15E Décodage pi pi - pi-1
p2 p2 - p1 pi pi / ?i
p2 p2 / ?i
12
Cas SDDS-2005
Signatures algébriques pour la recherche
complète N2 (N nombre de symboles constituant
la signature) F16 Signatures cumulatives pour la
recherche de chaines N2 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 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

14
Encodage / DécodageRequête de Recherche
Encodage à linsertion
Serv 1
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 lenregistrement de la
signature Sm. - Comparaison entre Sc et Sm.
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
Recherche de Chaînes dans SDDS-2005 Recherche du
Préfixe
  • 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
  • i1
  • 1- Lecture de la signature Ss sur le préfixe de
    longueur L.
  • Si SsSc, lenreg est sélectionné dans la
    liste des enregistrements envoyés
    au client.
  • 2- Si il n (taille de lenregistrement) et Ss
    ? Sc passer à lenreg suivant.

18
Recherche de Chaînes dans SDDS-2005 Recherche
Partielle
2.1 Ss Ss XOR pi XOR pl  i 2.2 Sc
antilog (log Sc   1). 3. Si SsSc Chaine
trouvé et lenreg est sélectionné
Sinon ( Ss ? Sc) pas de chaîne trouvée
i i  1 Revenir à (2) jusquau dernier
caractère p de lenreg. 4. passer à
lenregistrement 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 L5.
  • 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-2005Recherche du
Plus Grand Préfixe
  • Le client envoi le préfixe encodée de données.
    Ss1s2sl à lensemble des serveurs
  • -1. Trouver le 1er enreg tels que p1s1.
  • u1//Test si p2 s2.
  • 2. Parcourir lenreg suivant 2u.i2u
  • 3. tant que pisi et 2ultn uu1 Lu
  • Soit j(2u 2u-1)/2
  • Si pjsj Recherche dans j,pu Lj
  • Sinon recherche dans pu-1,j
  • Revenir à (3)

21
Recherche de Chaînes dans SDDS-2005Recherche du
Plus Grand Préfixe
- Rajouter lenregistrement à la liste. Soit
sL sa sign cumulative - Examiner le prochains
enregistrement - Test Si p1sL uL 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-2005Recherche du
Plus Grand Préfixe
Enregistrement1 Comparaion entre P et S.
Egalité sur p1, p2, p4, p8. Inégalité sur p16,
p12. Egalité ur p10. Inégalité sur p11 ? L10
Enregistrement2 Comparaion entre P et S.
Egalité sur p1, p2, p4, p8. Inégalité sur
p16. Egalité ur p12, p14, p15. ? L15
23
Recherche de Chaînes dans SDDS-2005Plus Grande
Chaîne Commune
Le client envoi la chaîne encodée de données.
Ss1s2sm à lensemble des serveurs. (
Appliquer lalgorithme du plus grand préfixe sur
chaque caractère ) i1j1 -1. Si
pjsi ki appliquer lAlgorithme du plus
grand préfixe Déterminer L ik1 j1
revenir à (1) sinon jj1, si j
lt n-L revenir à (1) -2. ii1 si i lt m et
m-iltL j1revenir à (1) sinon
Enregistrement suivant
n Taille de lenreg. m Taille de la chaîne L
Taille de la plus grande chaîne commune
24
Recherche de Chaînes dans SDDS-2005Plus Grande
Chaîne Commune
SEMINAIREPARISDAUPHINE
Chaîne S
.
Enreg1 P
UNIVERSITEDAUPHINE
UNIVERSITEPARISDAUPHINE9
Enreg2 P
Enregistrement1 L 8 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
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
    lensemble 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 lenregistrement
    sélectionné.
  • Relancer la recherche en cas de collision
    (caractére par caractére)

26
Recherche de ChaînesAlgorithme de Karp-Rabin
Une sous chaîne peut être considérée comme un
nombre entier en base d (f8 est la
taille de l'alphabet, M taille de la chaîne à
rechercher) Pi pifM-1pi1fM-2
piM-2fpiM-1 La valeur pour la sous chaîne
commençant à la position suivante peut être
calculée à l'aide de l'expression pi1
(pi-pifM-1)fpiM
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) 1 250 20 0.369 100 250 20
37.8 100 250 35 37.78 200 250 20 71.3
300 250 20 120.53 500 250 20 197.5
Record Record String Offset Time Position
Size Size (msec)
1 20 5 13 0.44 1 100 20 70 0.68
1 100 20 80 0.682 100 100 20 70 72.5
100 100 30 70 71.7 200 100
20 70 165
Temps de recherche de chaînes
Temps 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
Mesures de Performances (Signatures Cumulative)
Position enreg Taille donnes insérées Taille dernier enreg Taille prefixe à rechercher Temps de recherche (ms)
1 50 50 25 0.456
1/100 250 50 25 43
49/100 250 50 25 46.2
99/100 250 50 25 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 100 22 70 0.62
100 100 22 10 10 290
100 100 45 15 10 470
100 120 45 15 10 565
Temps de recherche de la plus grande chaîne
commune
30
Comparaisons
Tableau comparatif pour la recherche de chaîne
dans un enregistrement
31
Comparaisons
(Ms)
(MB)
Temps de recherche de chaînes réduits -Algorith
mes existants (karp-Rabin) Gain de 5 pour les
donnéeslt32B Gain de de 20 pour les
donnéesgt32B -Données non encodées (Gain de 30).
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
lapplication
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 ) Signp1
anp2an-1.pna1 (p1ap2)ap3) a
.pna -Utilisation de table de Broder, de
multiplication de polynômes, de table
multiplication par a
Plus rapide
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 a2 ) Sauvegarde au
niveau du client de s2. 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/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 lenreg. A
chaque mise à jour (normale) Recherche-gtComparais
on 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
Même principe pour le stockage (Déterminer les
pages modifiées)
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)
2ème Requête de stockage Pas de changement
(375 ms)
3ème Requête de stockage 1 page mise à jour
(375 16 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 http\ceria.dauphine.fr
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). http//ceria.dauphine.fr/Ri
ad/Article_storage-wdas_wl.pdf -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
40
FINMerci Riad.Mokadem_at_Dauphine.fr
Write a Comment
User Comments (0)
About PowerShow.com