angel gonzalez mendez crprg

30
“Propuesta de un sistema Paralelo para la Construcción de Redes Porosas considerando Restricciones Geométricas” Alumno: Angel González Méndez Asesor: Dra. Graciela Róman Alonso Universidad Autónoma Metropolitana - Iztapalapa Maestría en Ciencias y Tecnologías de la Información Departamento de Ingeniería Eléctrica Noviembre de 2013

Upload: angel-gonzalez

Post on 29-Nov-2015

21 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Angel Gonzalez Mendez CRPRG

“Propuesta de un sistema Paralelo para la Construcciónde Redes Porosas considerando Restricciones

Geométricas”

Alumno: Angel González MéndezAsesor: Dra. Graciela Róman Alonso

Universidad Autónoma Metropolitana - IztapalapaMaestría en Ciencias y Tecnologías de la Información

Departamento de Ingeniería Eléctrica

Noviembre de 2013

Page 2: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Contenido

1 Introducción

2 Objetivos y Metodología

3 Estado del Arte

4 Algoritmo Propuesto

5 Avances y Calendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 2 / 25

Page 3: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Simulación Medios PorososProgramación Paralela

Contenido

1 IntroducciónSimulación Medios PorososProgramación Paralela

2 Objetivos y Metodología

3 Estado del Arte

4 Algoritmo Propuesto

5 Avances y Calendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 2 / 25

Page 4: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Simulación Medios PorososProgramación Paralela

Simulación Medios Porosos

Prácticamente todo material que nos rodea tiene un nivel deporosidad¿Por qué simular materiales porosos?:

La experimentación con materiales reales suele ser costosa y enocasiones peligrosaA través de los resultados obtenidos con la simulación se realizanexperimentos reales con mayor precisiónCon la simulación es posible crear diversos escenarios

Un medio poroso se conforma por varios millones de poros por lo quesu demanda de cómputo es muy alta

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 3 / 25

Page 5: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Simulación Medios PorososProgramación Paralela

Arquitecturas y la Programación Paralela

(a) Multi-Core (b) Cluster híbrido (c) GPU·

Para obtener el máximo potencial de las nuevas arquitecturas serequieren modelos de programación híbridos

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 4 / 25

Page 6: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Objetivos Generales y EspecíficosMetodología

Contenido

1 Introducción

2 Objetivos y MetodologíaObjetivos Generales y EspecíficosMetodología

3 Estado del Arte

4 Algoritmo Propuesto

5 Avances y Calendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 4 / 25

Page 7: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Objetivos Generales y EspecíficosMetodología

Objetivos

Objetivo GeneralDiseño y desarrollo de un simulador de redes porosas considerandorestricciones geométricas

Objetivos EspecíficosAnálisis de las capacidades de las arquitecturas Multi-Core y GPUPropuesta de algoritmos de particionamiento y distribución de datosentre Multi-Core y GPUPropuesta e implementación de un algoritmo paralelo para laconstrucción de redes porosasPropuesta e implementación de una interfaz gráfica para el simulador

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 5 / 25

Page 8: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Objetivos Generales y EspecíficosMetodología

Metodología

Estudio y análisis de los algoritmos actuales para simulación de redesporosasEstudio y análisis de las arquitecturas Multi-Core y GPUPropuesta e implementación de un algoritmo paralelo para laconstrucción de redes porosasDiseño de una arquitectura eficiente de comunicación entre elMulti-core y GPUGeneración de resultadosPublicación de resultados y escritura de la tesis

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 6 / 25

Page 9: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Contenido

1 Introducción

2 Objetivos y Metodología

3 Estado del ArteModelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

4 Algoritmo Propuesto

5 Avances y Calendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 6 / 25

Page 10: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Modelo Dual de Sitios y Enlaces(DSBM)[1]

Se establece el tamaño(L) y la conectividad(C) de la redUna red porosa cúbica se conforma por L3 sitios y 3L3 enlacesLos radios de sitios y enlaces se representan a través de dosdistribuciones normales FS(RS) y FB(RB) respectivamenteEl traslape(Ω) indica la dificultad de conexión entre sitios y enlaces

1S. Cordero, et al., “Review: Site-Bond Network Modeling of Disordered Porous Media”,2004.Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 7 / 25

Page 11: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Construcción de redes porosas

Principio de Construcción(CP)El tamaño de cada sitio debe ser mayor o al menos igual al tamaño decualquiera de los enlaces conectados al mismo.[2] [3] [4] [5]

