PROGRAMACIÓN EN CLUSTERS Fernando Tinetti. UNLP. Mayo-2009 Caso de Estudio

Preview:

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

PROGRAMACIÓN EN CLUSTERSFernando Tinetti. UNLP. Mayo-2009

Caso de EstudioTransferencia de Calor sobre

una PlacaJulio Monetti. UTN-FRM

Transferencia de CalorAgenda

1.Referencia al fenómeno físico2.Modelado Matemático3.Modelado Numérico4.Programación de una solución5.Paralelización y Simulación

Fenómeno de Transferencia de Calor

Investigación Experimental Cálculos Teóricos

Establecer modelo matemático

Establecer modelo numérico

Simulación

Recolección de Resultados

Modelado

Observación del Fenómeno

Recolección de Resultados

Referencia al fenómeno físico

Fenómeno de Transferencia de Calor

Cálculos Teóricos

Establecer modelo matemático

Establecer modelo numérico

Programación y Simulación

Recolección de Resultados

Diferencias Finitas

Referencia al fenómeno físico

Ecuación Diferencial

Programa Serial

OptimizaciónPrograma Paralelo

Modelo Matemático

DtT = KDxxT

•Flujo unidimensional•El calor fluye desde temperaturas mas altas hacia temperaturas mas bajas

MaterialK2=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 difusividadBoyce 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.

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

(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

Método de las Diferencias Finitas

Método de las Diferencias Finitas

Dominio Continuo Dominio Discreto

EcuacionesDiferenciales

EcuacionesAlgebraicas

Modelo Numérico

Método de las Diferencias Finitas

Dominio Discreto

EcuacionesAlgebraicas

Modelo Numérico

•Número Finito de puntos sobre la malla.•Equiespaciados en x e y

INCÓGNITAS

x-h x+hx

Método de las Diferencias FinitasModelo Numérico

•Diferencias hacia delanteAp 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 FinitasModelo Numérico

Discretización espacial en dos dimensiones

Método de las Diferencias FinitasModelo Numérico

x-h,y x,y x+h,y

x,y+h

x,y-h

Discretización espacial en dos dimensiones

Método de las Diferencias FinitasModelo Numérico

Discretización espacial en tres dimensiones

Método de las Diferencias FinitasModelo Numérico

•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

Plano z+1

Plano z-1

Método de las Diferencias FinitasModelo Numérico

h1h2 h1

Cuando ? Cuando se modela, antes de simular

Por qué ?Zonas de mayor crecimiento o decrecimientoImpurezas en el material.Necesidad de mayor precisión en el cálculo

Método de las Diferencias FinitasModelo Numérico

x-h,y x,y x+h,y

x,y+h

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)

Método de las Diferencias FinitasCaso de Estudio

(Tk-1i-1,j + Tk-1

i+1,j + Tk-1i,j+1 + Tk-1

i,j-1 )/4=Tki,j

Modelo Numérico

•Sistema de ecuaciones Lineales•Características diagonales

A{x} = {b}

Matriz de Coeficientes

Incógnitas

Términos independientes

Método de las Diferencias FinitasCaso de Estudio

Modelo Numérico

bk-11

bk-12

bk-13

bk-1n

Tk-1 Tk

bk1

bk2

bk3

bkn

Se compara a través de la norma infinito

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 FinitasCaso de Estudio

Método de las Diferencias FinitasModelo Numérico

Qué sucede cuando crece el modelo de datos ?

-4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4

Condiciones de Frontera

Condiciones Iniciales y de FronteraModelo Numérico

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

Δx= Δy=1xi+1-xi=yi+1-yi=1

Para cada nodoTi,j

Método de las Diferencias FinitasCaso de Estudio

Tki,j=(Tk-1

i-1,j + Tk-1i+1,j + Tk-1

i,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.

Método de ResoluciónModelo Numérico

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ónModelo Numérico

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

Método de ResoluciónModelo Numérico

Modelo de Datos

Matriz Tridiagonal. (Banda)

Para estudiar la transmisión de calor en 1 dimensión

1 32 4

1 1

1 -2 1

1 -2 1

1 1

Modelo de DatosModelo Numérico

1 1 1 1 -2 -2 -2 1 1 1 1

-4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4

4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1 1 1 1 1 1 1

625 celdas en la matriz de coeficientes

113 en el vector unidimensional 18% !!!

Modelo de DatosModelo Numérico

Modelo de DatosModelo 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-yKs=K-CI=(Ks)2+[ (m-K) – 0.5 ] * Ks + y

-4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4

Matriz Banda.

Modelo de DatosModelo Numérico

•Ancho de Banda A=3

•Ancho de media Banda M=1

•Espacio Interdiagonal L=5E= L-1E=3

L=3E=L-1E=1

L=5

L=3

Método de las Diferencias FinitasModelo Numérico

•Cubo 3*3*3nodos. Cada plano tiene 9 nodos.•Sistema con 729 celdas.

•E1=L1-1•E2=L2-1

Plano z+1

Plano z-1

Método de las Diferencias FinitasModelo Numérico

•x14=x13+x15+x11+x17+x5+x23

Ancho de Banda = 45 sobre A27*27

Plano z+1

Plano z-1

Matriz Banda.

Modelo de DatosModelo 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 ComputacionalSolución Paralela

•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 ComputacionalSolució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 ParalelaSolución Paralela

Solución Serial

Solución Paralela

Solución ParalelaSolución Paralela

Solución Paralela

Solución Serial

Solución ParalelaSolució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 ParalelaSolución Paralela

Comunicación entre Procesos

Intercambio de mensajes entre iteraciones

Manipulación de Nodos Fantasma

Solución ParalelaSolució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 ParalelaSolució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 ComputacionalSolució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 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4 1

1 1 -4

Solución ParalelaSolució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 ParalelaSolución Paralela

•Si la cantidad de puntos en la discretización horizontal es L•Cada procesador deberá intercambiar 2*L elementos consus procesos contiguos, excepto aquellos procesadores queatienden 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 ParalelaSolución Paralela

-4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

Solución ParalelaSolución Paralela

-4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

1 1 -4 1 1

Solución ComputacionalSolució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 )

Transferencia de Calor

Conclusiones

1.Observación del fenómeno físico2.Modelado de las Ecuaciones Diferenciales3.Modelado de las Ecuaciones algebraicas4.Matices del modelo numérico.5.Diseño lógico y físico.

1.Algoritmos2.Estructuras de datos

6.Optimización.7.Simulación

Recommended