http://blog.khaledtannir.net



Documents pareils
MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril / 15

Introduction à MapReduce/Hadoop et Spark

Cartographie des solutions BigData

Fouillez facilement dans votre système Big Data. Olivier TAVARD

Application de K-means à la définition du nombre de VM optimal dans un cloud

MapReduce. Nicolas Dugué M2 MIAGE Systèmes d information répartis

API04 Contribution. Apache Hadoop: Présentation et application dans le domaine des Data Warehouses. Introduction. Architecture

Introduction aux algorithmes MapReduce. Mathieu Dumoulin (GRAAL), 14 Février 2014

Big Data Concepts et mise en oeuvre de Hadoop

Programmation parallèle et distribuée

Fouille de données massives avec Hadoop

Ricco Rakotomalala R.R. Université Lyon 2

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Implémentation parallèle de certains algorithmes de fouille de données avec le framework MapReduce

Programmation parallèle et distribuée (Master 1 Info )

Programmation parallèle et distribuée

Anticiper et prédire les sinistres avec une approche Big Data

Labs Hadoop Février 2013

Big Data. Cyril Amsellem Consultant avant-vente. 16 juin Talend

L écosystème Hadoop Nicolas Thiébaud Tuesday, July 2, 13

Groupe de Discussion Big Data Aperçu des technologies et applications. Stéphane MOUTON

Big Data : utilisation d un cluster Hadoop HDFS Map/Reduce HBase

Les technologies du Big Data

HADOOP ET SON ÉCOSYSTÈME

Les participants repartiront de cette formation en ayant une vision claire de la stratégie et de l éventuelle mise en œuvre d un Big Data.

BIG DATA en Sciences et Industries de l Environnement

20 ans du Master SIAD de Toulouse - BigData par l exemple - Julien DULOUT - 22 mars ans du SIAD -"Big Data par l'exemple" -Julien DULOUT

Certificat Big Data - Master MAthématiques

Map-Reduce : un cadre de programmation parallèlle pour l analyse de grandes données. Stéphane Genaud ENSIIE

Déploiement d une architecture Hadoop pour analyse de flux. françois-xavier.andreu@renater.fr

Big Data, un nouveau paradigme et de nouveaux challenges

Formation Cloudera Data Analyst Utiliser Pig, Hive et Impala avec Hadoop

Hadoop : une plate-forme d exécution de programmes Map-Reduce

Le BigData, aussi par et pour les PMEs

Tables Rondes Le «Big Data»

Offre formation Big Data Analytics

Les journées SQL Server 2013

Hadoop, les clés du succès

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

BIG DATA. Veille technologique. Malek Hamouda Nina Lachia Léo Valette. Commanditaire : Thomas Milon. Encadré: Philippe Vismara

MapReduce et Hadoop. Alexandre Denis Inria Bordeaux Sud-Ouest France ENSEIRB PG306

Bases de données documentaires et distribuées Cours NFE04

NoSQL. Introduction 1/30. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Panorama des solutions analytiques existantes

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Document réalisé par Khadidjatou BAMBA

Hébergement MMI SEMESTRE 4

Change the game with smart innovation

Les quatre piliers d une solution de gestion des Big Data

4 Exemples de problèmes MapReduce incrémentaux


BI dans les nuages. Olivier Bendavid, UM2 Prof. A. April, ÉTS

Hadoop dans l entreprise: du concept à la réalité. Pourquoi et comment?

Hadoop : une plate-forme d exécution de programmes Map-Reduce

Stephan Hadinger, Sr. Mgr Solutions Architecture, AWS. Salon du Big Data 11 mars 2015

Cloud computing Votre informatique à la demande

BONJOURGRID : VERSION ORIENTÉE DONNÉE & MAPREDUCE SÉCURISÉ

Prototypage et évaluation de performances d un service de traçabilité avec une architecture distribuée basée sur Hadoop

Improving MapReduce Performance in Heterogeneous Environments

Big Graph Data Forum Teratec 2013

Organiser vos données - Big Data. Patrick Millart Senior Sales Consultant

Chapitre 4: Introduction au Cloud computing

11/01/2014. Le Big Data Mining enjeux et approches techniques. Plan. Introduction. Introduction. Quelques exemples d applications

Technologies du Web. Ludovic DENOYER - ludovic.denoyer@lip6.fr. Février 2014 UPMC

Notes de cours Practical BigData

Acquisition des données - Big Data. Dario VEGA Senior Sales Consultant

Application de K-Means à la définition du nombre de VM optimal dans un Cloud

BlobSeerFS : un système de fichiers pour le calcul hautes performances sous Hadoop MapReduce

Cassandra et Spark pour gérer la musique On-line

Jean-François Boulicaut & Mohand-Saïd Hacid

