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...

Full description

Bibliographic Details
Main Author: Andre Luiz Rocha Tupinamba
Other Authors: Alexandre Sztajnberg
Format: Others
Language:Portuguese
Published: Universidade do Estado do Rio de Janeiro 2013
Subjects:
GPU
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