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.
2. MapReduce
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.
3. MapReduce Características
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
4. MapReduce Características
Sistema de Archivos Distribuidos
De GFS (Google File System) a HDFS (Hadoop File System)
Arquitectura Master Worker
Map Workers
Minimizar el uso de la red.
Uso del disco local para la grabación de los archivos de salida.
Tolerancia a Fallos
Reduce Workers
Replicación de resultados.
Múltiples ficheros Reduce
6. MapReduce + HDFS
Imagen tomada de: http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html
7. MapReduce en la Bioinformática
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
8. Conclusiones
● 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.
9. Hadoop YARN
Apache Hadoop YARN (Yet
Another Resource Negotiator)
MapReduce V2
Adición de Elementos
● JobTracker
● ResourceManager
● ApplicationMaster
Imagen tomada de: http://hadoop.apache.org/docs/r2.3.0/hadoop-yarn/hadoop-yarn-site/YARN.html
10. ● 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
11. Storm
● 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/
Imagen tomada de: https://storm.incubator.apache.org/
12. BSP
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