Busca avançada
Ano de início
Entree

Técnicas de alocação e balanceamento para máquinas numa

Processo: 15/12187-3
Linha de fomento:Bolsas no Exterior - Estágio de Pesquisa - Mestrado
Vigência (Início): 01 de setembro de 2015
Vigência (Término): 29 de fevereiro de 2016
Área do conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Guido Costa Souza de Araújo
Beneficiário:Martin Ichilevici de Oliveira
Supervisor no Exterior: José Nelson Amaral
Instituição-sede: Instituto de Computação (IC). Universidade Estadual de Campinas (UNICAMP). Campinas , SP, Brasil
Local de pesquisa : University of Alberta, Canadá  
Vinculado à bolsa:14/15523-1 - Técnicas de alocação e balanceamento em máquinas NUMA, BP.MS

Resumo

O modelo NUMA (Non-Uniform Memory Architecture) permitiu aumentar consideravelmente a escalabilidade em arquiteturas paralelas. Contudo, ainda hoje muitos dos sistemas computacionais não consideram as diferenças de latência entre memória local e remota, o que acarreta grandes perdas de desempenho. Além disso, geralmente ignoram efeitos de congestão gerados por sobrecarregamento de controladores de memória. O controle por parte do programador é custoso e sujeito a erros, de forma que uma maneira automática de gerência da distribuição de memória seja fundamental.Este projeto pretende implementar uma técnica que permita, de forma independente do programador, a distribuição entre memória local e remota de um programa. Esta técnica deverá ser capaz de determinar o padrão de acesso à memória do programa, e realizar a distribuição das páginas de memória entre os diferentes nós de processamento, de forma a diminuir a latência média de execução do programa.Na Unicamp, durante o projeto de pesquisa principal, desenvolveu-se uma heurística de distribuição de páginas que produziu resultados iniciais promissores, sendo mais eficiente ou no mínimo equivalente a outras técnicas populares. Contudo, tal técnica é uma abordagem estática que depende do auxílio do programador.Para lidar com esta questão, pretende-se utilizar técnicas de compilação. Com estas, pretende-se estabelecer uma forma automática de detecção do padrão de acesso à memória de um programa e qual o nível de compartilhamento entre páginas. Além disso, tais técnicas serão responsáveis por determinar uma distribuição de páginas eficiente e gerenciar tal distribuição. Por fim, pretende-se que tal modelo suporte migrações de páginas.Com a implementação desta técnica, pretende-se melhorar o desempenho de programas que façam uso intensivo de memória, distribuindo a memória entre nós (diminuindo a congestão) e posicionando a memória próxima às unidades de processamento que operam sobre a mesma. Espera-se que a solução seja flexível e de fácil uso, uma vez que não necessitará da intervenção do usuário. (AU)