Upload
jonathan-narvaez
View
100
Download
2
Embed Size (px)
DESCRIPTION
Breve descripción de programación distribuida en las que se incluye, Spark, MapReduce, Storm, BSP. Brief description of the distributed programming included, Spark, MapReduce, Storm, BSP.
Citation preview
Modelos de Programación DistribuidaJonathan Narvaez
Modelo de programación Data-Parallel, diseñado para escalabilidad y tolerancia a fallos
● Uso de operaciones Map y Reduce
Diseño original por Google (2004)
● Usado para la ejecución de múltiples operaciones● Manejo de Petabytes diarios.
MapReduce
Escalabilidad con grandes volúmenes de datos.
● Uso de equipos de bajo costo● Uso de redes de bajo costo● Facilidad en la programación● Tolerancia a fallos
MapReduce Características
Sistema de Archivos Distribuidos
De GFS (Google File System) a HDFS (Hadoop File System)
Arquitectura Master WorkerMap Workers
Minimizar el uso de la red.Uso del disco local para la grabación de los archivos de salida.Tolerancia a Fallos
Reduce WorkersReplicación de resultados.Múltiples ficheros Reduce
MapReduce Características
MapReduce Características
Imagen tomada de: https://www.flickr.com/photos/nourlcn/5699664914/
MapReduce + HDFS
Imagen tomada de: http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
1. Biomedical Case Studies in Data Intensive Computing
2. Cloud-scale RNA-sequencing differential expression analysis with Myrna
3. Cloud computing for comparative genomics
4. BlastReduce: High Performance Short Read Mapping with MapReduce
5. Biodoop: Bioinformatics on Hadoop
6. CloudBurst: highly sensitive read mapping with MapReduce
7. Kepler + Hadoop : A General Architecture Facilitating Data-Intensive Applications in Scientific Workflow Systems
8. MapReduce-Based Pattern Finding Algorithm Applied in Motif Detection for Prescription Compatibility Network
MapReduce en la Bioinformática
● El modelo MapReduce reduce la dificultad de la distribución de trabajos y la tolerancia a fallos.
● Diseño escalable y reducción de costos asociados.
● No es adecuado a todos los problemas.
● Restricción a un solo modelos de herramientas de programación.
Conclusiones
Apache Hadoop YARN (Yet Another Resource Negotiator)
MapReduce V2
Adición de Elementos● JobTracker● ResourceManager● ApplicationMaster
Hadoop YARN
Imagen tomada de: http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/YARN.html
● Modelo Resilient Distributed Data Sets.● Modelo de distribuido de memoria para computación, aplicado con apache
Mesos.● Escrito en Scala.● En memoria 100x.● En disco 10x.
https://spark.apache.org/
Spark
● Sistema de computación distribuida en tiempo real● Gestión de altos flujos de información● Diseñado con la topología Directed Acyclic Graph● Procesamiento de información similares a MapReduce, con la diferencia
que se realiza en tiempo real.● https://storm.incubator.apache.org/
Storm
Imagen tomada de: https://storm.incubator.apache.org/
Bulk Synchronous Parallel
● Procesamiento en memoria local● Sistema de mensajes entre pares● Facilidad en la sincronización de todos los componentes
● Modelo de computación Concurrente● Intercambio de Mensajes que facilitan el acceso remoto a datos● Algoritmo para la sincronización de procesos.
https://hama.apache.org/index.html
BSP