Hybrid Code Placement for Heterogeneous Architectures
Autor(a) principal: | |
---|---|
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 |