570 likes | 695 Views
PROGRAMACIÓN EN CLUSTERS Fernando Tinetti. UNLP. Mayo-2009 Caso de Estudio Transferencia de Calor sobre una Placa Julio Monetti. UTN-FRM. Agenda. Transferencia de Calor. Referencia al fenómeno físico Modelado Matemático Modelado Numérico Programación de una solución
E N D
PROGRAMACIÓN EN CLUSTERS Fernando Tinetti. UNLP. Mayo-2009 Caso de Estudio Transferencia de Calor sobre una Placa Julio Monetti. UTN-FRM
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
Modelo Matemático DtT = KDxxT • Flujo unidimensional • El calor fluye desde temperaturas mas altas hacia temperaturas mas bajas Tabla de valores típicos para la difusividad Boyce and DiPrima, Elementary Differential Equations and Boundary Value Problems, 6th ed.
Modelo Matemático DtT = K(DxxT + DyyT) • 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.
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.
Modelo Numérico Método de las Diferencias Finitas Dominio Continuo Dominio Discreto Ecuaciones Algebraicas Ecuaciones Diferenciales
Modelo Numérico Método de las Diferencias Finitas INCÓGNITAS Dominio Discreto Ecuaciones Algebraicas • Número Finito de puntos • sobre la malla. • Equiespaciados en x e y
Modelo Numérico Método de las Diferencias Finitas x x-h 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
Modelo Numérico Método de las Diferencias Finitas Discretización espacial en dos dimensiones
Modelo Numérico Método de las Diferencias Finitas Discretización espacial en dos dimensiones x,y-h x-h,y x,y x+h,y x,y+h
Modelo Numérico Método de las Diferencias Finitas Discretización espacial en tres dimensiones
Modelo Numérico Método de las Diferencias Finitas 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
Modelo Numérico Método de las Diferencias Finitas 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
Modelo Numérico Método de las Diferencias Finitas 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)
Modelo Numérico Método de las Diferencias Finitas Caso de Estudio Términos independientes Incógnitas Matriz de Coeficientes (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}
Modelo Numérico Método de las Diferencias Finitas Caso de Estudio Tk-1 Tk Se compara a través de la norma infinito
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
Modelo Numérico Método de las Diferencias Finitas Qué sucede cuando crece el modelo de datos ?
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
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
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.
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.
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 Numérico Modelo de Datos Matriz Tridiagonal. (Banda) Para estudiar la transmisión de calor en 1 dimensión 2 1 3 4
Modelo Numérico Modelo de Datos 625 celdas en la matriz de coeficientes 113 en el vector unidimensional 18% !!!
Modelo Numérico Modelo de Datos 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
Modelo Numérico Modelo de Datos L=5 Matriz Banda. • 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
Modelo Numérico Método de las Diferencias Finitas 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
Modelo Numérico Método de las Diferencias Finitas Plano z-1 Plano z+1 • x14=x13+x15+x11+x17+x5+x23 • Ancho de Banda = 45 sobre A27*27
Modelo Numérico Modelo de Datos Matriz Banda. • Ancho de Banda • A=3 • Ancho de media Banda • M=1 • Espacio Interdiagonal • L1=3 • E1= L-2 • E1=1
Solución Paralela Solución Computacional • Lenguaje C • Arreglo bidimensional en forma dinámica para contener • temperaturas Tk. • Arreglo bidimensional en forma dinámica para contener • 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 Paralela Solución Computacional • 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 Serial Solución Paralela
Solución Paralela Solución Paralela Solución Serial Solución Paralela
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
Solución Paralela Solución Paralela • Comunicación entre Procesos • Intercambio de mensajes entre iteraciones • Manipulación de Nodos Fantasma
Solución Paralela 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
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 Paralela Solución Computacional 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 )