PROGRAMACIÓN EN CLUSTERS

Slides:



Advertisements
Presentaciones similares
Sistema en Diferencias Finitas
Advertisements

Programa de Análisis Numérico
COORDENAS CILINDRICAS
Clasificación de las ecuaciones
Maximiliano Monterrubio Gutiérrez
DESCRIPCION DE SISTEMAS
Objetivos Desarrollar software funcional multi-modelo sobre distintas plataformas para el estudio de sistemas complejos de cómputo de alto rendimiento.
MROGINSKI, Javier L. – BENEYTO, Pablo A. –
Bivariadas y Multivariadas
Solución Numérica de Ecuaciones Diferenciales Parciales
INSTITUTO TECNOLÓGICO SUPERIOR DE CALKINÍ EN EL ESTADO DE CAMPECHE
Tema 1: Programación dinámica
Son problemas secuenciales: El problema se puede dividir en etapas. Definición: Método que permite determinar de manera eficiente las decisiones que optimizan.
Unidad académica: Ingenierías
Modelo matemático de un yacimiento de aceite
H.K. Versteeg and W. Malalasekera
Estructuras matemáticas del método de elementos finitos
Método de Gauss-Seidel
Iris Espinoza, Robinson Rivas, Iván Saavedra
Brean León Rodríguez Diego Ochoa Moreno
Transferencia de calor de un Jet de impacto Presentación Final Alumnos: Juan Fernández del Valle Leonardo Henríquez Cancino Máximo León Ganem Curso: ME-717.
Fundamentos Matemáticos del Método de los Elementos Finitos
Análisis de Señales y Sistemas
Método de Gauss-Seidel
Métodos de Diferencias Finitas para Ecuaciones en Derivadas Parciales
Métodos Numéricos para Ecuaciones en Derivadas Parciales
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Flujo de carga en Sistemas de Potencia.
Métodos iterativos para sistemas lineales
Ecuaciones diferenciales
Problemas de frontera para ecuaciones diferenciales
Tema 6: Modelado de sistemas distribuidos
TEMA I. EL PROCESO DE LA CONDUCCIÓN DEL CALOR
UNIVERSIDAD NACIONAL DEL NORDESTE
Problemas de Mecánica de Medios Continuos
A x + B y + C z + D = 0 Departamento de Matemáticas
ECUACIÓN DE CONDUCCIÓN DE CALOR Por: Ing. Luis L. López Taborda
Contenido Marco de referencia Arquitectura de computadoras paralelas
Tema 3: Simulación estacionaria..
Desarrollo de aplicaciones para ambientes distribuidos
DIFERENCIAS FINITAS EN EL DOMINIO DEL TIEMPO
Primero escribimos las ecuaciones en la forma estándar.
Flujo de carga en Sistemas de Potencia.
Ecuaciones diferenciales
ESTUDIO DE FLUJOS DE POTENCIA
METODOS DE SOLUCION DE SISTEMAS DE ECUACIONES
Redes Neuronales Artificiales
4. Conducción transitoria.
Una introducción a la computación evolutiva
Sistemas Lineales Análisis de error Prof.: Dra. Nélida Beatriz Brignole.
Aproximación numérica de las ecuaciones de flujo mediante
Mejora de la localidad en operaciones de E/S colectivas no contiguas XVIII Jornadas de Paralelismo, JP’2007 Rosa Filgueira, David E. Singh, Florin Isaila,
METODO DEL BALANCE DE ENERGÍA DIFERENCIAS FINITAS m,n m,n+1 m,n-1 m-1,nm+1,n.
Sesión 12: Procesos de Decisión de Markov
MASTER EN MÉTODOS NUMÉRICOS PARA CÁLCULO Y DISEÑO EN INGENIERÍA ASIGNATURA: TÉCNICAS DE PRE Y POSTPROCESO GRÁFICO TRABAJO FINAL ANÁLISIS ESTÁTICO LINEAL.
INAOE CURSO PROPEDEUTICO PARA LA MAESTRIA EN ELECTRONICA
Matrices rango de una matriz
Aplicaciones de la Ecuaciones Diferenciales de Primer Orden
SISTEMA DE ECUACIONES LINEALES. Métodos ExactosMétodos Aproximados.
DISEÑAR Y ELABORAR ALGORITMOS Nombre: anayeli hernandez peralta Grado y grupo: 1 “3” Materia: Informática y computación Maestro: Ángel Buendía Turno: Vespertino.
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
DISEÑAR Y ELABORAR ALGORITMOS NOMBRE: LAURA PAEZ GARCIA GRADO Y GRUPO: 1 “3” MATERIA: INFORMÁTICA Y COMPUTACIÓN MAESTRO: ÁNGEL BUENDÍA TURNO: VESPERTINO.
Convección Convección natural.
Tema 1 : Introducción y errores
para Ingenieros Químicos
UNIDAD 2 LEY DE GAUSS.
Método de Diferencias Finitas para Ecuaciones en Derivadas Parciales Ecuaciones Elípticas y Parabólicas.
Lic. Amalia Vilca Pérez.  Se dice que la conducción de calor en un medio es:  Estacionaria (o estable) cuando la temperatura no varía con el tiempo.
Algoritmo Genético para la solución del problema SAT René Clemente Juárez Angel Felipe Lara Valladares Junio 2012.
Ecuaciones Diferenciales Parciales
Transcripción de la presentación:

