Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso

Detalhes bibliográficos
Ano de defesa: 2013
Autor(a) principal: Lopes, Vinícius Duarte
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Viçosa
BR
Metodologias e técnicas da Computação; Sistemas de Computação
Mestrado em Ciência da Computação
UFV
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://locus.ufv.br/handle/123456789/2654
Resumo: Atualmente as arquiteturas reconfiguráveis são atrativas em desempenho e baixo consumo de energia para aplicações com laços de computação intensiva. FPGAs são arquiteturas de grão fino que oferecem possibilidade de aceleração para essas aplicações, porém, o processo de mapeamento geralmente é demorado e complexo. Como alternativa, surgem as arquiteturas reconfiguráveis de grão grosso, que provêem menor flexibilidade que os FPGAs, porém menor complexidade de mapeamento. O objetivo deste trabalho é o mapeamento em tempo de execução do grafo de fluxo de dados, que representa um laço, em uma arquitetura reconfigurável grão grosso. O problema é NP-Completo e as diversas heurísticas encontradas na literatura não são viáveis para uma implementação dinâmica. Nesta dissertação propomos uma nova heurística capaz de realizar o mapeamento em tempo de execução da aplicação. Enquanto soluções anteriores necessitam de segundos para mapear aplicações, resultados experimentais mostraram que a solução proposta requer em média apenas 390 microssegundos para gerar mapeamentos próximos do ótimo na arquitetura utilizada, para 15 benchmarks extraídos de aplicações multimídia. Assim, a solução apresentada pode ser implementada em um ambiente de compilação Just-In-Time, podendo ser utilizada em contextos dinâmicos onde várias aplicações compartilham a arquitetura reconfigurável com possibilidade de mudança na composição dos elementos de processamento ou em cenários com presença de falhas no hardware. Além disso, apresentamos um modelo de implementação da heurística em hardware, com potencial redução do tempo de mapeamento em até 90% em relação à execução em software em um ambiente Just-In-Time.
id UFV_3733acde013c2a2e8af496b47bda31ac
oai_identifier_str oai:locus.ufv.br:123456789/2654
network_acronym_str UFV
network_name_str LOCUS Repositório Institucional da UFV
repository_id_str
spelling Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grossoA polinomial heuristic scheduling of loops on coarse grained reconfigurable architecturesHardware reconfigurávelMódulo shedulingArquiteturas reconfiguráveisReconfigurable hardwareModule shedulingReconfigurable ArchitecturesCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOAtualmente as arquiteturas reconfiguráveis são atrativas em desempenho e baixo consumo de energia para aplicações com laços de computação intensiva. FPGAs são arquiteturas de grão fino que oferecem possibilidade de aceleração para essas aplicações, porém, o processo de mapeamento geralmente é demorado e complexo. Como alternativa, surgem as arquiteturas reconfiguráveis de grão grosso, que provêem menor flexibilidade que os FPGAs, porém menor complexidade de mapeamento. O objetivo deste trabalho é o mapeamento em tempo de execução do grafo de fluxo de dados, que representa um laço, em uma arquitetura reconfigurável grão grosso. O problema é NP-Completo e as diversas heurísticas encontradas na literatura não são viáveis para uma implementação dinâmica. Nesta dissertação propomos uma nova heurística capaz de realizar o mapeamento em tempo de execução da aplicação. Enquanto soluções anteriores necessitam de segundos para mapear aplicações, resultados experimentais mostraram que a solução proposta requer em média apenas 390 microssegundos para gerar mapeamentos próximos do ótimo na arquitetura utilizada, para 15 benchmarks extraídos de aplicações multimídia. Assim, a solução apresentada pode ser implementada em um ambiente de compilação Just-In-Time, podendo ser utilizada em contextos dinâmicos onde várias aplicações compartilham a arquitetura reconfigurável com possibilidade de mudança na composição dos elementos de processamento ou em cenários com presença de falhas no hardware. Além disso, apresentamos um modelo de implementação da heurística em hardware, com potencial redução do tempo de mapeamento em até 90% em relação à execução em software em um ambiente Just-In-Time.Nowadays reconfigurable architectures are attractive both in performance and low power consumption for applications with computing intensive loops. FPGAs are fine-grained architectures that offer the possibility of acceleration for these applications, however, the mapping process is typically time consuming and complex. Although Coarse Grained Reconfigurable Architectures (CGRAs) provide less flexibility than FPGAs, they has less complex mapping. The goal of this work is the runtime mapping of the dataflow graph, which represents a loop, on a reconfigurable architecture. The problem is NP-Complete and the heuristics found in the literature are not feasible for a dynamic implementation. We propose a heuristic solution that utilizes two distinct mechanisms: an architecture that simplifies the most of the mapping process, with minimal degradation in performance, and an algorithm to perform the mapping at run-time application. While previous solutions require seconds to mapping applications, the proposed solution requires only microseconds to generate near-optimal mappings. Accordingly, the presented solution enables the use of the Just-In-Time compilation, which can be used in dynamic contexts where various applications share a reconfigurable architecture with a possibility of change in composition of processing elements or scenarios with presence of hardware failures. Furthermore, we present an implementation model of the algorithm in hardware, which aims to be 90% faster when compared to the software Just-In-Time solution.Universidade Federal de ViçosaBRMetodologias e técnicas da Computação; Sistemas de ComputaçãoMestrado em Ciência da ComputaçãoUFVhttp://lattes.cnpq.br/9525108589581136Ferreira, Ricardo dos Santoshttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723626E5Goulart, Carlos de Castrohttp://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784106Y9Nacif, José Augusto Mirandahttp://lattes.cnpq.br/1946315322575953Lopes, Vinícius Duarte2015-03-26T13:10:35Z2013-11-292015-03-26T13:10:35Z2013-06-24info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfLOPES, Vinícius Duarte. A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures. 2013. 90 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.http://locus.ufv.br/handle/123456789/2654porinfo:eu-repo/semantics/openAccessreponame:LOCUS Repositório Institucional da UFVinstname:Universidade Federal de Viçosa (UFV)instacron:UFV2016-04-09T02:12:38Zoai:locus.ufv.br:123456789/2654Repositório InstitucionalPUBhttps://www.locus.ufv.br/oai/requestfabiojreis@ufv.bropendoar:21452016-04-09T02:12:38LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)false
dc.title.none.fl_str_mv Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures
title Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
spellingShingle Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
Lopes, Vinícius Duarte
Hardware reconfigurável
Módulo sheduling
Arquiteturas reconfiguráveis
Reconfigurable hardware
Module sheduling
Reconfigurable Architectures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
title_short Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
title_full Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
title_fullStr Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
title_full_unstemmed Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
title_sort Uma heurística polinomial para escalonamento de loops em arquiteturas reconfiguráveis de grão grosso
author Lopes, Vinícius Duarte
author_facet Lopes, Vinícius Duarte
author_role author
dc.contributor.none.fl_str_mv http://lattes.cnpq.br/9525108589581136
Ferreira, Ricardo dos Santos
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4723626E5
Goulart, Carlos de Castro
http://buscatextual.cnpq.br/buscatextual/visualizacv.do?id=K4784106Y9
Nacif, José Augusto Miranda
http://lattes.cnpq.br/1946315322575953
dc.contributor.author.fl_str_mv Lopes, Vinícius Duarte
dc.subject.por.fl_str_mv Hardware reconfigurável
Módulo sheduling
Arquiteturas reconfiguráveis
Reconfigurable hardware
Module sheduling
Reconfigurable Architectures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Hardware reconfigurável
Módulo sheduling
Arquiteturas reconfiguráveis
Reconfigurable hardware
Module sheduling
Reconfigurable Architectures
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description Atualmente as arquiteturas reconfiguráveis são atrativas em desempenho e baixo consumo de energia para aplicações com laços de computação intensiva. FPGAs são arquiteturas de grão fino que oferecem possibilidade de aceleração para essas aplicações, porém, o processo de mapeamento geralmente é demorado e complexo. Como alternativa, surgem as arquiteturas reconfiguráveis de grão grosso, que provêem menor flexibilidade que os FPGAs, porém menor complexidade de mapeamento. O objetivo deste trabalho é o mapeamento em tempo de execução do grafo de fluxo de dados, que representa um laço, em uma arquitetura reconfigurável grão grosso. O problema é NP-Completo e as diversas heurísticas encontradas na literatura não são viáveis para uma implementação dinâmica. Nesta dissertação propomos uma nova heurística capaz de realizar o mapeamento em tempo de execução da aplicação. Enquanto soluções anteriores necessitam de segundos para mapear aplicações, resultados experimentais mostraram que a solução proposta requer em média apenas 390 microssegundos para gerar mapeamentos próximos do ótimo na arquitetura utilizada, para 15 benchmarks extraídos de aplicações multimídia. Assim, a solução apresentada pode ser implementada em um ambiente de compilação Just-In-Time, podendo ser utilizada em contextos dinâmicos onde várias aplicações compartilham a arquitetura reconfigurável com possibilidade de mudança na composição dos elementos de processamento ou em cenários com presença de falhas no hardware. Além disso, apresentamos um modelo de implementação da heurística em hardware, com potencial redução do tempo de mapeamento em até 90% em relação à execução em software em um ambiente Just-In-Time.
publishDate 2013
dc.date.none.fl_str_mv 2013-11-29
2013-06-24
2015-03-26T13:10:35Z
2015-03-26T13:10:35Z
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 LOPES, Vinícius Duarte. A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures. 2013. 90 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.
http://locus.ufv.br/handle/123456789/2654
identifier_str_mv LOPES, Vinícius Duarte. A polinomial heuristic scheduling of loops on coarse grained reconfigurable architectures. 2013. 90 f. Dissertação (Mestrado em Metodologias e técnicas da Computação; Sistemas de Computação) - Universidade Federal de Viçosa, Viçosa, 2013.
url http://locus.ufv.br/handle/123456789/2654
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
application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Viçosa
BR
Metodologias e técnicas da Computação; Sistemas de Computação
Mestrado em Ciência da Computação
UFV
publisher.none.fl_str_mv Universidade Federal de Viçosa
BR
Metodologias e técnicas da Computação; Sistemas de Computação
Mestrado em Ciência da Computação
UFV
dc.source.none.fl_str_mv reponame:LOCUS Repositório Institucional da UFV
instname:Universidade Federal de Viçosa (UFV)
instacron:UFV
instname_str Universidade Federal de Viçosa (UFV)
instacron_str UFV
institution UFV
reponame_str LOCUS Repositório Institucional da UFV
collection LOCUS Repositório Institucional da UFV
repository.name.fl_str_mv LOCUS Repositório Institucional da UFV - Universidade Federal de Viçosa (UFV)
repository.mail.fl_str_mv fabiojreis@ufv.br
_version_ 1855045577874604032