(a) CP válido (b) CP inválido

2S. Cordero, et al., “Simulation of threedimensional porous networks”,2001.3G. Román, et al.,“In-silico simulation of porous media: Conception and development of a greedy algorithm”, 2011.4J. Matadamas, et al.,"Parallel Simulation of Pore Networks Using Multicore CPUs”, 2012.5C.H. Moreno, et al., “A Parallel Simulator for Mercury (Hg) Porosimetry”, 2009.

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 8 / 25

Page 12: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Construcción de redes porosas

Restricciones Geométricas(GR)Establecen que por cada par de enlaces conectados a un sitio estos nodeben se traslaparse.

(a) GR válida (b) GR inválida

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 9 / 25

Page 13: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Algoritmos para la construcción

Cabe destacar que la mayoría de los trabajos relacionados solo sebasan en el CPLos algoritmos BiaSED[2] y NoMISS[3] son dos de los algoritmos másutilizados para la creación de redes porosas mediante el DSBMEl algoritmo BiaSED construye una red válida a partir de una inválidaaplicando Pasos de Monte CarloEl algoritmo Greedy NoMISS construye una red válida a partir desoluciones parcialmente válidasEn ambos algoritmo se aplican una serie de Pasos de Monte Carlopara mejorar la isotropíaSe han implementado sus respectivas versiones paralelas utilizandoMPI[4]

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 10 / 25

Page 14: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Implementaciones Paralelas

La red se distribuye entre los N nodos a utilizarCada subred tiene un tamaño Lx ∗ Ly ∗ LzLas fronteras de las subredes se omitenSe realizan una serie de trasferencias entre las subredes para lograrmanipular todos los porosSe organizan en una topología tipo toro

(a) Distribución entre 8 nodos (b) Trasferencia de subredesAngel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 11 / 25

Page 15: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Construcción secuencial considerando GR

1 Se generan L3 sitos y 3L3 enlaces y se almacenan dos listas ordenadasLS y LB respectivamente

2 Se inserta un conjunto de nclusters(semillas) de LS en posicionesaleatorias de la red

3 Se hace crecer cada cluster o semilla con los elementos de LS hastaalcanzar un límite establecido(clustersize)

4 Al final el primer cluster utiliza los elementos restantes de LS paraabarcar toda la red

5 Se asignan C enlaces de LB a cada sitio de la red donde cada enlaceasignado cumple con el CP y con las GR

6 Se cuenta el número de sitios violaciones7 Se aplica una serie de Pasos de Montecarlo hasta eliminar todas las

violacionesAngel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 12 / 25

Page 16: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Arquitecturas Heterogéneos

Cada vez es frecuente encontrar equipos o clusters que se componende procesadores multi-core y GPU’sPara sacar provecho de este tipo de arquitecturas es necesario utilizarun modelo de programación híbrido como se muestran en [6],[7] y [8]Sin embargo al utilizar modelos híbridos se debe tomar en cuenta lacomunicación y el distribución de los datosEn particular el uso de GPU’s puede traer consigo un problema extraque es la incompatibilidad entre GPU’s

6 J. Diaz, et al., “A Survey of Parallel Programming Models and Tools in the Multi and Many-Core Era”, 2012.7 JY. Chao, et al., “Hybrid Parallel Programming on GPU Clusters”, 2010.8 K.A. Hawick, et al., “Mixing Multi-Core CPUs and GPUs for Scientific Simulation Software”, Res. Lett. Inf. Math.Sci., vol. 14, pp. 25-77, 2010.

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 13 / 25

Page 17: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Modelado de Redes PorosasConstrucción de Redes PorosasTrabajo RelacionadoProgramación Híbrida

Programación Híbrida

En base a los resultados que se muestran en diversos trabajos noexiste un modelo híbrido perfectoLa eficiencia de un modelo híbrido depende directamente de laaplicaciónPara mejorar el rendimiento en modelos híbridos se pueden utilizartécnicas como: la superposición[9] y el particionamiento funcional[10]

9 J.B. White, et. al, “Overlapping Computation and Communication for Advection on Hybrid Parallel Computers”,2011.

10 Z. Ziming, et. al, “Data Partitioning on Heterogeneous Multicore and Multi-GPU Systems Using Functional Perfor-mance Models of Data-Parallel Applications”, 2012.

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 14 / 25

Page 18: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Contenido

1 Introducción

2 Objetivos y Metodología

3 Estado del Arte

4 Algoritmo Propuesto

5 Avances y Calendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 14 / 25

