Caracterização de speedup de aplicação: modelagem de sobrecarga de paralelização e variações de tamanho de problema e número de núcleos
Caracterização de Aplicação, Computação Paralela, Arquitetura Multi-core, Modelagem de Performance.
Para utilizar os processadores com múltiplos núcleos de forma eficiente, é importante entender como o desempenho dos aplicativos paralelos se comportam. A modelagem desse comportamento pode permitir o uso de técnicas executadas em tempo de execução para otimizar o desempenho, a energia dispendida ou até mesmo garantir uma qualidade de serviço (QoS) desejada. Modelos precisos evitariam ter que testar diferentes configurações em tempo de execução, o que poderia causar um aumento desnecessário na sobrecarga causada pela paralelização. Ao longo dos anos, muitos modelos de speedup foram propostos. A maioria deles é baseada na Lei de Amdahl ou na Lei de Gustafson. No entanto, muitos deles consideram que a fração paralela é fixa ou que varia linearmente com o tamanho do problema, além de desconsiderarem os efeitos da sobrecarga causada pela paralelização. Embora tais modelos auxiliem no entendimento teórico da computação paralela, essas considerações não se sustentam em ambientes reais, o que torna a modelagem inadequada para a caracterização precisa de aplicações paralelas. O modelo proposto nesta dissertação estima o speedup levando em consideração a sobrecarga causada pela paralelização e a variação da fração paralela de acordo com o tamanho do problema e o número de núcleos utilizados. Usando dez aplicações do PARSEC, o modelo proposto foi capaz de estimar o speedup de forma mais precisa do que outros modelos da literatura recente. Os testes foram realizados em dois servidores, cada um com uma arquitetura diferente.