Care HPSA high performance simulation methodology for complex agent-based models
- da Silva Borges de Santana, Francisco José
- Remo Suppi Boldrito Director
Universidade de defensa: Universitat Autònoma de Barcelona
Fecha de defensa: 30 de setembro de 2016
- Ramón Doallo Presidente
- Julio Ortega Lopera Secretario/a
- Félix García Carballeira Vogal
Tipo: Tese
Resumo
La simulació paral·lela i distribuïda és una potent eina per al desenvolupament realista de models basats en agents i la seva simulació (ABMS). Aquesta eina permet que científics de diferents àrees puguin realitzar conclusions i adquirir coneixements sobre el sistema sota estudi. Tanmateix, això solament és possible si les simulacions realitzades ofereixen resultats realistes; és a dir, si els resultats s’assemblen a la realitat i si aquestes simulacions poden ser utilitzades per a la predicció o per a explicar algun tipus de fenomen emergent. Per això, aquestes simulacions requereixen resultats confiables mitjançant mètodes estadístics i presenten una alta complexitat computacional pel fet que milers d’ agents independents s’utilitzen per a modelar el sistema. Per aquesta raó, aquest tipus de simulació requereix de llargs temps d’execució i de gran potència de computació. Una possible solució per a resoldre aquest tipus de simulacions és la utilització de sistemes paral·lels i distribuïts que aprofiten la potència de l’arquitectura subjacent disponible en les infraestructures actuals i és important, per l’avanç de la ciència de la computació, el desenvolupament de tècniques, algoritmes i enfocaments que permetin analitzar aquests sistemes executant-se sobre infraestructures de computació d’altes prestacions. En la literatura, es poden trobar algunes eines que permeten el modelatge basat en agents i que utilitzen HPC però cap d’aquestes eines estan dissenyades per executar experiments amb el fi d’incloure i analitzar nous enfocaments, tècniques i solucions per a ABMS que requereixin un alt rendiment i poc esforç de programació. En el present treball, s’introdueix una metodologia per a realitzar investigacions en models complexos basats en agents que demanen solucions d’alt rendiment (HPC). Aquesta metodologia, anomenada Care High Performance Simulation (HPS) permet als investigadors: 1) desenvolupar tècniques i solucions d’alt rendiment i simulacions distribuïdes per a models basats en agents; i, 2) permet l’estudi, disseny i implementació de models complexos basats en agents que requereixen solucions de computació d’alt rendiment. Aquesta metodologia ha sigut dissenyada per desenvolupar de forma fàcil i ràpida nous ABM, així com per a estendre i aplicar noves solucions als diferents mòduls funcionals que afecten a una simulació paral·lela i distribuïda, tals com la sincronització, la comunicació, la carrega i el balanç de la computació i/o els algoritmes de partició de dades. Dintre del present treball, i com a prova de concepte, s’han desenvolupat a més en Care HPS diferents models basats en agents i tècniques/algoritmes que poden ser utilitzats per als investigadors en ABMS i que requereixen solucions HPC per a realitzar les seves investigacions. Per a validar la proposta s’han realitzat un conjunt d’experiments amb l’objectiu de mostrar la completitud i funcionalitat d’aquesta metodologia i avaluar la bondat dels resultats obtinguts. Aquests experiments es centren en: 1) validar els resultats de les tècniques proposades i enfocaments que s’utilitzen en Care HPS; 2) mostrar que les característiques de disseny de Care HPS satisfacin els objectius proposats; i finalment, 3) verificar els resultats d’escalabilitat de Care HPS com infraestructura de simulació distribuïda per a models basats en agents. En conclusió, Care HPS pot ser utilitzat com a instrument científic en el desenvolupament de models basats en agents i en l’àrea de simulacions distribuïda en arquitectures HPC. La simulación paralela y distribuida es una potente herramienta para el desarrollo realista de modelos basados en agentes y su simulación (ABMS). Esta herramienta permite que científicos de diferentes áreas puedan realizar conclusiones y adquirir conocimientos acerca del sistema bajo estudio. Sin embargo, esto sólo es posible si las simulaciones realizadas ofrecen resultados realistas, es decir si los resultados se asemejan a la realidad y si estas simulaciones pueden ser utilizadas para la predicción o para explicar algún tipo de fenómeno emergente. Por ello, estas simulaciones requieren resultados confiables a través de métodos estadísticos y presentan una alta complejidad computacional debido a que miles de agentes independientes se utilizan para modelar el sistema. Por estas razónes, este tipo de simulación requiere de largos tiempos de ejecución y de gran potencia de cómputo. Una posible solución para resolver este tipo de simulaciones es la utilización de sistemas paralelos y distribuidos que aprovechan la potencia de la arquitectura subyacente disponible en las infraestructuras actuales y es importante, para el avance de la ciencia de la computación, el desarrollo de técnicas, algoritmos y enfoques que permitan analizar estos sistemas ejecutándose sobre infraestructuras de cómputo de altas prestaciones. En la literatura, se pueden encontrar algunas herramientas que permiten el modelado basados en agentes y que utilizan HPC pero ninguna de estas herramientas están diseñadas para ejecutar experimentos con el fin de incluir y analizar nuevos enfoques, técnicas y soluciones para ABMS que requieran un alto rendimiento y poco esfuerzo de programación. En el presente trabajo, se introduce una metodología para realizar investigaciones en modelos complejos basados en agentes que demandan soluciones de alto rendimiento (HPC). Esta metodología, llamada Care High Performance Simulation (HPS) permite a los investigadores: 1) desarrollar técnicas y soluciones de alto rendimiento y simulaciones distribuidas para modelos basados en agentes; y, 2) permite el estudio, diseño e implementación de modelos complejos basados en agentes que requieren soluciones de computación de alto rendimiento. Esta metodología ha sido diseñada para desarrollar de forma fácil y rápida nuevos ABM, así como para extender y aplicar nuevas soluciones a los diferentes módulos funcionales que afectan a una simulación paralela y distribuida, tales como la sincronización, la comunicación, la carga y el balance de la computación y/o los algoritmos de partición de datos. Dentro del presente trabajo, y como prueba de concepto, se han desarrollado además en Care HPS diferentes modelos basados en agentes y técnicas/algoritmos que pueden ser utilizados por los investigadores en ABMS y que requieran soluciones HPC para realizar sus investigaciones. Para validar la propuesta se han realizado un conjunto de experimentos con el objetivo de mostrar la completitud y funcionalidad de esta metodología y evaluar la bondad de los resultados obtenidos. Estos experimentos se centran en: 1) validar los resultados de las técnicas propuestas y enfoques que se utilizan en Care HPS; 2) mostrar que las características de diseño de Care HPS satisfacen los objetivos propuestos; y finalmente, 3) verificar los resultados de escalabilidad de Care HPS como infraestructura de simulación distribuida para modelos basados en agentes. En conclusión, Care HPS puede ser utilizado como instrumento científico en el desarrollo de modelos basado en agentes y en el área de simulaciones distribuida en arquitecturas HPC. Parallel and distributed simulation is a powerful tool for developing realistic agent-based modeling and simulation (ABMS). ABMS can allow scientists to reach conclusions and gain knowledge about the system under study. But this is only possible if these simulations offer realistic results, meaning simulations whose results are validated in reality and that can be used for prediction or to explain some phenomenon. These simulations require reliable results through statistical approaches. In addition, they have a high computational complexity because thousands of agents are used in order to model them. For these reasons, this kind of simulation requires a long execution time. Consequently, one possible solution to solve these simulations is to use parallel and distributed simulations that take advantage of the powerful architecture available nowadays. Thus, for the advance of computing science, it is important that High Performance Computing (HPC) techniques, solutions and approaches be proposed and studied. In the literature, we can find some agent-based model tools that use HPC to execute agent-based modeling and simulations. However, none of these tools are designed to execute HPC experiments in order to propose new approaches, techniques and solutions for ABMS that required high performance solutions without great programming effort. In this thesis, we introduce a methodology to do research on HPC for complex agentbased models that demand high performance solutions. This methodology, named Care High Performance Simulation (HPS), enables researchers to: 1) develop techniques and solutions of high performance parallel and distributed simulations for agent-based models; and, 2) study, design and implement complex agent-based models that require high performance computing solutions. This methodology was designed to easily and quickly develop new ABMs, as well as to extend and implement new solutions for the main issues of parallel and distributed simulations such as: synchronization, communication, load and computing balancing, and partitioning algorithms in order to test and analyze. Also, we developed in Care HPS some agent-based models and HPC approaches and techniques which can be used by researchers in HPC for ABMs that required high performance solutions. We conducted some experiments with the aim of showing the completeness and functionality of this methodology and evaluate how the results can be useful. These experiments focus on: 1) presenting the results of our proposed HPC techniques and approaches which are used in Care HPS; 2) showing that the features of Care HPS reach the proposed aims; and, 3) presenting the scalability results of Care HPS. As a result, we show that Care HPS can be used as a scientific instrument for the advance of the agent-based parallel and distributed simulations field.