PROGRAMACIÓN EN CLUSTERS Fernando Tinetti. UNLP. Mayo-2009 Caso de Estudio Transferencia de Calor sobre una Placa Julio Monetti. UTN-FRM

Referencia al fenómeno físico Modelado Matemático Modelado Numérico Agenda Transferencia de Calor Referencia al fenómeno físico Modelado Matemático Modelado Numérico Programación de una solución Paralelización y Simulación

Referencia al fenómeno físico Fenómeno de Transferencia de Calor Investigación Experimental Cálculos Teóricos Modelado Establecer modelo matemático Observación del Fenómeno Establecer modelo numérico Simulación Recolección de Resultados Recolección de Resultados

Referencia al fenómeno físico Fenómeno de Transferencia de Calor Cálculos Teóricos Ecuación Diferencial Establecer modelo matemático Diferencias Finitas Establecer modelo numérico Programa Serial Programación y Simulación Programa Paralelo Optimización Recolección de Resultados

DtT = KDxxT Modelo Matemático Flujo unidimensional El calor fluye desde temperaturas mas altas hacia temperaturas mas bajas Material K2=largo2/tiempo plata 1.71 Aluminio 0.86 Acero 0.12 Granito 0.011 Ladrillo 0.0038 agua 0.00144 Tabla de valores típicos para la difusividad Boyce and DiPrima, Elementary Differential Equations and Boundary Value Problems, 6th ed.

DtT = K(DxxT + DyyT) Modelo Matemático Flujo bidimensional El calor fluye desde temperaturas mas altas hacia temperaturas mas bajas. Se tiene en cuenta un gradiente en dos direcciones x e y.

(T1,j + T-1,j + T0,j+1 + T0,j-1 )/4=T0,j Modelo Numérico (T1,j + T-1,j + T0,j+1 + T0,j-1 )/4=T0,j T1,j + T-1,j + T0,j+1 + T0,j-1 - 4T0,j=0 La resolución simultánea de la ecuación para todas las estaciones del dominio conduce a un sistema de ecuaciones lineales que puede resolverse de manera iterativa, hasta que las temperaturas nodales alcancen la convergencia.

Método de las Diferencias Finitas

Método de las Diferencias Finitas Modelo Numérico Método de las Diferencias Finitas Dominio Continuo Dominio Discreto Ecuaciones Algebraicas Ecuaciones Diferenciales

Método de las Diferencias Finitas Modelo Numérico Método de las Diferencias Finitas Dominio Discreto Ecuaciones Algebraicas Número Finito de puntos sobre la malla. Equiespaciados en x e y INCÓGNITAS

Método de las Diferencias Finitas Modelo Numérico x-h x x+h Diferencias hacia delante Ap f(x) = ( f(x+h) – f(x) ) / h Diferencias hacia atrás Ap f(x) = ( f(x) – f(x-h) ) / h Diferencias centrales Ap f(x) = ( f(x+h) – f(x-h) ) / 2h

Método de las Diferencias Finitas Modelo Numérico Discretización espacial en dos dimensiones

Método de las Diferencias Finitas Modelo Numérico Discretización espacial en dos dimensiones x,y-h x-h,y x,y x+h,y x,y+h

Método de las Diferencias Finitas Modelo Numérico Discretización espacial en tres dimensiones

Método de las Diferencias Finitas Modelo Numérico Plano z-1 Plano z+1 El cálculo de cada elemento depende del valor de sus elementos adyacentes en un instante anterior En el caso de 3D cada elemento (excepto las fronteras) depende del valor de 6 elementos

Método de las Diferencias Finitas Modelo Numérico h2 h1 h1 Cuando ? Cuando se modela, antes de simular Por qué ? Zonas de mayor crecimiento o decrecimiento Impurezas en el material. Necesidad de mayor precisión en el cálculo

