DTM@GPU: Explorando redundância de traços em GPU - Oliveira, Saulo; Santiago, Leandro; Goldstein, Brunno; França, Felipe; de Castro, Maria; Nery, Alexandre; Sena, Alexandre; Coelho, Igor; Alves, Tiago; Marzulo, Leandro; Bentes, Cristiana (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2016: Anais do XVII Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/wscad.2016.14248, 2016)
Durante a execução de um programa, usualmente instruções idênticas, que recebem os mesmos dados de entrada e que produzem as mesmas saídas, são executadas repetidamente. Esta redundância permite a reutilização de cálculos anteriores, reduzindo o tempo de execução do programa. A técnica DTM (Dynamic Trace Memoization) explora o reúso de traços, compostos por uma sequência de instruções redundantes, possibilitando evitar o processamento de todas as suas instruções uma só vez. DTM mostrou acelerações promissoras com o reúso de traços, porém, foi originalmente proposta para CPUs superescalares. Recentemente, GPUs (Graphics Processing Units) têm sido usadas para acelerar aplicações computacionalmente intensivas com uma excelente relação custo/desempenho. Este trabalho propõe a implementação da técnica DTM na arquitetura da GPU. A proposta inclui mudanças arquiteturais e a identiﬁcação de características de reúso em ambientes multithread. O reúso de traços foi avaliado no simulador GPGPU-sim e resultados promissores foram encontrados para um conjunto de 9 aplicações reais: aproximadamente 35, 3% das instruções são reutilizadas apontando para uma estimativa de 10% de ganho de desempenho.