1 / 63

Rim Moussa Rim.Moussa@dauphine.fr ceria.dauphine.fr/rim/rim.html

*04 Octobre 200 4. Université Paris Dauphine *CERIA Lab. Contribution à la Conception et à l’Implantation de la Structure de Données Distribuée et Scalable à Haute Disponibilité: LH* RS. Rim Moussa Rim.Moussa@dauphine.fr http://ceria.dauphine.fr/rim/rim.html.

tyson
Download Presentation

Rim Moussa Rim.Moussa@dauphine.fr ceria.dauphine.fr/rim/rim.html

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. *04 Octobre 2004 Université Paris Dauphine *CERIA Lab. Contribution à la Conception et à l’Implantation de laStructure de Données Distribuée et Scalable à Haute Disponibilité: LH*RS Rim Moussa Rim.Moussa@dauphine.fr http://ceria.dauphine.fr/rim/rim.html Directeur de Thèse: Pr. Witold Litwin Rapporteurs: Pr. Thomas J.E. Schwarz Pr. Toré Risch Suffrageant: Pr. Gérard Lévy Présentation de Thèse en Informatique

  2. Plan Problématique Etat de l’Art Fondements Thèoriques de LH*RS Le Gestionnaire LH*RS Expérimentations Création d’un Fichier LH*RS Récupération de Cases Ajout de Cases de Parité Conclusion & Travaux Futurs R. Moussa, U. Paris Dauphine

  3. Faits … • Volume d’Information de 30% /an • Technologie • Infrastructure Réseau >> D’après la loi de Gilder, la bande passante triple tous les ans. • Evolution en Capacités de Stockage & de Calcul des PCs >> D’après la loi de Moore, les capacités de stockage & de calcul des PCs doublent tous les 18 mois. • Différentiel Disques & CPUs Besoin de Systémes de Stockage de Données Distribués les SDDS: LH*, RP* …  Haut Débit R. Moussa, U. Paris Dauphine

  4. Réseau Faits … • Multiordinateurs >>Architecture Modulaire >>Bon Rapport Prix Performance • Échecs Fréquents et Coûteux >> Stat. publiées par le Contingency Planning Research en 1996: le coût d’interruption de service/h d’une app. de courtage est $6,45 million. Besoin de Systèmes de Stockage Distribués et à Haute Disponibilité R. Moussa, U. Paris Dauphine

  5. Etat de l’Art Réplication des Données (+)Bon Temps de Réponse, les miroirs sont fonctionnels (-)Coût de Stockage (n si n répliquas) Calcul de Parité • Critères d’évaluation de Codes de Correction d’Effacements (ang. Erasure-resilient codes): • Taux de Codage (volume parité / volume données) • Pénalité de Mise à Jour (des volumes de parité) • Taille du Groupe utilisé pour la Récupération • Complexité du Codage & du Décodage • Capacité de Récupération R. Moussa, U. Paris Dauphine

  6. Schémas de Parité Schémas 1-disponibles Calcul de parité par XOR : Technologie RAID [PGK88], SDDS LH*g [L96] … Schémas k-diponibles Codes Linéaires Binaires: [H94]  Tolérent au max. 3 échecs Array Codes: EVENODD [B94 ], X-code [XB99], RDP [C+04]  Tolèrent au max. 2 échecs Codes Reed Solomon: IDA [R89], RAID X [W91], FEC [B95], Tutorial [P97], LH*RS [LS00]  Tolèrent k échecs … R. Moussa, U. Paris Dauphine

  7. Plan Problématique Etat de l’Art Fondements Thèoriques de LH*RS LH*RS? SDDSs? Codes Reed Solomon? Optimisations Codage/Décodage Le Gestionnaire LH*RS Expérimentations …. R. Moussa, U. Paris Dauphine

  8. LH*RS ? LH*RS [LS00] Scalabilité & Haut Débit LH*: Structure de Données Distribuée & Scalable Distribution par Hachage Linéaire (LH*LH [KLR96]) des Données sur les Serveurs. Gestionnaire LH*LH [B00] Haute Disponibilité Calcul de Parité par les Codes Reed-Solomon [RS63] R. Moussa, U. Paris Dauphine

  9. Transfert Enregistrements Eclatement Insertions SURCHARGEE Principes des SDDSs (1) Extension Dynamique du Fichier Coordinateur Client Client … Réseau … … Cases de Données R. Moussa, U. Paris Dauphine

  10. Message Ajustement Image Client Requête Renvoi de Requête Réseau Principes des SDDS (2) (2) Absence de Répertoire d’Accès Centralisé Image Fichier Client … … … Cases de Données R. Moussa, U. Paris Dauphine

  11. Codes Reed-Solomon • Intérêt A partir de m symboles de données  calcul de n symboles de parité • Représentation des Données  Corps de Galois • Corps de taille finie: q • Propriété de fermeture sous: Addition, Soustraction, Multiplication, Division. • Dans un CG(2w) (1) Addition (XOR) (2) Multiplication (Tables: gflog et antigflog) e1 * e2 = antigflog[ gflog[e1] + gflog[e2] ] R. Moussa, U. Paris Dauphine

  12. Matrice de Codage S1 S2 S3  Si  Sm S1  Sm P1 P2  Pj  Pn-m S1 S2 S3  Si  Sm C1,j C2,j C3,j  Cm,j  = P(m(n-m)) Im Pj (S1 C1,j)  (S2 C2,j)  …  (Sm Cm,j) (1) Codage Systématique: Matrice de la forme (Im|P) (2) Toutes m colonnes doivent être linéairement indépendantes m-1 XORs CG m Multiplications CG Codage RS 1 0 0 0 0 … 0 C1,1… C1,j… C1,n-m 0 1 0 0 0… 0 C2,1… C2,j … C2,n-m 0 0 1 0 0… 0 C3,1… C3,j … C3,n-m      0 0 0 0 0 … 1 Cm,1 … Cm,j … Cm,n-m R. Moussa, U. Paris Dauphine

  13. Décodage Optimisé Multiplier les ‘‘m symboles OK’’ par seulement les colonnes de H-1 correspondant aux symboles perdus Hm: m colonnes correspondantes Pivot de Gauss  = [ S1 S2 S3 S4 ….. Sm ] H-1 m symboles OK Décodage RS S1 S2 S3 S4  Sm P1 P2 P3  Pn-m 1 0 0 0 0 … 0 C1,1 C1,2 C1,3… C1,n-m 0 1 0 0 0… 0 C2,1C2,2 C2,3… C2,n-m 0 0 1 0 0… 0 C3,1C3,2 C3,3… C3,n-m      0 0 0 0 0 … 1 Cm,1Cm,2 Cm,3… Cm,n-m R. Moussa, U. Paris Dauphine

  14. Optimisations Pré-calcul du log Corps de Galois Matrice de Parité CG(28)  1 symbole = 1 Octet CG(216)  1 symbole = 2 Octets (+) CG(216) vs. CG(28) réduit de 1/2 le #Symboles  #Opérations dans le CG. (-) Tailles des Tables de Multiplication CG(28): 0,768 Ko CG(216): 393,216 Ko (512  0,768) R. Moussa, U. Paris Dauphine

  15. Optimisations (2) Pré-calcul du log Matrice de Parité Corps de Galois 0001 0001 0001 … 0001eb9b2284 … 0001 22849é74 … 00019e44 d7f1 … … … … … 1ére Ligne de ‘1’s Toute Mise à jour parvenant de la 1ére case de données est traitée en XOR  gain en performance de 4% (Création case de parité, m =4) 1ére Colonne de ‘1’s La 1ére case de parité se code en XOR  gain en codage/décodage R. Moussa, U. Paris Dauphine

  16. Optimisations (3) Pré-calcul du log Matrice de Parité Corps de Galois But: Réduire la complexité de la Multiplication CG e1 * e2 = antigflog[ gflog[e1] + gflog[e2] ] Codage Pré-calcul du log des coef. de la matrice P  Amélioration de 3,5% Décodage Pré-calcul du log des coef. de la matrice H-1 et des symboles OK  Amélioration de 4% à 8% en fonction du #Cases à récupérer 0000 0000 0000 … 00005ab5e267 … 0000 e2670dce … 0000 784d 2b66… … … … … R. Moussa, U. Paris Dauphine

  17. Groupe de Parité LH*RS • Concept de Groupage • m: #cases de données • k: #cases de parité Clé r       Rang Insertion r 2 1 0            2 1 0 : Rang; [Liste-clés ]; Champs Parité Cases de Parité  : Clé; Champs Données Cases de Données Un groupe k-disponible permet des survivre à l’échec de k cases R. Moussa, U. Paris Dauphine

  18. Plan Problématique Etat de l’Art Fondements Thèoriques de LH*RS Le Gestionnaire LH*RS Communication Gross Architecture 5. Expérimentations 6.Création d’un Fichier LH*RS Récupération de Case … R. Moussa, U. Paris Dauphine

  19. Communication UDP TCP/IP “Multicast” • Requêtes Individuelles (Insertion, MAJ, Suppression, Recherche) • Récupération Enregistrement • Messages de Service Rapidité R. Moussa, U. Paris Dauphine

  20. Communication UDP TCP/IP “Multicast” Transfert de Gros Volumes de Données • Ajout Case de Parité • Transfert MAJ parité et Enregistrements (Éclatement Serveur) • Récupération Serveurs Performance & Fiabilité R. Moussa, U. Paris Dauphine

  21. Communication UDP TCP/IP “Multicast” Recherche de Nouveaux Serveurs de Données ou de Parité Communication Multipoints R. Moussa, U. Paris Dauphine

  22. Architecture Par rapport, à l’Architecture SDDS2000 du Gestionnaire LH*LH [B00], (1) Gestionnaire de Connexions TCP/IP Les connexions TCP/IP sont ouvertes (ang. passive OPEN), RFC 793 –[ISI81], TCP/IP sous Win2K Server [MB00] Récupération 1 Case (3,125 MO): SDDS 2000: 6,7 s SDDS2000-TCP: 2,6 s (Config. Matérielle: CPU 733MhZ machines, Réseau 100Mbps) Avant  Amélioration de 60% (2) Contrôle de Flux & Acquittement Messages (CFAM) Principe de “Crédit d’Envoi & Conservation de Messages jusqu’à Réception ACK” [J88, GRS97, D01] R. Moussa, U. Paris Dauphine

  23. Architecture (2) (3) Structure d’Adresses IP dynamique Ajout de Serveurs (de données ou de parité) par Multicast: Groupe Multicast de Cases de Parité Cases Créées Groupe Multicast de Cases de Données Coordinateur Avant Table d’allocation de serveurs, pré-définie et répliquée sur tous les serveurs R. Moussa, U. Paris Dauphine

  24. Architecture (3) Réseau Thread Écoute TCP Port TCP/IP Threads de Travail Structure Acquittement File Messages Zones Libres Thread Écoute UDP Port Écoute UDP Messages en attente ACK. Messages non acquittés Port Envoi UDP … Thread Gestion Ack Thread Écoute Multicast File Messages Port Écoute Multicast R. Moussa, U. Paris Dauphine

  25. Expérimentations • Evaluation des Performances * Temps CPU * Temps de Communication • Environnement Expérimental * 5 Machines (Pentium IV: 1.8 GHz, RAM: 512 Mb) * Réseau Ethernet de 1 Gbps * Système d’exploitation: Win2K Server * Configuration testée: Un Client, Un groupe de 4 Cases de Données, k Cases de Parité (k = 0,1,2,3). R. Moussa, U. Paris Dauphine

  26. Plan Problématique Etat de l’Art Fondements Thèoriques de LH*RS Le Gestionnaire LH*RS Expérimentations Création d’un Fichier LH*RS MAJ des Cases de Parité Performances Récupération de Cases Ajout de Cases de Parité R. Moussa, U. Paris Dauphine

  27. Création Fichier • Manipulations Client Propagation des Insertions/ Mises à Jour / Suppressions des enregistrements de données vers les cases de parité. • MAJ: Transmission du –enregistrement. • Suppression: Gestion de Rangs Libres dans les cases de données. • Eclatement d’une Case de données N1: #Enregistrements restants N2: #Enregistrements partants Groupe de Parité de la Case en Éclatement N1+N2 Suppressions + N1 Insertions Groupe de Parité de la Nouvelle Case de Données N2 Insertions R. Moussa, U. Paris Dauphine

  28. Performances Config. Crédit Envoi Client = 1 Crédit Envoi Client = 5 Max Taille Case = 10 000 enregistrements Fichier de 25 000 enregistrements 1 enregistrement = 104 Octets Peu de différence entre CG(28) et CG(216) R. Moussa, U. Paris Dauphine

  29. Performances Config. Crédit Envoi Client = 1 Crédit Envoi Client = 5 k = 0 ** k = 1 Dégradation des Perf. de 20% k = 1 ** k = 2 Dégradation des Perf. de 8% R. Moussa, U. Paris Dauphine

  30. Performances Config. Crédit Envoi Client = 1 Crédit Envoi Client = 5 k = 0 ** k = 1 Dégradation des Perf. de 37% k = 1 ** k = 2 Dégradation des Perf. de 10% R. Moussa, U. Paris Dauphine

  31. Plan Problématique Etat de l’Art Fondements Thèoriques de LH*RS Le Gestionnaire LH*RS Expérimentations Création d’un Fichier LH*RS Récupération de Cases Scénario Performances 8.Ajout de Cases de Parité R. Moussa, U. Paris Dauphine

  32. Scénario Détection d’échecs Coordinateur Êtes-vous OK?   Cases de Parité Cases de Données R. Moussa, U. Paris Dauphine

  33. Scénario (2) Attente de Réponses … Coordinateur OK OK OK OK   Cases de Parité Cases de Données R. Moussa, U. Paris Dauphine

  34. Scénario (3) Recherche de Serveurs de Secours … Coordinateur Être Serveur ? Groupe Multicast de Cases de données R. Moussa, U. Paris Dauphine

  35. Scénario (4) Attente de Réponses … OK Coordinateur OK OK Lancer Ecoute UDP, Lancer Ecoute TCP, Lancer Threads de Travail *Attente Confirmation* Si Time-out expire Tout annuler Groupe Multicast de Cases de données R. Moussa, U. Paris Dauphine

  36. Scénario (5) Sélection de Serveurs de Secours Annulé Coordinateur Confirmé Confirmation Confirmé Groupe Multicast de Cases de données R. Moussa, U. Paris Dauphine

  37. Scénario (6) Sélection du Gestionnaire de Récupération Coordinateur Récupérer Cases de Parité R. Moussa, U. Paris Dauphine

  38. Scénario (7) Phase d’Interrogation Gestionnaire de Récupération Recherche Enregs … Cases de Parité Cases de Données Cases participant à la récupération Cases de Secours R. Moussa, U. Paris Dauphine

  39. Scénario (8) Phase de Reconstruction Gestionnaire de Récupération Tampons … Cases de parité Cases de Données Phase de Décodage Phase d’Interrogation en // Cases participant à la récupération Tranches Récupérées Cases de Secours R. Moussa, U. Paris Dauphine

  40. Performances 1 Case RS Config. 1 Case XOR 2 Cases XOR vs. RS • Info Fichier Fichier de 125 000 Enregs Taille Enreg. = 100 octets Taille Case = 31250 enregs  3.125 MO Groupe de 4 Cases de Données (m = 4), k-disponible avec k = 1,2,3 • Décodage * CG(216) * Décodage RS+ (RS +Pré-calcul du log de H-1 et des Symboles OK) • Récupération par Tranche(auto-adaptation aux capacités des PCs) R. Moussa, U. Paris Dauphine

  41. 0,58 Tranche (de 4% à 100% du contenu de la case)  Temps Total constant Performances 1 Case RS Config. 1 Case XOR 2 Cases XOR vs. RS R. Moussa, U. Paris Dauphine

  42. 0,67 Tranche (de 4% à 100% du contenu de la case)  Temps Total constant Performances 1 Case RS Config. 1 Case XOR 2 Cases XOR vs. RS R. Moussa, U. Paris Dauphine

  43. Performances 1 Case RS Config. 1 Case XOR 2 Cases XOR vs. RS Temps récupération d’1 case -XOR : 0,58 sec Temps récupération d’1 case –RS : 0,67 sec XOR dans CG(216) réalise un gain de 13% sur le Temps Tot. (et de 30% sur le Temps CPU) R. Moussa, U. Paris Dauphine

  44. 0,9 Tranche (de 4% à 100% du contenu de la case)  Temps Total constant Performances 1 Case RS XOR vs. RS 2 Cases 3 Cases Récapitulatif R. Moussa, U. Paris Dauphine

  45. 1,23 Tranche (de 4% à 100% du contenu de la case)  Temps Total constant Performances 1 Case RS XOR vs. RS 2 Cases 3 Cases Récapitulatif R. Moussa, U. Paris Dauphine

  46. Performances 1 Case RS XOR vs. RS 2 Cases 3 Cases Récapitulatif Temps récupération de f cases f Temps récupération d’1 case Même Phase d’Interrogation  Donc, le + est du au temps de décodage et d’envoi de tampons de récupération R. Moussa, U. Paris Dauphine

  47. Performances XOR vs. RS 2 Cases 3 Cases Récapitulatif CG(28) • XOR dans CG(28) améliore les temps de 60% p.r. à un décodage RS dans CG(28) • Un décodage RS/RS+ dans CG(216) réalise un gain en performance de 50% p.r. à CG(28). R. Moussa, U. Paris Dauphine

  48. Plan 1. Problématique 2. Etat de l’Art 3.Fondements Thèoriques de LH*RS 4. Le Gestionnaire LH*RS 5. Expérimentations 6.Création d’un Fichier LH*RS 7.Récupération de Cases 8.Ajout de Cases de Parité Scénario Performances R. Moussa, U. Paris Dauphine

  49. Scénario Recherche d’une Nouvelle Case de Parité Coordinateur Rejoindre groupeg ? Groupe Multicast de Cases de Parité R. Moussa, U. Paris Dauphine

  50. Scénario (2) Attente de Réponses … Coordinateur OK OK OK Lancer Ecoute UDP, Lancer Ecoute TCP, Lancer Threads de Travail *Attente Confirmation* Si Time-out expire Tout annuler Groupe Multicast de Cases de Parité R. Moussa, U. Paris Dauphine

More Related