Uma Derivação do Paradigma de Reescrita de Multiconjuntos Gamma para a Arquitetura GPU
Autores
5796 |
Rubens Henrique Pailo de Almeida
|
2674,131,764
|
5797 |
2674,131,764
|
|
5798 |
2674,131,764
|
Informações:
Publicações do PESC
Título
Uma Derivação do Paradigma de Reescrita de Multiconjuntos Gamma para a Arquitetura GPU
Linha de pesquisa
Arquitetura e Sistemas Operacionais
Tipo de publicação
Dissertação de Mestrado
Número de registro
Data da defesa
28/5/2015
Resumo
Este trabalho apresenta uma implementação do paradigma Gamma de reescrita de multiconjuntos sobre a arquitetura das Unidades Gráficas de Processamento (GPUs). Inspirada em uma metáfora de reações químicas, Gamma foi criada como uma linguagem abstrata de alto nível para especificação de programas de forma simples, concisa, e naturalmente paralela, permitindo uma clara separação entre o problema a ser resolvido e os detalhes de implementação subjacentes. Acreditamos que o modelo de computação proposto por Gamma vai diretamente ao encontro do modo de processamento das GPUs, pois em ambos os casos a premissa básica é processar vários itens de dados paralelamente. Assim, criamos uma implementação de Gamma chamada Gamma-GPU, estendendo uma implementação paralela e distribuída já existente. Tal extensão consistiu em adicionar o suporte às GPUs na execução de programas escritos em Gamma, incrementando desta forma a arquitetura da implementação original. Vemos com isso um duplo benefício, pois os códigos em Gamma podem tirar proveito do alto poder computacional das GPUs, e as GPUs podem ser utilizadas de forma transparente pelos programadores Gamma, que não precisam se preocupar com os detalhes de programação das mesmas, bastando expressar seus algoritmos de forma abstrata e natural usando a sintaxe simples fornecida por Gamma. Experimentos práticos foram realizados em um cluster de GPUs, através dos quais pudemos constatar a corretude da nova implementação, além de termos obtido bons speedups quando comparado com a implementação base sem suporte às GPUs, o que demonstra a evolução introduzida pelo nosso novo modelo.
Abstract
This work presents a GPU-based implementation of the Gamma multiset rewriting paradigm. Inspired by the chemical reaction metaphor, Gamma was conceived as a high-level abstract language for programs specification in a very simple, concise, and naturally parallel way, making clearer the distinction between the problem itself and the underlying implementation issues. We believe that the computational model adopted by Gamma matches perfectly with the Graphics Processing Units execution mode, once both have as basic premise the processing of many data items in parallel. We extended an earlier distributed and parallel implementation of Gamma, adding support to execution of Gamma programs over the GPUs, and we called this new implementation Gamma-GPU. Thereby, we see a two-way benefit, with the Gamma programs taking advantage of the GPUs' high computational power, and the GPUs being exposed to the programmers in a transparent manner, who do not need to worry about low-level programming details of the device, and can just express their algorithms in a natural and abstract way through the intuitive sintax provided by Gamma. Practical experiments were conducted in a GPU cluster, which showed us the correctness of the new implementation, besides good speedups comparing to the base non-GPU implementation, proving the contribuitions introduced by our new model.
Arquivo