Sincronização de threads em hardware SIMD

Detalhes bibliográficos
Autor(a) principal: Teo Milanez Brandao
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFMG
Texto Completo: http://hdl.handle.net/1843/ESBF-9GXNJJ
Resumo: O desempenho é limitado pelo consumo de energia em arquiteturas de computadores e uma forma de reduzir o consumo de energia e aumentando o desempenho é eliminar operações redundantes. Mas isso é difícil, porque envolve a solução de um problema caro: a supersequência mais curta. Trabalhos anteriores propuseram diferentes heurísticas para resolver o problema a nível de arquitetura ou compilador. Nesta dissertação fizemos a mais extensa análise comparativa das diferentes heurísticas já vista na literatura. Combinamos as diferentes heurísticas em várias dimensões, incluindo a quantidade de paralelismo a nível de thread e a nível de dados. Nossos resultados mostram que uma heurística simples como MinPcSp pode superar algoritmos complicados. Implementamos também novas heurísticas, que melhoraram os trabalhos anteriores de maneiras não-triviais. Ao testar estes algoritmos em grandes benchmarks, observamos que alguns são capazes de reduzir o número de instruções processadas por um fator de 3x.
id UFMG_0027418cdcad29ae00154c429aa88a65
oai_identifier_str oai:repositorio.ufmg.br:1843/ESBF-9GXNJJ
network_acronym_str UFMG
network_name_str Repositório Institucional da UFMG
repository_id_str
spelling Fernando Magno Quintao PereiraRenato Antonio Celso FerreiraSandro RigoOmar Paranaiba Vilela NetoTeo Milanez Brandao2019-08-09T14:06:33Z2019-08-09T14:06:33Z2013-08-23http://hdl.handle.net/1843/ESBF-9GXNJJO desempenho é limitado pelo consumo de energia em arquiteturas de computadores e uma forma de reduzir o consumo de energia e aumentando o desempenho é eliminar operações redundantes. Mas isso é difícil, porque envolve a solução de um problema caro: a supersequência mais curta. Trabalhos anteriores propuseram diferentes heurísticas para resolver o problema a nível de arquitetura ou compilador. Nesta dissertação fizemos a mais extensa análise comparativa das diferentes heurísticas já vista na literatura. Combinamos as diferentes heurísticas em várias dimensões, incluindo a quantidade de paralelismo a nível de thread e a nível de dados. Nossos resultados mostram que uma heurística simples como MinPcSp pode superar algoritmos complicados. Implementamos também novas heurísticas, que melhoraram os trabalhos anteriores de maneiras não-triviais. Ao testar estes algoritmos em grandes benchmarks, observamos que alguns são capazes de reduzir o número de instruções processadas por um fator de 3x.Performance is constrained by power consumption in modern computer architectures.One way to reduce power consumption, and hence increase performance, is to eliminate redundant operations between assembly instructions.This redundancy elimination, however, is difficult, because it involves solving a costly on-line problem: the shortest common supersequence.Previous work have proposed many different heuristics to solve this problem at either the architecture, or at the compiler level.The sheer number of different algorithms, and the vast search space makes a comparison between them a herculean task.In this dissertation, we dive into this task, providing the most extensive comparative analysis of these different heuristics ever seen in the literature.We match the different heuristics along several dimensions, including the amount of thread-level or data-level parallelism that they deliver.Our results show that relatively simple heuristics, such as the so called MinPcSp can outperform very convoluted algorithms.From this comparison we draw subsidies to design, test and implement new heuristics to share redundant work between parallel threads.Our new algorithms improve on the previous works in non-trivial ways.When testing these algorithms in industrial-strength benchmarks, we have observed that some of them are able to reduce the number of instructions to be processed by a factor of 3x.Universidade Federal de Minas GeraisUFMGArquitetura de computadoresComputaçãoCompartilhamento de recursos de hardwareRedundância de instruçõesSIMDSincronização de threadsParalelismo a nível de dadosSincronização de threads em hardware SIMDinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFMGinstname:Universidade Federal de Minas Gerais (UFMG)instacron:UFMGORIGINALteomilanez.pdfapplication/pdf1109108https://repositorio.ufmg.br/bitstream/1843/ESBF-9GXNJJ/1/teomilanez.pdf7b883eb34d849447d8f7e7c0c4df5370MD51TEXTteomilanez.pdf.txtteomilanez.pdf.txtExtracted texttext/plain163588https://repositorio.ufmg.br/bitstream/1843/ESBF-9GXNJJ/2/teomilanez.pdf.txtfbbb5ec4314ede3926e87cf250f40cabMD521843/ESBF-9GXNJJ2019-11-14 10:18:13.221oai:repositorio.ufmg.br:1843/ESBF-9GXNJJRepositório de PublicaçõesPUBhttps://repositorio.ufmg.br/oaiopendoar:2019-11-14T13:18:13Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)false
dc.title.pt_BR.fl_str_mv Sincronização de threads em hardware SIMD
title Sincronização de threads em hardware SIMD
spellingShingle Sincronização de threads em hardware SIMD
Teo Milanez Brandao
Compartilhamento de recursos de hardware
Redundância de instruções
SIMD
Sincronização de threads
Paralelismo a nível de dados
Arquitetura de computadores
Computação
title_short Sincronização de threads em hardware SIMD
title_full Sincronização de threads em hardware SIMD
title_fullStr Sincronização de threads em hardware SIMD
title_full_unstemmed Sincronização de threads em hardware SIMD
title_sort Sincronização de threads em hardware SIMD
author Teo Milanez Brandao
author_facet Teo Milanez Brandao
author_role author
dc.contributor.advisor1.fl_str_mv Fernando Magno Quintao Pereira
dc.contributor.advisor-co1.fl_str_mv Renato Antonio Celso Ferreira
dc.contributor.referee1.fl_str_mv Sandro Rigo
dc.contributor.referee2.fl_str_mv Omar Paranaiba Vilela Neto
dc.contributor.author.fl_str_mv Teo Milanez Brandao
contributor_str_mv Fernando Magno Quintao Pereira
Renato Antonio Celso Ferreira
Sandro Rigo
Omar Paranaiba Vilela Neto
dc.subject.por.fl_str_mv Compartilhamento de recursos de hardware
Redundância de instruções
SIMD
Sincronização de threads
Paralelismo a nível de dados
topic Compartilhamento de recursos de hardware
Redundância de instruções
SIMD
Sincronização de threads
Paralelismo a nível de dados
Arquitetura de computadores
Computação
dc.subject.other.pt_BR.fl_str_mv Arquitetura de computadores
Computação
description O desempenho é limitado pelo consumo de energia em arquiteturas de computadores e uma forma de reduzir o consumo de energia e aumentando o desempenho é eliminar operações redundantes. Mas isso é difícil, porque envolve a solução de um problema caro: a supersequência mais curta. Trabalhos anteriores propuseram diferentes heurísticas para resolver o problema a nível de arquitetura ou compilador. Nesta dissertação fizemos a mais extensa análise comparativa das diferentes heurísticas já vista na literatura. Combinamos as diferentes heurísticas em várias dimensões, incluindo a quantidade de paralelismo a nível de thread e a nível de dados. Nossos resultados mostram que uma heurística simples como MinPcSp pode superar algoritmos complicados. Implementamos também novas heurísticas, que melhoraram os trabalhos anteriores de maneiras não-triviais. Ao testar estes algoritmos em grandes benchmarks, observamos que alguns são capazes de reduzir o número de instruções processadas por um fator de 3x.
publishDate 2013
dc.date.issued.fl_str_mv 2013-08-23
dc.date.accessioned.fl_str_mv 2019-08-09T14:06:33Z
dc.date.available.fl_str_mv 2019-08-09T14:06:33Z
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/1843/ESBF-9GXNJJ
url http://hdl.handle.net/1843/ESBF-9GXNJJ
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.publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.publisher.initials.fl_str_mv UFMG
publisher.none.fl_str_mv Universidade Federal de Minas Gerais
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFMG
instname:Universidade Federal de Minas Gerais (UFMG)
instacron:UFMG
instname_str Universidade Federal de Minas Gerais (UFMG)
instacron_str UFMG
institution UFMG
reponame_str Repositório Institucional da UFMG
collection Repositório Institucional da UFMG
bitstream.url.fl_str_mv https://repositorio.ufmg.br/bitstream/1843/ESBF-9GXNJJ/1/teomilanez.pdf
https://repositorio.ufmg.br/bitstream/1843/ESBF-9GXNJJ/2/teomilanez.pdf.txt
bitstream.checksum.fl_str_mv 7b883eb34d849447d8f7e7c0c4df5370
fbbb5ec4314ede3926e87cf250f40cab
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFMG - Universidade Federal de Minas Gerais (UFMG)
repository.mail.fl_str_mv
_version_ 1803589421581205504