La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PROGRAMACIÓN EN CLUSTERS

Presentaciones similares


Presentación del tema: "PROGRAMACIÓN EN CLUSTERS"— Transcripción de la presentación:

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


Descargar ppt "PROGRAMACIÓN EN CLUSTERS"

Presentaciones similares


Anuncios Google