Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP
Autor(a) principal: | |
---|---|
Data de Publicação: | 2011 |
Tipo de documento: | Dissertação |
Idioma: | por |
Título da fonte: | Manancial - Repositório Digital da UFSM |
dARK ID: | ark:/26339/00130000137bk |
Texto Completo: | 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. |
id |
UFSM_01dd56ab112b5c8510eb4f366ae214f3 |
---|---|
oai_identifier_str |
oai:repositorio.ufsm.br:1/5392 |
network_acronym_str |
UFSM |
network_name_str |
Manancial - Repositório Digital da UFSM |
repository_id_str |
|
spelling |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMPAutomatic analysis of concurrent access data for sequential code refactoring in OpenMP parallel codeRefatoraçãoProgramação paralelaCondição de corridaOpenMPRefactoringParallel programingRace condiditionOpenMPCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOThe 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.A transformação manual de programas sequenciais em código paralelo não é uma tarefa fácil. Ela requer muito esforço e atenção do programador durante esse processo, correndo grande risco de se introduzir erros que podem não ser percebidos pelo programador. Um desses problemas, fortemente ligado à programação paralela em memória compartilhada, é a condição de corrida. Esse problema ocorre em virtude da manipulação concomitante realizada por mais de uma thread sobre uma variável compartilhada entre elas, sendo o resultado desta variável dependente da ordem de acesso. Explorando essa dificuldade, este trabalho propõe uma abordagem que auxilie o programador durante a refatoração de código sequencial para código paralelo OpenMP, identificando de forma automatizada variáveis que podem vir a ter problemas de condição de corrida. Para tanto, é proposto um algoritmo de verificação baseado no acesso às variáveis e feita a sua implementação utilizando-se do framework da ferramenta Photran (um plugin para edição de código Fortran integrado ao IDE Eclipse). Para fins de avaliação empírica do algoritmo, apresentam-se testes realizados com pequenos programas e exemplos de código, mostrando o funcionamento da ferramenta nos casos previstos. Além disso, apresenta-se um estudo de caso baseado em uma aplicação real e complexa, mostrando a habilidade do algoritmo em identificar as variáveis em risco, bem como ilustrando algumas de suas limitações conhecidas.Universidade Federal de Santa MariaBRCiência da ComputaçãoUFSMPrograma de Pós-Graduação em InformáticaCharao, Andrea Schwertnerhttp://lattes.cnpq.br/8251676116103188Piveta, Eduardo Kesslerhttp://lattes.cnpq.br/8687196768910831Du Bois, André Rauberhttp://lattes.cnpq.br/3277487290886063Tietzmann, Dionatan Kitzmann2012-10-092012-10-092011-12-16info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfapplication/pdfTIETZMANN, Dionatan Kitzmann. Automatic analysis of concurrent access data for sequential code refactoring in OpenMP parallel code. 2011. 72 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011.http://repositorio.ufsm.br/handle/1/5392ark:/26339/00130000137bkporinfo:eu-repo/semantics/openAccessreponame:Manancial - Repositório Digital da UFSMinstname:Universidade Federal de Santa Maria (UFSM)instacron:UFSM2023-06-28T14:19:50Zoai:repositorio.ufsm.br:1/5392Biblioteca Digital de Teses e Dissertaçõeshttps://repositorio.ufsm.br/ONGhttps://repositorio.ufsm.br/oai/requestatendimento.sib@ufsm.br||tedebc@gmail.comopendoar:2023-06-28T14:19:50Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM)false |
dc.title.none.fl_str_mv |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP Automatic analysis of concurrent access data for sequential code refactoring in OpenMP parallel code |
title |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
spellingShingle |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP Tietzmann, Dionatan Kitzmann Refatoração Programação paralela Condição de corrida OpenMP Refactoring Parallel programing Race condidition OpenMP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
title_short |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
title_full |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
title_fullStr |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
title_full_unstemmed |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
title_sort |
Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP |
author |
Tietzmann, Dionatan Kitzmann |
author_facet |
Tietzmann, Dionatan Kitzmann |
author_role |
author |
dc.contributor.none.fl_str_mv |
Charao, Andrea Schwertner http://lattes.cnpq.br/8251676116103188 Piveta, Eduardo Kessler http://lattes.cnpq.br/8687196768910831 Du Bois, André Rauber http://lattes.cnpq.br/3277487290886063 |
dc.contributor.author.fl_str_mv |
Tietzmann, Dionatan Kitzmann |
dc.subject.por.fl_str_mv |
Refatoração Programação paralela Condição de corrida OpenMP Refactoring Parallel programing Race condidition OpenMP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
topic |
Refatoração Programação paralela Condição de corrida OpenMP Refactoring Parallel programing Race condidition OpenMP CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO |
description |
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. |
publishDate |
2011 |
dc.date.none.fl_str_mv |
2011-12-16 2012-10-09 2012-10-09 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
TIETZMANN, Dionatan Kitzmann. Automatic analysis of concurrent access data for sequential code refactoring in OpenMP parallel code. 2011. 72 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011. http://repositorio.ufsm.br/handle/1/5392 |
dc.identifier.dark.fl_str_mv |
ark:/26339/00130000137bk |
identifier_str_mv |
TIETZMANN, Dionatan Kitzmann. Automatic analysis of concurrent access data for sequential code refactoring in OpenMP parallel code. 2011. 72 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2011. ark:/26339/00130000137bk |
url |
http://repositorio.ufsm.br/handle/1/5392 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Universidade Federal de Santa Maria BR Ciência da Computação UFSM Programa de Pós-Graduação em Informática |
publisher.none.fl_str_mv |
Universidade Federal de Santa Maria BR Ciência da Computação UFSM Programa de Pós-Graduação em Informática |
dc.source.none.fl_str_mv |
reponame:Manancial - Repositório Digital da UFSM instname:Universidade Federal de Santa Maria (UFSM) instacron:UFSM |
instname_str |
Universidade Federal de Santa Maria (UFSM) |
instacron_str |
UFSM |
institution |
UFSM |
reponame_str |
Manancial - Repositório Digital da UFSM |
collection |
Manancial - Repositório Digital da UFSM |
repository.name.fl_str_mv |
Manancial - Repositório Digital da UFSM - Universidade Federal de Santa Maria (UFSM) |
repository.mail.fl_str_mv |
atendimento.sib@ufsm.br||tedebc@gmail.com |
_version_ |
1815172440732467200 |