O Potencial de Reuso de Traços em GPUs
Autores
5696 |
Saulo Tavares Oliveira
|
2618,131
|
5697 |
2618,131
|
Informações:
Publicações do PESC
O poder de processamento dos microprocessadores cresce rapidamente seguindo a lei de Moore, porém devido limitações físicas migrou-se para processadores paralelos. Neste cenário as GPUs mostraram-se capazes de alta vazão no processamento de dados com diversas aplicações não gráficas portadas para esta arquitetura. Mesmo assim algumas aplicações permanecem não se beneficiando das grandes acelerações no desempenho normalmente associadas a ela.
Propomos a inédita aplicação do DTM (Dynamic Trace Memorization) utilizando-se a GPU (Graphics Processing Unit) como arquitetura substrato com o objetivo de medir o potencial de reuso e ganhos de desempenho associados. Em trabalhos anteriores esta técnica já foi aplicada com êxito em processadores superescalares e em um processador Java. O reuso de traços identifica redundância e reaproveita a computação de sequências de instruções já executadas.
Este trabalho contribui principalmente (i) identificando as alterações necessárias para o DTM funcionar em ambientes massivamente paralelos e (ii) definindo um método para compartilhamento de redundância oriundas de diversas threads. Em nossos experimentos medimos reusos de até 35,3% na média harmônica, ele se dividiu em 66,4% proveniente do compartilhamento inter-thread, 23,1% proveu do reuso de traços redundantes e o restante originou do reuso intra-thread. Estimamos uma aceleração de desempenho da ordem de 10,7%. Com isto, mostramos como um conjunto diverso de aplicações se beneficia deste aprimoramento conceitual através da exposição do grau de redundância presente.
The processing power of microprocessors grows rapidly according with Moore's law, however because of physical limitations they migrated to parallel processors. In this scenario GPUs are capable of high throughput processing power with various non-graphical applications ported to this architecture. Nevertheless some applications remain not taking advantage of the rapid acceleration performance normally associated with it.
We propose the novel application of DTM using the GPU architecture as substrate in order to measure the potential reuse and performance gains associated. In previous work this technique has already been applied successfully in superscalar processors and in Java processor. The trace reuse identifies redundancy and use again the values of instructions traces already executed.
This research mainly contribute (i) identifying the necessary modi cations on DTM in order to work on a massively parallel environments and (ii) defining a method for sharing redundancy from diferent threads. In our experiments we measured reuses up to 35.3% (harmonic mean), it was divided into 66.4% from the inter-thread share, 23.1% provided from trace reuse and the rest of the reuse was intra-thread. We estimate an speedup of 10.7%. With this, we show how a very different set of applications can bene t from this conceptual enhancement by exposing the degree of redundancy present in them.