Descargar la presentación
La descarga está en progreso. Por favor, espere
1
PROGRAMACIÓN EN CLUSTERS
Fernando Tinetti. UNLP. Mayo-2009 Caso de Estudio Transferencia de Calor sobre una Placa Julio Monetti. UTN-FRM
2
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
3
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
4
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
5
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 Tabla de valores típicos para la difusividad Boyce and DiPrima, Elementary Differential Equations and Boundary Value Problems, 6th ed.
6
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.
7
(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.
8
Método de las Diferencias Finitas
9
Método de las Diferencias Finitas
Modelo Numérico Método de las Diferencias Finitas Dominio Continuo Dominio Discreto Ecuaciones Algebraicas Ecuaciones Diferenciales
10
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
11
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
12
Método de las Diferencias Finitas
Modelo Numérico Discretización espacial en dos dimensiones
13
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
14
Método de las Diferencias Finitas
Modelo Numérico Discretización espacial en tres dimensiones
15
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
16
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
17
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)
18
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
19
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
20
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
21
Método de las Diferencias Finitas
Modelo Numérico Qué sucede cuando crece el modelo de datos ?
22
-4 1
23
Condiciones de Frontera
24
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
25
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
26
Método de Resolución
27
{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.
28
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.
29
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
30
Modelo de Datos
31
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
32
-4 1
33
Modelo de Datos Modelo Numérico 18% !!!
4 625 celdas en la matriz de coeficientes 113 en el vector unidimensional 18% !!!
34
Modelo de Datos Modelo Numérico
Cuenta de elementos contenidos en la banda ne = ne1 + ne 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
35
-4 1
36
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
37
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
38
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
39
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
40
Solución Computacional
41
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.
42
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 )
43
Solución Paralela
44
Solución Paralela Solución Paralela Solución Serial Solución Paralela
45
Solución Paralela Solución Paralela Solución Serial Solución Paralela
46
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
47
Comunicación entre Procesos
Solución Paralela Solución Paralela Comunicación entre Procesos Intercambio de mensajes entre iteraciones Manipulación de Nodos Fantasma
48
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
49
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();
50
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 )
51
-4 1
52
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
53
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.
54
Solución Paralela Solución Paralela -4 1
55
Solución Paralela Solución Paralela -4 1
56
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 )
57
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
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.