Selectively supporting ISA-extensions to enhance heterogeneous MPSoC designs under power and area constraints

Detalhes bibliográficos
Ano de defesa: 2019
Autor(a) principal: Becker, Pedro Henrique Exenberger
Orientador(a): Beck Filho, Antonio Carlos Schneider
Banca de defesa: Não Informado pela instituição
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.