DTM@GPU: Explorando redundância de traços em GPU

  • Saulo Oliveira UFRJ
  • Leandro Santiago UFRJ
  • Brunno Goldstein UFRJ
  • Felipe França UFRJ
  • Maria de Castro UERJ
  • Alexandre Nery UERJ
  • Alexandre Sena UERJ
  • Igor Coelho UERJ
  • Tiago Alves UERJ
  • Leandro Marzulo UERJ
  • Cristiana Bentes UERJ

Resumo


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 identificaçã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.

Referências

Bakhoda, A., Yuan, G., Fung, W., Wong, H., and Aamodt, T. (2009). Analyzing cuda workloads using a detailed gpu simulator. In IEEE International Symposium on Per- formance Analysis of Systems and Software (ISPASS 2009), pages 163–174.

da Costa, A., Franca, F., and Filho, E. (2000). The dynamic trace memoization reuse technique. In Proceedings of the International Conference on Parallel Architectures and Compilation Techniques, pages 92–99.

Lipasti, M. H., Wilkerson, C. B., and Shen, J. P. (1996). Value locality and load value prediction. ACM SIGPLAN Notices, 31(9):138–147.

Pilla, M., Childers, B., da Costa, A., Franca, F., and Navaux, P. (2006). A speculative trace reuse architecture with reduced hardware requirements. In 18th International Sympo- sium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 47–54.

Pilla, M., Navaux, P., Childers, B., da Costa, A., and Franca, F. (2004). Value predictors for reuse through speculation on traces. In 16th Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 48–55.

Pilla, M., Navaux, P., da Costa, A., Franca, F., Childers, B., and Soffa, M. (2003). The limits of speculative trace reuse on deeply pipelined processors. In 15th Symposium on Computer Architecture and High Performance Computing (SBAC-PAD), pages 36–44.

Sazeides, Y. and Smith, J. E. (1997). The predictability of data values. In Proceedings of the Thirtieth Annual IEEE/ACM International Symposium on Microarchitecture, pages 248–258.

Silva, B., Abreu, E., and Franca, F. (2005). JDTM memorização e reuso dinâmico de traços em uma arquitetura de processador java. In VI Workshop em Sistemas Compu- tacionais de Alto Desempenho, 2005, pages 57–64.

Sodani, A. and Sohi, G. S. (1998). An empirical analysis of instruction repetition. In Proceedings of the Eighth International Conference on Architectural Support for Pro- gramming Languages and Operating Systems, ASPLOS VIII, pages 35–45.
Publicado
05/10/2016
OLIVEIRA, Saulo et al. DTM@GPU: Explorando redundância de traços em GPU. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 17. , 2016, Aracajú. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 61-72. DOI: https://doi.org/10.5753/wscad.2016.14248.