Repositório Digital

A- A A+

CUIA : uma ferramenta para a obtenção de informações de variáveis em códigos C

.

CUIA : uma ferramenta para a obtenção de informações de variáveis em códigos C

Mostrar registro completo

Estatísticas

Título CUIA : uma ferramenta para a obtenção de informações de variáveis em códigos C
Autor Stangherlini, Ismael
Orientador Maillard, Nicolas Bruno
Data 2010
Nível Graduação
Instituição Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Ciência da Computação: Bacharelado.
Assunto Multiprocessadores
Processamento paralelo
[en] C
[en] NUMA
[en] OpenMP
Resumo As 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.
Abstract NUMA 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.
Tipo Trabalho de conclusão de graduação
URI http://hdl.handle.net/10183/26346
Arquivos Descrição Formato
000757799.pdf (539.3Kb) Texto completo Adobe PDF Visualizar/abrir

Este item está licenciado na Creative Commons License

Este item aparece na(s) seguinte(s) coleção(ões)


Mostrar registro completo

Percorrer



  • O autor é titular dos direitos autorais dos documentos disponíveis neste repositório e é vedada, nos termos da lei, a comercialização de qualquer espécie sem sua autorização prévia.
    Projeto gráfico elaborado pelo Caixola - Clube de Criação Fabico/UFRGS Powered by DSpace software, Version 1.8.1.