Mostrar registro simples

dc.contributor.advisorMaillard, Nicolas Brunopt_BR
dc.contributor.authorStangherlini, Ismaelpt_BR
dc.date.accessioned2010-10-14T04:19:20Zpt_BR
dc.date.issued2010pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/26346pt_BR
dc.description.abstractAs arquiteturas NUMA têm sido amplamente utilizadas como máquinas para computação intensiva de aplicações paralelas, na área de High Performance Computing. Tais arquiteturas são caracterizadas pela presença de núcleos de processamento que compartilham diversos níveis de uma memória hierárquica. Para que o desempenho de aplicações utilizadas nessas arquiteturas seja alcançado, é importante que políticas de alocação de memória e de threads sejam utilizadas a fim de garantir a afinidade de memória. O padrão OpenMP, contudo, não possui suporte para as arquiteturas NUMA, pecando em tal aspecto. O Projeto MApp, por sua vez, surgiu com o objetivo de desenvolver um préprocessador que incorpore políticas de memória NUMA diretamente no código-fonte de aplicações desenvolvidas em C com OpenMP. Este trabalho teve o objetivo de desenvolver uma ferramenta que serviu como o módulo do projeto MApp responsável pela extração de informações específicas de variáveis em códigos-fonte C, tais como o tipo de acesso e o escopo de sua utilização. Ferramentas clássicas da área de compiladores, como o Lex e o Yacc, foram utilizadas para esse desenvolvimento, de forma a auxiliar no reconhecimento léxico e sintático. As informações obtidas foram necessárias para que as políticas de memória investigadas pelo Mapp fossem corretamente incorporadas nas aplicações. Embora tenha sido originalmente concebida para o MApp, a ferramenta desenvolvida é independente de contexto e pode ser utilizada para a coleta de informações de quaisquer códigos C, uma vez que essas informações são emitidas em um formato simples e portável na saída.pt_BR
dc.description.abstractNUMA architectures have been widely used as machines to insensive computing of parallel applications in the High Performance Computing area. Such architectures are characterized by the presence of processors that share various levels of a hierarchical memory. To achive performance in applications used in these architectures, it is important to ensure memory affinity with the use of memory policies. The OpenMP standard, however, does not support NUMA architectures. The MApp project, on the other hand, came up with the aim of developing a preprocessor that incorporates NUMA memory policies directly in the source code of applications developed with C and OpenMP. This study aimed to develop a tool that served as the MApp project module responsible for the extraction of specific information about variables in C codes, such as access types and scope. The lexical and syntactic analysis required for this development were covered with the use of two compilers classic tools: Lex and Yacc. This extraction was necessary to correctly incorporate memory policies in the applications. Although it was originally designed for MApp, the developed tool is context-free and can be used to collect information from any C code, since these informations are emited in a simple and portable output format.en
dc.format.mimetypeapplication/pdf
dc.language.isoporpt_BR
dc.rightsOpen Accessen
dc.subjectCen
dc.subjectProcessamento paralelopt_BR
dc.subjectMultiprocessadorespt_BR
dc.subjectNUMAen
dc.subjectOpenMPen
dc.titleCUIA : uma ferramenta para a obtenção de informações de variáveis em códigos Cpt_BR
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.identifier.nrb000757799pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2010pt_BR
dc.degree.graduationCiência da Computação: Ênfase em Ciência da Computação: Bachareladopt_BR
dc.degree.levelgraduaçãopt_BR


Thumbnail
   

Este item está licenciado na Creative Commons License

Mostrar registro simples