Programmation parallèle et distribuée



Documents pareils
Programmation parallèle et distribuée

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

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

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

Introduction à MapReduce/Hadoop et Spark

Big Data Concepts et mise en oeuvre de Hadoop

Ricco Rakotomalala R.R. Université Lyon 2

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

Cartographie des solutions BigData

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

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. Les problématiques liées au stockage des données et aux capacités de calcul

Document réalisé par Khadidjatou BAMBA

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

Labs Hadoop Février 2013

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

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

Tables Rondes Le «Big Data»

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)

Les technologies du Big Data

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

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.

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

Livre. blanc. Solution Hadoop d entreprise d EMC. Stockage NAS scale-out Isilon et Greenplum HD. Février 2012

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

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

Certificat Big Data - Master MAthématiques

HADOOP ET SON ÉCOSYSTÈME

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

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

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

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

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

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

Sauvegarde collaborative en pair-à-pair

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

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

Les bases de données relationnelles

Les journées SQL Server 2013

R+Hadoop = Rhadoop* Des logiciels libres complémentaires, une implémentation, une réponse au nouveau paradigme du bigdata!

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

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

4 Exemples de problèmes MapReduce incrémentaux

Introduc)on à Map- Reduce. Vincent Leroy

BIG DATA en Sciences et Industries de l Environnement

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

Département Informatique 5 e année Hadoop: Optimisation et Ordonnancement

VirtualScale L expert infrastructure de l environnement Open source HADOOP Sofiane Ammar sofiane.ammar@virtualscale.fr

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

M2 GL UE DOC «In memory analytics»

Panorama des solutions analytiques existantes

ACCOMPAGNER L EXPLOSION DES VOLUMES DE DONNEES : LES NOUVEAUX ENJEUX DU STOCKAGE


Encryptions, compression et partitionnement des données

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

Ebauche Rapport finale

Professeur-superviseur Alain April

Les quatre piliers d une solution de gestion des Big Data

Problématiques de stockage d un Data Center

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

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

Offre formation Big Data Analytics

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

EMC Data Domain Boost for Oracle Recovery Manager (RMAN)

Cours Bases de données

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

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

Projet Xdata. Cinequant, Data Publica, EDF, ESRI, Hurence, INRIA, Institut Mines Telecom, La Poste, Orange, Veolia

Introduction Big Data

Professeur-superviseur Alain April

Présentation du module Base de données spatio-temporelles

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Hadoop, les clés du succès

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

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

Bases de données Cours 1 : Généralités sur les bases de données

Big Data, un nouveau paradigme et de nouveaux challenges

Sauvegarde d une base de données

NoSQL. Etat de l art et benchmark

Hibernate vs. le Cloud Computing

Structure fonctionnelle d un SGBD

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

DÉPLOIEMENT DE QLIKVIEW POUR DES ANALYSES BIG DATA CHEZ KING.COM

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Notes de cours Practical BigData

Introduction aux SGBDR

Introduction à Hadoop & MapReduce

Fast and furious decision tree induction

EMC AVAMAR. Logiciel et système de sauvegarde avec déduplication

Hadoop / Big Data MBDS. Benjamin Renaut <renaut.benjamin@tokidev.fr>

Benjamin Cornu Florian Joyeux. Les choses à connaître pour (essayer) de concurrencer Facebook.

Big Graph Data Forum Teratec 2013

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Analytics & Big Data. Focus techniques & nouvelles perspectives pour les actuaires. Université d Eté de l Institut des Actuaires Mardi 8 juillet 2014

Big Data et Graphes : Quelques pistes de recherche

Plateforme de capture et d analyse de sites Web AspirWeb

PROTEGER SA CLE USB AVEC ROHOS MINI-DRIVE

Transcription:

Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique

Plan Mégadonnées («big data») Architecture Hadoop distribution des données processus map / shuffle / reduce extensibilité Exemples 2

Mégadonnées Voici quelques données à propos du WWW en 2013 14 x 10 12 pages web sur Internet 48 x 10 9 pages indexées par Google 14 x 10 9 pages indexées par Bing 672 x 10 18 octets de données accessibles 44 x 10 18 octets de traffic Internet Temps de lecture d un disque de 4 To 11 heures (en supposant 100 Mo/sec) 3

Problèmes trop de données pour un seul ordinateur; les données ne rentrent même pas dans la mémoire d un ordinateur; elles ne rentrent pas non plus sur un seul disque! Solution utiliser Hadoop 4

