Code À Effacement Mojette Pour Le Stockage Distribué Dimitri Pertin
Total Page:16
File Type:pdf, Size:1020Kb
Code à Effacement Mojette pour le Stockage Distribué Dimitri Pertin To cite this version: Dimitri Pertin. Code à Effacement Mojette pour le Stockage Distribué. Réseaux et télécommunica- tions [cs.NI]. Université de Nantes, 2016. Français. tel-01720038 HAL Id: tel-01720038 https://hal.archives-ouvertes.fr/tel-01720038 Submitted on 28 Feb 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Thèse de Doctorat Dimitri PERTIN Mémoire présenté en vue de l’obtention du grade de Docteur de l’Université de Nantes sous le sceau de l’Université Bretagne Loire École doctorale : Sciences et technologies de l’information, et mathématiques Discipline : Informatique et applications, section CNU 27 Unité de recherche : Institut de Recherche en Communications et Cybernétique de Nantes (IRCCyN) Soutenue le 22 avril 2016 ED 503 Code à Effacement Mojette pour le Stockage Distribué JURY Président : M. Imants SVALBE, Senior Lecturer, Université Monash, Melbourne, Australie Rapporteurs : M. Pierre DUHAMEL, Directeur de recherche CNRS, L2S Centrale Supélec, Paris M. Martin QUINSON, Professeur des universités, ENS, Rennes Examinateur : M. Jérôme LACAN, Professeur, ISAE-SUPAERO, Toulouse Invité : M. Évenou PIERRE, Ingénieur, Rozo Systems, Nantes Directeur de thèse : M. Nicolas NORMAND, Maitre de conférences titulaire de l’HDR, Université de Nantes Co-encadrant de thèse : M. Benoît PARREIN, Maitre de conférences titulaire de l’HDR, Université de Nantes Remerciements Cette aventure a débuté à Polytech, lorsque ma curiosité m’a poussé à choisir un mystérieux sujet de recherche intitulé : "Code à effacement ?". Aujourd’hui, j’ai compris que ce " ?" représente toute l’étendue du sujet. Difficile de réaliser le chemin parcouru jusqu’ici. Et pourtant si j’y suis parvenu, c’est grâce aux personnes qui m’ont soutenu. Je tiens particulièrement à remercier Imants Svalbe pour avoir suivi mes travaux avec son enthousiasme légendaire, depuis ma soutenance de projet de recherche, jusque dans son rôle de président de jury de thèse. Merci également à Pierre Duhamel et Martin Quinson qui m’ont fait l’honneur de rapporter cette thèse. Je remercie aussi chaleureusement Jérôme Lacan pour son accueil à l’ISAE, et pour avoir suivi et enrichi mon parcours de son expertise des codes, et de sa personne. Cette thèse n’aurait pu exister sans l’aide précieuse de Pierre Évenou, dont les idées et la vision m’ont beaucoup inspiré, et surtout sans Nicolas Normand et Benoît Parrein, compères enthousiastes et passionnés, qui ont su stimuler ma curiosité, me guider durant ces nombreuses années, et qui ont assuré dans les hauts, comme dans les bas. Merci pour ces moments que l’on a partagés, face au tableau, comme au bistrot. Un grand merci à l’équipe de Rozo Systems, notamment à Didier Féron, Jean- Pierre Monchanin et Sylvain David, génies de la programmation qui m’ont tant appris, ainsi que Louis le Gouriellec et Christophe de la Guérande pour nos captivantes discussions. Merci également à Aurore pour notre complicité, Lukáš pour nos virées nocturnes, le man Alex pour nos galères, Josselin le stagiaire et son yoyo, Floflo et ses fruits secs, Lulu pour sa bonne humeur, Romu pour sa mauvaise humeur, JPeG et son remorqueur, Romain le surréaliste, et tous les membres d’IVC pour la convivialité. Je n’aurais sûrement pas débuté de travail de recherche sans Mathieu Cunche ni les membres du NICTA qui ont su éveiller ma curiosité pour ce domaine. Je pense également aux membres de l’ISAE pour leur accueil, et plus particulièrement à Jonathan Detchart pour sa connaissance des codes et de la programmation. J’ai aussi beaucoup appris grâce à nos échanges avec Suayb Arslan, Andrew Kingston et Shekhar Chandra. Merci également à José Martinez pour ses connaissances en LATEXet son aide dans la mise en place de l’expérimentation utilisant OpenMP. Mille pensées à mes amis, camarades de Polytech, membres du JMB et joueurs du baby pour ces bons moments. À mes frères et mes parents pour m’avoir toujours aidé. Enfin, une pensée particulière à ma charmante Lucie, pour ses relectures, son soutien, et pour avoir fait partie des meilleurs moments durant ces trois années. 3 Table des matières Introduction générale9 Contexte.......................................9 Problèmes du stockage distribué identifiés..................... 10 Notre approche.................................... 12 Contributions..................................... 13 Plan du manuscrit.................................. 14 Contexte de la thèse................................. 15 I Codes à effacement en géométrie discrète 17 Introduction de la partie 19 1 Principe et évaluation des codes à effacement 21 Introduction du chapitre............................... 22 1.1 Notions de théorie des codes.......................... 23 1.1.1 Théorie mathématique de l’information............... 24 1.1.2 Exemples de canaux.......................... 26 1.1.3 Théorie algébrique des codes correcteurs............... 28 1.2 Codage à effacement.............................. 32 1.2.1 Codage par paquets sur la couche applicative............ 32 1.2.2 Principe des codes à effacement.................... 33 1.2.3 Distinction entre les différents codes................. 33 1.3 Exemples de codes à effacement........................ 34 1.3.1 Les codes de répétition......................... 34 1.3.2 Les codes de parité........................... 35 1.3.3 Les codes de Reed-Solomon ..................... 35 1.3.4 Les codes LDPC............................ 36 Conclusion du chapitre................................ 38 2 Conception de codes à effacement en géométrie discrète 41 Introduction du chapitre............................... 42 2.1 Discrétisation de la transformation de Radon continue.......... 43 5 6 Table des matières 2.1.1 Transformation de Radon dans le domaine continu........ 43 2.1.2 Quelques bases de la géométrie discrète............... 47 2.1.3 Méthode algébrique de reconstruction d’une image discrète.... 50 2.2 Code MDS par transformation de Radon finie............... 52 2.2.1 Transformation de Radon finie.................... 53 2.2.2 Représentation partielle et fantôme discret............. 56 2.2.3 Code à effacement par transformation de Radon finie....... 58 2.2.4 Relations avec d’autres codes MDS.................. 60 2.3 Code à effacement par transformation Mojette............... 62 2.3.1 Transformation Dirac-Mojette directe................ 62 2.3.2 Reconstruction par transformation Mojette............. 63 2.3.3 Code à effacement Mojette...................... 66 Conclusion du chapitre................................ 69 3 Code à effacement Mojette systématique 71 Introduction du chapitre............................... 72 3.1 Conception du code à effacement Mojette systématique.......... 72 3.1.1 Construction du code systématique.................. 73 3.1.2 Algorithme de reconstruction..................... 73 3.2 Évaluation du gain dans le rendement du code............... 76 3.2.1 Réduction de la redondance en systématique............ 77 3.2.2 Coût de la redondance par rapport à d’autres codes........ 79 3.3 Considérations sur la réduction du nombre d’opérations.......... 80 3.3.1 Contraintes en performances des codes à effacement........ 80 3.3.2 Bénéfices de cette nouvelle technique sur l’encodage........ 83 3.3.3 Bénéfice de cette technique sur le décodage............. 84 Conclusion du chapitre................................ 85 Conclusion de la partie 87 II Application au stockage distribué 89 Introduction de la partie 91 4 Les codes à effacement dans le stockage distribué 93 4.1 Cas des codes à effacement (k + 2, k) pour le stockage : RAID-6 ...... 95 4.1.1 Architecture en RAID-6........................ 95 4.1.2 Métriques d’analyse de performance................. 96 4.1.3 Analyse des performances des codes RAID-6............ 97 4.2 Généralisation de la construction des codes................. 105 4.2.1 Reed-Solomon ............................ 105 4.2.2 Généralisation du code Mojette.................... 107 4.3 Expérimentations................................ 108 Table des matières 7 4.3.1 Les implémentations à comparer................... 108 4.3.2 Configuration de l’expérimentation.................. 110 4.3.3 Résultats de l’expérimentation.................... 112 5 Application au système de fichiers distribué RozoFS 119 Introduction du chapitre............................... 120 5.1 Systèmes de fichiers distribués tolérants aux pannes............ 121 5.1.1 Architectures.............................. 121 5.1.2 Principes de conception........................ 123 5.1.3 Redondance dans les DFS....................... 124 5.2 RozoFS : le DFS basé sur le code à effacement Mojette........... 126 5.2.1 L’architecture de RozoFS....................... 127 5.2.2 Distribution de l’information..................... 129 5.2.3 Des entrées/sorties tolérantes aux pannes.............. 129 5.3 Évaluation.................................... 132 5.3.1 Mise en place de l’évaluation..................... 132 5.3.2 Résultats de l’expérimentation.................... 134 5.3.3 Discussion................................ 136 Conclusion