Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/ESBF-9GXNJJ
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Fernando Magno Quintao Pereirapt_BR
dc.contributor.advisor-co1Renato Antonio Celso Ferreirapt_BR
dc.contributor.referee1Sandro Rigopt_BR
dc.contributor.referee2Omar Paranaiba Vilela Netopt_BR
dc.creatorTeo Milanez Brandaopt_BR
dc.date.accessioned2019-08-09T14:06:33Z-
dc.date.available2019-08-09T14:06:33Z-
dc.date.issued2013-08-23pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/ESBF-9GXNJJ-
dc.description.abstractPerformance 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.pt_BR
dc.description.resumoO 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.pt_BR
dc.languagePortuguêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectCompartilhamento de recursos de hardwarept_BR
dc.subjectRedundância de instruçõespt_BR
dc.subjectSIMDpt_BR
dc.subjectSincronização de threadspt_BR
dc.subjectParalelismo a nível de dadospt_BR
dc.subject.otherArquitetura de computadorespt_BR
dc.subject.otherComputaçãopt_BR
dc.titleSincronização de threads em hardware SIMDpt_BR
dc.typeDissertação de Mestradopt_BR
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
teomilanez.pdf1.08 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.