Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores

Detalhes bibliográficos
Autor(a) principal: Souza, Jeckson Dellagostin
Data de Publicação: 2020
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFRGS
Texto Completo: http://hdl.handle.net/10183/211432
Resumo: Por gerações, os processadores de propósito geral implementam instruções especializadas na forma de extensões de conjuntos de instruções ISA com o objetivo de aumentar o desempenho de aplicações emergentes. Contudo, tais extensões impõe um custo significativo na área e potência do processador. Um exemplo está nas instruções do tipo instrução única, múltiplos dados SIMD e de ponto flutuante FP, cujos pipelines podem representar mais da metade da área total de um núcleo do processador. Aproveitando o fato de que tais instruções não são tão comumente usadas como as da ISA base, são propostas soluções para reduzir a quantidade de suporte que é dado a extensões de instruções em processadores multinúcleo assimétricos AMC (sistemas que usualmente implementam núcleos de alto desempenho - núcleos grandes - e alta eficiência de área/energia - núcleos pequenos), aprimorando sua eficiência em área e energia. Inicialmente, é introduzido o sistema multinúcleo de ISA parcialmente heterogênea PHISA. PHISA é composto de núcleos heterogêneos com uma única ISA base, mas funcionalidades diferentes. Em outras palavras, alguns dos núcleos deste sistema heterogêneo não implementam completamente as caras extensões de ISA, mas ainda assim todos compartilham uma ISA base mútua. Desta forma, ao substituir núcleos de ISA completa por núcleos de ISA parcial e migrando tarefas sempre que necessário, é possível liberar recursos valiosos de área e potência do projeto do processador, sem abrir mão completamente do suporte as extensões de ISA. Por outro lado, enquanto a migração de tarefas é eficiente em aplicações de thread única, este pode não ser o caso em aplicações paralelas. Migrações podem aumentar o tempo em que uma das múltiplas threads precisa para atingir seus pontos de sincronização, criando assim um gargalo em sua execução. Para tais aplicações, é proposto aprimorar o sistema PHISA com um despachador de instruções fortemente acoplado TUNE. A arquitetura com TUNE implementa um sistema PHISA cujo núcleo grande implementa parcialmente a ISA e é responsável pela execução das regiões seriais das aplicações. Os núcleos pequenos, por outro lado, implementam todos a ISA completa do sistema e são responsáveis pela execução das regiões paralelas da aplicação. Sempre que a região sequencial da aplicação precisar executar uma instrução não implementada no núcleo grande, o TUNE irá despachar estas operações para os núcleos pequenos de forma transparente. Nesta tese, é mostrado como o PHISA e TUNE podem ser usados para melhorar o desempenho e consumo energético ambos de aplicações seriais e paralelas, quando comparado a projetos tradicionais de AMCs.
id URGS_362de88520d47cea9ad41510c4541c18
oai_identifier_str oai:www.lume.ufrgs.br:10183/211432
network_acronym_str URGS
network_name_str Biblioteca Digital de Teses e Dissertações da UFRGS
repository_id_str 1853
spelling Souza, Jeckson DellagostinBeck Filho, Antonio Carlos Schneider2020-07-08T03:42:01Z2020http://hdl.handle.net/10183/211432001114968Por gerações, os processadores de propósito geral implementam instruções especializadas na forma de extensões de conjuntos de instruções ISA com o objetivo de aumentar o desempenho de aplicações emergentes. Contudo, tais extensões impõe um custo significativo na área e potência do processador. Um exemplo está nas instruções do tipo instrução única, múltiplos dados SIMD e de ponto flutuante FP, cujos pipelines podem representar mais da metade da área total de um núcleo do processador. Aproveitando o fato de que tais instruções não são tão comumente usadas como as da ISA base, são propostas soluções para reduzir a quantidade de suporte que é dado a extensões de instruções em processadores multinúcleo assimétricos AMC (sistemas que usualmente implementam núcleos de alto desempenho - núcleos grandes - e alta eficiência de área/energia - núcleos pequenos), aprimorando sua eficiência em área e energia. Inicialmente, é introduzido o sistema multinúcleo de ISA parcialmente heterogênea PHISA. PHISA é composto de núcleos heterogêneos com uma única ISA base, mas funcionalidades diferentes. Em outras palavras, alguns dos núcleos deste sistema heterogêneo não implementam completamente as caras extensões de ISA, mas ainda assim todos compartilham uma ISA base mútua. Desta forma, ao substituir núcleos de ISA completa por núcleos de ISA parcial e migrando tarefas sempre que necessário, é possível liberar recursos valiosos de área e potência do projeto do processador, sem abrir mão completamente do suporte as extensões de ISA. Por outro lado, enquanto a migração de tarefas é eficiente em aplicações de thread única, este pode não ser o caso em aplicações paralelas. Migrações podem aumentar o tempo em que uma das múltiplas threads precisa para atingir seus pontos de sincronização, criando assim um gargalo em sua execução. Para tais aplicações, é proposto aprimorar o sistema PHISA com um despachador de instruções fortemente acoplado TUNE. A arquitetura com TUNE implementa um sistema PHISA cujo núcleo grande implementa parcialmente a ISA e é responsável pela execução das regiões seriais das aplicações. Os núcleos pequenos, por outro lado, implementam todos a ISA completa do sistema e são responsáveis pela execução das regiões paralelas da aplicação. Sempre que a região sequencial da aplicação precisar executar uma instrução não implementada no núcleo grande, o TUNE irá despachar estas operações para os núcleos pequenos de forma transparente. Nesta tese, é mostrado como o PHISA e TUNE podem ser usados para melhorar o desempenho e consumo energético ambos de aplicações seriais e paralelas, quando comparado a projetos tradicionais de AMCs.For generations, General-Purpose Processors (GPPs) have implemented specialized instructions in the form of Instruction Set Architecture (ISA) extensions aiming to increase the performance of emerging applications. Nonetheless, these extensions impose a significant overhead in the area and power of the processor, as they require custom components to implement the specialized datapaths. Examples are the Single Instruction Multiple Data (SIMD) and Floating-Point (FP) instructions, which pipelines can represent more than half of the total area of the core. Exploiting the fact that these instructions are not used as often as the instructions from the base ISA, we propose solutions to reduce the amount of support for instructions extensions in Asymmetric Multicores (AMCs) (multicores that usually implement cores of high performance - big cores - and high energy/area efficiency - small cores), enhancing their area and energy efficiency. This thesis proposes two complementary methods that can be combined to achieve such efficiency. We start by introducing the Partially Heterogeneous ISA (PHISA) multicore. PHISA is composed of heterogeneous cores of single base ISA, but asymmetric functionality. In other words, some of the cores in the multicore system do not fully implement the costly instruction extensions, but all share a mutual base ISA. Therefore, by replacing full-ISA by partial-ISA cores and migrating tasks when necessary, it is possible to free valuable area and power from the processor design, while maintaining support for the extended instructions. While migrating jobs can be efficient in single-threaded workloads, this might not be the case in parallel applications. Migrations can increase the time a thread requires to reach a synchronization point, introducing a bottleneck in the execution. For these applications, we propose to increment PHISA with the Tightly Coupled Instruction Offloader (TUNE) component. The TUNE architecture implements a PHISA system in which the big core is a partial-ISA and responsible for executing only the serial regions of the applications. The small cores, on the other hand, are all full-ISA and responsible for the parallel regions. Whenever the serial region requires to execute a non-implemented instruction, TUNE offloads this operation to the small cores in a transparent manner. In this thesis, we show how PHISA and TUNE can be used to improve performance and energy consumption in both serial and parallel applications, compared to other traditional heterogeneous designs.application/pdfengEficiência energéticaHeterogeneidadeProcessadoresThreadsArquiteturas multicorePartial isaOverlapping isaInstruction offloadingShared resourcesShared execution unitApplying partial instruction set architectures and instruction offloading to enhance asymmetric multicoresDa aplicação de conjuntos parciais de instruções e despacho externo de instruções para aumentar a eficiência de processadores multi-núcleo assimétricos info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPrograma de Pós-Graduação em ComputaçãoPorto Alegre, BR-RS2020doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001114968.pdf.txt001114968.pdf.txtExtracted Texttext/plain341861http://www.lume.ufrgs.br/bitstream/10183/211432/2/001114968.pdf.txt5429e52a972416ff7ba571eba25aad57MD52ORIGINAL001114968.pdfTexto completo (inglês)application/pdf9339760http://www.lume.ufrgs.br/bitstream/10183/211432/1/001114968.pdfacac42c4d1669ad620a62808fa02f916MD5110183/2114322024-06-16 06:45:16.105613oai:www.lume.ufrgs.br:10183/211432Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532024-06-16T09:45:16Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
dc.title.alternative.pt.fl_str_mv Da aplicação de conjuntos parciais de instruções e despacho externo de instruções para aumentar a eficiência de processadores multi-núcleo assimétricos
title Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
spellingShingle Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
Souza, Jeckson Dellagostin
Eficiência energética
Heterogeneidade
Processadores
Threads
Arquiteturas multicore
Partial isa
Overlapping isa
Instruction offloading
Shared resources
Shared execution unit
title_short Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
title_full Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
title_fullStr Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
title_full_unstemmed Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
title_sort Applying partial instruction set architectures and instruction offloading to enhance asymmetric multicores
author Souza, Jeckson Dellagostin
author_facet Souza, Jeckson Dellagostin
author_role author
dc.contributor.author.fl_str_mv Souza, Jeckson Dellagostin
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 Eficiência energética
Heterogeneidade
Processadores
Threads
Arquiteturas multicore
topic Eficiência energética
Heterogeneidade
Processadores
Threads
Arquiteturas multicore
Partial isa
Overlapping isa
Instruction offloading
Shared resources
Shared execution unit
dc.subject.eng.fl_str_mv Partial isa
Overlapping isa
Instruction offloading
Shared resources
Shared execution unit
description Por gerações, os processadores de propósito geral implementam instruções especializadas na forma de extensões de conjuntos de instruções ISA com o objetivo de aumentar o desempenho de aplicações emergentes. Contudo, tais extensões impõe um custo significativo na área e potência do processador. Um exemplo está nas instruções do tipo instrução única, múltiplos dados SIMD e de ponto flutuante FP, cujos pipelines podem representar mais da metade da área total de um núcleo do processador. Aproveitando o fato de que tais instruções não são tão comumente usadas como as da ISA base, são propostas soluções para reduzir a quantidade de suporte que é dado a extensões de instruções em processadores multinúcleo assimétricos AMC (sistemas que usualmente implementam núcleos de alto desempenho - núcleos grandes - e alta eficiência de área/energia - núcleos pequenos), aprimorando sua eficiência em área e energia. Inicialmente, é introduzido o sistema multinúcleo de ISA parcialmente heterogênea PHISA. PHISA é composto de núcleos heterogêneos com uma única ISA base, mas funcionalidades diferentes. Em outras palavras, alguns dos núcleos deste sistema heterogêneo não implementam completamente as caras extensões de ISA, mas ainda assim todos compartilham uma ISA base mútua. Desta forma, ao substituir núcleos de ISA completa por núcleos de ISA parcial e migrando tarefas sempre que necessário, é possível liberar recursos valiosos de área e potência do projeto do processador, sem abrir mão completamente do suporte as extensões de ISA. Por outro lado, enquanto a migração de tarefas é eficiente em aplicações de thread única, este pode não ser o caso em aplicações paralelas. Migrações podem aumentar o tempo em que uma das múltiplas threads precisa para atingir seus pontos de sincronização, criando assim um gargalo em sua execução. Para tais aplicações, é proposto aprimorar o sistema PHISA com um despachador de instruções fortemente acoplado TUNE. A arquitetura com TUNE implementa um sistema PHISA cujo núcleo grande implementa parcialmente a ISA e é responsável pela execução das regiões seriais das aplicações. Os núcleos pequenos, por outro lado, implementam todos a ISA completa do sistema e são responsáveis pela execução das regiões paralelas da aplicação. Sempre que a região sequencial da aplicação precisar executar uma instrução não implementada no núcleo grande, o TUNE irá despachar estas operações para os núcleos pequenos de forma transparente. Nesta tese, é mostrado como o PHISA e TUNE podem ser usados para melhorar o desempenho e consumo energético ambos de aplicações seriais e paralelas, quando comparado a projetos tradicionais de AMCs.
publishDate 2020
dc.date.accessioned.fl_str_mv 2020-07-08T03:42:01Z
dc.date.issued.fl_str_mv 2020
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/211432
dc.identifier.nrb.pt_BR.fl_str_mv 001114968
url http://hdl.handle.net/10183/211432
identifier_str_mv 001114968
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/211432/2/001114968.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/211432/1/001114968.pdf
bitstream.checksum.fl_str_mv 5429e52a972416ff7ba571eba25aad57
acac42c4d1669ad620a62808fa02f916
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_ 1810085524986134528