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

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

Ricco Rakotomalala R.R. Université Lyon 2

Big Data Concepts et mise en oeuvre de Hadoop

Les technologies du Big Data

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

Labs Hadoop Février 2013

Cartographie des solutions BigData

HADOOP ET SON ÉCOSYSTÈME

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)

Certificat Big Data - Master MAthématiques

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

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

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

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

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.

Document réalisé par Khadidjatou BAMBA

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)

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

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

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

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

Tables Rondes Le «Big Data»

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

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

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

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

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

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

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

Hadoop, les clés du succès

Panorama des solutions analytiques existantes

Sauvegarde collaborative entre pairs Ludovic Courtès LAAS-CNRS

M2 GL UE DOC «In memory analytics»

AVRIL Au delà de Hadoop. Panorama des solutions NoSQL

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

Les bases de données relationnelles

Ebauche Rapport finale

Sauvegarde collaborative en pair-à-pair


Big Data et Graphes : Quelques pistes de recherche

BIG DATA en Sciences et Industries de l Environnement

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

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

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

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

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

Introduc)on à Map- Reduce. Vincent Leroy

Big Graph Data Forum Teratec 2013

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

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

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

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

Plateforme de capture et d analyse de sites Web AspirWeb

Les journées SQL Server 2013

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

Problématiques de stockage d un Data Center

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

Les quatre piliers d une solution de gestion des Big Data

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

BIG Data et R: opportunités et perspectives

Offre formation Big Data Analytics

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

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

Introduction Big Data

Fouille de données massives avec Hadoop

Professeur-superviseur Alain April

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

Sauvegarde d une base de données

Big Data et Graphes : Quelques pistes de recherche

Encryptions, compression et partitionnement des données

EMC Data Domain Boost for Oracle Recovery Manager (RMAN)

Structure fonctionnelle d un SGBD

Titre : La BI vue par l intégrateur Orange

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration


Notes de cours Practical BigData

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

Fast and furious decision tree induction

NoSQL. Etat de l art et benchmark

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

Big Data, un nouveau paradigme et de nouveaux challenges

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

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

Cours Bases de données

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

Business Intelligence

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

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

Unitt Zero Data Loss Service (ZDLS) La meilleure arme contre la perte de données

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

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

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

Transcription:

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

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

Données massives 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» Spark : permet d exécuter Hadoop en mémoire (sans passer par des disques). 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 des 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

Comptage et somme 23

24

nœud 1 nœud 2 25

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

É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 27

Comptage et somme 29

L algorithme précédent engendre beaucoup de valeurs unitaires; le map suivant corrige le problème: On peut aussi faire appel à une fonction d agrégation («combiner») 30

31

Traitement de graphes Problème: on possède un réseau d entités et de relations pour chaque entité, on veut calculer son état qui dépend de celui de ses voisins Cet état peut par exemple représenter une agrégation de propriétés associées aux voisins Solution: le réseau est représenté par un ensemble de sommets et chacun de ceux-ci est associé à une liste des identifiants des sommets adjacents Le «map reduce» est appliqué de façon itérative en transmettant des messages aux voisins; à chaque itération le sommet ajuste son état en fonction des messages reçus; le processus se termine après un nombre fixe d itérations ou lorsqu aucun changement d état survient. 32

33

34

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 35

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 36

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/ 37