BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Module Systèmes d’exploitation
GESTION D’IMPRISSION SOUS WINDOWS & LINUX
TRAITEMENT PROGRAMME DE L’INFORMATION
Types des systèmes d’exploitation
1/22 Présentation Dechou & CO Développement dun programme de gestion dascenseurs Plan d'assurance qualité
1/17 Projet LAGAN Dechou & CO Développement dun programme de gestion dascenseurs Plan d'assurance qualité
Projet LAGAN Développement d’un programme de gestion d’ascenseurs
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
Chapitre I : Systèmes d’exploitation
Introduction Pour concrétiser l’enseignement assisté par ordinateur
Méthodes de simulation
A abstraction b assembleur c nombre binaire d bit e cache f UC g puce h compilateur i famille dordinateurs j contrôle k chemin de données l défaut m dé
Génération interactive dimages projectives : Application à la Radiothérapie Pierre BLUNIER Du 01/12/2002 au 28/03/2003 Centre Léon Bérard.
Organisation et Management de projet
Les réseaux informatiques
Informatique parallèle hautes performances
FLSI602 Génie Informatique et Réseaux
Calcul numérique (avec Maple)
بسم الله الرحمن الرحيم. Institut Supérieure des Etudes Technologiques de Kébili.
Systèmes d’exploitation
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Coupe de France de Robotique 2007 Candidat n°4 – Steven LY BTS IRIS – PROMOTION
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
Département informatique Automne 2013
Les Systèmes d’Exploitation
Analyse et Conception orientée objet
Serveurs Partagés Oracle
Principes de persistance dans les applications orienté objet
Ecole Supérieure Privée de ingénierie et de technologie année universitaire :2013/2014 Cross-Plateform Cours JavaScript.
Création d'un diaporama Création d'un diaporama
Configuration de Windows Server 2008 Active Directory
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
L’utilisation des bases de données
A la découverte de la bureautique et des fichiers.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
@SSR – Installation des applications eduscol.education.fr/securite - février 2007 © Ministère de l'Éducation nationale, de l'Enseignement supérieur et.
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
Création de bases de données
Structure et Services « STS » Menu Structures : Divisions
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Le workflow Encadré par: M . BAIDADA Réalisé par: ATRASSI Najoua
‘‘Open Data base Connectivity‘‘
1 PLAN I. Eclipse Modeling Framework  Présentation  Le modèle Ecore  Code généré  Utilisation de template II.Graphical Modeling Framework  Présentation.
ANALYSE METHODE & OUTILS
Gérer la sécurité des mots de passe et les ressources
Gestion des fichiers et dossiers
CEDCOM architecture haute performance pour des applications “big data” Tanguy Raynaud Projet CEDAR.
Exploration de la programmation android Formation Assurer par: Club FreeWays Réalisé par: BOUHJJA Lamia.
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Création d’une application complète
Les Composants de l’architecture Oracle
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
Créer des packages.
Yonel GRUSSON1 Installation d'une imprimante sous Windows 200x Server.
Formation sur la publication des données de biodiversité dans le réseau GBIF et leur aptitude à être utilisées, édition 2011 Comment le DwC-A a changé.
Dossier n°1 Structure et Fonctionnement d'un micro-ordinateur.
La mémoire virtuelle Dans laquelle un ordinateur exécute des programmes dont les besoins en mémoires dépassent la mémoire disponible. Par exemple des.
Construction d'une hiérarchie mémoire faible consommation
Logiciels virtualisation serveur
Doan Chien Thang Aôut,2008.  La vue d'ensemble des systèmes d'exploitation  Les processus et les fils  Gestion de la mémoire  Le système des fichiers.
Visualisation des flots optiques en 3D
Travailler dans un environnement numérique évolutif Domaine D1.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
Transcription de la présentation:

BIGDATA Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse 1 1

Sommaire Introduction générale Les solutions dans R A. Retour sur la Présentation générale B. Limites de R C. Des solutions Les solutions dans R A. Big memory B. Ff Conclusions et ouvertures 1 2 3

Introduction générale Solutions dans R Conclusions et ouvertures 1 Introduction générale

Retour sur la Présentation générale Introduction Solutions dans R Conclusions et ouvertures Retour sur la Présentation générale • Possibilité de combiner programmation, utilisation de fonctions pré-définies (code source accessible) et/ou clique boutons Rcmdr. • Plus de 2800 librairies (packages) ! Collaboratif. • Évolution rapide du logiciel, disponibilité immédiate de nouvelles méthodes ou méthodologies. • Disponible sous Mac, Windows, Linux. • Diffusion : congrès. Source : Introduction à R, Marine Cadoret & Julie Josse

