DistributedCL: middleware de processamento distribuído em GPU com interface da API OpenCL.
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...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | Portuguese |
Published: |
Universidade do Estado do Rio de Janeiro
2013
|
Subjects: | |
Online Access: | http://www.bdtd.uerj.br/tde_busca/arquivo.php?codArquivo=8132 |
id |
ndltd-IBICT-urn-repox.ist.utl.pt-BDTD_UERJ-oai-www.bdtd.uerj.br-5479 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-IBICT-urn-repox.ist.utl.pt-BDTD_UERJ-oai-www.bdtd.uerj.br-54792019-01-21T18:19:06Z DistributedCL: middleware de processamento distribuído em GPU com interface da API OpenCL. DistributedCL: middleware de processamento distribuído em GPU com interface da API OpenCL. Andre Luiz Rocha Tupinamba Alexandre Sztajnberg Felipe Maia Galvão França Eugene Francis Vinod Rebello Noemi de La Rocque Rodriguez Engenharia Eletrônica OpenCL GPGPU GPU middleware processamento distribuído Electronic Engineering OpenCL GPGPU GPU middleware distributed systems ENGENHARIAS 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. 2013-07-10 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://www.bdtd.uerj.br/tde_busca/arquivo.php?codArquivo=8132 por info:eu-repo/semantics/openAccess application/pdf Universidade do Estado do Rio de Janeiro Programa de Pós-Graduação em Engenharia Eletrônica UERJ BR reponame:Biblioteca Digital de Teses e Dissertações da UERJ instname:Universidade do Estado do Rio de Janeiro instacron:UERJ |
collection |
NDLTD |
language |
Portuguese |
format |
Others
|
sources |
NDLTD |
topic |
Engenharia Eletrônica OpenCL GPGPU GPU middleware processamento distribuído Electronic Engineering OpenCL GPGPU GPU middleware distributed systems ENGENHARIAS |
spellingShingle |
Engenharia Eletrônica OpenCL GPGPU GPU middleware processamento distribuído Electronic Engineering OpenCL GPGPU GPU middleware distributed systems ENGENHARIAS Andre Luiz Rocha Tupinamba DistributedCL: middleware de processamento distribuído em GPU com interface da API OpenCL. |
description |
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. |
author2 |
Alexandre Sztajnberg |
author_facet |
Alexandre Sztajnberg Andre Luiz Rocha Tupinamba |
author |
Andre Luiz Rocha Tupinamba |
author_sort |
Andre Luiz Rocha Tupinamba |
title |
DistributedCL: middleware de processamento distribuído
em GPU com interface da API OpenCL. |
title_short |
DistributedCL: middleware de processamento distribuído
em GPU com interface da API OpenCL. |
title_full |
DistributedCL: middleware de processamento distribuído
em GPU com interface da API OpenCL. |
title_fullStr |
DistributedCL: middleware de processamento distribuído
em GPU com interface da API OpenCL. |
title_full_unstemmed |
DistributedCL: middleware de processamento distribuído
em GPU com interface da API OpenCL. |
title_sort |
distributedcl: middleware de processamento distribuído
em gpu com interface da api opencl. |
publisher |
Universidade do Estado do Rio de Janeiro |
publishDate |
2013 |
url |
http://www.bdtd.uerj.br/tde_busca/arquivo.php?codArquivo=8132 |
work_keys_str_mv |
AT andreluizrochatupinamba distributedclmiddlewaredeprocessamentodistribuidoemgpucominterfacedaapiopencl |
_version_ |
1718849744949739520 |