Análise e Entendimento de Desempenho com a Ferramenta Antfarm - Pinho, R.; Teixeira, T.; Faria, Y.; Teodoro, G.; Tavares, T.; Guedes, D.; Ferreira, R.; Meira Jr., W. (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2005: Anais do VI Workshop em Sistemas Computacionais de Alto Desempenho, 2005)
O projeto e implementação de aplicações paralelizadas escaláveis e eficientes se mantem como um desafio, seja pela complexidade das aplicações e dos dados a serem analisados, seja pelas limitações dos paradigmas atuais de programação paralela para aplicações de alta demanda de processamento e comunicação como mineração de dados. O ambiente Anthill, baseado no paradigma filtro-fluxo identificado, tem se mostrado como um ambiente apropriado para paralelização dessas aplicações, permitindo explorar três estratégias de paralelização: dados, tarefas e assincronia. Entretanto, o entendimento e a depuração de desempenho dessas aplicações pode ser complexo, dada a diversidade de padrões de interação permitida pelo ambiente Anthill. A ferramenta Antfarm tem por objetivo não apenas apresentar o perfil de desempenho da aplicação mas identificar as imerações entre os vários componentes de forma a justificar o desempenho observado. Neste artigo apresentamos as técnicas usadas na ferramenta Antfarm e um protótipo de implementação, que foi utilizado para analisar e entender o desempenho paralelo de uma aplicação popular de mineração de dados: a construção de árvores de decisão baseada em ganho de informação. Como será mostrado no artigo, a ferramema foi capaz de detectar as peculiaridades da paralelização e explicar o seu desempenho. Em particular, fomos capazes de mensurar a assincronia entre os vários processos cooperando na solução de um problema e explicar o seu tempo de execução, incluindo interações entre as execuções das várias partes do algoritmo.