fbpx
Wikipedia

Programación con datos masivos en R

La programación con datos masivos en R (pbdR, a partir del inglés Programming with Big Data in R)[1]​ es una serie de paquetes R y un entorno para el cálculo estadístico con grandes volúmenes de datos mediante el uso de la programación de alto rendimiento estadístico.[2]​ La pbdR utiliza el mismo lenguaje de programación que R con clases y métodos S3/S4 los cuales son usados entre los estadísticos y la minería de datos para el desarrollo de software estadístico. La diferencia significativa entre pbdR y el código R es que pbdR se centra principalmente en la memoria distribuida de los sistemas, donde los datos son distribuidos a través de varios procesadores y analizados en un modo por lotes, mientras que las comunicaciones entre procesadores se basan en MPI que se utiliza con gran facilidad en sistemas de computación de alto rendimiento (HPC). El sistema R se centra principalmente[cita requerida] en máquinas simples multi-núcleo para el análisis de datos a través de un modo interactivo, tal como la interfaz gráfica de usuario.

Las dos implementaciones principales en R utilizando MPI son Rmpi[3]​ y pbdMPI de la pbdR.

  • La pbdR construida sobre pbdMPI utiliza paralelismo SPMD donde cada procesador se considera como esclavo y posee partes de los datos. El paralelismo SPMD introducido a mediados de 1980 es particularmente eficaz en entornos de cómputo homogéneos para datos de gran tamaño, por ejemplo, realizar la descomposición de valores singulares en una matriz grande, o realizar el análisis de clustering en grandes cantidades de datos de alta dimensión. Por otro lado, no hay ninguna restricción para utilizar paralelismo maestro/esclavo en entornos de paralelismo SPMD
  • El Rmpi[3]​ utiliza paralelismo maestro/esclavo donde un procesador principal (maestro) sirve como el control de los otros procesadores (esclavos). El paralelismo maestro/esclavo introducido a principios del 2000 es particularmente eficaz para tareas grandes en clusters pequeños, por ejemplo, el método bootstrap y la simulación Monte Carlo en estadística aplicada desde probabilidades i.i.d. es generalmente más utilizada en análisis estadístico. En particular, el paralelismo de extracción de tareas tiene mejor rendimiento para Rmpi en entornos de cómputo heterogéneos.

La idea del paralelismo PMD es para dejar que cada procesador haga la misma cantidad de trabajo, pero en partes diferentes de un conjunto grande de datos. Por ejemplo, un moderno GPU es una colección grande de co-procesadores más lento que pueden simplemente aplicar el mismo cálculo en partes diferentes sobre datos relativamente más pequeños, pero el paralelismo SPMD acaba con una manera eficaz de obtener soluciones finales (es decir, cronometrar que la solución sea más corta).[4]​ Es claro que pbdR no es solo propio para clusters pequeños, sino también más estable para analizar grandes volúmenes de datos y más escalable para supercomputadoras.[5]​ En resumen, pbdR

  • No le gusta el RMPI, ni paquetes paralelos en R,
  • No se centra en programación interactiva ni maestros/esclavos,
  • Pero es capaz de utilizar ambos paralelismos SPMD y de tarea.

Diseño de paquetes

La pbdR requiere el uso de varios paquetes desarrollados por el equipo núcleo pbdR. Los paquetes desarrollados son los siguientes.

General I/O Computación Aplicación Personalización Cliente/Servidor
pbdDEMO pbdNCDF4 pbdDMAT pmclust pbdPROF pbdZMQ
pbdMPI pbdADIOS pbdBASE pbdML pbdPAPI remoter
pbdSLAP hpcvis pbdCS
 
Las imágenes describen cómo son correlativos varios paquetes pbdr.

