[en] TOOTISYS: A TOOL FOR PERFORMANCE ANALYSIS OF STRONGLY COUPLED, MULTIPROGRAMMED MULTPROCESSOR SYSTEMS - PAULO HENRIQUE DE ANDRADE PINTO SCHINDLER (2009)
[pt] A proliferação de arquiteturas paralelas torna cada vez mais necessário o desenvolvimento de métodos e a construção de ferramentas que utilizem estes métodos na análise / predição do desempenho de aplicações (programas) executadas em arquiteturas existentes ou em fase de projeto. Uma classe muito importante de arquiteturas paralelas é a das arquiteturas multiprocessadas. Essa classe permite explorar o paralelismo existente dentro do código dos programas: os programas são divididos em unidades menores (tarefas) que são executadas concorrentemente nos diversos processadores da arquitetura. Esta dissertação apresenta uma ferramenta - Tootisys - para modelagem de arquiteturas multiprocessadas onde os processadores compartilham uma memória global e onde diversos programas são executados ao mesmo tempo. Os programas são restritos ao tipo CPU-bound e são representados através de grafos de tarefas acíclicos e dirigidos. A arquitetura é descrita através dos tempos característicos dos seus processadores e através de uma função que fornece retardo no acesso à memória global. Tootisys permite modelar sistemas que apresentam disputa por processador tanto a nível de tarefas quanto a nível de programas e sistemas onde tarefas múltiplas podem ser executadas simultaneamente em cada processador. O algoritmo utilizado por Tootistys na análise de desempenho de um sistema concorrente é iterativo. Este algoritmo monstrou-se bastante eficiente em termos computacionais tendo apresentado rápida convergência para valores finais em todos os casos analisados. Esta dissertação também apresenta o projeto e a implementação da interface gráfica do Tootisys. A interface construída é uma variação do tipo manipulação direta, possuindo ainda características de interfaces tipo seleção por menu. A interface obtida é eficiente, pouco sujeita a erros cometidos por usuários e fácil de usar, aprender e memorizar. Como esta interface foi implementada em C e segue o padrão X11, espera-se que Tootisys possa ser facilmente adaptado para executar em diversas máquinas.