630 likes | 833 Views
*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.
E N D
*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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Communication UDP TCP/IP “Multicast” Recherche de Nouveaux Serveurs de Données ou de Parité Communication Multipoints R. Moussa, U. Paris Dauphine
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
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
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
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
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
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
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
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
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
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
Scénario Détection d’échecs Coordinateur Êtes-vous OK? Cases de Parité Cases de Données R. Moussa, U. Paris Dauphine
Scénario (2) Attente de Réponses … Coordinateur OK OK OK OK Cases de Parité Cases de Données R. Moussa, U. Paris Dauphine
Scénario (3) Recherche de Serveurs de Secours … Coordinateur Être Serveur ? Groupe Multicast de Cases de données R. Moussa, U. Paris Dauphine
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
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
Scénario (6) Sélection du Gestionnaire de Récupération Coordinateur Récupérer Cases de Parité R. Moussa, U. Paris Dauphine
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
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
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
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
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
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
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
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
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
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
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
Scénario Recherche d’une Nouvelle Case de Parité Coordinateur Rejoindre groupeg ? Groupe Multicast de Cases de Parité R. Moussa, U. Paris Dauphine
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