Entre estos paquetes, pbdMPI proporciona capas de funciones para una biblioteca MPI, y también produce una biblioteca compartida y un archivo de configuración para entornos MPI. Todos los demás paquetes confían en esta configuración para la instalación y carga de la biblioteca que evita dificultades de la biblioteca de enlaces y compilación. Todos los demás paquetes pueden utilizar fácil y directamente funciones MPI.

  • pbdMPI - Una interfaz eficaz para cualquier MPI OpenMPI o MPICH2 con énfasis en programas simples/datos múltiples (SPMD) estilo de programación paralela.
  • pbdSLAP - Incluye bibliotecas de álgebra lineal densa y escalable de doble precisión para R, basado en ScaLAPACK versión 2.0.2 el cual incluye varios paquetes de álgebra lineal escalables (denominados BLACS, PBLAS, y ScaLAPACK).
  • pbdNCDF4 - interfaz para unidatos paralelos NetCDF4 formato de archivos de datos
  • pbdBASE - Bajo nivel de códigos y capas ScaLAPACK
  • pbdDMAT - Clases matriciales distribuidas y métodos de programación, con enfoque en álgebra lineal y estadística.
  • pbdDEMO - Conjunto de paquetes de demostraciones y ejemplos, y esta viñeta unificada.
  • pmclust - Modelo paralelo basado en clustering utilizando pbdR
  • pbdPROF - Paquete de perfiles para códigos MPI y la visualización del análisis estadístico
  • pbdZMQ - Interfaz para ØMQ

Entre aquellos paquetes, el paquete pbdDEMO es una colección de 20 o más paquetes demos, los cuales ofrecen ejemplos de uso de varios paquetes pbdR, y contiene una viñeta que ofrece explicaciones detalladas para los demos y ayuda a comprender mejor la matemática o estadística.

Ejemplos

Ejemplo 1

Hola Mundo! Guarde el siguiente código en un archivo llamado "demo.r"

### Inicial MPI library(pbdMPI, quiet = TRUE) init() comm.cat("Hola Mundo!\n") ### Terminar finalize() 

y utiliza la orden

mpiexec -np 2 Rscript demo.r 

para ejecutar el código en el que Rscript es un programa ejecutable de línea de comandos.

Ejemplo 2

El siguiente ejemplo modificado desde pbdMPI ilustra la sintaxis básica del lenguaje de pbdR. Ya que pbdR está diseñado en SPMD, todo los scripts de R están almacenados en archivos y ejecutados desde la línea de comandos a través de mpiexec, mpirun, etc. Guardar el siguiente código en un archivo llamado "demo.r"

### Inicial MPI library(pbdMPI, quiet = TRUE) init() .comm.size <- comm.size() .comm.rank <- comm.rank() ### Colocar un vector x encima de todos los procesadores con valores diferentes N <- 5 x <- (1:N) + N * .comm.rank ### Disminuye x utilizando la operación suma y <- allreduce(as.integer(x), op = "sum") comm.print(y) y <- allreduce(as.double(x), op = "sum") comm.print(y) ### Terminar finalize() 

y utiliza la orden

mpiexec -np 4 Rscript demo.r 

para ejecutar el código en el que Rscript es un programa ejecutable de línea de comandos.

Ejemplo 3

El siguiente ejemplo modificado de la pbdDEMO ilustra el cálculo de la matriz básica de pbdR el cual realiza la descomposición de valores singulares en una matriz dada. Guardar el siguiente código en un archivo llamado "demo.r"

# Inicializar el proceso grid library(pbdDMAT, quiet=T) if(comm.size() != 2) comm.stop("Exactamente 2 procesadores son requeridos para este demo.") init.grid() # Configurar para recordar comm.set.seed(diff=TRUE) M <- N <- 16 BL <- 2 # bloquear --- pasando valores simples BL supone BLxBL blocking dA <- ddmatrix("rnorm", nrow=M, ncol=N, mean=100, sd=10) # LA SVD  svd1 <- La.svd(dA) comm.print(svd1$d) # Terminar finalize() 

y utiliza la orden

mpiexec -np 2 Rscript demo.r 

para ejecutar el código en el que Rscript es un programa ejecutable de línea de comandos.

