Un système d'exécution distribué basé sur MapReduce

Par Alexandre Tremblay et Pierre-François Laquerre

Après plusieurs années d’expérience en informatique distribuée, les développeurs chez Google ont relevé les points récurrents suivants :

  • le traitement à effectuer est généralement simple, mais répété indépendamment sur un grand ensemble de données;
  • ces données se scindent facilement en morceaux plus petits;
  • la complexité reliée à l'informatique distribuée est une source problèmes majeure durant toutes les étapes de développement.

Leur solution : abstraire le processus de parallélisation en s'inspirant des opérations map et reduce provenant du monde de la programmation fonctionnelle1 : MapReduce.Ce framework est maintenant utilisé par Google pour une panoplie de tâches : l'indexation de l'internet, le tri distribué, l'apprentissage machine, le forage de données, etc.

Dans ce projet, une version réduite de MapReduce a été implantée.


Documentation complète du projet

Sources du projet