Informações:

Publicações do PESC

Título
Explorando Dinamicamente o Reuso de Traces em Nível de Arquitetura de Processador
Linha de pesquisa
Arquitetura e Sistemas Operacionais
Tipo de publicação
Tese de Doutorado
Número de registro
Data da defesa
18/4/2001
Resumo

Este trabalho introduz e explora o conceito de Memorização e Reuso Dinâmico de traces. Este conceito é avaliado através de um mecanismo concebido para tal propósito e denominado Dynamic Trace Memoization (DTM). Este mecanismo é implementado em nível de arquitetura de processador e, é capaz de explorar reuso sobre computações redundantes com granularidade em nível de traces (sequência de instruções dinâmicas). Ao identificar um trace redundante, o mecanismo DTM desconsidera a execução de todas instruções cobertas pelo trace, evitando deste modo a reexecução destas. Experimentos realizados, considerando o simulador de um processador superescalar suportando execução fora de ordem e utilizando como entrada os programas de teste do SPEC95, identificaram uma grande quantidade de redundância que pôde ser reusada. A exploração da redundância identificada, provocou reduções: no número de instruções executadas; dos caminhos críticos determinados por dependências verdadeiras; do número de desvios preditos incorretamente e do número de acessos feitos aos caches. Conseqüentemente, sua aplicação provocou expressivos ganhos de performance no processador superescalar que o incorporou.

Abstract

This work introduces and exploits the concept of Memoization and Dynamic Reuse of Traces. This concept is evaluated through a mechanism called Dynamic Trace Memoization (DTM). This mechanism is implemented at the processor architecture leveI, and is capable of exploiting reuse on redundant computations with granularity at the trace leveI (sequence of dynamic instructions). When identifying redundant traces, the DTM mechanism skips the execution of alI instructions covered by the trace, thus preventing the re-execution of these instructions. Experi- ments have been carried out using the SPEC95 program as input to a simulator of a superscalar processar which supports out-of-order execution. These experiments identified a large amount of redundancy that could be reused. Exploiting the identified redundancy (through the reuse), cause reductions: in the number of executed instructions; in the critical paths created by true dependences; in the number of incorrectly predicted branches and in the number of cache accesses. Consequently, its application produces significant benefits in performance for the (superscalar)processar architectures which incorporate it.

Topo