Paralelização e Otimização da Simulação Discreta de Eventos em Processador Multicore - Gehlen, Tobias; Moreano, Nahri (Anais do Workshop em Desempenho de Sistemas Computacionais e de Comunicação (WPerformance); 2020: Anais do XIX Workshop em Desempenho de Sistemas Computacionais e de ComunicaçãoDO - 10.5753/wperformance.2020.11103, 2020)
A simulação é uma maneira de estudar o comportamento de sistemas físicos, em casos onde a solução em laboratório ou analítica são inviáveis. A paralelização de sua execução permite a modelagem de sistemas mais complexos e agiliza suas soluções. Entretanto, a simulação paralela dificulta o respeito às relações de causalidade do sistema físico, acarretando um overhead significativo para assegurar a evolução correta da simulação. Este trabalho apresenta o desenvolvimento de um simulador paralelo de eventos discretos em uma arquitetura multicore de memória compartilhada. Uma extensa avaliação experimental de desempenho analisa questões como a estrutura de dados adotada para a fila de eventos, o impacto da aplicação (topologia da rede de filas e carga de trabalho) na extensão da simulação, a exploração de lookahead da aplicação, as técnicas de avanço do horizonte da simulação e de suspensão do mecanismo gerenciador de threads, e por fim, desempenho e escalabilidade do simulador paralelo. O simulador paralelo obteve um speedup de até 7,01 em relação ao simulador sequencial, em um processador com quatro núcleos físicos e capaz de executar oito threads simultaneamente.