rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos

Detalhes bibliográficos
Autor(a) principal: Alves, Rui
Data de Publicação: 2019
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: http://hdl.handle.net/10198/23222
Resumo: Há cerca de uma década, o panorama da arquitetura dos sistemas de computação registou um salto evolutivo, com o aparecimento de sistemas heterogéneos. Nestes sistemas, à unidade central de processamento (CPU), talhada para uso genérico, juntaram-se dispositivos co-processadores, como GPUs e FPGAs, de diferentes arquiteturas. Originalmente concebidos para fins muito específicos (como processamento gráfico ou de sinal), estes coprocessadores passaram a ser vistos como elementos auxiliares de processamento, capazes de acelerar a execução de aplicações computacionalmente exigentes. Para permitir a exploração eficiente de sistemas heterogéneos, e garantir portabilidade do código, definiram-se standards abertos, como o OpenCL, suportando co-processadores de virtualmente qualquer tipo. Noutros casos, passaram a existir frameworks proprietárias, orientadas a dispositivos de fabricantes específicos, como a framework CUDA para GPUs da NVIDIA. Comum a todas estas abordagens é o facto de, originalmente, apenas preverem a utilização de co-processadores locais, ligados a um único sistema hospedeiro, não possibilitando a exploração de aceleradores ligados a outros sistemas, acessíveis via rede, limitando assim o potencial de aceleração das aplicações. O trabalho desenvolvido nesta dissertação dá resposta a esta limitação. Consistiu na criação do remote OpenCL (rOpenCL), middleware e serviços que, em conjunto, permitem que uma aplicação OpenCL (mesmo pré-compilada), explore de forma transparente e eficiente o conjunto de aceleradores disponíveis num ambiente distribuído de sistemas Linux, recorrendo a comunicação portável assente em sockets BSD. A abordagem é validada recorrendo a benchmarks OpenCL de referência, que provam a conformidade do rOpenCL com a especificação OpenCL 1.2, bem como a robustez e escalabilidade da implementação.
id RCAP_1050595688fe264016395ca32bc3e0e0
oai_identifier_str oai:bibliotecadigital.ipb.pt:10198/23222
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotosOpenCLSocketsCSistemas heterogéneosSistemas distribuídosDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaHá cerca de uma década, o panorama da arquitetura dos sistemas de computação registou um salto evolutivo, com o aparecimento de sistemas heterogéneos. Nestes sistemas, à unidade central de processamento (CPU), talhada para uso genérico, juntaram-se dispositivos co-processadores, como GPUs e FPGAs, de diferentes arquiteturas. Originalmente concebidos para fins muito específicos (como processamento gráfico ou de sinal), estes coprocessadores passaram a ser vistos como elementos auxiliares de processamento, capazes de acelerar a execução de aplicações computacionalmente exigentes. Para permitir a exploração eficiente de sistemas heterogéneos, e garantir portabilidade do código, definiram-se standards abertos, como o OpenCL, suportando co-processadores de virtualmente qualquer tipo. Noutros casos, passaram a existir frameworks proprietárias, orientadas a dispositivos de fabricantes específicos, como a framework CUDA para GPUs da NVIDIA. Comum a todas estas abordagens é o facto de, originalmente, apenas preverem a utilização de co-processadores locais, ligados a um único sistema hospedeiro, não possibilitando a exploração de aceleradores ligados a outros sistemas, acessíveis via rede, limitando assim o potencial de aceleração das aplicações. O trabalho desenvolvido nesta dissertação dá resposta a esta limitação. Consistiu na criação do remote OpenCL (rOpenCL), middleware e serviços que, em conjunto, permitem que uma aplicação OpenCL (mesmo pré-compilada), explore de forma transparente e eficiente o conjunto de aceleradores disponíveis num ambiente distribuído de sistemas Linux, recorrendo a comunicação portável assente em sockets BSD. A abordagem é validada recorrendo a benchmarks OpenCL de referência, que provam a conformidade do rOpenCL com a especificação OpenCL 1.2, bem como a robustez e escalabilidade da implementação.About a decade ago, the landscape of computer systems architecture registered an evolutionary leap, with the appearance of heterogeneous systems. In these systems, the central processing unit (CPU), designed for generic use, was joined by co-processor devices, such as GPUS and FPGAS, of different architectures. Originally designed for very specific purposes (such as graphic or signal processing), these co-processors came to be seen as auxiliary processing elements, capable of accelerating the execution of computationally demanding applications. To allow efficient exploitation of heterogeneous systems, and to ensure portability of code, open standards were defined, such as OpenCL, supporting coprocessors of virtually any type. In other cases, there have been proprietary frameworks oriented to devices from specific manufacturers, such as the CUDA framework for NVIDIA GPUs. Common to all these approaches is that they originally only provide for the use of local co-processors, which are connected to a single host system, and do not allow the exploitation of accelerators connected to other systems, accessible via the network, thereby limiting the potential for application acceleration. The work developed in this dissertation responds to this limitation. It consisted of the creation of remote OpenCL (rOpenCL), middleware and services that allow an OpenCL application (even pre-compiled) to transparently and efficiently explore the set of accelerators available in a distributed Linux system environment, using portable BSD sockets for communication. The approach is validated using reference OpenCL benchmarks, which prove the rOpenCL compliance with the OpenCL 1.2 specification, as well as the robustness and scalability of the implementation.Rufino, JoséBiblioteca Digital do IPBAlves, Rui2021-02-04T15:54:50Z202020192020-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10198/23222TID:202605108porinfo:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-11-21T10:51:58Zoai:bibliotecadigital.ipb.pt:10198/23222Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T23:14:15.564317Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
title rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
spellingShingle rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
Alves, Rui
OpenCL
Sockets
C
Sistemas heterogéneos
Sistemas distribuídos
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
title_full rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
title_fullStr rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
title_full_unstemmed rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
title_sort rOpenCL: uma ferramenta para acesso de aplicações heterogéneas a co-processadores remotos
author Alves, Rui
author_facet Alves, Rui
author_role author
dc.contributor.none.fl_str_mv Rufino, José
Biblioteca Digital do IPB
dc.contributor.author.fl_str_mv Alves, Rui
dc.subject.por.fl_str_mv OpenCL
Sockets
C
Sistemas heterogéneos
Sistemas distribuídos
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic OpenCL
Sockets
C
Sistemas heterogéneos
Sistemas distribuídos
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Há cerca de uma década, o panorama da arquitetura dos sistemas de computação registou um salto evolutivo, com o aparecimento de sistemas heterogéneos. Nestes sistemas, à unidade central de processamento (CPU), talhada para uso genérico, juntaram-se dispositivos co-processadores, como GPUs e FPGAs, de diferentes arquiteturas. Originalmente concebidos para fins muito específicos (como processamento gráfico ou de sinal), estes coprocessadores passaram a ser vistos como elementos auxiliares de processamento, capazes de acelerar a execução de aplicações computacionalmente exigentes. Para permitir a exploração eficiente de sistemas heterogéneos, e garantir portabilidade do código, definiram-se standards abertos, como o OpenCL, suportando co-processadores de virtualmente qualquer tipo. Noutros casos, passaram a existir frameworks proprietárias, orientadas a dispositivos de fabricantes específicos, como a framework CUDA para GPUs da NVIDIA. Comum a todas estas abordagens é o facto de, originalmente, apenas preverem a utilização de co-processadores locais, ligados a um único sistema hospedeiro, não possibilitando a exploração de aceleradores ligados a outros sistemas, acessíveis via rede, limitando assim o potencial de aceleração das aplicações. O trabalho desenvolvido nesta dissertação dá resposta a esta limitação. Consistiu na criação do remote OpenCL (rOpenCL), middleware e serviços que, em conjunto, permitem que uma aplicação OpenCL (mesmo pré-compilada), explore de forma transparente e eficiente o conjunto de aceleradores disponíveis num ambiente distribuído de sistemas Linux, recorrendo a comunicação portável assente em sockets BSD. A abordagem é validada recorrendo a benchmarks OpenCL de referência, que provam a conformidade do rOpenCL com a especificação OpenCL 1.2, bem como a robustez e escalabilidade da implementação.
publishDate 2019
dc.date.none.fl_str_mv 2019
2020
2020-01-01T00:00:00Z
2021-02-04T15:54:50Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10198/23222
TID:202605108
url http://hdl.handle.net/10198/23222
identifier_str_mv TID:202605108
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799135421628678144