Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints
| Ano de defesa: | 2019 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | eng |
| Instituição de defesa: |
Não Informado pela instituição
|
| 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: | |
| Palavras-chave em Inglês: | |
| Link de acesso: | http://hdl.handle.net/10183/212590 |
Resumo: | MPSoCs heterogêneos são fundamentais para garantir eficiência energética e desempenho, dada a sua combinação de núcleos de propósito geral e aceleradores. Entretanto, estes dispositivos carregam diversas restrições quanto à sua potência total (e.g., para poupar bateria) e área (e.g., para caber em dispositivos pequenos) no projeto final. Por este motivo, melhorar a próxima geração de MPSoCs enquanto respeitam-se as restrições de projeto é um grande desafio. Neste trabalho, propomos uma nova técnica para compor MPSoCs, aumentando sua vazão de tarefas e especialização, observando as limitações de área e potência do projeto. Para tanto, removemos o suporte micro arquitetural de extensões de ISA (e.g., Ponto-Flutuante) de alguns núcleos (transformando-os em núcleos parciais), tornando-os mais simples e criando saldo em área e potência. Portanto, criamos espaço para adicionar núcleos pequenos e também aceleradores. Assim, as aplicações podem executar com potência reduzida quando extensões de ISA não são necessarias, já que os núcleos parciais são menos complexos. Quando é necessário executar extensões de ISA, as tarefas são migradas para núcleos não-parciais, mantendo a compatibilidade binária. Além disso, a existência de mais núcleos e de aceleradores dedicados aumenta a vazão de tarefas e torna o MPSoC mais adequado para cenários específicos. Validamos a proposta compondo vários MPSoCs com núcleos parciais executando diferentes cenários, e considerando instruções de ponto-flutuante da ISA RISC-V como estudo de caso. Para gerenciar o sistema, propomos políticas de escalonamento orientada a performance e orientada a energia, para que coordenem a execução de aplicações no MPSoC. Na a primeira política, aumentamos a performance em 2.81x no uso de redes neurais para a detecção de sinalização de trânsito, 2.58x para decodificação de vídeo, 1.76x para um conjunto de aplicações edge, e 1.2x para um cenário multi-tarefa, reduzindo o consumo de energia em 68%, 91%, 56%, and 33%, respectivamente. Para a política orientada a energia, o suporte parcial de ISA reduz o consumo de energia em 61% sobre um sistema original já altamente eficiente, além de aumentar o seu desempenho. Não obstante, demonstramos que o suporte parcial de ISA resulta em melhores projetos de MPSoC na métrica de EDP. |
| id |
URGS_44faea16875956d068d084655df7ac17 |
|---|---|
| oai_identifier_str |
oai:www.lume.ufrgs.br:10183/212590 |
| network_acronym_str |
URGS |
| network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| repository_id_str |
|
| spelling |
Becker, Pedro Henrique ExenbergerBeck Filho, Antonio Carlos Schneider2020-08-04T03:39:11Z2019http://hdl.handle.net/10183/212590001107604MPSoCs heterogêneos são fundamentais para garantir eficiência energética e desempenho, dada a sua combinação de núcleos de propósito geral e aceleradores. Entretanto, estes dispositivos carregam diversas restrições quanto à sua potência total (e.g., para poupar bateria) e área (e.g., para caber em dispositivos pequenos) no projeto final. Por este motivo, melhorar a próxima geração de MPSoCs enquanto respeitam-se as restrições de projeto é um grande desafio. Neste trabalho, propomos uma nova técnica para compor MPSoCs, aumentando sua vazão de tarefas e especialização, observando as limitações de área e potência do projeto. Para tanto, removemos o suporte micro arquitetural de extensões de ISA (e.g., Ponto-Flutuante) de alguns núcleos (transformando-os em núcleos parciais), tornando-os mais simples e criando saldo em área e potência. Portanto, criamos espaço para adicionar núcleos pequenos e também aceleradores. Assim, as aplicações podem executar com potência reduzida quando extensões de ISA não são necessarias, já que os núcleos parciais são menos complexos. Quando é necessário executar extensões de ISA, as tarefas são migradas para núcleos não-parciais, mantendo a compatibilidade binária. Além disso, a existência de mais núcleos e de aceleradores dedicados aumenta a vazão de tarefas e torna o MPSoC mais adequado para cenários específicos. Validamos a proposta compondo vários MPSoCs com núcleos parciais executando diferentes cenários, e considerando instruções de ponto-flutuante da ISA RISC-V como estudo de caso. Para gerenciar o sistema, propomos políticas de escalonamento orientada a performance e orientada a energia, para que coordenem a execução de aplicações no MPSoC. Na a primeira política, aumentamos a performance em 2.81x no uso de redes neurais para a detecção de sinalização de trânsito, 2.58x para decodificação de vídeo, 1.76x para um conjunto de aplicações edge, e 1.2x para um cenário multi-tarefa, reduzindo o consumo de energia em 68%, 91%, 56%, and 33%, respectivamente. Para a política orientada a energia, o suporte parcial de ISA reduz o consumo de energia em 61% sobre um sistema original já altamente eficiente, além de aumentar o seu desempenho. Não obstante, demonstramos que o suporte parcial de ISA resulta em melhores projetos de MPSoC na métrica de EDP.Heterogeneous MPSoCs are crucial to meeting energy efficiency and performance, given their combination of general-purpose cores and accelerators. However, their design yields several restrictions regarding the total power (e.g., for battery-powered devices) and area (e.g., for tiny wearable devices) of the final project. This makes it very challenging for the designers to improve next-generation MPSoCs while respecting such constraints. Towards overcoming this challenge, this work presents a novel technique for MPSoCs design, increasing their specialization and task-parallelism while respecting the former area and power budget. By removing the microarchitectural support of costly ISA extensions (e.g., FP, SIMD, crypto) from a few cores (transforming them into Partial-ISA Cores), we simplify their datapaths, creating slack in the system’s area and power budget. Thereby, we make room to add extra in-order cores and hardware accelerators. Given that, applications execute at lower power consumption during their ISA-extension-free phases, since partial cores have much simpler datapaths compared to their full-ISA counterparts. When extension support is necessary, otherwise, applications are migrated to full-ISA cores, maintaining binary compatibility. On top of it, the additional cores and accelerators increase task-level parallelism and make the MPSoC more suitable for application-specific scenarios. We evaluate the effectiveness of our approach by composing different MPSoCs in distinct execution scenarios, using the FP instructions and RISC-V ISA processors as a case study. To coordinate the execution of workloads in this novel design, we also propose two scheduling policies, performance- and energy-oriented. For the former policy, we achieve 2.81x speedup for a neural network road sign detection, 2.58x speedup for a video-streaming app, 1.76x speedup for an edge-computing load, and 1.2x speedup for a task-parallel scenario, consuming 68%, 91%, 56%, and 33% less energy, respectively. For the energy-oriented policy, partial-ISA reduces geomean energy consumption by 61% over a highly efficient baseline, also with increased performance. Overall, we demonstrate that partial-ISA adoption leads to better designs regarding the EDP metric for almost every scenario we investigate.application/pdfengComputação : Alto desempenhoMPSoCSistemas heterogêneosMPSoC DesignPartial-ISAHeterogeneous SystemsSelectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraintsSuportando extensões de ISA seletivamente para melhorar MPSoCs hetorogêneos sob limitações de potência e área info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2019mestradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001107604.pdf.txt001107604.pdf.txtExtracted Texttext/plain173223http://www.lume.ufrgs.br/bitstream/10183/212590/2/001107604.pdf.txteb31ce4dd220d25d8e8abbd18e760ac6MD52ORIGINAL001107604.pdfTexto completo (inglês)application/pdf5801755http://www.lume.ufrgs.br/bitstream/10183/212590/1/001107604.pdfccf118dd46943d798c38f317df2350bdMD5110183/2125902020-08-05 03:39:19.611215oai:www.lume.ufrgs.br:10183/212590Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532020-08-05T06:39:19Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
| dc.title.pt_BR.fl_str_mv |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| dc.title.alternative.en.fl_str_mv |
Suportando extensões de ISA seletivamente para melhorar MPSoCs hetorogêneos sob limitações de potência e área |
| title |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| spellingShingle |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints Becker, Pedro Henrique Exenberger Computação : Alto desempenho MPSoC Sistemas heterogêneos MPSoC Design Partial-ISA Heterogeneous Systems |
| title_short |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| title_full |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| title_fullStr |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| title_full_unstemmed |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| title_sort |
Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints |
| author |
Becker, Pedro Henrique Exenberger |
| author_facet |
Becker, Pedro Henrique Exenberger |
| author_role |
author |
| dc.contributor.author.fl_str_mv |
Becker, Pedro Henrique Exenberger |
| dc.contributor.advisor1.fl_str_mv |
Beck Filho, Antonio Carlos Schneider |
| contributor_str_mv |
Beck Filho, Antonio Carlos Schneider |
| dc.subject.por.fl_str_mv |
Computação : Alto desempenho MPSoC Sistemas heterogêneos |
| topic |
Computação : Alto desempenho MPSoC Sistemas heterogêneos MPSoC Design Partial-ISA Heterogeneous Systems |
| dc.subject.eng.fl_str_mv |
MPSoC Design Partial-ISA Heterogeneous Systems |
| description |
MPSoCs heterogêneos são fundamentais para garantir eficiência energética e desempenho, dada a sua combinação de núcleos de propósito geral e aceleradores. Entretanto, estes dispositivos carregam diversas restrições quanto à sua potência total (e.g., para poupar bateria) e área (e.g., para caber em dispositivos pequenos) no projeto final. Por este motivo, melhorar a próxima geração de MPSoCs enquanto respeitam-se as restrições de projeto é um grande desafio. Neste trabalho, propomos uma nova técnica para compor MPSoCs, aumentando sua vazão de tarefas e especialização, observando as limitações de área e potência do projeto. Para tanto, removemos o suporte micro arquitetural de extensões de ISA (e.g., Ponto-Flutuante) de alguns núcleos (transformando-os em núcleos parciais), tornando-os mais simples e criando saldo em área e potência. Portanto, criamos espaço para adicionar núcleos pequenos e também aceleradores. Assim, as aplicações podem executar com potência reduzida quando extensões de ISA não são necessarias, já que os núcleos parciais são menos complexos. Quando é necessário executar extensões de ISA, as tarefas são migradas para núcleos não-parciais, mantendo a compatibilidade binária. Além disso, a existência de mais núcleos e de aceleradores dedicados aumenta a vazão de tarefas e torna o MPSoC mais adequado para cenários específicos. Validamos a proposta compondo vários MPSoCs com núcleos parciais executando diferentes cenários, e considerando instruções de ponto-flutuante da ISA RISC-V como estudo de caso. Para gerenciar o sistema, propomos políticas de escalonamento orientada a performance e orientada a energia, para que coordenem a execução de aplicações no MPSoC. Na a primeira política, aumentamos a performance em 2.81x no uso de redes neurais para a detecção de sinalização de trânsito, 2.58x para decodificação de vídeo, 1.76x para um conjunto de aplicações edge, e 1.2x para um cenário multi-tarefa, reduzindo o consumo de energia em 68%, 91%, 56%, and 33%, respectivamente. Para a política orientada a energia, o suporte parcial de ISA reduz o consumo de energia em 61% sobre um sistema original já altamente eficiente, além de aumentar o seu desempenho. Não obstante, demonstramos que o suporte parcial de ISA resulta em melhores projetos de MPSoC na métrica de EDP. |
| publishDate |
2019 |
| dc.date.issued.fl_str_mv |
2019 |
| dc.date.accessioned.fl_str_mv |
2020-08-04T03:39: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/10183/212590 |
| dc.identifier.nrb.pt_BR.fl_str_mv |
001107604 |
| url |
http://hdl.handle.net/10183/212590 |
| identifier_str_mv |
001107604 |
| dc.language.iso.fl_str_mv |
eng |
| language |
eng |
| 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:Biblioteca Digital de Teses e Dissertações da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
| instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
| instacron_str |
UFRGS |
| institution |
UFRGS |
| reponame_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| collection |
Biblioteca Digital de Teses e Dissertações da UFRGS |
| bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/212590/2/001107604.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/212590/1/001107604.pdf |
| bitstream.checksum.fl_str_mv |
eb31ce4dd220d25d8e8abbd18e760ac6 ccf118dd46943d798c38f317df2350bd |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
| repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
| repository.mail.fl_str_mv |
lume@ufrgs.br||lume@ufrgs.br |
| _version_ |
1831316098060910592 |