Programación Disribuida

Post on 21-Dec-2014

100 views 2 download

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.

Transcript of Programación Disribuida

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