Please use this identifier to cite or link to this item: http://hdl.handle.net/1843/SLSC-BBKGHV
Full metadata record
DC FieldValueLanguage
dc.contributor.advisor1Fernando Magno Quintao Pereirapt_BR
dc.contributor.referee1Dorgival Olavo Guedes Netopt_BR
dc.contributor.referee2Luis Fabricio Wanderley Goespt_BR
dc.creatorPedro Henrique Ramos Costapt_BR
dc.date.accessioned2019-08-11T02:12:45Z-
dc.date.available2019-08-11T02:12:45Z-
dc.date.issued2018-07-16pt_BR
dc.identifier.urihttp://hdl.handle.net/1843/SLSC-BBKGHV-
dc.description.abstractThis dissertation describes the design and implementation of a suit of static analyses and code generation techniques to annotate programs with OpenMP pragmas for task parallelism. These techniques approximate the ranges covered by memory regions, bound recursive tasks and estimate the profitability of tasks. These ideas have been implemented in a tool called TaskMiner, a source-to-source compiler that inserts OpenMP pragmas into C/C++ programs without any human intervention. By building onto the static program analysis literature, and relying on OpenMP's runtime ability to disambiguate pointers, TaskMiner is able to annotate large and convoluted programs, often replicating the performance gains of handmade annotation. Furthermore, the techniques employed in TaskMiner give us the means to discover opportunities of parallelism that remained buried in the syntax of well-known benchmarks for many years -- sometimes leading to up to four-fold speedups on a 12-core machine at zero programming cost.pt_BR
dc.description.resumoEsta dissertação descreve o desenvolvimento e implementação de um conjunto de análises estáticas para descobrir paralelismo de tarefas em programas originalmente escritos em um paradigma sequencial. As análises foram implementadas em uma ferramenta chamada TaskMiner, um compilador fonte-a-fonte que insere pragmas OpenMP em programas C/C++ sem intervenção humana. Taskminer determina intervalos de memória cobertos pela região de código a ser paralelizada, limita o número de tarefas recursivas ativas, estima a lucratividade de tarefas candidatas heuristicamente e se apoia no ambiente de execução do OpenMP para desambiguar ponteiros. TaskMiner anota programas complexos, e descobre oportunidades de paralelismo escondidas por muitos anos na sintaxe de benchmarks conhecidos, às vezes levando a ganhos de velocidade de até 400\% em uma máquina de 12 núcleos, sem nenhum custo extra de programação.pt_BR
dc.languageInglêspt_BR
dc.publisherUniversidade Federal de Minas Geraispt_BR
dc.publisher.initialsUFMGpt_BR
dc.rightsAcesso Abertopt_BR
dc.subjectOpenMPpt_BR
dc.subjectparallelismpt_BR
dc.subjecttaskspt_BR
dc.subject.otherComputaçãopt_BR
dc.subject.otherParalelismopt_BR
dc.subject.otherProcessamento Paralelopt_BR
dc.subject.otherTarefaspt_BR
dc.titleAutomatic mining of tasks in structured programspt_BR
dc.typeDissertação de Mestradopt_BR
Appears in Collections:Dissertações de Mestrado

Files in This Item:
File Description SizeFormat 
pedrohenriqueramoscosta.pdf1.94 MBAdobe PDFView/Open


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