Introduction Solutions dans R Conclusions et ouvertures Limites de R Deux limites importantes : R n’utilise par défaut qu’un seul CPU. read.table enregistre par défaut les données dans la RAM. Facile d’épuiser la RAM en stockant des données inutiles. Le système d'exploitation limité à 4 Go de mémoire. R limité à 2Go. Problématique, lorsque l’heure est de plus en plus aux gros jeux de données ! (amazon, gouv, aéronautique, marchés financiers…) Plusieurs Go ! Téraoctets ?!

BIGDATA Solutions Il existe plusieurs solutions : Acheter plus de RAM. Introduction Solutions dans R Conclusions et ouvertures Solutions Il existe plusieurs solutions : Acheter plus de RAM. Utiliser un Système de Gestion de Bases de Données. Echantillonner, ré-échantillonner, ou utiliser la méthode de Monte Carlo. Ce dont nous allons vous parler … BIGDATA

BIGDATA Présentation sur le parallel computing !!! Introduction Solutions dans R Conclusions et ouvertures BIGDATA « BigData » = jeu de données qui ne rentre pas dans la RAM. Packages de R pour les prendre en charge : Bigmemory. Ff. Il existe également des packages permettant de pratiquer le parallel computing pour atteindre un objectif similaire : HadoopStreaming. Rhipe. Présentation sur le parallel computing !!!

Les solutions dans R 2 Introduction Solutions dans R Conclusions et ouvertures 2 Les solutions dans R

Schéma du projet « bigmemory » Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory « The bigmemory Project » Michael J. Kane and John W. Emerson, Yale University http://www.bigmemory.org « Sister » packages: Bigalgebra Bigtabulate Biganalytics Synchronicity Date de publication: 12/09/2012 Schéma du projet « bigmemory »

Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory Stocker des objets massifs (matrices) dans la RAM en utilisant des pointeurs extérieurs pour les référer. Le jeu de données peut être « file-backed » pour le gérer et l’analyser facilement lorsque sa taille est plus élevée que celle de la RAM. Certains processus dans le même ordinateur peuvent partager ces objets issus de « bigmemory ».

Le package Bigmemory Création Accession Manipulation Importation Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory Création big.matrix as.big.matrix filebacked.big.matrix shared.big.matrix Accession describe attach.big.matrix attach.resource Manipulation mwhich morder mpermute deepcopy flush write.big.matrix Importation read.big.matrix

