Hybrid Code Placement for Heterogeneous Architectures

Detalhes bibliográficos
Autor(a) principal: Marcelo Pereira Novaes
Data de Publicação: 2018
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/ESBF-B8VNJV
Resumo: Arquiteturas de computadores modernas estão se tornando a cada dia mais heterogêneas. Essa heterogenidade emerge da possibilidade de combinação, dentro de um mesmo dispositivo, de diferentes tipos de processadores. Escolher a melhor configuração desses processadores é uma tarefa difícil, porque programas, mesmo em tamanhos moderados, apresentam diferentes fases durante a sua execução. Essas fases se beneficiam de forma diferente do dispositivo. Pesquisadores vêm utilizando diversas técnicas para lidar com o problema, mas duas delas se destacam: a dinâmica e a estatica. A primeira, é implementada em tempo de execução, seja por um sistema operacional ou um escalonador. A última, é implementada em tempo de compilação. Nessa dissertação, investigaremos a mescla das duas abordagens de modo a conseguir uma sinergia a qual não seria obtida por cada uma das técnicas individualmente. Nesse novo esquema, nós usamos uma ferramenta de instrumentação que cria programas que se migram sozinhos usando ambas informações retiradas do código fonte e informações coletadas em tempo de execução. A ferramenta de instrumentação foi implementada na infraestrutura de compilação LLVM. Para demonstrar que nossas ideias são úteis e efetivas, essa dissertação de mestrado compara esse novo gerador decódigo, chamado Astro, com abordagens no estado-da-arte, o utilizando para reduzir o consumo de energia (mantendo restrições de performance) em conjuntos de aplicações entre diferentes placas embarcadas.
id UFMG_ed9904fdaf1c712e5e7834053618cb16
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-B8VNJV
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Fernando Magno Quintao PereiraAdriano Alonso VelosoMarcelo Pereira Novaes2019-08-09T16:10:11Z2019-08-09T16:10:11Z2018-02-23http://hdl.handle.net/1843/ESBF-B8VNJVArquiteturas de computadores modernas estão se tornando a cada dia mais heterogêneas. Essa heterogenidade emerge da possibilidade de combinação, dentro de um mesmo dispositivo, de diferentes tipos de processadores. Escolher a melhor configuração desses processadores é uma tarefa difícil, porque programas, mesmo em tamanhos moderados, apresentam diferentes fases durante a sua execução. Essas fases se beneficiam de forma diferente do dispositivo. Pesquisadores vêm utilizando diversas técnicas para lidar com o problema, mas duas delas se destacam: a dinâmica e a estatica. A primeira, é implementada em tempo de execução, seja por um sistema operacional ou um escalonador. A última, é implementada em tempo de compilação. Nessa dissertação, investigaremos a mescla das duas abordagens de modo a conseguir uma sinergia a qual não seria obtida por cada uma das técnicas individualmente. Nesse novo esquema, nós usamos uma ferramenta de instrumentação que cria programas que se migram sozinhos usando ambas informações retiradas do código fonte e informações coletadas em tempo de execução. A ferramenta de instrumentação foi implementada na infraestrutura de compilação LLVM. Para demonstrar que nossas ideias são úteis e efetivas, essa dissertação de mestrado compara esse novo gerador decódigo, chamado Astro, com abordagens no estado-da-arte, o utilizando para reduzir o consumo de energia (mantendo restrições de performance) em conjuntos de aplicações entre diferentes placas embarcadas.Modern computer architectures are becoming each day more heterogeneous. Choosing the best hardware configuration for a given program is difficult, because programs, even of moderate size, go through many phases during execution. These phases benefit differently from the same hardware configuration. Researchers have used a plethora of techniques to deal with this problem, but two techniques seem to standout: dynamically or statically. The former is implemented at the runtime level, be it through an operating system or a scheduler/middleware. The latter is implemented at compilation level. In this dissertation, we will investigate the mixing of both approaches achieving a synergy that, otherwise, could not be attained by each technique individually. To demonstrate that our ideas are useful and effective, we compare this new code generator, called Astro, with state of the art approaches, which were used to reduce the energy consumption, maintaining performance constraints.Universidade Federal de Minas GeraisUFMGCompiladores (Computadores)ComputaçãoArquitetura de computadornon-assisted instrumentationLLVMenergy-efficient systemssemi-supervised learningadaptive programsheterogeneous architecturesCompilersreinforcement learningHybrid Code Placement for Heterogeneous Architecturesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALmarcelopereiranovaes.pdfapplication/pdf2998901https://repositorio.ufmg.br/bitstream/1843/ESBF-B8VNJV/1/marcelopereiranovaes.pdf1cae90da0e77375be3c18f62622c7db6MD51TEXTmarcelopereiranovaes.pdf.txtmarcelopereiranovaes.pdf.txtExtracted texttext/plain123383https://repositorio.ufmg.br/bitstream/1843/ESBF-B8VNJV/2/marcelopereiranovaes.pdf.txt92ff27f424f99d0abc26b9ca39274063MD521843/ESBF-B8VNJV2019-11-14 07:17:12.811oai:repositorio.ufmg.br:1843/ESBF-B8VNJVRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T10:17:12Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Hybrid Code Placement for Heterogeneous Architectures
title Hybrid Code Placement for Heterogeneous Architectures
spellingShingle Hybrid Code Placement for Heterogeneous Architectures
Marcelo Pereira Novaes
non-assisted instrumentation
LLVM
energy-efficient systems
semi-supervised learning
adaptive programs
heterogeneous architectures
Compilers
reinforcement learning
Compiladores (Computadores)
Computação
Arquitetura de computador
title_short Hybrid Code Placement for Heterogeneous Architectures
title_full Hybrid Code Placement for Heterogeneous Architectures
title_fullStr Hybrid Code Placement for Heterogeneous Architectures
title_full_unstemmed Hybrid Code Placement for Heterogeneous Architectures
title_sort Hybrid Code Placement for Heterogeneous Architectures
author Marcelo Pereira Novaes
author_facet Marcelo Pereira Novaes
author_role author
dc.contributor.advisor1.fl_str_mv Fernando Magno Quintao Pereira
dc.contributor.referee1.fl_str_mv Adriano Alonso Veloso
dc.contributor.author.fl_str_mv Marcelo Pereira Novaes
contributor_str_mv Fernando Magno Quintao Pereira
Adriano Alonso Veloso
dc.subject.por.fl_str_mv non-assisted instrumentation
LLVM
energy-efficient systems
semi-supervised learning
adaptive programs
heterogeneous architectures
Compilers
reinforcement learning
topic non-assisted instrumentation
LLVM
energy-efficient systems
semi-supervised learning
adaptive programs
heterogeneous architectures
Compilers
reinforcement learning
Compiladores (Computadores)
Computação
Arquitetura de computador
dc.subject.other.pt_BR.fl_str_mv Compiladores (Computadores)
Computação
Arquitetura de computador
description Arquiteturas de computadores modernas estão se tornando a cada dia mais heterogêneas. Essa heterogenidade emerge da possibilidade de combinação, dentro de um mesmo dispositivo, de diferentes tipos de processadores. Escolher a melhor configuração desses processadores é uma tarefa difícil, porque programas, mesmo em tamanhos moderados, apresentam diferentes fases durante a sua execução. Essas fases se beneficiam de forma diferente do dispositivo. Pesquisadores vêm utilizando diversas técnicas para lidar com o problema, mas duas delas se destacam: a dinâmica e a estatica. A primeira, é implementada em tempo de execução, seja por um sistema operacional ou um escalonador. A última, é implementada em tempo de compilação. Nessa dissertação, investigaremos a mescla das duas abordagens de modo a conseguir uma sinergia a qual não seria obtida por cada uma das técnicas individualmente. Nesse novo esquema, nós usamos uma ferramenta de instrumentação que cria programas que se migram sozinhos usando ambas informações retiradas do código fonte e informações coletadas em tempo de execução. A ferramenta de instrumentação foi implementada na infraestrutura de compilação LLVM. Para demonstrar que nossas ideias são úteis e efetivas, essa dissertação de mestrado compara esse novo gerador decódigo, chamado Astro, com abordagens no estado-da-arte, o utilizando para reduzir o consumo de energia (mantendo restrições de performance) em conjuntos de aplicações entre diferentes placas embarcadas.
publishDate 2018
dc.date.issued.fl_str_mv 2018-02-23
dc.date.accessioned.fl_str_mv 2019-08-09T16:10:11Z
dc.date.available.fl_str_mv 2019-08-09T16:10:11Z
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/1843/ESBF-B8VNJV
url http://hdl.handle.net/1843/ESBF-B8VNJV
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.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/ESBF-B8VNJV/1/marcelopereiranovaes.pdf
https://repositorio.ufmg.br/bitstream/1843/ESBF-B8VNJV/2/marcelopereiranovaes.pdf.txt
bitstream.checksum.fl_str_mv 1cae90da0e77375be3c18f62622c7db6
92ff27f424f99d0abc26b9ca39274063
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589284324704256