Tesis
Técnicas de compilação para apoiar a migração de dados em sistemas NUMA
Compilation techniques to support memory migration on NUMA systems
Registro en:
Autor
Piccoli, Guilherme Guaglianoni, 1988-
Institución
Resumen
Orientadores: Edson Borin, Fernando Magno Quintão Pereira Dissertação (mestrado) - Universidade Estadual de Campinas, Instituto de Computação Resumo: Com o avanço cada vez maior dos processadores de múltiplos núcleos, devido especialmente à barreira tecnológica imposta por limitações físicas no crescimento da frequência de operação dos processadores, arquiteturas de memória não-uniforme (NUMA) estão se difundindo como solução para a escalabilidade de projetos de alto desempenho computacional. Tais arquiteturas não são isentas de problemas, especialmente em se tratando do acesso à memória; má alocação de memória pode causar contenção no acesso aos dados e gerar redução significativa no desempenho de aplicações. Neste trabalho apresentamos a técnica Selective Page Migration (SPM), uma otimização no âmbito de compiladores que, através da análise de laços e suas propriedades, e dos vetores acessados dentro de tais laços, realiza a migração seletiva de páginas de memória segundo uma heurística. Seu objetivo é atenuar problemas de contenção e má alocação de memória em arquiteturas NUMA, sem que haja necessidade de se modificar código-fonte ou utilizar hardwares ou sistemas operacionais específicos. Para tanto, análises de compilação foram implementadas para instrumentação de código-fonte em busca de estruturas cujos dados sejam propícios à migração; ainda, uma heurística foi desenvolvida, capaz de avaliar se a migração de páginas se faz interessante ou se potencialmente prejudicaria o desempenho da aplicação. Obtivemos bons resultados, com ganho de desempenho de mais de 5x para alguns benchmarks - realizamos análises comparativas com outros dois mecanismos usados com o mesmo objetivo, e também apresentamos uma avaliação teórica de uma variedade de técnicas com o mesmo propósito de SPM Abstract: Multicore processors are increasingly common, especially due to technological barrier imposed by physical limitations in the growth of processors clock frequency. Non-uniform memory architecture (NUMA) are spreading as a solution to the scalability of high performance computing applications - such architectures, however, still exhibits problems, especially in the case of memory accesses. Bad data placement can cause contention on memory access leading to significant decrease in applications performance. We present Selective Page Migration (SPM), a compiler optimization that, by analyzing loops and their properties along with arrays accessed within such loops, can perform selective page migration according to a heuristic. The goal is to mitigate contention issues and bad data placement in NUMA architectures with no need to modify source code or using specific hardware or operating systems. To achieve this goal, compilation transformations have been implemented so we can perform source code instrumentation to find data structures that, once migrated, lead to an increase in program performance. Also, a heuristic has been developed so we're able to assess whether the migration of those data structures are likely to become profitable or will potentially impair the application performance. We've achieved good results, with speedup of more than 5x for some benchmarks. We have compared SPM with another two mechanisms used with the same goal, and also presented a theoretical evaluation of a variety of techniques with the same end of SPM Mestrado Ciência da Computação Mestre em Ciência da Computação 2013/18794-3 FAPESP