Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP
Ano de defesa: | 2011 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Federal de Santa Maria
BR Ciência da Computação UFSM Programa de Pós-Graduação em Informática |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://repositorio.ufsm.br/handle/1/5392 |
Resumo: | The manual transformation of sequential programs into parallel code is not an easy task. It requires very effort and attention of the developer during this process at great risk of introducing errors that can not be perceived by the programmer. One of these problems, strongly connected to shared memory parallel programming is the race condition. This problem occurs because of the simultaneous manipulation performed for more than a thread on a variable shared between them, with the result of this variable dependent of the access order. Exploring this difficulty, this work proposes an approach that helps the programmer during the refactoring of a sequential code for OpenMP parallel code, identifying variables in an automated manner that may have problems of race condition. To this end, we propose a verification algorithm based on access to the variables and made its implementation using the Photran framework tool (a plugin for editing FORTRAN code integrated into the Eclipse IDE). For purposes of empirical evaluation of the algorithm, we present tests with small programs and code examples showing the operation of the tool in the cases provided. In addition, it presents a case study based on a real and complex application, showing the ability of the algorithm to identify all the variables at risk, as well as illustrating some of its known limitations. |