Online Thread and Data Mapping Using the Memory Management Unit
Resumo
As arquiteturas de computadores atuais incluem complexas hierarquias de memória que introduzem diferentes tempos de acesso à memória. Uma das soluções adotadas para reduzir o tempo de acesso é aumentar a localidade dos acessos à memória através do mapeamento de threads e dados. Nesta tese de doutorado, são propostas soluções inovadoras para identificar um mapeamento que otimize o acesso à memória fazendo uso da unidade de gerência de memória para monitor os acessos. Na avaliação experimental, as soluções melhoraram o desempenho em até 39% e a eficiência energética em até 12,2%. Isto se deu por uma redução substancial da quantidade de faltas na cache, tráfego entre processadores e acessos à bancos de memória remotos.
Referências
Broquedis, F., Aumage, O., Goglin, B., Thibault, S., Wacrenier, P.-A., and Namyst, R. (2010). Structuring the execution of OpenMP applications for multicore architectures. In IEEE International Parallel & Distributed Processing Symposium (IPDPS), pages 1–10.
Cruz, E., Alves, M., Carissimi, A., Navaux, P., Ribeiro, C., and Mehaut, J. (2011). Using memory access traces to map threads and data on hierarchical multi-core platforms. In IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum (IPDPSW).
Dashti, M., Fedorova, A., Funston, J., Gaud, F., Lachaize, R., Lepers, B., Quéma, V., and Roth, M. (2013). Traffic Management: A Holistic Approach to Memory Placement on NUMA Systems. In Architectural Support for Programming Languages and Operating Systems (ASPLOS), pages 381–393.
Feliu, J., Sahuquillo, J., Petit, S., and Duato, J. (2012). Understanding Cache Hierarchy Contention in CMPs to Improve Job Scheduling. In International Parallel and Distributed Processing Symposium (IPDPS).