Lecturas recomendadas

  • Raim, A.M. (2013). Introduction to distributed computing with pbdR at the UMBC High Performance Computing Facility (PDF) (Technical report). UMBC High Performance Computing Facility, University of Maryland, Baltimore County. HPCF-2013-2. 
  • Bachmann, M.G., Dyas, A.D., Kilmer, S.C. and Sass, J. (2013). Block Cyclic Distribution of Data in pbdR and its Effects on Computational Efficiency (PDF) (Technical report). UMBC High Performance Computing Facility, University of Maryland, Baltimore County. HPCF-2013-11.
  • Bailey, W.J., Chambless, C.A., Cho, B.M. and Smith, J.D. (2013). Identifying Nonlinear Correlations in High Dimensional Data with Application to Protein Molecular Dynamics Simulations (PDF) (Technical report). UMBC High Performance Computing Facility, University of Maryland, Baltimore County. HPCF-2013-12.
  • Dirk Eddelbuettel. "High-Performance and Parallel Computing with R". 
  • "R at 12,000 Cores". 
    Este artículo fue leído 22,584 veces en 2012 desde su publicación en octubre 16, 2012 y clasificado número 3[6]
  • Google Summer of Code - R 2013. https://archive.today/20130629095333/http://rwiki.sciviews.org/doku.php?id=developers:projects:gsoc2013:mpiprofiler. 
  • Wush Wu (2014). "在雲端運算環境使用R和MPI". 
  • Wush Wu (2013). "快速在AWS建立R和pbdMPI的使用環境". 

Referencias

  1. Ostrouchov, G., Chen, W.-C., Schmidt, D., Patel, P. (2012). "Programming with Big Data in R".
  2. Chen, W.-C. & Ostrouchov, G. (2011). "HPSC -- High Performance Statistical Computing for Data Intensive Research".
  3. Yu, H. (2002). "Rmpi: Parallel Statistical Computing in R". R News.
  4. Mike Houston. "Folding@ghome-GPGPU" Recuperado en 2007-10-04
  5. Schmidt, D., Ostrouchov, G., Chen, W.-C., y Patel, P. (2012). "Tight Coupling of R and Distributed Linear Algebra for High-Level Programming with Big Data". High Performance Computing, Networking, Storage and Analysis (SCC), 2012 SC Companion: 811–815.
  6. "100 most read R posts in 2012 (stats from R-bloggers) – big data, visualization, data manipulation, and other languages".

Enlaces externos

  • Sitio web oficial
  •   Datos: Q16975325

