Amélioration des performances de MapReduce sur grappe de calcul
Auteur / Autrice : | Sylvain Gault |
Direction : | Frédéric Desprez |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique |
Date : | Soutenance le 23/03/2015 |
Etablissement(s) : | Lyon, École normale supérieure |
Ecole(s) doctorale(s) : | École doctorale en Informatique et Mathématiques de Lyon (Lyon ; 2009-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire de l'informatique du parallélisme (Lyon ; 1988-....) - AVALON / LIP Lyon / Inria Grenoble Rhône-Alpes |
Jury : | Président / Présidente : Christine Morin |
Examinateurs / Examinatrices : Frédéric Desprez, Christine Morin, Vincent Breton, Jean-Marc Nicod, Michel Daydé, Christian Pérez | |
Rapporteurs / Rapporteuses : Vincent Breton, Jean-Marc Nicod |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Beaucoup de disciplines scientifiques s'appuient désormais sur l'analyse et la fouille de masses gigantesques de données pour produire de nouveaux résultats. Ces données brutes sont produites à des débits toujours plus élevés par divers types d'instruments tels que les séquenceurs d'ADN en biologie, le Large Hadron Collider (LHC) qui produisait en 2012, 25 pétaoctets par an, ou les grands télescopes tels que le Large Synoptic Survey Telescope (LSST) qui devrait produire 30 pétaoctets par nuit. Les scanners haute résolution en imagerie médicale et l'analyse de réseaux sociaux produisent également d'énormes volumes de données. Ce déluge de données soulève de nombreux défis en termes de stockage et de traitement informatique. L'entreprise Google a proposé en 2004 d'utiliser le modèle de calcul MapReduce afin de distribuer les calculs sur de nombreuses machines.Cette thèse s'intéresse essentiellement à améliorer les performances d'un environnement MapReduce. Pour cela, une conception modulaire et adaptable d'un environnement MapReduce est nécessaire afin de remplacer aisément les briques logicielles nécessaires à l'amélioration des performances. C'est pourquoi une approche à base de composants est étudiée pour concevoir un tel environnement de programmation. Afin d'étudier les performances d'une application MapReduce, il est nécessaire de modéliser la plate-forme, l'application et leurs performances. Ces modèles doivent être à la fois suffisamment précis pour que les algorithmes les utilisant produisent des résultats pertinents, mais aussi suffisamment simple pour être analysés. Un état de l'art des modèles existants est effectué et un nouveau modèle correspondant aux besoins d'optimisation est défini. De manière à optimiser un environnement MapReduce la première approche étudiée est une approche d'optimisation globale qui aboutit à une amélioration du temps de calcul jusqu'à 47 %. La deuxième approche se concentre sur la phase de shuffle de MapReduce où tous les nœuds envoient potentiellement des données à tous les autres nœuds. Différents algorithmes sont définis et étudiés dans le cas où le réseau est un goulet d'étranglement pour les transferts de données. Ces algorithmes sont mis à l'épreuve sur la plate-forme expérimentale Grid'5000 et montrent souvent un comportement proche de la borne inférieure alors que l'approche naïve en est éloignée.