Avaliação de desempenho de uma ferramenta para simulação distribuída baseada no protocolo otimista time warp - Dota, Mara Andréa (2001)
A avaliação de desempenho de sistemas computacionais tem constituído uma área de grande investigação ao longo das últimas décadas. Dentre as diversas ferramentas e técnicas disponíveis para esse propósito, a simulação se destaca por ser flexível, podendo ser utilizada em várias situações e por oferecer soluções a um custo relativamente atrativo. O objetivo deste trabalho é avaliar o desempenho da ferramenta WARPED para simulação distribuída, através de alguns modelos de Redes de Filas. O WARPED é um simulador distribuído otimista que implementa o paradigma de Virtual Time, tendo sido escolhido por permitir a execução de simulações tanto em um sistema distribuído, como em uma máquina paralela, e por ser um software livre (código aberto). O projeto WARPED implementa um núcleo para o simulador Time Warp, livremente disponível, de fácil portabilidade, simples de se modificar e de ser estendido. O sistema foi escrito em C++ (GNU C++), orientado a objeto e utiliza o MPI (Message Passing Interface) para troca de mensagens entre os processos distribuídos. Nos experimentos realizados neste trabalho, foi observado que aumentando-se a granulosidade dos modelos, speedup pode ser alcançado com a simulação distribuída. A comunicação entre processos fisicamente separados pode sobrecarregar a execução da simulação distribuída, podendo mesmo inviabilizar sua utilização. Por isso, a partição do modelo de simulação deve ser feita considerando-se as características do modelo e da arquitetura de hardware que será usada. Em geral, deve-se tentar minimizar a necessidade de comunicação e submeter aos processadores uma carga de trabalho de tamanho adequado, explorando granulosidades de média a grossa. No caso estudado, o próprio sistema de passagem de mensagens (MPICH) introduz sobrecargas difíceis de serem contornadas. Modelos simples dificilmente levarão a ganho de desempenho, sendo preferido o uso da simulação seqüencial. Modelos de complexidade média podem obter ganhos de desempenho, desde que haja um balanceamento cauteloso entre a granulosidade dos processos lógicos e a necessidade de comunicação entre processos alocados em máquinas distintas. Apesar de nem sempre ser fácil obter-se speedup com as simulações distribuídas, adotando-se a granulosidade adequada e minimizando-se a comunicação, bons resultados podem ser sempre esperados.