NoSQL. Etat de l art et benchmark

Qu est-ce que le «cloud computing»?

BIG Data et R: opportunités et perspectives

Our experience in using Apache Giraph for computing the diameter of large graphs. Paul Bertot - Flavian Jacquot

Les datas = le fuel du 21ième sicècle

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC RAPPORT DE PROJET PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

2 e édition. et le Big Data. Comprendre et mettre en oeuvre. NoSQL. Rudi Bruchez. Les bases de données

CNAM Déploiement d une application avec EC2 ( Cloud Amazon ) Auteur : Thierry Kauffmann Paris, Décembre 2010

Étude d une architecture MapReduce tolérant les fautes byzantines

Les bases de données relationnelles

Vos experts Big Data. Le Big Data dans la pratique

Systèmes Répartis. Pr. Slimane Bah, ing. PhD. Ecole Mohammadia d Ingénieurs. G. Informatique. Semaine Slimane.bah@emi.ac.ma

Introduc)on à Map- Reduce. Vincent Leroy

Java à Murex: un retour d'expérience. Jean-Pierre DACHER & Craig MORRISON

Hadoop, Spark & Big Data 2.0. Exploiter une grappe de calcul pour des problème des données massives

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Windows Azure. Principales fonctions

Cloud Computing. Introduction. ! Explosion du nombre et du volume de données

M2 GL UE DOC «In memory analytics»

Introduction Big Data

Big Data. Les problématiques liées au stockage des données et aux capacités de calcul

Maîtriser les technologies Big Data pour obtenir des résultats en quasi-temps réel

Bases de Données. Stella MARC-ZWECKER. Maître de conférences Dpt. Informatique - UdS

Lʼavenir des grilles Des grilles aux Clouds avec quelques «petits problèmes» de recherche. F. Desprez INRIA

Sommaire. 3. Les grands principes de GFS L architecture L accès de fichier en lecture L accès de fichier en écriture Bilan

Transcription:

Algorithme de parallélisations des traitements Khaled TANNIR Doctorant CIFRE LARIS/ESTI http://blog.khaledtannir.net these@khaledtannir.net 2e SéRI 2010-2011 Jeudi 17 mars 2011

Présentation Doctorant CIFRE LARIS / ESTI Cergy-Pontoise Consultant, Architecte Technique.NET- Groupe onepoint Titre de la thèse: «Outils et services de fouilles de données intégrés dans une grille sémantique» Directeur de thèse : M. Hubert KADIMA Encadrants : Mme Maria MALEK, M. Cristian Dan VODISLAV 2

Sommaire Introduction à MapReduce L algorithme MapReduce Mise en œuvre Avantages et inconvénients Perspectives 3

4 MapReduce Introduction

Qu est-ce que c est? 5 Un framework de traitement distribué sur de gros volumes de données Un modèle de programmation parallèle conçu pour la scalabilité et la tolérance aux pannes Map et Reduce sont inspirés du langage fonctionnel Lisp Répartit la charge sur un grand nombre de serveurs et gère la distribution de données Conçu par Google et traite 20 Po de données par jour [1]

Qui utilise MapReduce? Construction des Index pour Google Search Regroupement des articles pour Google News Alimenter Yahoo! Search avec Web map Détection de Spam pour Yahoo! Mail Data mining (fouille de données) Détection de Spam 6 Source Microsoft MSDN

La Recherche l utilise aussi Laboratoires / Chercheurs Analyse d images Astronomique Bioinformatique Simulation métrologique Simulation physiques Machine Learning Statistiques <Mon application ici> 7

Avant MapReduce Pour un developpeur Il est difficile de : Traiter de grands volumes de données Gérer de milliers de processeurs Paralléliser et distribuer des traitements Ordonnancement des entrées / sorties Gérer la tolérance aux pannes Surveiller des processus MapReduce fournit tout ceci, facilement! 8

MapReduce, pour quelle problématique? Itérer sur un grand nombre d enregistrements Extraire quelque chose ayant un intérêt de chacun d eux Regrouper et trier les résultats (intermediaires) Agréger ces résultats Générer le résultat final Fournir une abstraction fonctionnelle de ces deux opérations 9

10 L algorithme MapReduce Modèle de programmation

Fonction globale de MapReduce MapReduce Entrée Mappers Reducers Sortie 11

Principes de base de l algorithme Une tâche est divisée en deux ou plusieurs sous-tâche Chaque sous-tâche est traitée indépendamment, puis leurs résultats sont combinés 3 opérations majeures : Split, Compute et Join C est le principe de «Diviser pour Reigner» avec une structure pseudo-hiérarchique 12

