51
Técnicas de computación avanzada en mecánica de fluidos Sergio Hoyas CMT- Motores Térmicos, Universidad Politécnica de Valencia Funding: DEISA, BSC,CICYT,PIC Mark Simens, Javier Jiménez ETSI Aeronáuticos, UPM

Técnicas de computación avanzada en mecánica de fluidos Sergio Hoyas CMT- Motores Térmicos, Universidad Politécnica de Valencia Funding: DEISA, BSC,CICYT,PIC

Embed Size (px)

Citation preview

  • Diapositiva 1
  • Tcnicas de computacin avanzada en mecnica de fluidos Sergio Hoyas CMT- Motores Trmicos, Universidad Politcnica de Valencia Funding: DEISA, BSC,CICYT,PIC Mark Simens, Javier Jimnez ETSI Aeronuticos, UPM
  • Diapositiva 2
  • CMT Motores Trmicos Tcnicas avanzadas...2
  • Diapositiva 3
  • Arquitecturas actuales de clculo Arquitecturas actuales Pc yServidores Pc y Servidores Grid computing Clusters y supercomputadores www.pic.eswww.bsc.es Tcnicas avanzadas...3
  • Diapositiva 4
  • Arquitecturas actuales de clculo Servidores Ventajas: Inconvenientes Recomendaciones: - Hardware: Mejor Intel que AMD. El principal motivo el compilador de Intel. - Sistema operativo: Ubuntu o Debian. Nunca Suse. Evolucin Objetivos Pruebas, problemas pequeos, post proceso. Tamao problema limitado, Espacio y refrigeracin. Ms procesadores, clculo/memoria >>1. Precio, fcil administracin. 2500 8 cores, 16GB de Ram Tcnicas avanzadas...4
  • Diapositiva 5
  • Arquitecturas actuales de clculo Grid y Supercomputadores - Se prevee un aumento significativo del ratio de procesadores por nodo. - -Mquinas de 2000 procesadores son ya comunes. - -En pruebas MariCell, que lleva el chip de la PlayStation 3 Administracin, grandes recursos, herramientas.Ventajas: Inconvenientes Evolucin Objetivos Acceso a recursos, administrativas. Barridos parmetricos, grandes problemas. Tcnicas avanzadas...5
  • Diapositiva 6
  • Software numrico Lenguajes de alto nivel: Matlab Fortran C Tcnicas avanzadas...6
  • Diapositiva 7
  • Software numrico Ventajas: Inconvenientes: Lenguajes de alto nivel: Matlab Fortran C Intuitivo, fcil de programar y depurar Imprescindible para la visualizacin de resultados Gran cantidad de bibliotecas y rutinas de fcil acceso Interpretado (no compilado) -> lento Es fcil de programar, pero difcil de programar bien. No tiene todava implementaciones paralelas. La implementacin GNU (Octave) est lejos de Matlab Tcnicas avanzadas...7
  • Diapositiva 8
  • Software numrico Potente y versatil. Gran cantidad de bibliotecas y rutinas, sobre todo bsicas. Varias implementaciones paralelas: MPI, OpenMP. La mayora de los compiladores son gratuitos bajo Linux. No hay herramientas de visualizacin de resultados. Los depuradores son poco intuitivos. No existen en paralelo El enlace con libreras y optimizacin puede ser difcil Lenguajes de alto nivel: Matlab Fortran C Ventajas: Inconvenientes: Tcnicas avanzadas...8
  • Diapositiva 9
  • Software numrico Lenguajes de alto nivel: Matlab Fortran C El ms potente de los tres. Se puede hacer cualquier cosa. Admite varias paralelizaciones: MPI, OpenMP y Posix Enorme cantidad de recursos de libre acceso en la red Muy dficil de programar bien para un no-informtico. Gran cantidad de herramientas no intuitivas. Ventajas: Inconvenientes: Tcnicas avanzadas...9
  • Diapositiva 10
  • Claves Los cdigos deben estar llenos de comentarios Velocidad vs Legibilidad! Nombre de rutinas y variables: significativo y consecuente Basicas: Orden: columnas, filas. Matlab: Ordenes vectoriales. Predimensionalizacin Avanzadas: Memoria cache Minimizacin de llamadas a funciones Legilibidad Reglas generales Fortran: Trabajar punto a punto. Implicit none Tcnicas avanzadas...10
  • Diapositiva 11
  • Herramientas Matlab: Profile on; My_code; profile viewer. Compilador: mcc m My_code Fortran ifort pg my_code.f90 ;./a.out; gprof gmon.out a.out Fortran y C/C`++ gdb Profilers Bibliotecas FFT: FFTW www.fftw.org lgebra lineal bsica BLAS (Basic Linear Algebra Subprograms) http://www.netlib.org/blas/ lgebra lineal Lapack (Linear Algebra PACKage) http://www.netlib.org/lapack/ Varios Numerical Recipes Tcnicas avanzadas...11
  • Diapositiva 12
  • Ejemplo prctico: DNS en Turbulencia Capas lmites Canales Dos ejemplos Caractersticas: No estudiamos casos concretos de aplicaicn inmediata en la ingeniera. Son casos construidos ad-hoc, para estudiar la fsica de la turbulencia de pared Las capas lmites son ms parecidas a la realidad Los casos presentados son los ms grandes calculados en cada caso. Tcnicas avanzadas...12
  • Diapositiva 13
  • Que herramientas hay en Ingeniera? Son ecuaciones sobre las magnitudes fluidas medias Algortimos rpidos, pero no muy precisos. Necesitan SIEMPRE validacin experimental Rans: Reynolds Averaged Navier Stokes LES: Large Eddy simulation Modelan slo las escalas ms pequeas de la turbulencia, resolviendo las dems En gran expansin debido a la potencia mayor de ordenadores. Campo de investigacin muy activo. Todava no hay un modelo cerrado. Tcnicas avanzadas...13 Herramientas Normalmente se usan malladores y cdigos comerciales (Gambit, Fluent, StarCD) o libres (OpenFOAM)
  • Diapositiva 14
  • 9 Millones de horas! Para qu y por qu necesitamos 9e6 horas y 50 Tb? Cascada de Energa Richardson Kolmogorov (1941) Tcnicas avanzadas...14
  • Diapositiva 15
  • Cascada de Energa Tcnicas avanzadas...15
  • Diapositiva 16
  • Flujo de energa en turbulencia istropa Flujos industriales tpicos Estela de una persona caminando Capa lmite de un avin Entrada Disipacin Energa Esfuerzos Cascada Tcnicas avanzadas...16
  • Diapositiva 17
  • Cascadas en la turbulencia de pared Energa Viscosa Log Exterior Dissipacin Energa Momento Tcnicas avanzadas...17
  • Diapositiva 18
  • Dominio flujo x z y Capa lmite Tcnicas avanzadas...18
  • Diapositiva 19
  • Dominio flujo Tcnicas avanzadas...19
  • Diapositiva 20
  • Mallado del canal Espacio fsico Espacio de Fourier # Puntos (Fis.) # Puntos (Fourier, R.) # Puntos (Fourier, C.) Memoria total 400GB (simple precision). Tcnicas avanzadas...20
  • Diapositiva 21
  • Simulaciones anteriores Kim, Moin and Moser, 1987, 180 (Cray XMP, NASA Ames) Del lamo and Jimnez, 2003 (Kadesh, CEPBA) 550 Del lamo, Moser, Jimnez and Zandonade, 2004 (Blue Horizon) 950 Del lamo and Jimnez, 2003 (Kadesh, CEPBA) 180 Tcnicas avanzadas...21
  • Diapositiva 22
  • Simulaciones anteriores Tcnicas avanzadas...22
  • Diapositiva 23
  • Ecuaciones de Navier-Stokes Tcnicas avanzadas...23
  • Diapositiva 24
  • Forma Velocidad-Vorticidad 70-80% of time 99% of communication Tcnicas avanzadas...24
  • Diapositiva 25
  • Discretizacin en x y z Discretizacin Espacial: Fourier en x y z, diferencias finitas compactas en z con tomando Tcnicas avanzadas...25
  • Diapositiva 26
  • Ecuaciones en el espacio de Fourier Tcnicas avanzadas...26
  • Diapositiva 27
  • FFT. El problema del dealiasing Problema clsico de la turbulencia: como calcular por ejemplo como Error de aliasing Tcnicas avanzadas...27
  • Diapositiva 28
  • Dealiasing Dos formas de evitarlo: phase shifts y truncacin o 3/2 Truncacin: agrandamos la transformada 0 n m n+m n+m-N N/2KK-N/2 Tcnicas avanzadas...28
  • Diapositiva 29
  • Condicin de Neumann para v Tcnicas avanzadas...29
  • Diapositiva 30
  • Discretizacin Mtodo: Runge-Kutta de tercer orden (Spalart et al, 1991) 118 e6 ecuaciones/paso Tcnicas avanzadas...30
  • Diapositiva 31
  • Discretizacin - y Normal: Diferencias finitas compactas (Lele, 1991) N=M=7 N=M=5 Primera derivad: malla de 7 puntos. Mapeada a la original Segunda derivada: malla real Sistemas: mtodos LU, sin pivotaje, adaptadas de Numerical Recipes Tcnicas avanzadas...31
  • Diapositiva 32
  • Discretizacin - y Sistemas: mtodos LU, sin pivotaje, adaptadas de Numerical Recipes Tcnicas avanzadas...32
  • Diapositiva 33
  • Esquema clsico de paralelizacin Solo podemos usar N y procs Problema dealiasing 2D Tcnicas avanzadas...33
  • Diapositiva 34
  • Speed-up del nuevo esquema Importante Optimizacin de rutinasAdaptado: - XLF - Arquitectura de MareNostrum Claves Input/ouput Input/ouput Comunicaciones Comunicaciones Tcnicas avanzadas...34
  • Diapositiva 35
  • Esquema en lineas-planos Proc a Proc b Tcnicas avanzadas...35
  • Diapositiva 36
  • Tcnicas avanzadas...36 Paralelizacin en planos-lneas Proc b
  • Diapositiva 37
  • Paralelizacin en lineas planos: esquema Primera parte 1.- Calculamos vel. y vort. (F-P-F) 2.- Transformamos z al espacio fsico Segunda parte Movemos de yz a lneas en x Tercera parte 1.- Transformamos x a fsico 2.- Clculo de la helicidad 3.- Transfomamos la helicidad a Fourier Quinta parte 1.- Transformamos a (F-P-F) 2.- Calculo del RHS de la ecuacin 3.- Resolvemos los sistemas 4.- Avanzamos en tiempo Cuarta parte Movemos de lneas en x a yz 1.- 10% 2.- 40% (133MB) 3.- 10% 4.- 20% (66 MB) 5.- 20% Tcnicas avanzadas...37
  • Diapositiva 38
  • Comunicaciones 1. 1.Si A est mandando datos a B, B tiene que estar esperando a A. 2. 2.Nadie ms tiene que comunicarse con A o B #Procs = 4=2 2 1st Comm. 2nd Comm. 3rd Comm. P1P1 P2P2 P3P3 P4P4 Tcnicas avanzadas...38
  • Diapositiva 39
  • Hipercubo #Procs = 8=3 2 1st. 2nd 3rd 4th 5th 6th 7th Tcnicas avanzadas...39
  • Diapositiva 40
  • Hipercubo: seudocdigo Wrong!!! Tcnicas avanzadas...40
  • Diapositiva 41
  • Comparacin entre cdigos Tcnicas avanzadas...41
  • Diapositiva 42
  • Entrada/salida de datos - El cdigo salva una imagen cada 200 pasos. - El archivo pesa alrededor de 60GB - Implementacin clsica: esclavos a maestro - Todos los procesadores tienen que esperar a que el archivo est escrito 30% 7% Tcnicas avanzadas...42
  • Diapositiva 43
  • Dos soluciones Propuesta por MN: Cada procesador escribe su plano a un directorio - No se implemento - Problemas: 2048 procesadores intentando escribir al mismo tiempo. 2048 archivos generados por cada imagen, 600.000 en total Implementada: Pedimos 60 procs ms y creamos dos MPI_GROUPS Clculo Slida P 1 -P x1 P x2 -P x3 P xn-1 -P 2048 60GB Disk P1P1 P2P2 P 60 5-6 s 30-40 m Tcnicas avanzadas...43
  • Diapositiva 44
  • Simulaciones cinemticas de canales Tcnicas avanzadas...44
  • Diapositiva 45
  • !DNS son muy caras! Procesador Total Memoria 0.2GB400GB Pasos125.000125.000 Tiempo por cada paso del Runge-Kutta40s40s CPU-hours totales2800h6e6h (1.3e6) Horas humanas totales4 months 4months Transferencia de datos entre procesadores 0.6GB1.2PB Total de datos transmitidos 73PB145EB Base de datos obtenidad 25TB25TB Flops conseguidos 50GF3TF Flops totales18.3PF 3.6EF Tcnicas avanzadas...45
  • Diapositiva 46
  • Mare Nostrum Supercomputador perteneciente al centro nacional de supercomputacin. 4812 procesadores PowerPC 970FX a 2,2 GHz 9.6 TB de memoria ram. 236 TB de disco Potencia mantenida de 38 Tflops. Informacin: www.bsc.es Tcnicas avanzadas...46
  • Diapositiva 47
  • Agradecimientos Almacenamiento: Port dinformacio cientifica,ww.pic.es. Castor: Capacitad 1.5 PB. Idea del centro: Llegar a 10PB Tcnicas avanzadas...47
  • Diapositiva 48
  • Agradecimientos BSC Jos Mara Cela: FFTW and general optimization. Sergi Girona: Input/output routines and many discussions about MareNostrum. Jess Labarta: Communications routines. 5.000.000 CPU-H assigned to run the simulation.PIC Manuel Delfino: Storage of the results of the simulations. 25 TB of permanent storage.DEISA 800.000 CPU-H assigned through a project. Tcnicas avanzadas...48
  • Diapositiva 49
  • Conclusions We have made a new algorithm for a DNS of a turbulent channel flow, capable of use several thousands of processors, showing an excellent speed- up. The code has been written in Fortran90, C++ for the fft and MPI for the communication routines. This DNS has been a very expensive simulation, but not more that one experiment of the same magnitude, and we can compute almost any imaginable quantity. We have obtained 25TB of data that we are analyzing: Pressure, Energy balances We have confirmed some trends but we also have found new questions. Tcnicas avanzadas...49
  • Diapositiva 50
  • When a channel 4000 ? Grid size Estimated time per step: Number of steps needed Total time (12288,901,9216) 140s on 4096 processors, 280 on 2048 250.000 20 million CPU-Hours, between 800 and 1400 days Future work? Do you have a new MareNostrum? Tcnicas avanzadas...50
  • Diapositiva 51
  • Gracias! Fluid Dynamics Lab Escuela de Aeronutica, UPM http://torroja.dmt.upm.es Tcnicas avanzadas...51