Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
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/267722 |
Resumo: | As arquiteturas de computação recorrem a processadores Simultaneous Multithreading (SMT) para melhorar o throughput computacional e gerenciar aplicações paralelas. No entanto, a efetividade do SMT pode ser comprometida pela disputa de unidades funcionais quando threads paralelas executam instruções similares no mesmo núcleo. Em resposta a isso, esta tese introduz a ferramenta Instruction-Aware Mapping (IAM), que mitiga a disputa de unidades funcionais e otimiza a utilização de recursos. Ao contrário de outras soluções, a IAM utiliza uma estratégia de mapeamento dinâmica e transparente que atribui threads aos núcleos SMT com base em seus perfis de instrução em tempo real, sem necessidade de alterar o código-fonte da aplicação. A performance da ferramenta IAM foi testada usando os benchmarks NAS Parallel Benchmarks (NPB) e Standard Performance Evaluation Corporation (SPEC), além do SMT-Bench, um microbenchmark focado na análise de desempenho SMT. Essas avaliações, conduzidas em processadores Advanced Micro Devices (AMD) e Intel, mostram um aumento na média geométrica de desempenho de 9,8% em relação ao scheduler do sistema operacional Linux, com desempenho comparável às implementações round-robin e a outras estratégias de mapeamento. A eficácia da IAM é centrada na especificidade da instrução, mostrando melhorias no desempenho para operações como instruções de inteiro, de ponto flutuante e de desvio, enquanto seu impacto é mais moderado para instruções relacionadas à memória, como operações de carga. Essas descobertas ressaltam a importância de estratégias dinâmicas e adaptativas que levem em conta a natureza das instruções na otimização do desempenho SMT. Este estudo proporciona uma base para pesquisas adicionais sobre métodos adaptativos em SMT. |
id |
URGS_4376b1b8607d6883bd95a7b7b6ebde65 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/267722 |
network_acronym_str |
URGS |
network_name_str |
Biblioteca Digital de Teses e Dissertações da UFRGS |
repository_id_str |
1853 |
spelling |
Serpa, Matheus da SilvaNavaux, Philippe Olivier AlexandreBeck Filho, Antonio Carlos Schneider2023-11-28T03:23:08Z2023http://hdl.handle.net/10183/267722001188185As arquiteturas de computação recorrem a processadores Simultaneous Multithreading (SMT) para melhorar o throughput computacional e gerenciar aplicações paralelas. No entanto, a efetividade do SMT pode ser comprometida pela disputa de unidades funcionais quando threads paralelas executam instruções similares no mesmo núcleo. Em resposta a isso, esta tese introduz a ferramenta Instruction-Aware Mapping (IAM), que mitiga a disputa de unidades funcionais e otimiza a utilização de recursos. Ao contrário de outras soluções, a IAM utiliza uma estratégia de mapeamento dinâmica e transparente que atribui threads aos núcleos SMT com base em seus perfis de instrução em tempo real, sem necessidade de alterar o código-fonte da aplicação. A performance da ferramenta IAM foi testada usando os benchmarks NAS Parallel Benchmarks (NPB) e Standard Performance Evaluation Corporation (SPEC), além do SMT-Bench, um microbenchmark focado na análise de desempenho SMT. Essas avaliações, conduzidas em processadores Advanced Micro Devices (AMD) e Intel, mostram um aumento na média geométrica de desempenho de 9,8% em relação ao scheduler do sistema operacional Linux, com desempenho comparável às implementações round-robin e a outras estratégias de mapeamento. A eficácia da IAM é centrada na especificidade da instrução, mostrando melhorias no desempenho para operações como instruções de inteiro, de ponto flutuante e de desvio, enquanto seu impacto é mais moderado para instruções relacionadas à memória, como operações de carga. Essas descobertas ressaltam a importância de estratégias dinâmicas e adaptativas que levem em conta a natureza das instruções na otimização do desempenho SMT. Este estudo proporciona uma base para pesquisas adicionais sobre métodos adaptativos em SMT.Modern computing architectures frequently rely on Simultaneous Multithreading (SMT) processors to boost computational throughput and handle parallel applications efficiently. However, the potential of SMT can be compromised by functional unit contention when parallel threads execute similar instructions on the same core. Addressing this issue, this thesis introduces an Instruction-Aware Mapping (IAM) tool that mitigates functional unit contention and enhances resource utilization. Distinct from current solutions, IAM uses a dynamic, transparent mapping strategy that assigns threads to SMT cores based on their real-time instruction profiles, eliminating the need to alter the application source code. The performance of the IAM tool was evaluated using the well-known NAS Parallel Benchmarks (NPB) and Standard Performance Evaluation Corporation (SPEC) benchmarks, as well as SMT-Bench, a microbenchmark developed for SMT performance analysis. These evaluations, conducted on Advanced Micro Devices (AMD) and Intel processors, show an average geometric mean performance increase of 9.8% compared to the Linux operating system scheduler, performing well against round-robin and random mapping methods. IAM’s effectiveness is instruction-specific, offering marked performance improvements for compute-centric operations, such as integer, floating-point, and branch instructions. At the same time, its influence is more moderate for memory-bound instructions, particularly load operations. These insights emphasize the importance of dynamic, instruction-specific strategies that can cater to the distinct characteristics of workloads in enhancing SMT performance. This research provides insights that can inspire more indepth studies into adaptive methods for SMT optimization.application/pdfengProcessadoresComputação de alto desempenhoMapeamentoDesempenho : SoftwareArquiteturas multicorePerformance degradationResource sharingFunctional unit contentionInstruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processorsMapeamento instruction-aware (IAM) : uma ferramenta para mitigar a contenção nas unidades funcionais de processadores SMTinfo: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-RS2023doutoradoinfo:eu-repo/semantics/openAccessreponame:Biblioteca Digital de Teses e Dissertações da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT001188185.pdf.txt001188185.pdf.txtExtracted Texttext/plain241984http://www.lume.ufrgs.br/bitstream/10183/267722/2/001188185.pdf.txt021727adc220b931440e905e32bd1c2aMD52ORIGINAL001188185.pdfTexto completo (inglês)application/pdf8915328http://www.lume.ufrgs.br/bitstream/10183/267722/1/001188185.pdf0caa5c8fdae4cb4c233d509eaf4b264aMD5110183/2677222023-12-23 04:29:03.906138oai:www.lume.ufrgs.br:10183/267722Biblioteca Digital de Teses e Dissertaçõeshttps://lume.ufrgs.br/handle/10183/2PUBhttps://lume.ufrgs.br/oai/requestlume@ufrgs.br||lume@ufrgs.bropendoar:18532023-12-23T06:29:03Biblioteca Digital de Teses e Dissertações da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
dc.title.alternative.pt.fl_str_mv |
Mapeamento instruction-aware (IAM) : uma ferramenta para mitigar a contenção nas unidades funcionais de processadores SMT |
title |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
spellingShingle |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors Serpa, Matheus da Silva Processadores Computação de alto desempenho Mapeamento Desempenho : Software Arquiteturas multicore Performance degradation Resource sharing Functional unit contention |
title_short |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
title_full |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
title_fullStr |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
title_full_unstemmed |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
title_sort |
Instruction-aware mapping (IAM) : a tool to mitigate functional unit contention in SMT processors |
author |
Serpa, Matheus da Silva |
author_facet |
Serpa, Matheus da Silva |
author_role |
author |
dc.contributor.author.fl_str_mv |
Serpa, Matheus da Silva |
dc.contributor.advisor1.fl_str_mv |
Navaux, Philippe Olivier Alexandre |
dc.contributor.advisor-co1.fl_str_mv |
Beck Filho, Antonio Carlos Schneider |
contributor_str_mv |
Navaux, Philippe Olivier Alexandre Beck Filho, Antonio Carlos Schneider |
dc.subject.por.fl_str_mv |
Processadores Computação de alto desempenho Mapeamento Desempenho : Software Arquiteturas multicore |
topic |
Processadores Computação de alto desempenho Mapeamento Desempenho : Software Arquiteturas multicore Performance degradation Resource sharing Functional unit contention |
dc.subject.eng.fl_str_mv |
Performance degradation Resource sharing Functional unit contention |
description |
As arquiteturas de computação recorrem a processadores Simultaneous Multithreading (SMT) para melhorar o throughput computacional e gerenciar aplicações paralelas. No entanto, a efetividade do SMT pode ser comprometida pela disputa de unidades funcionais quando threads paralelas executam instruções similares no mesmo núcleo. Em resposta a isso, esta tese introduz a ferramenta Instruction-Aware Mapping (IAM), que mitiga a disputa de unidades funcionais e otimiza a utilização de recursos. Ao contrário de outras soluções, a IAM utiliza uma estratégia de mapeamento dinâmica e transparente que atribui threads aos núcleos SMT com base em seus perfis de instrução em tempo real, sem necessidade de alterar o código-fonte da aplicação. A performance da ferramenta IAM foi testada usando os benchmarks NAS Parallel Benchmarks (NPB) e Standard Performance Evaluation Corporation (SPEC), além do SMT-Bench, um microbenchmark focado na análise de desempenho SMT. Essas avaliações, conduzidas em processadores Advanced Micro Devices (AMD) e Intel, mostram um aumento na média geométrica de desempenho de 9,8% em relação ao scheduler do sistema operacional Linux, com desempenho comparável às implementações round-robin e a outras estratégias de mapeamento. A eficácia da IAM é centrada na especificidade da instrução, mostrando melhorias no desempenho para operações como instruções de inteiro, de ponto flutuante e de desvio, enquanto seu impacto é mais moderado para instruções relacionadas à memória, como operações de carga. Essas descobertas ressaltam a importância de estratégias dinâmicas e adaptativas que levem em conta a natureza das instruções na otimização do desempenho SMT. Este estudo proporciona uma base para pesquisas adicionais sobre métodos adaptativos em SMT. |
publishDate |
2023 |
dc.date.accessioned.fl_str_mv |
2023-11-28T03:23:08Z |
dc.date.issued.fl_str_mv |
2023 |
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/267722 |
dc.identifier.nrb.pt_BR.fl_str_mv |
001188185 |
url |
http://hdl.handle.net/10183/267722 |
identifier_str_mv |
001188185 |
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/267722/2/001188185.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/267722/1/001188185.pdf |
bitstream.checksum.fl_str_mv |
021727adc220b931440e905e32bd1c2a 0caa5c8fdae4cb4c233d509eaf4b264a |
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_ |
1810085633959395328 |