(filename, sep = ’,’, header = FALSE, skip = 0, Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory read.big.matrix (filename, sep = ’,’, header = FALSE, skip = 0, col.names = NULL, row.names = NULL, has.row.names=FALSE, ignore.row.names=FALSE, extraCols = NULL, type = NA, separated = FALSE, backingfile = NULL, backingpath = NULL, descriptorfile = NULL, shared=TRUE)

Le package Bigmemory separated Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory separated TRUE : la mémoire est allouée dans des vecteurs distincts pour chaque colonne. FAUX : la matrice est stockée dans le format traditionnel, comme dans R standard.

Le package Bigmemory backingfile descriptorfile Introduction Solutions dans R Conclusions et ouvertures Le package Bigmemory backingfile Une « file-backed » matrice peut dépasser la RAM disponible en utilisant l'espace du disque dur, et peut également être partagée entre plusieurs processus. Une « file-backed » matrice peut dépasser la RAM disponible en taille à l'aide d'un cache de fichier (ou des caches de fichiers multiples, si separated = TRUE). descriptorfile Donner le nom du fichier pour contenir la description « file-backed », pour une utilisation ultérieure avec attach.big.matrix

Un peu d’applications ??

Big.matrix matrix Exemple de création et Manipulation de données Introduction Solutions dans R Conclusions et ouvertures Exemple de création et Manipulation de données objet qui pointe vers l'emplacement mémoire de la structure des données Demande de Permission pour modification !!! Big.matrix matrix

Usage des fonctions morder et mpermute Introduction Solutions dans R Conclusions et ouvertures Exemple de création et Manipulation de données Usage des fonctions morder et mpermute

Exemple: importation des données Introduction Solutions dans R Conclusions et ouvertures Exemple: importation des données Library ("bigmemory") ozone<-read.big.matrix ("ozone.txt", header=TRUE, sep=" ", type = "double", has.row.names=TRUE, backingfile = "ozone.bin", backingpath = "E:/documents/Rennes/MASTER 2 Stat/Cours R/TD2" descriptorfile = "ozone.desc") parallel computing Summary (ozone) Library ("biganalytics") Summary (ozone) dim (ozone) attributes (ozone)

Nouvelle session de R sur le même ordinateur ou sur plusieurs autres Introduction Solutions dans R Conclusions et ouvertures Exemple: importation des données Nouvelle session de R sur le même ordinateur ou sur plusieurs autres Parallel computing plusieurs processus de R peuvent partager des objets de mémoire via l’appel par référence

Un petit test !! importation de 2 fichiers. Introduction Solutions dans R Conclusions et ouvertures Un petit test !! Samsung Electronics Celeron (R) Dual -Core CPU T3500@ 2.10GHz, 3 GoRAM. importation de 2 fichiers. fonction fichier Temps (sec) read.big.matrix (Bigmemory) (.csv) 167 Mo ~ 1,37 min read.table ~ 4,33 min 1,62 Go ~ 46,17 min ??? Avec bigmemory gain important de vitesse d’importation des fichiers. Après 4h d’attente …

Stocker une matrice dans la mémoire par référence. Introduction Solutions dans R Conclusions et ouvertures Avantages: Stocker une matrice dans la mémoire par référence. L’accès à la RAM est rapide grâce à C + +. Inconvénients: Disparaît au redémarrage, à moins d'utiliser filebacked.big.matrix. Limite du processus filebacked sur les systèmes 32 bits.

Il n’existe pas que Bigmemory!!

Le package ff ff= fast access files Introduction Solutions dans R Conclusions et ouvertures Le package ff ff= fast access files Support externe mémoire CHUNKS Facilite l’accès des données de grande dimension; bigdata=objets ff, on y a accès comme à des objets R ordinaires. Les données sont stockées dans le disque dur mais se comportent comme si elles étaient dans la RAM. Les objets ff sont transformés en fichiers binaires très légers pour la mémoire!!

Le package ff Il comprend 2 parties: - « low level » écrite en C Introduction Solutions dans R Conclusions et ouvertures Le package ff Il comprend 2 parties: - « low level » écrite en C « high level» écrite en R

La partie en R comprend les sections suivantes: Introduction Solutions dans R Conclusions et ouvertures Le package ff La partie en R comprend les sections suivantes: Ouverture/création de fichiers: Contrôlé par 2 principales fonctions, ff et ffm. Si les arguments length et dim sont spécifiés alors création, sinon ouverture. Les opérations Entrés/Sorties (I/O): Contrôlé par les opérateurs ‘[ ]’ , ‘<-’ Utilisation de fichiers binaires!!!! Fonctions et méthodes pour les objets ff et ffm: Plusieurs fonctions qui optimisent l’utilisation du package sont mises à disposition.

Le package ff ff( initdata = NULL , length = NULL , levels = NULL Introduction Solutions dans R Conclusions et ouvertures Le package ff Quelques fonctions utiles: Valeurs qui Initialisent l’objet à construire ff( initdata = NULL , length = NULL , levels = NULL , dim = NULL , filename = NULL , overwrite = FALSE , vmode = NULL ) Var qualitatives Donne un nom au fichier dans lequel est créé l’objet Mode de stockage virtuel 27 arguments à elle seule!!! Si True, ecrase des fichiers contenant déjà des objets

Quelques fonctions utiles: Introduction Solutions dans R Conclusions et ouvertures Quelques fonctions utiles: As.ffdf conversion d’une matrice en dataframe. ffm.data.frame Biglm ajuste un modèle linéaire à des ff bigdata. Bigglm read.table.ffdf importe un jeu de données en le transformant en ff dataframe.

Ne cesse d’être optimisé. Introduction Solutions dans R Conclusions et ouvertures Avantages: Permet à R de travailler avec plusieurs jeux de données énormes simultanément; Nettoie le système; Ne cesse d’être optimisé. Inconvénients: Difficile à mettre en œuvre et à comprendre car peu d’exemples; La mise sur pieds d’analyses performantes requiert beaucoup de réflexion.

Conclusions et ouvertures Introduction Solutions dans R Conclusions et ouvertures 3 Conclusions et ouvertures

Conclusions Quel package utiliser ? C’est une question de goût ! Introduction Solutions dans R Conclusions et ouvertures Conclusions Quel package utiliser ? C’est une question de goût ! Bigmemory est plus confortable à l’utilisation. Mais ff produit des data frames, type utilisé par beaucoup de fonctions sous R standard.

Conférence BIG DATA PARIS, Introduction Solutions dans R Conclusions et ouvertures Pour en savoir plus … Conférence BIG DATA PARIS, 2ème édition, 03-04 avril 2013, CNIT Paris La Défence. www.bigdataparis.com

Introduction Solutions dans R Conclusions et ouvertures Sources : Bigmemory.pdf ; Michael J. Kane & and John W. Emerson ; 17 Septembre 2012. Ff.Pdf ; Daniel Adler & all ; 8 Mai 2012. Working with Large Datasets ; Ryan R. Rosario ; 17 Aout 2010. Big_Memory V0.pdf ; Gstat ; 24 Mars 2012.

BIGDATA C’était Stella Kemgang Samuel Quettier Dzung Nguyen Cyrille Meli Encadré par : Julie Josse 33 33