Hadoop Projet Apache (http://hadoop.apache.org/) logiciel libre implanté en Java en fait, une boite à outils contenant divers composants Créé en 2004 par Doug Cutting, à partir d articles publiés par Google le nom Hadoop était celui de l éléphant en pluches de son fils Pour la programmation distribuée sur de grosses grappes de calcul pas nécessairement très performantes mais qui résistent aux défaillances (elles surviennent fréquemment) et qui sont extensibles (linéairement) 5

Qui l utilise? 6

Traitement vs data Traditionnellement, on sépare les traitements des données Cependant, beaucoup d applications peu exigeante en CPU viennent taxer les entrées / sorties 7

Avec Hadoop, on tente de regrouper le traitement et le stockage sur un même nœud le code est généralement petit relativement aux données 8

Résilience Pour un grand nombre de nœuds de traitement, les défaillances sont communes à chaque semaine parfois à chaque jour Hadoop est conçu pour résister aux pannes les données sont répliquées les tâches sont redémarrées au besoin 9

Abstraction de la complexité Beaucoup de la complexité inhérente aux applications concurrentes et distribuées est assumée par Hadoop l utilisateur n a qu à définir un petit nombre de composants et à spécifier des interfaces simples entre ces composants Tous les défis tels que la gestions des courses critiques, la construction de pipeline, le partitionnement des données, etc., sont gérés automatiquement L utilisateur peut se concentrer sur les spécificités de son application 10

Environnement Hadoop Deux composants principaux HDFS : «Hadoop Distributed File System» MapReduce : cadriciel pour le traitement distribué Mais également d autres composants HBase : «Hadoop column database» Pipes : permet de travailler en C++ Streaming : permet de travailler avec un langage quelconque, en utilisant les «standard input/output» etc. 11

HDFS Système de fichiers distribué Inspiré du système équivalent chez Google apparaît comme un seul disque mais est en fait distribué sur les nœuds de la grappe Résiste aux pannes de disque les fichiers sont découpés en gros blocs les blocs sont copiés sur plusieurs disques Conçu pour un nombre modéré de gros fichiers mal adapté à un grand nombre de petits fichiers 12

HDFS : architecture Deux types de nœuds Namenode : pour gérer les métadonnées Datanode : pour stocker les blocs de données 13

HDFS : fichiers et blocs 14

HDFS : taille des blocs Typiquement 64 Mo ou 128 Mo par défaut 64 Mo afin d amortir les mouvements de têtes de lecture des disques Les petits fichiers gaspillent cependant beaucoup d espace! 15

HDFS : réplication Les Namenodes déterminent les l emplacement des bloc répliqués En tenant compte de l emplacement des cabinets on recherche un équilibre entre la fiabilité et la performance afin notamment de réduire la bande passante Par défaut on sauvegarde 3 copies dans un nœud d un cabinet dans un nœud différent du même cabinet dans un cabinet différent 16

HDFS : écriture 17

HDFS : lecture 18

MapReduce : architecture On commence par déplacer les données HDFS qui s occupe de les distribuer pour vous Puis on effectue un Map / Shuffle / Reduce 19

20

Couples (clé:valeur) Avec Hadoop, on manipule toujours des couples (clé: valeur) autant en entrée qu en sortie Et on définit des fonctions «map» et «reduce» map : (c1: v1) > liste de (c2: v2) reduce : (c2: liste de v2) > list de (c3: v3) Algorithme 1. on applique map à tous les couples (c1: v1) 2. map génère une liste couples (c2: v2) intermédiaires 3. les couples intermédiaires de même clés sont groupées et triées afin de produire le couple (c2: liste de v2) 4. reduce est appliquée sur les couples (c2: liste de v2) afin de produire de nouveaux couples (c3: v3) 21

Exemple simple Compter les mots dans un corpus d une multitude de fichiers chacun de grande dimension On veut connaître la liste des mots et leur fréquence respective Le «map» reçoit des lignes de texte et pour chaque mot de la ligne produit le couple (mot: 1) Le «reduce» reçoit alors en entrée des couples (mot: [liste_de_nombres]) et produit en sortie des couples (mot: fréquence), après avoir fait la somme des nombres de la liste 22

nœud 1 nœud 2 23

24

Autre exemple Dans un corpus, compter le nombre de mot ayant une longueur de 1, 2, 3, 4, etc. map(mot) > (long: mot) reduce(long: liste de mots) > (long: nombre) 25

Étape du «shuffle» On applique simplement une fonction de hachage («hash function») afin d associé un id unique à chaque nœud en supposant n nœuds de réduction hash(clé) % n Le nombre de nœuds de réduction est fixé à l avance ainsi chaque processus de map peut déterminer luimême à qui transmettre ses couples de sortie 26

Remarques diverses Les processus de map ne traitent typiquement que les blocs des fichiers qui sont physiquement stockés sur le nœud local Ce sont les lignes du fichier qui sont typiquement transmises aux processus de map en fait, le processus reçoit un couple (offset: ligne) HDFS va répartir automatiquement les différents blocs des différents fichiers sur l ensemble des nœuds On peut appliquer un MapReduce sur la sortie d un autre MapReduce on crée ainsi une cascade de traitement 27

Conclusion Hadoop est un cadriciel qui permet de distribuer des tâches de type MapReduce sur une grappe de serveurs en fait un map suivi d un shuffle suivi d un sort suivi d un reduce les maps sont affectés à un grand nombre de nœuds les reduces aussi, potentiellement aux mêmes nœuds les nombres de maps et de reduces sont programmables Hadoop possède une grande extensibilité car les tâches MapReduce sont indépendantes («they share nothing») D autres composants de plus haut niveau sont également disponibles 28

Pour en savoir plus Tutoriels http://developer.yahoo.com/hadoop/tutorial/ http://www.coreservlets.com/hadoop-tutorial/ https://hadoop.apache.org/docs/r1.2.1/ mapred_tutorial.html Design patterns http://highlyscalable.wordpress.com/2012/02/01/ mapreduce-patterns/ 29