Programación Disribuida
-
Upload
jonathan-narvaez -
Category
Science
-
view
100 -
download
2
description
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