Método de las Diferencias Finitas Modelo Numérico x,y-h x-h,y x,y x+h,y x,y+h El cálculo de cada elemento depende del valor de sus elementos adyacentes en un instante anterior En el caso de 2D cada elemento (excepto las fronteras) depende del valor de 4 elementos (adyacentes)

A{x} = {b} (Tk-1i-1,j + Tk-1i+1,j + Tk-1i,j+1 + Tk-1i,j-1 )/4=Tki,j Método de las Diferencias Finitas Caso de Estudio Modelo Numérico (Tk-1i-1,j + Tk-1i+1,j + Tk-1i,j+1 + Tk-1i,j-1 )/4=Tki,j Sistema de ecuaciones Lineales Características diagonales A{x} = {b} Matriz de Coeficientes Incógnitas Términos independientes

Método de las Diferencias Finitas Caso de Estudio Modelo Numérico Método de las Diferencias Finitas Caso de Estudio Tk-1 Tk bk-11 bk-12 bk-13 bk-1n bk1 bk2 bk3 bkn Se compara a través de la norma infinito

T7 =( T6+T8+T2+T12 ) /4 Método de las Diferencias Finitas Modelo Numérico Método de las Diferencias Finitas Caso de Estudio Matriz Diagonal. Para estudiar la transmisión de calor en 2 dimensiones T7 =( T6+T8+T2+T12 ) /4

Método de las Diferencias Finitas Modelo Numérico Qué sucede cuando crece el modelo de datos ?

-4 1

Condiciones de Frontera

Condiciones Iniciales y de Frontera Modelo Numérico Condiciones Iniciales y de Frontera Condiciones de Frontera T[x=0] = 0 T[x=L] = 1 Tipos: Dirichlet y Newman Condiciones Iniciales Valores nodales para T en el tipo 0

Tki,j=(Tk-1i-1,j + Tk-1i+1,j + Tk-1i,j+1 + Tk-1i,j-1 )/4 Modelo Numérico Método de las Diferencias Finitas Caso de Estudio Δx= Δy=1 xi+1-xi=yi+1-yi=1 Para cada nodo Ti,j Tki,j=(Tk-1i-1,j + Tk-1i+1,j + Tk-1i,j+1 + Tk-1i,j-1 )/4

Método de Resolución

{x} =A-1{b} Método de Resolución Sistema de Ecuaciones Lineales Modelo Numérico Método de Resolución Sistema de Ecuaciones Lineales {x} =A-1{b} Cantidad de celdas en A= (Cantidad de Incógnitas)2 Cantidad de incógnitas en {b}=cantidad de puntos Características de A Simétrica Rala Matriz de coeficientes: Diagonal dominante.

Método de Resolución Métodos Iterativos Modelo Numérico Método de Resolución Métodos Iterativos Calculan en forma progresiva la solución Se puede aproximar la solución real con una precisión arbitraria. Proceso Se elije una tolerancia o cantidad de iteraciones. Se inicia con una solución aproximada Se itera sobre esta solución Se compara la solución con la obtenida en la iteración anterior.

Método de Resolución Métodos Iterativos Jacobi Modelo Numérico Método de Resolución Métodos Iterativos Jacobi Itera sobre una solución dada hasta conseguir convergencia La convergencia se observa comparando la solución actual con la anterior. Para ello se deben mantener dos vectores con los resultados. Gauss-Seidel Mejora con respecto a Jacobi Speed up en convergencia Ahorro en el almacenamiento

Modelo de Datos

Modelo de Datos Matriz Tridiagonal. (Banda) Modelo Numérico 1 -2 1 -2 Para estudiar la transmisión de calor en 1 dimensión 1 2 3 4 1 -2 1 -2

-4 1

Modelo de Datos Modelo Numérico 18% !!! 4 625 celdas en la matriz de coeficientes 113 en el vector unidimensional 18% !!!

Modelo de Datos Modelo Numérico Cuenta de elementos contenidos en la banda ne = ne1 + ne2 + ... Sn = superd2 /2+ (pr-0.5) * superd superd:cantidad de superdiagonales Total = 2*Sn + m m: rango ---------------------------------------------------------------------------------------------- Indice sobre el arreglo unidimensional C=x-y Ks=K-C I=(Ks)2+[ (m-K) – 0.5 ] * Ks + y

-4 1

Modelo de Datos Matriz Banda. Modelo Numérico Ancho de Banda A=3 Ancho de media Banda M=1 Espacio Interdiagonal L=5 E= L-1 E=3 L=3 E=L-1 E=1 L=3

