Uma metodologia para desenvolvimento de programas paralelos eficientes em ambientes homogêneos e heterogêneos.
Uma metodologia para desenvolvimento de programas paralelos eficientes deve especificar mecanismos capazes de caracterizar o comportamento das aplicações e permitir estudos sobre o desempenho de diferentes modelos de soluções. Nos ambientes distribuídos, em particular, a eficiência da solução também...
| Autor: | |
|---|---|
| Formato: | tesis doctoral |
| Estado: | Versión publicada |
| Fecha de publicación: | 2008 |
| País: | Brasil |
| Recursos: | Universidade de São Paulo (USP) |
| Repositorio: | Biblioteca Digital de Teses e Dissertações da USP |
| Idioma: | portugués |
| OAI Identifier: | oai:teses.usp.br:tde-29112016-085713 |
| Acesso em linha: | http://www.teses.usp.br/teses/disponiveis/3/3141/tde-29112016-085713/ |
| Access Level: | acceso abierto |
| Palavra-chave: | Analytical models Balanceamento de carga em sistemas distribuídos Load balancing in distributed systems Modelos analíticos Parallel programing Programação paralela |
| Resumo: | Uma metodologia para desenvolvimento de programas paralelos eficientes deve especificar mecanismos capazes de caracterizar o comportamento das aplicações e permitir estudos sobre o desempenho de diferentes modelos de soluções. Nos ambientes distribuídos, em particular, a eficiência da solução também está relacionada a estratégia utilizada na divisão e distribuição do trabalho entre os processos que cooperam na solução do problema. Para abordar estes aspectos, uma metodologia, denominada PEMPIs-Het (Performance Estimation of MPI Programs in Heterogeneous Systems), é especificada e apresentada nesta tese. A metodologia permite a modelagem, avaliação e predição de desempenho de programas paralelos em ambientes homogêneos e heterogêneos. Técnicas de modelagem analítica são utilizadas para representar o comportamento das aplicações no ambiente distribuído. Um modelo gráfico, denominado DP*Graph++, é proposto para ilustrar as principais estruturas do código da aplicação e facilitar análises sobre a complexidade algorítmica do programa. Algumas aplicações são modeladas e a precisão das predições é verificada através de testes experimentais. Os modelos de desempenho permitem uma estimativa pontual para o tempo de execução da aplicação. Entretanto, uma estratégia alternativa, baseada em intervalos de predição, também é discutida e avaliada. Algumas estratégias para balanceamento de carga de aplicações paralelas distribuídas são implementadas e avaliadas. Estasestratégias utilizam informações de um vetor com índices de desempenho (Vector of Relative Performances - VRP), gerados pelos modelos analíticos, para especificar a divisão e distribuição do trabalho. Estes índices caracterizam a capacidade computacional das máquinas. Uma formalização matemática é apresentada para explicar como os índices são determinados. ) Testes experimentais são realizados para verificar a aplicabilidade das estratégias e a eficiência no balanceamento das cargas. |
|---|