Page 19: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Algoritmo propuesto

Se propone un algoritmo paralelo que cumpla tanto con el CP y conlas GR sobre un sistema de memoria compartidaEn algoritmo se compone de las siguientes fases paralelas:

Distribución espacial de la redSembrado y construcción de clustersAsignación de enlacesAplicación de Pasos de Monte Carlo

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 15 / 25

Page 20: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Distribución de la red

Se dividirá la red en N subredes, donde N es el número de hilos autilizarEl algoritmo factoriza N en los tres números enteros más pequeñosque satisfacen N = a ∗ b ∗ c, en el mejor de los casosa = b = c = 3√N.

(a) 4 hilos - (1,2,2) (b) 8 hilos - (2,2,2) (c) 64 hilos - (4,4,4)

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 16 / 25

Page 21: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Sembrado y construcción de clusters

1 Genera dos listas ordenadas locales denotadas por LS y LB para lossitios y enlaces respectivamente

2 Se inserta un conjunto de nclusters/N(semillas) de LS en posicionesaleatorias de la subred

3 Se hace crecer cada cluster o semilla con los elementos de LS hastaalcanzar un límite establecido(clustersize)

4 Cada vez que se llega al límite clustersize se cambia el origen5 Al finalizar del sembrado el primer cluster utiliza los elementos

restantes de LS para abarcar toda la subredred

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 17 / 25

Page 22: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Sembrado y construcción de clusters

Figura: Construcción de un cluster de tamaño 3Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 18 / 25

Page 23: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Sembrado y construcción de clusters

(a) Origen en (0,0,0) (b) Cambio de origen a (0,2,0)

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 19 / 25

Page 24: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Asignación de enlaces

Se tiene una lista LSC la cual contiene la ubicación de L3/N sitiosinsertados en la fase anteriorSe asignan C − 3 enlaces de LB a cada sitio en LSC donde cadaenlace asignado cumple con el CP y con las GR

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 20 / 25

Page 25: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Pasos de Monte Carlo

Un MCs involucra 4 ∗ L′3 intercambios de poros, cada intercambiodebe mejorar o igualar el estado de la subred en términos del CP y/oGRLa red se divide en 2 ∗ N partes y a cada hilo se le asignan 2 subredesde forma aleatoriaSe cuenta el número de violaciones en cada par de subredesSe aplican los MCs hasta eliminar todas las violacionesAdicionalmente de cambia el origen para abarcar toda la red

Figura: Ejemplo de un intercambio válidoAngel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 21 / 25

Page 26: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

Propuesta de comunicación para un sistema híbrido

Debido a que el algoritmo propuesto se basa en data-paralelismo seutilizara la técnica de particionamiento funcional para la distribuciónde los datosPara determinar la distribución de los datos entre un Multi-Core y unGPU utilizando particionamiento funcional se requiere de

Evaluar la capacidad de cómputo de las Multi-CoreEvaluar la capacidad de cómputo de las GPU’s*En base a los resultados se determinara la distribución espacial de losdatos entre Multi-Core y GPU’s

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 22 / 25

Page 27: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

AvancesCalendario

Contenido

1 Introducción

2 Objetivos y Metodología

3 Estado del Arte

4 Algoritmo Propuesto

5 Avances y CalendarioAvancesCalendario

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 22 / 25

Page 28: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

AvancesCalendario

Avances

Se implemento el algoritmo propuesto utilizando OpenMPSe esta implementando algoritmo propuesto para GPU’sPara la implementación de la interfaz gráfica se tomo el cursoVisualización de Volumen durante el trimestre 13-O

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 23 / 25

Page 29: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

AvancesCalendario

Resultados

(a) Secuencial (b) Paralelo

Dados los buenos resultados de la implementación con OpenMP seescribió un artículo el cual se encuentra en revisión por el IPDPS-2014

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 24 / 25

Page 30: Angel Gonzalez Mendez CRPRG

IntroducciónObjetivos y Metodología

Estado del ArteAlgoritmo PropuestoAvances y Calendario

AvancesCalendario

Calendario

14-IConcluir la implementación híbrida y generar los resultadoscorrespondientesEscritura de un artículo de revistaEscritura y entrega de la primera versión de la idónea comunicaciónde resultados

14-PConclusión y entrega de la versión final de la idónea comunicación deresultadosDefensa oral del trabajo de investigación ante un jurado especializado

Angel González Méndez MCyTI, UAM - Iztapalapa Noviembre de 2013 25 / 25