Modèle de programmation L utilisateur fournit deux fonctions Map Prend en entrée un ensemble de «Clé, Valeurs» Retourne une liste intermédiaire de «Clé1, Valeur1» Map(key,value) list(key1,value1) Reduce Prend en entrée une liste intermédiaire de «Clé1, Valeur1» Fournit en sortie un ensemble de «Clé1,Valeur2» reduce(key1, list(value1)) value2 13

Les phases de MapReduce Initialisation Map Shuffle (regroupement) Sort (tri) Reduce 14

Vn V2 V1 MapReduce: L étape Map Entrée Paire «Key-value» Intermédiaire Paires «key-value» K1 Map k 1 v 1 k 2 v 1 K2 Map k 1 v 1 Kn k 1 v 1 Map(doc-Id, doc-content) (word, wordcount-in-a-doc) 15

MapReduce: L étape Reduce Intermédiaire Paires «key-value» Regroupement Sortie k 1 v 1 k 1 Lv 1 k 1 V 2 k 2 v 1 k 2 Lv 1 k 2 V 2 Grouper Reduce k 1 v 1 k 1 Lv 1 k 1 V 2 Reduce k 1 v 1 k 1 Lv 1 k 1 V 2 16 (word, wordcount-in-a-doc) (word, list-of-wordcount) ~ SQL Group by (word, final-count) ~ SQL aggregation

Le Maître MapReduce (Master) Coordonne l éxécution des unités de travail (Workers) Attribue aux unités de travail les tâches map et reduce Gère la distribution des données Déplace les workers vers les données Gère la synchronisation Regroupe, trie, et réorganise les données intermédiaires Détecte les défaillances des unités de travail et relance la tâche 17

18 Mise à l œuvre de MapReduce Exemple de fonctionnement

Value Word Count avec MapReduce mapfunc(string key, String value): // key: nom du document; // value: contenu du document for each word w in value: EmitIntermediate (w, 1) Key reducefunc(string key, Iterator values): // key: un mot; // value: une liste de valeurs result = 0 for each count v in values: result += v EmitResult(result) Key Values Key Value 19

Structure de données du Worker Un Worker est une unité de travail qui possède trois états : idle, in-progress, completed Idle indique qu un worker est disponible pour une nouvelle planification Completed indique la fin d un traitement, le worker informe le Master de la taille, de la localisation des ses fichiers intermédiaires In-progress indique q un traitement est en cours Les reducers sont informés des états des workers par le Master 20

La gestion des données Les données en Entrée et en Sortie sont stockées sur un system de fichiers distribués Les données sont stockées au plus proche de leur source Les données intermédiaires sont stockées sur le système de fichier local des unités «map» et «reduce» Les données en sortie représentent souvent une entrée pour une autre unité MapReduce 21

La gestion des défaillances 1/2 Basée sur un mécanisme de réexécution Le Master ping régulièrement les unités «map» et «reduce» En cas de défaillance d une unité «map» Les tâches complètes ou en cours d éxecution seront réinitialisées (état: in-progress, completed) Les tâches seront placées dans de nouvelles unités de travail dans de nouveaux nœuds du système de fichiers 22

La gestion des défaillances 2/2 En cas de défaillance d une unité «reduce» Les tâches complètes (état: completed) ne sont pas relancées Uniquement les tâches en cours d execution seront réinitialisées (état: in-progress) et relancées sur un autre nœud du système de fichiers distribués En cas de défaillance du «Master» Les tâches MapReduce seront abandonnées et le client (utilisateur) est notifié 23

Les mécanismes d optimisations Mapreduce implémente plusieurs mécanismes d optimisations Optimisation de la bande passante réseau Utilise un mécanisme de spéculation pour placer des tâches sur des nœuds différents du File System Les Combiner sont utilisés pour réduire le volume de données transmis entre map et reduce. Utilise un mécanisme similaire à la fonction reduce 24

Données Mise en œuvre de MapReduce Application utilisateur fork Master File 0 k 1 v 1 read Écriture locale k 1 v 1 File 1 Map k 1 v 1 Intermédiaire Grouper, trier, lecture distante Reduce 25

Exemple de mise en œuvre File Splitting Map Shuffling Reduce Result A A C A,2 C,1 A,2 A,1 A,3 A A C C B D A C D C B D A C D C,1 B,1 D,1 A,1 C,1 D,1 B,1 C,1 C,1 C,1 D,1 D,1 B,1 C,3 D,2 A,3 B,1 C,3 D,2 26

Les interfaces Java de MapReduce 27

Les performances de MapReduce Hadoop trie un Petabyte en 16,25 Heures et un Terabyte en 62 Secondes [URL 4] Les records de tri peuvent être consultés sur le site : Sort Benchmark Home Page [URL 5] 28