Método de las Diferencias Finitas Modelo Numérico Plano z-1 Plano z+1 Cubo 3*3*3nodos. Cada plano tiene 9 nodos. Sistema con 729 celdas. E1=L1-1 E2=L2-1

Método de las Diferencias Finitas Modelo Numérico Plano z-1 Plano z+1 x14=x13+x15+x11+x17+x5+x23 Ancho de Banda = 45 sobre A27*27

Modelo de Datos Matriz Banda. Modelo Numérico Ancho de Banda A=3 Ancho de media Banda M=1 Espacio Interdiagonal L1=3 E1= L-2 E1=1

Solución Computacional

Solución Computacional Solución Paralela Lenguaje C Arreglo bidimensional en forma dinámica para contener temperaturas Tk. temperaturas Tk-1. Determinación de una condición de parada: Tolerancia Cantidad máxima de iteraciones. Utilización de norma L2 para calcular las diferencias entre los vectores Tk y Tk-1.

Solución Computacional Solución Paralela while (no_convergencia) para cada(i en dimension espacial x) para cada(j en dimension espacial y) calcular temperatura Tk(i,j) = Dif( Tk-1 )

Solución Paralela

Solución Paralela Solución Paralela Solución Serial Solución Paralela

Solución Paralela Solución Paralela Solución Serial Solución Paralela

Objetivo: Ganancia en los tiempos de procesamiento Solución Paralela Solución Paralela Características Objetivo: Ganancia en los tiempos de procesamiento Necesidad: Identificar partes del código serial paralelizables, granularidad, tiempos muertos, otros datos. Proceso: Particionado de Datos Dominio de datos funcional Comunicación entre procesos

Comunicación entre Procesos Solución Paralela Solución Paralela Comunicación entre Procesos Intercambio de mensajes entre iteraciones Manipulación de Nodos Fantasma

Solución Paralela Tecnología Aplicada Lenguaje C ? Fortran ? Librería MPI Arquitectura Física Infraestructura: edilicia, refrigeración, electricidad Cluster con 12 PD. 1 Gb RAM. Red ??? Lógica Nueva forma de pensar la solución: algoritmos paralelos Recuperación ante fallos. QoS: Balance de carga/Tunning/Instrumentación

Particionar_conjunto_de_datos() Solución Paralela Solución Paralela Nodo Master Particionar_conjunto_de_datos() Distribuir_conjunto_de_datos( …Workers…) while (no_convergencia) para_cada_nodo_Worker i recibir_condicion_convergencia i Recibir_datos_procesados( …Workers…); Consolidar_Resultados(); Postproceso();

Solución Computacional Solución Paralela Nodo Worker Recibir_datos_particionados(); while (continuar_trabajo) para cada(i en dimension espacial x) para cada(j en dimension espacial y) calcular temperatura Tk(i,j) = Dif( Tk-1 ) Controlar_convergencia_local() Comunicar_convergencia_local() continuar_trabajo = consultar_master Enviar_Datos_Procesados( 0 )

-4 1

Solución Paralela Solución Paralela Nodos Fantasmas Necesidad que tiene cada proceso de conocer datos que se encuentran en otro proceso. En cada iteración del proceso de Jacobi es necesario intercambiar valores En el ejemplo: 5 valores 2 mensajes

Solución Paralela Solución Paralela Si la cantidad de puntos en la discretización horizontal es L Cada procesador deberá intercambiar 2*L elementos con sus procesos contiguos, excepto aquellos procesadores que atienden los extremos del sistema de ecuaciones. Intercambio de nodos En la placa: una frontera En el sistema de ecuaciones: Submatriz Una parte del vector B.

Solución Paralela Solución Paralela -4 1

Solución Paralela Solución Paralela -4 1

Solución Computacional Solución Paralela Nodo Worker Recibir_datos_particionados(); while (continuar_trabajo) para cada(i en dimension espacial x) para cada(j en dimension espacial y) calcular temperatura Tk(i,j) = Dif( Tk-1 ) Controlar_convergencia_local() Comunicar_convergencia_local() continuar_trabajo = consultar_master intercambiar_nodos_Fantasmas() Enviar_Datos_Procesados( 0 )

Observación del fenómeno físico Transferencia de Calor Conclusiones Observación del fenómeno físico Modelado de las Ecuaciones Diferenciales Modelado de las Ecuaciones algebraicas Matices del modelo numérico. Diseño lógico y físico. Algoritmos Estructuras de datos Optimización. Simulación