programación, datos, masivos, programación, datos, masivos, pbdr, partir, inglés, programming, with, data, serie, paquetes, entorno, para, cálculo, estadístico, grandes, volúmenes, datos, mediante, programación, alto, rendimiento, estadístico, pbdr, utiliza, m. La programacion con datos masivos en R pbdR a partir del ingles Programming with Big Data in R 1 es una serie de paquetes R y un entorno para el calculo estadistico con grandes volumenes de datos mediante el uso de la programacion de alto rendimiento estadistico 2 La pbdR utiliza el mismo lenguaje de programacion que R con clases y metodos S3 S4 los cuales son usados entre los estadisticos y la mineria de datos para el desarrollo de software estadistico La diferencia significativa entre pbdR y el codigo R es que pbdR se centra principalmente en la memoria distribuida de los sistemas donde los datos son distribuidos a traves de varios procesadores y analizados en un modo por lotes mientras que las comunicaciones entre procesadores se basan en MPI que se utiliza con gran facilidad en sistemas de computacion de alto rendimiento HPC El sistema R se centra principalmente cita requerida en maquinas simples multi nucleo para el analisis de datos a traves de un modo interactivo tal como la interfaz grafica de usuario Las dos implementaciones principales en R utilizando MPI son Rmpi 3 y pbdMPI de la pbdR La pbdR construida sobre pbdMPI utiliza paralelismo SPMD donde cada procesador se considera como esclavo y posee partes de los datos El paralelismo SPMD introducido a mediados de 1980 es particularmente eficaz en entornos de computo homogeneos para datos de gran tamano por ejemplo realizar la descomposicion de valores singulares en una matriz grande o realizar el analisis de clustering en grandes cantidades de datos de alta dimension Por otro lado no hay ninguna restriccion para utilizar paralelismo maestro esclavo en entornos de paralelismo SPMD El Rmpi 3 utiliza paralelismo maestro esclavo donde un procesador principal maestro sirve como el control de los otros procesadores esclavos El paralelismo maestro esclavo introducido a principios del 2000 es particularmente eficaz para tareas grandes en clusters pequenos por ejemplo el metodo bootstrap y la simulacion Monte Carlo en estadistica aplicada desde probabilidades i i d es generalmente mas utilizada en analisis estadistico En particular el paralelismo de extraccion de tareas tiene mejor rendimiento para Rmpi en entornos de computo heterogeneos La idea del paralelismo PMD es para dejar que cada procesador haga la misma cantidad de trabajo pero en partes diferentes de un conjunto grande de datos Por ejemplo un moderno GPU es una coleccion grande de co procesadores mas lento que pueden simplemente aplicar el mismo calculo en partes diferentes sobre datos relativamente mas pequenos pero el paralelismo SPMD acaba con una manera eficaz de obtener soluciones finales es decir cronometrar que la solucion sea mas corta 4 Es claro que pbdR no es solo propio para clusters pequenos sino tambien mas estable para analizar grandes volumenes de datos y mas escalable para supercomputadoras 5 En resumen pbdR No le gusta el RMPI ni paquetes paralelos en R No se centra en programacion interactiva ni maestros esclavos Pero es capaz de utilizar ambos paralelismos SPMD y de tarea Indice 1 Diseno de paquetes 2 Ejemplos 2 1 Ejemplo 1 2 2 Ejemplo 2 2 3 Ejemplo 3 3 Lecturas recomendadas 4 Referencias 5 Enlaces externosDiseno de paquetes EditarLa pbdR requiere el uso de varios paquetes desarrollados por el equipo nucleo pbdR Los paquetes desarrollados son los siguientes General I O Computacion Aplicacion Personalizacion Cliente ServidorpbdDEMO pbdNCDF4 pbdDMAT pmclust pbdPROF pbdZMQpbdMPI pbdADIOS pbdBASE pbdML pbdPAPI remoterpbdSLAP hpcvis pbdCS Las imagenes describen como son correlativos varios paquetes pbdr Entre estos paquetes pbdMPI proporciona capas de funciones para una biblioteca MPI y tambien produce una biblioteca compartida y un archivo de configuracion para entornos MPI Todos los demas paquetes confian en esta configuracion para la instalacion y carga de la biblioteca que evita dificultades de la biblioteca de enlaces y compilacion Todos los demas paquetes pueden utilizar facil y directamente funciones MPI pbdMPI Una interfaz eficaz para cualquier MPI OpenMPI o MPICH2 con enfasis en programas simples datos multiples SPMD estilo de programacion paralela pbdSLAP Incluye bibliotecas de algebra lineal densa y escalable de doble precision para R basado en ScaLAPACK version 2 0 2 el cual incluye varios paquetes de algebra lineal escalables denominados BLACS PBLAS y ScaLAPACK pbdNCDF4 interfaz para unidatos paralelos NetCDF4 formato de archivos de datos pbdBASE Bajo nivel de codigos y capas ScaLAPACK pbdDMAT Clases matriciales distribuidas y metodos de programacion con enfoque en algebra lineal y estadistica pbdDEMO Conjunto de paquetes de demostraciones y ejemplos y esta vineta unificada pmclust Modelo paralelo basado en clustering utilizando pbdR pbdPROF Paquete de perfiles para codigos MPI y la visualizacion del analisis estadistico pbdZMQ Interfaz para OMQEntre aquellos paquetes el paquete pbdDEMO es una coleccion de 20 o mas paquetes demos los cuales ofrecen ejemplos de uso de varios paquetes pbdR y contiene una vineta que ofrece explicaciones detalladas para los demos y ayuda a comprender mejor la matematica o estadistica Ejemplos EditarEjemplo 1 Editar Hola Mundo Guarde el siguiente codigo en un archivo llamado demo r Inicial MPI library pbdMPI quiet TRUE init comm cat Hola Mundo n Terminar finalize y utiliza la orden mpiexec np 2 Rscript demo r para ejecutar el codigo en el que Rscript es un programa ejecutable de linea de comandos Ejemplo 2 Editar El siguiente ejemplo modificado desde pbdMPI ilustra la sintaxis basica del lenguaje de pbdR Ya que pbdR esta disenado en SPMD todo los scripts de R estan almacenados en archivos y ejecutados desde la linea de comandos a traves de mpiexec mpirun etc Guardar el siguiente codigo en un archivo llamado demo r Inicial MPI library pbdMPI quiet TRUE init comm size lt comm size comm rank lt comm rank Colocar un vector x encima de todos los procesadores con valores diferentes N lt 5 x lt 1 N N comm rank Disminuye x utilizando la operacion suma y lt allreduce as integer x op sum comm print y y lt allreduce as double x op sum comm print y Terminar finalize y utiliza la orden mpiexec np 4 Rscript demo r para ejecutar el codigo en el que Rscript es un programa ejecutable de linea de comandos Ejemplo 3 Editar El siguiente ejemplo modificado de la pbdDEMO ilustra el calculo de la matriz basica de pbdR el cual realiza la descomposicion de valores singulares en una matriz dada Guardar el siguiente codigo en un archivo llamado demo r Inicializar el proceso grid library pbdDMAT quiet T if comm size 2 comm stop Exactamente 2 procesadores son requeridos para este demo init grid Configurar para recordar comm set seed diff TRUE M lt N lt 16 BL lt 2 bloquear pasando valores simples BL supone BLxBL blocking dA lt ddmatrix rnorm nrow M ncol N mean 100 sd 10 LA SVD svd1 lt La svd dA comm print svd1 d Terminar finalize y utiliza la orden mpiexec np 2 Rscript demo r para ejecutar el codigo en el que Rscript es un programa ejecutable de linea de comandos Lecturas recomendadas EditarRaim A M 2013 Introduction to distributed computing with pbdR at the UMBC High Performance Computing Facility PDF Technical report UMBC High Performance Computing Facility University of Maryland Baltimore County HPCF 2013 2 Bachmann M G Dyas A D Kilmer S C and Sass J 2013 Block Cyclic Distribution of Data in pbdR and its Effects on Computational Efficiency PDF Technical report UMBC High Performance Computing Facility University of Maryland Baltimore County HPCF 2013 11 Bailey W J Chambless C A Cho B M and Smith J D 2013 Identifying Nonlinear Correlations in High Dimensional Data with Application to Protein Molecular Dynamics Simulations PDF Technical report UMBC High Performance Computing Facility University of Maryland Baltimore County HPCF 2013 12 Dirk Eddelbuettel High Performance and Parallel Computing with R R at 12 000 Cores Este articulo fue leido 22 584 veces en 2012 desde su publicacion en octubre 16 2012 y clasificado numero 3 6 Google Summer of Code R 2013 https archive today 20130629095333 http rwiki sciviews org doku php id developers projects gsoc2013 mpiprofiler Wush Wu 2014 在雲端運算環境使用R和MPI Wush Wu 2013 快速在AWS建立R和pbdMPI的使用環境 Referencias Editar Ostrouchov G Chen W C Schmidt D Patel P 2012 Programming with Big Data in R Chen W C amp Ostrouchov G 2011 HPSC High Performance Statistical Computing for Data Intensive Research a b Yu H 2002 Rmpi Parallel Statistical Computing in R R News Mike Houston Folding ghome GPGPU Recuperado en 2007 10 04 Schmidt D Ostrouchov G Chen W C y Patel P 2012 Tight Coupling of R and Distributed Linear Algebra for High Level Programming with Big Data High Performance Computing Networking Storage and Analysis SCC 2012 SC Companion 811 815 100 most read R posts in 2012 stats from R bloggers big data visualization data manipulation and other languages Enlaces externos EditarSitio web oficial Datos Q16975325Obtenido de https es wikipedia org w index php title Programacion con datos masivos en R amp oldid 128884642, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos