Escalonamento dinâmico em nível aplicativo sensível à arquitetura e às dependências de dados entre as tarefas.

Detalhes bibliográficos
Ano de defesa: 2014
Autor(a) principal: Favaretto, Rodolfo Migon
Orientador(a): Cavalheiro, Gerson Geraldo Homrich
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pelotas
Programa de Pós-Graduação: Programa de Pós-Graduação em Computação
Departamento: Centro de Desenvolvimento Tecnológico
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://guaiaca.ufpel.edu.br/handle/prefix/8596
Resumo: As arquiteturas modernas apresentam múltiplos processadores, compostos por vários núcleos e blocos de memória dedicados, caracterizando as arquiteturas NUMA (Non-Uniform Memory Access). NUMA têm como característica as diferentes latências no acesso aos diferentes blocos de memória. Um dos grandes desafios é o desenvolvimento de técnicas eficientes para o escalonamento das tarefas produzidas pelas aplicações paralelas entre os processadores disponíveis, considerando a heterogeneidade desses tempos de acesso à memória. Para tal, o escalonador deve tomar decisões influenciadas por diversos fatores. Um destes fatores diz respeito à questões de localidade dos dados, a decisão de alocar uma tarefa sobre um processador específico passa pela análise dos custos associados ao acesso aos seus dados na estrutura assimétrica de memória. Um outro fator está relacionado às dependências de dados utilizados pelas tarefas, onde heurísticas baseadas em algoritmos de lista podem ser utilizadas para realizar o escalonamento, em nível aplicativo, em ambientes de execução dinâmicos. Neste trabalho, foi concebida uma estratégia de escalonamento dinâmico para aplicações paralelas em arquiteturas NUMA. Esta estratégia foi validada com a realização de uma série de experimentos, onde foi possível aferir o seu desempenho comparando-a com outras ferramentas que empregam escalonamento em nível aplicativo. O objetivo da estratégia desenvolvida foi buscar reduzir o impacto, na execução de aplicações paralelas, das diferentes latências oriundas da distribuição física dos módulos de memória das arquiteturas NUMA. Este trabalho resultou em uma extensão do núcleo de execução do ambiente Anahy, o qual passou a comportar a estratégia proposta, considerando, no momento do escalonamento, as características heterogêneas da arquitetura onde a aplicação está executando. Os resultados obtidos comprovam que a qualidade do escalonamento de Anahy em arquiteturas NUMA melhorou, contribuindo com o aumento de desempenho do ambiente. A estratégia desenvolvida apresentou resultados de desempenho compatíveis com as demais ferramentas.