angel gonzalez mendez crprg
TRANSCRIPT
“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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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