Análise automática de acessos concorrentes a dados para refatoração de código sequencial em código paralelo OpenMP

Detalhes bibliográficos
Autor(a) principal: Tietzmann, Dionatan Kitzmann
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