Escalonamento inteligente de computações em ambientes híbridos CPU/GPU

Detalhes bibliográficos
Autor(a) principal: António, Francisco Manuel Évora
Data de Publicação: 2021
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/10362/151093
Resumo: Muitos sistemas computacionais hoje em dia possuem um host CPU e uma ou mais GPUs mas nem sempre é fácil tirar partido de todo o potencial destes máquinas. Para podermos ter um grande de aproveitamento do hardware é necessário ter um profundo conheci- mento da sua arquitetura e efetuar ajustes quando se muda de um sistema para outro. O desempenho de uma execução, tanto na CPU como na GPU, depende de múltiplos fatores, como por exemplo o número de threads ou a localidade dos dados. O processo de escalonamento tem de ter em consideração qual é a melhor parametrização para cada processador e qual dos processadores usar. Esta tese foi desenvolvido no âmbito da framework Marrow. Esta framework é utilizada para a orquestração de computações em sistemas heterogéneos, permitindo, através de uma computação de alto nível, executar o código na CPU ou na GPU. O trabalho desenvolvido foi um módulo para a framework Marrow que, dado uma certa computação, decide se deve ser executada na CPU ou na GPU. Este módulo en- contra também o tamanho do bloco de threads que minimiza o tempo de execução, caso o dispositivo escolhido seja a GPU. Para efetuar as decisões foi utilizado um algoritmo de Aprendizagem Automática chamado Artificial Neural Networks. São empregues várias redes neuronais e as features utilizadas por estas são extraídas a partir das computações Marrow. Os resultados foram muito positivos, com uma eficácia superior a 97% na escolha do dispositivo onde deve ser executada a computação. Relativamente à previsão do tamanho de bloco ideal, os resultados foram também bastante bons. O tamanho de bloco devolvido pelo módulo resulta num tempo de execução que fica, em média, a menos de 2,4% do tempo de execução mínimo, alcançando valores abaixo de 1% em alguns testes. Foram realizados testes em dois sistemas bastante diferentes e consoante vários aspetos. Com este módulo, qualquer utilizador da framework Marrow pode executar compu- tações com configurações muito próximas das ideais mesmo que não tenha um conheci- mento aprofundado da framework ou da arquitetura do sistema.
id RCAP_d273b7d0b93a6151175007729c0e53e2
oai_identifier_str oai:run.unl.pt:10362/151093
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 Escalonamento inteligente de computações em ambientes híbridos CPU/GPUComputação heterogéneaautotuningAprendizagem Automáticaparâmetros GPUDomínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaMuitos sistemas computacionais hoje em dia possuem um host CPU e uma ou mais GPUs mas nem sempre é fácil tirar partido de todo o potencial destes máquinas. Para podermos ter um grande de aproveitamento do hardware é necessário ter um profundo conheci- mento da sua arquitetura e efetuar ajustes quando se muda de um sistema para outro. O desempenho de uma execução, tanto na CPU como na GPU, depende de múltiplos fatores, como por exemplo o número de threads ou a localidade dos dados. O processo de escalonamento tem de ter em consideração qual é a melhor parametrização para cada processador e qual dos processadores usar. Esta tese foi desenvolvido no âmbito da framework Marrow. Esta framework é utilizada para a orquestração de computações em sistemas heterogéneos, permitindo, através de uma computação de alto nível, executar o código na CPU ou na GPU. O trabalho desenvolvido foi um módulo para a framework Marrow que, dado uma certa computação, decide se deve ser executada na CPU ou na GPU. Este módulo en- contra também o tamanho do bloco de threads que minimiza o tempo de execução, caso o dispositivo escolhido seja a GPU. Para efetuar as decisões foi utilizado um algoritmo de Aprendizagem Automática chamado Artificial Neural Networks. São empregues várias redes neuronais e as features utilizadas por estas são extraídas a partir das computações Marrow. Os resultados foram muito positivos, com uma eficácia superior a 97% na escolha do dispositivo onde deve ser executada a computação. Relativamente à previsão do tamanho de bloco ideal, os resultados foram também bastante bons. O tamanho de bloco devolvido pelo módulo resulta num tempo de execução que fica, em média, a menos de 2,4% do tempo de execução mínimo, alcançando valores abaixo de 1% em alguns testes. Foram realizados testes em dois sistemas bastante diferentes e consoante vários aspetos. Com este módulo, qualquer utilizador da framework Marrow pode executar compu- tações com configurações muito próximas das ideais mesmo que não tenha um conheci- mento aprofundado da framework ou da arquitetura do sistema.Nowadays, heterogeneous systems with one CPU host and one or more GPUs are available in many computational systems, but it is not always easy to take full advantage of these machines. To achieve the full potential of the hardware we need to have a profound knowledge of the system architecture and make adjustments when we change from one system to another. The performance of an execution, both in the CPU and the GPU, depends on several factors, like the number of threads or data locality. The scheduling process has to take in consideration which is the best parameterization for each processor and when to assign tasks to each one. This thesis was developed in the scope of the Marrow framework. This framework is used for the scheduling of computations in heterogeneous systems. From a high level computation it allows you to run the code on a CPU or a GPU. In this thesis we developed a module for the Marrow framework which, given a certain computation, decides whether to execute it on the CPU or the GPU. This module also finds the thread block size that minimizes execution time, if the chosen device is the GPU. The module uses a Machine Learning algorithm called Artificial Neural Networks to make the decisions. Several neural networks are employed and the features used by these are extracted from the Marrow computations. The results were very good, with an effectiveness above 97% in choosing the correct device to execute the computation. Regarding the block size, the results were also very good. The block size returned by the module produces an execution time that is, on average, less than 2,4% higher than the minimum execution time, reaching values below 1% in some tests. The testing was performed in two very different systems and evaluated in several different parameters. With this module, any user of the Marrow framework can execute the computations with configurations very close to optimal, even without a profound knowledge of the framework or the system architecture.Paulino, HervéRUNAntónio, Francisco Manuel Évora2023-03-23T10:09:10Z2021-122021-12-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/10362/151093porinfo: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:RCAAP2024-05-22T18:10:28Zoai:run.unl.pt:10362/151093Portal AgregadorONGhttps://www.rcaap.pt/oai/openairemluisa.alvim@gmail.comopendoar:71602024-05-22T18:10:28Repositó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 Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
title Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
spellingShingle Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
António, Francisco Manuel Évora
Computação heterogénea
autotuning
Aprendizagem Automática
parâmetros GPU
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
title_full Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
title_fullStr Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
title_full_unstemmed Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
title_sort Escalonamento inteligente de computações em ambientes híbridos CPU/GPU
author António, Francisco Manuel Évora
author_facet António, Francisco Manuel Évora
author_role author
dc.contributor.none.fl_str_mv Paulino, Hervé
RUN
dc.contributor.author.fl_str_mv António, Francisco Manuel Évora
dc.subject.por.fl_str_mv Computação heterogénea
autotuning
Aprendizagem Automática
parâmetros GPU
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Computação heterogénea
autotuning
Aprendizagem Automática
parâmetros GPU
Domínio/Área Científica::Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Muitos sistemas computacionais hoje em dia possuem um host CPU e uma ou mais GPUs mas nem sempre é fácil tirar partido de todo o potencial destes máquinas. Para podermos ter um grande de aproveitamento do hardware é necessário ter um profundo conheci- mento da sua arquitetura e efetuar ajustes quando se muda de um sistema para outro. O desempenho de uma execução, tanto na CPU como na GPU, depende de múltiplos fatores, como por exemplo o número de threads ou a localidade dos dados. O processo de escalonamento tem de ter em consideração qual é a melhor parametrização para cada processador e qual dos processadores usar. Esta tese foi desenvolvido no âmbito da framework Marrow. Esta framework é utilizada para a orquestração de computações em sistemas heterogéneos, permitindo, através de uma computação de alto nível, executar o código na CPU ou na GPU. O trabalho desenvolvido foi um módulo para a framework Marrow que, dado uma certa computação, decide se deve ser executada na CPU ou na GPU. Este módulo en- contra também o tamanho do bloco de threads que minimiza o tempo de execução, caso o dispositivo escolhido seja a GPU. Para efetuar as decisões foi utilizado um algoritmo de Aprendizagem Automática chamado Artificial Neural Networks. São empregues várias redes neuronais e as features utilizadas por estas são extraídas a partir das computações Marrow. Os resultados foram muito positivos, com uma eficácia superior a 97% na escolha do dispositivo onde deve ser executada a computação. Relativamente à previsão do tamanho de bloco ideal, os resultados foram também bastante bons. O tamanho de bloco devolvido pelo módulo resulta num tempo de execução que fica, em média, a menos de 2,4% do tempo de execução mínimo, alcançando valores abaixo de 1% em alguns testes. Foram realizados testes em dois sistemas bastante diferentes e consoante vários aspetos. Com este módulo, qualquer utilizador da framework Marrow pode executar compu- tações com configurações muito próximas das ideais mesmo que não tenha um conheci- mento aprofundado da framework ou da arquitetura do sistema.
publishDate 2021
dc.date.none.fl_str_mv 2021-12
2021-12-01T00:00:00Z
2023-03-23T10:09:10Z
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/10362/151093
url http://hdl.handle.net/10362/151093
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 mluisa.alvim@gmail.com
_version_ 1817545926299877376