Exemples d applications Calculer la taille de plusieurs milliers de documents Trouver le nombre d occurrence d un pattern dans un très grand volume de données Classifier des très grands volumes de données provenant des paniers d achats de clients 29

30 Avantages et Inconvénients Quand utiliser MapReduce

Avantages de MapReduce Fourni une abstraction totale des mécanismes de parallélisassions sous-jacents Peu de tests sont nécessaires. Les librairies MapReduce ont déjà étaient testées et fonctionnent correctement L utilisateur se concentre sur son propre code Largement utilisé dans les environnements de Cloud Computing 31

Inconvénients de MapReduce Une seule entrée pour les données Deux primitives de haut-niveau seulement Le flux de données en deux étapes le rend très rigide Le système de fichiers distribués (HDFS) possède une bande passante limitée en entrée / sortie Les opérations de tris limitent les performances du Framework (implémentation Hadoop) 32

Quand utiliser MapReduce? MapReduce constitue une bonne solution lorsqu il y a beaucoup de données: En entrée (ex: calculs statistiques) De fichiers intermediaires (ex: phrase tables) En Sortie (ex: webcrawls) Peu de synchronisation est nécessaire entre les unités de travail 33

Quand ne pas utiliser MapReduce? L utilisation de MapReduce peut être problematique Des traitements Online sont nécessaires L utilisation d algorithme du type Perceptron Les opérations individuelles map ou reduce sont extrêment coûteuses en calcul De grands volumes de données partagées sont nécessaires 34

35 Perspectives MapReduce et mon travail futur

Les différentes implémentations Hadoop (Yahoo) constitue un modèle equivalent et étendu DryadLinQ (Microsoft) est une approche un peu plus générique MapReduce-Merge qui étend le framework avec la possibilité de fusionner des résultats Elastic (Amazone) Et d autres 36

ZooKeeper Les composants Hadoop en un mot Hive Chukwa PIG MapReduce HBase Flume HDFS Sqoop 37

MapReduce et mon travail de recherche Implémenter MapReduce au niveau PaaS du Cloud Utiliser Cassandra 1 (ou autre) pour combler les limites du système de fichier de MapReduce L adaptation d un (ou plusieurs) algorithme de classification comme Apriori et exploiter MapReduce 1 Un système open-source de stockage de fichiers distribués géré par Apache 38

La plateforme cible de mon travail 39

Conclusion MapReduce est un modèle de programmation facile d utilisation Il est robuste et permet de traiter de très gros volume de données A été mis dans le domaine public avec l implémentation Hadoop de Yahoo Plusieurs projets universitaires ont permis de l améliorer 40

Références : Ouvrages Complete details in Jimmy Lin and Michael Schatz. Design Patterns for Efficient Graph Algorithms in MapReduce. Proceedings of the 2010 Workshop on Mining and Learning with Graphs Workshop (MLG-2010), July 2010, Washington, D.C. [1] Cloud Computing and Software Services Theory and Techniques CRC Press 2011- Syed Ahson, Mohammad Ilyas pages 93-137 [2] Hadoop The Definitive Guide O Reily 2011 Tom White [3] Data Intensive Text Processing with MapReduce Morgan & Claypool 2010 Jimmy Lin, Chris Dyer pages 37-65 [4] Writing and Querying MapReduce Views in CouchDB O Reily 2011 Brandley Holt pages 5-29 41

Références : URLs et Publications Complete details in Jimmy Lin and Michael Schatz. Design Patterns for Efficient Graph Algorithms in MapReduce. Proceedings of the 2010 Workshop on Mining and Learning with Graphs Workshop (MLG-2010), July 2010, Washington, D.C. [5] Jeffrey Dean and Sanjay Ghemawat, «MapReduce: Simplified Data Processing on Large Clusters» OSDI 04: Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, December, 2004. [6] Owen O Malley, «TeraByte Sort on Apache Hadoop», Yahoo!, May 2008 [7] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung «The Google File System«, 19th ACM Symposium on Operating Systems Principles, Lake George, NY, October, 2003. Rapports: [8] Dzone Refcardz ( http://refcardz.dzone.com/) N 117, N 133 [9] ERCIM NEWS- Issue 83 - October 2010 ( http://ercim-news.ercim.eu/images/stories/en83/en83-web.pdf ) URLs: [1] http://labs.google.com/papers/mapreduce-osdi04-slides/index-auto-0002.html [2] http://hadoop.apache.org [3] http://fr.wikipedia.org/wiki/mapreduce [4] http://developer.yahoo.com/blogs/hadoop/posts/2009/05/hadoop_sorts_a_petabyte_in_162/ [5] http://sortbenchmark.org/ : records de tri de données depuis 1987 42

Questions? Merci de votre attention 43