PROYECTO INTEGRADOR DE LA CARRERA DE ´ INGENIERIA NUCLEAR ´ ´ OPTIMIZACION DE ALGORITMOS DE RESOLUCION ´ DE LA ECUACION DE TRANSPORTE CON ´ ´ ORIENTACION A SU PARALELIZACION Manuel Garc´ıa Alumno Dr. Eduardo Villarino Director Miembros del Jurado Ing. Alexis Weir (Instituto Balseiro) Ing. Lourdes Torres (Instituto Balseiro) Junio de 2015 Divisi´on de Ingenier´ıa Nuclear – INVAP S.E. Instituto Balseiro Universidad Nacional de Cuyo Comisi´on Nacional de Energ´ıa At´omica Argentina A Alma, ´ Indice de contenidos ´Indice de contenidos v ´Indice de figuras ix Resumen xiii Abstract xv 1. Introducci´on 1 1.1. Transporte de neutrones . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1. Tratamiento de las variables en la ecuaci´on de transporte . . . . 3 1.2. Etapas de c´alculo y algoritmos estudiados . . . . . . . . . . . . . . . . 4 1.2.1. C´alculos de celda . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.2. C´alculos de nu´cleo . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.3. Optimizaci´on mediante procesamiento en paralelo . . . . . . . . . . . . 6 1.4. Objetivos del trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2. Procesamiento en paralelo y modelo de memoria compartida 9 2.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2. Leyes de Amdahl y de Gustafson y overhead . . . . . . . . . . . . . . . 11 2.3. Arquitecturas y modelos de programaci´on en paralelo . . . . . . . . . . 12 2.3.1. Memoria compartida . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2. Memoria distribuida . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3. Arquitectura h´ıbrida . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3.4. Comparaci´on de los modelos . . . . . . . . . . . . . . . . . . . . 14 2.4. Modelo de memoria compartida . . . . . . . . . . . . . . . . . . . . . . 16 2.5. Memoria compartida con OpenMP . . . . . . . . . . . . . . . . . . . . 19 3. C´alculos de celda: flujos de respuesta 21 3.1. Tratamiento geom´etrico . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.1. Trazado de cuerdas . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.1.2. Paralelizaci´on del trazado de cuerdas . . . . . . . . . . . . . . . 23 v vi ´Indice de contenidos 3.2. C´alculo de probabilidades de colisi´on . . . . . . . . . . . . . . . . . . . 25 3.2.1. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2.2. Integraci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3. C´alculo de flujos de respuesta . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. C´alculo de probabilidades de colisi´on y flujos de respuesta en paralelo . 29 3.4.1. Paralelizaci´on por grupos . . . . . . . . . . . . . . . . . . . . . . 30 3.4.2. Paralelizaci´on por nodos . . . . . . . . . . . . . . . . . . . . . . 34 3.5. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . . . . . 35 3.5.1. M´etodo de respuesta heterog´enea . . . . . . . . . . . . . . . . . 35 3.5.2. M´etodo de probabilidad de colisi´on . . . . . . . . . . . . . . . . 38 4. C´alculos de celda: esquema multigrupo 41 4.1. Esquema iterativo del m´etodo multigrupo . . . . . . . . . . . . . . . . 41 4.2. Esquema multigrupo en paralelo . . . . . . . . . . . . . . . . . . . . . . 44 4.2.1. Paralelizaci´on por grupos de las iteraciones exteriores . . . . . . 44 4.2.2. Paralelizaci´on por grupos de las iteraciones t´ermicas . . . . . . . 47 4.2.3. Paralelizaci´on de las operaciones matriciales . . . . . . . . . . . 51 4.3. Discusi´on del algoritmo paralelo o´ptimo . . . . . . . . . . . . . . . . . . 53 5. C´alculos de celda: quemado 55 5.1. Cadenas de quemado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 5.1.1. Resoluci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2. C´alculo de ritmos de reacci´on en paralelo . . . . . . . . . . . . . . . . . 58 5.3. Resoluci´on de las cadenas de quemado en paralelo . . . . . . . . . . . . 59 5.4. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . . . . . 60 6. M´etodo de difusi´on 63 6.1. Teor´ıa de difusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.1.1. Ecuaciones multigrupo . . . . . . . . . . . . . . . . . . . . . . . 64 6.1.2. Formulacio´n en diferencias finitas . . . . . . . . . . . . . . . . . 65 6.1.3. Resoluci´on num´erica . . . . . . . . . . . . . . . . . . . . . . . . 66 6.2. Paralelizaci´on de la ecuaci´on de difusi´on monoenerg´etica . . . . . . . . 69 6.2.1. M´etodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 69 6.2.2. M´etodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . 71 6.3. Implementaci´on en CITATION-CITVAP . . . . . . . . . . . . . . . . . 74 6.3.1. M´etodo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . 74 6.3.2. M´etodo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . 78 6.4. Discusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 ´Indice de contenidos vii 7. Modelo de memoria distribuida y modelo h´ıbrido 81 7.1. Modelo de memoria distribuida . . . . . . . . . . . . . . . . . . . . . . 81 7.2. Modelo h´ıbrido de memoria compartida y distribuida . . . . . . . . . . 82 7.3. Mensajer´ıa y modelo h´ıbrido con MPI . . . . . . . . . . . . . . . . . . . 84 7.4. C´alculo de flujos de respuesta utilizando MPI-OpenMP . . . . . . . . . 85 7.4.1. Resultados num´ericos en CONDOR . . . . . . . . . . . . . . . . 86 7.4.2. Discusi´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 8. An´alisis de los programas optimizados 89 8.1. Desempen˜o y an´alisis del c´odigo CONDOR . . . . . . . . . . . . . . . . 89 8.1.1. Resultados para HRM . . . . . . . . . . . . . . . . . . . . . . . 90 8.1.2. Resultados para probabilidades de colisi´on . . . . . . . . . . . . 91 8.1.3. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 8.2. Desempen˜o y an´alisis del c´odigo CITVAP . . . . . . . . . . . . . . . . . 93 8.2.1. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 8.2.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 9. Conclusiones 95 9.1. C´alculos de celda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 9.2. C´alculos de nu´cleo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Agradecimientos 101 ´ Indice de figuras 2.1. Ley de Amdahl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2. Arquitecturas de memoria compartida, UMA y NUMA. . . . . . . . . . 13 2.3. Arquitectura de memoria distribuida. . . . . . . . . . . . . . . . . . . . 14 2.4. Arquitectura de memoria h´ıbrida (compartida-distribuida). . . . . . . . 15 2.5. Jerarqu´ıa de memoria en una arquitectura de tres niveles de cache. . . 17 2.6. False sharing entre dos procesadores. . . . . . . . . . . . . . . . . . . . 18 2.7. Modelo de ejecuci´on de OpenMP, fork-join. . . . . . . . . . . . . . . . . 20 3.1. Trazado de cuerdas de integraci´on en un sistema arbitrario rotado en un ´angulo α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 p 3.2. Nodo gen´erico para un c´alculo con HRM. . . . . . . . . . . . . . . . . . 26 3.3. Caminos ´opticos utilizados para el ca´lculo probabilidades de colisi´on con dependencia angular. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.4. Speedup para distintos algoritmos de paralelizaci´on por grupos del c´alcu- lo de flujos de respuesta en HRM. . . . . . . . . . . . . . . . . . . . . . 36 3.5. Escalabilidad para el ca´lculo en paralelo por grupos de los flujos de respuesta en HRM, con paralelismo de tasks . . . . . . . . . . . . . . . 37 3.6. Speedup para la paralelizaci´on por celdas del c´alculo de flujos de res- puesta en HRM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.7. Escalabilidad para la paralelizaci´on por celdas sin sincronizaci´on en el m´etodo de respuesta heterog´enea . . . . . . . . . . . . . . . . . . . . . 38 3.8. Comparaci´on del speedup para la paralelizaci´on por grupos y por celdas del c´alculo de flujos de respuesta en HRM. . . . . . . . . . . . . . . . . 39 3.9. Speedup para el c´alculo de flujos de respuesta en paralelo por grupos para el m´etodo de probabilidades de colisi´on. . . . . . . . . . . . . . . . 39 3.10.Escalabilidad de la paralelizaci´on por grupos con asignaci´on din´amica de iteraciones en el m´etodo de probabilidades de colisi´on. . . . . . . . . 40 4.1. Nu´mero de iteraciones totales en funci´on del nu´mero de procesadores para cuatro implementaciones distintas de la paralelizaci´on por grupos de las iteraciones exteriores en el m´etodo multigrupo. . . . . . . . . . . 48 ix x ´Indice de figuras 4.2. Speedup obtenido para el m´etodo multigrupo paralelizando las iteracio- nes exteriores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3. Iteraciones totales (exteriores y t´ermicas) hasta la convergencia en fun- ci´on del nu´mero de procesadores para la paralelizaci´on de los dos niveles de iteraciones t´ermicas del esquema multigrupo de CONDOR. . . . . . 50 4.4. Speedup para la paralelizaci´on de las iteraciones t´ermicas en el m´etodo multigrupo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5. Escalabilidad para la paralelizaci´on de las iteraciones t´ermicas. . . . . . 51 4.6. Speedup obtenido paralelizando los c´alculos de transporte y de fuentes en el esquema multigrupo. . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7. Speedup para los dos algoritmos finales para el m´etodo multigrupo . . . 54 5.1. Cadenas de quemado t´ıpicas de metales pesados. . . . . . . . . . . . . . 56 5.2. Cadenas de quemado para productos de fisi´on. . . . . . . . . . . . . . . 56 5.3. Ejemplo de una cadena gen´erica linealizada. . . . . . . . . . . . . . . . 58 5.4. Speedup para la paralelizaci´on del c´alculo de ritmos de reacci´on. . . . . 60 5.5. Resultados para la resoluci´on de las cadenas de quemado en paralelo. . 61 5.6. Resultados para los c´alculos de quemado en paralelo. . . . . . . . . . . 61 6.1. Discretizaci´on de 7 puntos utilizada en el esquema de diferencias finitas para el m´etodo de difusi´on. . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.2. Grilla con puntos pares e impares para la paralelizaci´on del m´etodo de Gauss-Seidel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 6.3. Grilla coloreada por filas y por planos para la paralelizaci´on del m´etodo de Gauss-Seidel con relajacio´n de l´ınea . . . . . . . . . . . . . . . . . . 73 6.4. Interfase entre los subdominios de dos procesadores para la paraleliza- ci´on del m´etodo de Gauss-Seidel por descomposicio´n del dominio por planos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 6.5. Iteraciones exteriores hasta la convergencia con tres paralelizaciones del m´etodo de Gauss-Seidel para el m´etodo de difusi´on. . . . . . . . . . . . 76 6.6. Speedup en funci´on del nu´mero de procesadores para las tres variantes del m´etodo de Gauss-Seidel implementadas en xyz. . . . . . . . . . . . 77 6.7. Tiempos de c´alculo obtenidos para los algoritmos paralelos del m´etodo de Gauss-Seidel en geometr´ıa xyz. . . . . . . . . . . . . . . . . . . . . . 77 6.8. Speedup para los m´etodos rojo-negro en geometr´ıa triangular-z. . . . . 77 6.9. Tiempos de c´alculo obtenidos en geometr´ıa triangular-z. . . . . . . . . 78 6.10.Comparaci´on del speedup obtenido con el m´etodo de Jacobi y el de Gauss-Seidel rojo-negro, ambos paralelizados por filas. . . . . . . . . . 78 6.11.Tiempo de c´alculo para los m´etodos de Jacobi y Gauss-Seidel. . . . . . 79
Description: