A grid-hypergraph load balancing approach for agent based applications in HPC systems

Hoy en día, una gran cantidad de problemas científicos y de ingeniería pueden ser estudiados y resueltos gracias a sistemas HPC (High Performance Computing). Los entornos HPC pueden resolver problemas cuando éstos son más complejos y los requerimientos de cómputo aumentan. Dentro de las aplicaciones...

Descripción completa

Detalles Bibliográficos
Autor: Márquez Pérez, Claudio Daniel
Tipo de recurso: tesis doctoral
Fecha de publicación:2017
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:inglés
OAI Identifier:oai:ddd.uab.cat:187051
Acceso en línea:https://ddd.uab.cat/record/187051
Access Level:acceso abierto
Palabra clave:Càlcul intensiu (Informàtica)
Simulació per ordinador
Descripción
Sumario:Hoy en día, una gran cantidad de problemas científicos y de ingeniería pueden ser estudiados y resueltos gracias a sistemas HPC (High Performance Computing). Los entornos HPC pueden resolver problemas cuando éstos son más complejos y los requerimientos de cómputo aumentan. Dentro de las aplicaciones HPC, existe un caso particular llamado ABMS (Agent-Based Modelling and Simulation), el cual permite analizar las propiedades emergentes de un sistema a partir de simular las interacciones entre entidades autónomas llamadas agentes. Las interacciones y comportamiento de los agentes están definidas según sus reglas de acción, parámetros y la evolución del conjunto de la población y del entorno simulado. Con la aparición de las plataformas ABMS para entornos HPC, los sistemas reales pueden ser modelados, analizados y simulados de forma más precisa, a través de incluir un gran número de agentes y reglas complejas, para representar más detalles, parámetros e interacciones del sistema. Esto conlleva a modelos basados en agentes (AB) aún más complejos, resultando un alto costo computacional. En este sentido, simular modelos AB complejos y realistas en un tiempo razonable es sólo si la simulación es ejecutada en paralelo en un entorno HPC. En términos de estructura de programa paralelo, SPMD (Single Program Multiple Data) es la más usada, la cual consiste en ejecutar el mismo programa en diferentes PEs (processing elements), pero sobre un distinto subconjunto del dominio. Sin embargo, en simulaciones grandes y complejas, aparecen requerimientos de cómputo irregulares y sobrecarga de comunicación, debido a políticas inapropiadas de particionamiento de datos y características dinámicas de creación y eliminación de agentes, lo cual retrasa toda la simulación. En estos casos, una descomposición inicial no puede ofrecer una solución eficiente y la carga variable de cómputo/comunicación necesita ser abordada dinámicamente. Por lo cual, es altamente beneficiosa una solución dinámica para reajustar la carga de trabajo. Esta tesis propone una metodología que permite mejoras dinámicas en el rendimiento de aplicaciones ABMS SPMD para modelos basados en agentes espacialmente explícitos. La metodología presenta una estrategia de sintonización para reducir problemas de desbalance de carga durante la ejecución de la aplicación. Esta estrategia ajusta la carga de trabajo global de la simulación, migrando grupos de agentes entre PEs según sus cargas computacionales y su interconectividad, modelando el sistema como un hipergrafo. Un hipergrafo es una generalización de grafo qué, en este caso, permite modelar interacciones de grupos de agentes de forma más precisa. Este hipergrafo se particiona utilizando un algoritmo paralelo de particionamento para decidir una distribución más apropiada. Esta estrategia define dos fases: monitorización and sintonización. En la fase de monitorización, se mide el tiempo de ejecución para evaluar problemas de rendimiento y, cuando sea necesario, aplicar la estrategia de balance de carga en la fase de sintonización. La estrategia de balance de carga contiene tres componentes principales: la representación de sistema de los agentes (ASR), las políticas de sintonización y la migración de agente. Esta estrategia, representa grupos de agentes como grids y modela la carga de trabajo de los grids como un hipergrafo, el cual se particiona para determinar una distribución más balanceada. Finalmente, los agentes son migrados por grupos para ajustar la carga de trabajo global. Adicionalmente, se define un mecanismo eficiente para comunicación de los agentes basado el ASR. Hemos evaluado esta estrategia usando una plataforma ABMS HPC real, llamada Flame (Flexible Large Scale Agent Modelling Environment), y simulando tres modelos reales Susceptible-Infected-Remove (SIR), Colorectal Tumour Growth (CTG) and Keratinocyte Colony Formation (KCF). Evaluando distintos aspectos de nuestra metodología, así como en su conjunto, hemos obtenido importantes ganancias de rendimiento y una significativa reducción del tiempo total de ejecución.