Atenuando a Contenção nas Unidades de Execução com Mapeamento Instruction-Aware - Serpa, Matheus; Cruz, Eduardo; Diener, Matthias; Beck, Antonio Carlos; Navaux, Philippe (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2020)
Aplicações paralelas executadas em processadores SMT (Simultaneous Multithreading) competem por unidades de execução. O problema ﬁca ainda pior, quando as threads executam instruções semelhantes, como por exemplo de ponto ﬂutuante, inteiro, load e store. Nesses casos, o mesmo tipo de instrução é despachado para execução, o que leva a perdas de desempenho devido a contenção nessas unidades. Este trabalho tem como objetivo fornecer um mecanismo para mapeamento de múltiplas aplicações paralelas em processadores SMT. O mecanismo foca em melhorar o desempenho, mitigando a contenção nas unidades de execução ao executar aplicações paralelas. Para tanto, threads que estressam as mesmas unidades de execução são mapeadas em núcleos diferentes. Os resultados mostram ganhos de desempenho de 29,1% e 17,4%, em média, quando comparado com o escalonador do sistema operacional Linux e com um mapeamento Round-robin.