DistributedCL: middleware de processamento distribuído em GPU com interface da API OpenCL.


Autoria(s): Andre Luiz Rocha Tupinamba
Contribuinte(s)

Felipe Maia Galvão França

Alexandre Sztajnberg

Eugene Francis Vinod Rebello

Noemi de La Rocque Rodriguez

Data(s)

10/07/2013

Resumo

Este trabalho apresenta a proposta de um middleware, chamado DistributedCL, que torna transparente o processamento paralelo em GPUs distribuídas. Com o suporte do middleware DistributedCL uma aplicação, preparada para utilizar a API OpenCL, pode executar de forma distribuída, utilizando GPUs remotas, de forma transparente e sem necessidade de alteração ou nova compilação do seu código. A arquitetura proposta para o middleware DistributedCL é modular, com camadas bem definidas e um protótipo foi construído de acordo com a arquitetura, onde foram empregados vários pontos de otimização, incluindo o envio de dados em lotes, comunicação assíncrona via rede e chamada assíncrona da API OpenCL. O protótipo do middleware DistributedCL foi avaliado com o uso de benchmarks disponíveis e também foi desenvolvido o benchmark CLBench, para avaliação de acordo com a quantidade dos dados. O desempenho do protótipo se mostrou bom, superior às propostas semelhantes, tendo alguns resultados próximos do ideal, sendo o tamanho dos dados para transmissão através da rede o maior fator limitante.

This work proposes a middleware, called DistributedCL, which makes parallel processing on distributed GPUs transparent. With DistributedCL middleware support, an OpenCL enabled application can run in a distributed manner, using remote GPUs, transparently and without alteration to the code or recompilation. The proposed architecture for the DistributedCL middleware is modular, with well-defined layers. A prototype was built according to the architecture, into which were introduced multiple optimization features, including batch data transfer, asynchronous network communication and asynchronous OpenCL API invocation. The prototype was evaluated using available benchmarks and a specific benchmark, the CLBench, was developed to facilitate evaluations according to the amount of processed data. The prototype presented good performance, higher compared to similar proposals. The size of data for transmission over the network showed to be the biggest limiting factor.

Formato

PDF

Identificador

http://www.bdtd.uerj.br/tde_busca/arquivo.php?codArquivo=8132

Idioma(s)

pt

Publicador

Biblioteca Digital de Teses e Dissertações da UERJ

Direitos

Liberar o conteúdo dos arquivos para acesso público

Palavras-Chave #Engenharia Eletrônica #OpenCL #GPGPU #GPU #middleware #processamento distribuído #Electronic Engineering #OpenCL #GPGPU #GPU #middleware #distributed systems #ENGENHARIAS
Tipo

Eletronic Thesis or Dissertation

Tese ou Dissertação Eletrônica