Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava

Detalhes bibliográficos
Autor(a) principal: Bandeira, Rafael de Leão
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPel - Guaiaca
Texto Completo: http://guaiaca.ufpel.edu.br/handle/prefix/5667
Resumo: A computação paralela permitiu um considerável ganho de desempenho na execução dos programas, dividindo-os em partes discretas resolvidas concorrentemente usando múltiplos recursos computacionais. Apesar dos seus benefícios, esse paradigma aumenta a complexidade no desenvolvimento dos algoritmos, pois é necessário levar em conta vários aspectos inexistentes na codificação de programas sequenciais, como por exemplo, garantir a exclusão mútua das tarefas executadas paralelamente. Transações de memória são unidades de execução atômica. Sua utilização permite ao programador focar em determinar onde a atomicidade é necessária, ao invés dos mecanismos necessários para garanti-la. Com essa abstração, o desenvolvedor identifica as operações que formam uma seção crítica, enquanto que o sistema transacional determina como executar aquela seção crítica isoladamente em relação aos outros fluxos de execução do programa. CMTJava (DU BOIS; ECHEVARRIA, 2009) é uma extensão de Java para programação com memórias transacionais. Neste trabalho descreve-se a implementação de um novo sistema para gerenciamento da execução concorrente das transações na CMTJava. O sistema transacional desenvolvido utiliza uma estratégia híbrida para detecção de conflitos, conhecida como invalidação mista (SPEAR et al., 2006). Conflitos entre transações de escrita são detectados de forma adiantada e conflitos entre uma transação de leitura e outra de escrita são detectados tardiamente. Na implementação antecedente, ambos tipos de conflitos são detectados ao final da execução da transação. De acordo com resultados obtidos através de experimentos com árvores rubro-negras, o sistema de detecção de conflitos com invalidação mista proposto obtém melhor desempenho que o trabalho anterior em cenários onde o número de conflitos é grande. Em particular, o sistema transacional desenvolvido mostrou-se mais eficiente que a implementação anterior na maioria dos cenários testados, sendo até duas vezes mais eficiente para execução de transações de busca em uma árvore rubro-negra com 50000 elementos.
id UFPL_e61694097cbc6fffa18f0800e68bd43a
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/5667
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling 2020-06-04T01:49:04Z2020-06-04T01:49:04Z2013-12-11BANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas.http://guaiaca.ufpel.edu.br/handle/prefix/5667A computação paralela permitiu um considerável ganho de desempenho na execução dos programas, dividindo-os em partes discretas resolvidas concorrentemente usando múltiplos recursos computacionais. Apesar dos seus benefícios, esse paradigma aumenta a complexidade no desenvolvimento dos algoritmos, pois é necessário levar em conta vários aspectos inexistentes na codificação de programas sequenciais, como por exemplo, garantir a exclusão mútua das tarefas executadas paralelamente. Transações de memória são unidades de execução atômica. Sua utilização permite ao programador focar em determinar onde a atomicidade é necessária, ao invés dos mecanismos necessários para garanti-la. Com essa abstração, o desenvolvedor identifica as operações que formam uma seção crítica, enquanto que o sistema transacional determina como executar aquela seção crítica isoladamente em relação aos outros fluxos de execução do programa. CMTJava (DU BOIS; ECHEVARRIA, 2009) é uma extensão de Java para programação com memórias transacionais. Neste trabalho descreve-se a implementação de um novo sistema para gerenciamento da execução concorrente das transações na CMTJava. O sistema transacional desenvolvido utiliza uma estratégia híbrida para detecção de conflitos, conhecida como invalidação mista (SPEAR et al., 2006). Conflitos entre transações de escrita são detectados de forma adiantada e conflitos entre uma transação de leitura e outra de escrita são detectados tardiamente. Na implementação antecedente, ambos tipos de conflitos são detectados ao final da execução da transação. De acordo com resultados obtidos através de experimentos com árvores rubro-negras, o sistema de detecção de conflitos com invalidação mista proposto obtém melhor desempenho que o trabalho anterior em cenários onde o número de conflitos é grande. Em particular, o sistema transacional desenvolvido mostrou-se mais eficiente que a implementação anterior na maioria dos cenários testados, sendo até duas vezes mais eficiente para execução de transações de busca em uma árvore rubro-negra com 50000 elementos.The parallel computing has allowed a considerable performance gain in programs execution, dividing them into discrete parts solved concurrently using multiple computational resources. Despite its benefits, this paradigm increases the complexity in the development of algorithms, because it is necessary to take into account several aspects not present in sequential programming, such as the necessity to ensure mutual exclusion of tasks performed in parallel. Memory transactions are atomic execution units. Its use allows the programmer to focus on determining where atomicity is required, rather than the mechanisms needed to guarantee it. With this abstraction, the developer identifies the operations that form a critical section, while the transactional system determines how to execute that critical section isolatedly from other program threads. CMTJava (DU BOIS; ECHEVARRIA, 2009) is a Java extension for programming with transactional memory. This work describes the implementation of a new system to manage the concurrent execution of transactions. The system developed employs a hybrid conflict detection strategy, called mixed invalidation (SPEAR et al., 2006). Write/write conflits are detected eagerly and read/write conflicts are lazily detected. On the former implementation, both conflict types are detected by the end of the transaction execution. According to results obtained in a red-black tree microbenchmark, the mixed conflict detection strategy employed yields better performance than the previous work when the number of conflicts is high. In particular, the STM system developed is more efficient than the former implementation in most cases tested, being two times more efficient for executing search transactions in a red-black tree with 50000 elements.Sem bolsaporUniversidade Federal de PelotasPrograma de Pós-Graduação em ComputaçãoUFPelBrasilCentro de Desenvolvimento TecnológicoCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOComputaçãoMemórias transacionaisProgramação concorrenteSTMTransactional memoryConcurrent programmingUm sistema de detecção de conflitos com invalidação mista para a linguagem CMTJavaA conflict detection system with mixed invalidation for the CMTJava languageinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://lattes.cnpq.br/5504723651798718http://lattes.cnpq.br/3277487290886063Pilla, Maurício Limahttp://lattes.cnpq.br/5401660213198750Du Bois, André RauberBandeira, Rafael de Leãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPELTEXTDissertacao_Rafael_de_Leao_Bandeira.pdf.txtDissertacao_Rafael_de_Leao_Bandeira.pdf.txtExtracted texttext/plain140697http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/6/Dissertacao_Rafael_de_Leao_Bandeira.pdf.txtfd978a6faae1b5cb9ffc18e1d9c08f6eMD56open accessTHUMBNAILDissertacao_Rafael_de_Leao_Bandeira.pdf.jpgDissertacao_Rafael_de_Leao_Bandeira.pdf.jpgGenerated Thumbnailimage/jpeg1640http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/7/Dissertacao_Rafael_de_Leao_Bandeira.pdf.jpg03509e0bdafccdcd67cd666d39eab8f9MD57open accessORIGINALDissertacao_Rafael_de_Leao_Bandeira.pdfDissertacao_Rafael_de_Leao_Bandeira.pdfapplication/pdf757665http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/1/Dissertacao_Rafael_de_Leao_Bandeira.pdf0e83a077af5a8e9a3e1b51da218862afMD51open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/2/license_url4afdbb8c545fd630ea7db775da747b2fMD52open accesslicense_textlicense_texttext/html; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81866http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/5/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD55open accessprefix/56672023-07-13 03:23:12.016open accessoai:guaiaca.ufpel.edu.br:prefix/5667TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-13T06:23:12Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.pt_BR.fl_str_mv Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
dc.title.alternative.pt_BR.fl_str_mv A conflict detection system with mixed invalidation for the CMTJava language
title Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
spellingShingle Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
Bandeira, Rafael de Leão
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Computação
Memórias transacionais
Programação concorrente
STM
Transactional memory
Concurrent programming
title_short Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
title_full Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
title_fullStr Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
title_full_unstemmed Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
title_sort Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
author Bandeira, Rafael de Leão
author_facet Bandeira, Rafael de Leão
author_role author
dc.contributor.authorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/5504723651798718
dc.contributor.advisorLattes.pt_BR.fl_str_mv http://lattes.cnpq.br/3277487290886063
dc.contributor.advisor-co1.fl_str_mv Pilla, Maurício Lima
dc.contributor.advisor-co1Lattes.fl_str_mv http://lattes.cnpq.br/5401660213198750
dc.contributor.advisor1.fl_str_mv Du Bois, André Rauber
dc.contributor.author.fl_str_mv Bandeira, Rafael de Leão
contributor_str_mv Pilla, Maurício Lima
Du Bois, André Rauber
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Computação
Memórias transacionais
Programação concorrente
STM
Transactional memory
Concurrent programming
dc.subject.por.fl_str_mv Computação
Memórias transacionais
Programação concorrente
STM
Transactional memory
Concurrent programming
description A computação paralela permitiu um considerável ganho de desempenho na execução dos programas, dividindo-os em partes discretas resolvidas concorrentemente usando múltiplos recursos computacionais. Apesar dos seus benefícios, esse paradigma aumenta a complexidade no desenvolvimento dos algoritmos, pois é necessário levar em conta vários aspectos inexistentes na codificação de programas sequenciais, como por exemplo, garantir a exclusão mútua das tarefas executadas paralelamente. Transações de memória são unidades de execução atômica. Sua utilização permite ao programador focar em determinar onde a atomicidade é necessária, ao invés dos mecanismos necessários para garanti-la. Com essa abstração, o desenvolvedor identifica as operações que formam uma seção crítica, enquanto que o sistema transacional determina como executar aquela seção crítica isoladamente em relação aos outros fluxos de execução do programa. CMTJava (DU BOIS; ECHEVARRIA, 2009) é uma extensão de Java para programação com memórias transacionais. Neste trabalho descreve-se a implementação de um novo sistema para gerenciamento da execução concorrente das transações na CMTJava. O sistema transacional desenvolvido utiliza uma estratégia híbrida para detecção de conflitos, conhecida como invalidação mista (SPEAR et al., 2006). Conflitos entre transações de escrita são detectados de forma adiantada e conflitos entre uma transação de leitura e outra de escrita são detectados tardiamente. Na implementação antecedente, ambos tipos de conflitos são detectados ao final da execução da transação. De acordo com resultados obtidos através de experimentos com árvores rubro-negras, o sistema de detecção de conflitos com invalidação mista proposto obtém melhor desempenho que o trabalho anterior em cenários onde o número de conflitos é grande. Em particular, o sistema transacional desenvolvido mostrou-se mais eficiente que a implementação anterior na maioria dos cenários testados, sendo até duas vezes mais eficiente para execução de transações de busca em uma árvore rubro-negra com 50000 elementos.
publishDate 2013
dc.date.issued.fl_str_mv 2013-12-11
dc.date.accessioned.fl_str_mv 2020-06-04T01:49:04Z
dc.date.available.fl_str_mv 2020-06-04T01:49:04Z
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.citation.fl_str_mv BANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas.
dc.identifier.uri.fl_str_mv http://guaiaca.ufpel.edu.br/handle/prefix/5667
identifier_str_mv BANDEIRA, Rafael de Leão. Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava. 2013. 74 f. Dissertação (Mestrado) – Programa de Pós-Graduação em Computação. Universidade Federal de Pelotas, Pelotas.
url http://guaiaca.ufpel.edu.br/handle/prefix/5667
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.publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.publisher.program.fl_str_mv Programa de Pós-Graduação em Computação
dc.publisher.initials.fl_str_mv UFPel
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Centro de Desenvolvimento Tecnológico
publisher.none.fl_str_mv Universidade Federal de Pelotas
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPel - Guaiaca
instname:Universidade Federal de Pelotas (UFPEL)
instacron:UFPEL
instname_str Universidade Federal de Pelotas (UFPEL)
instacron_str UFPEL
institution UFPEL
reponame_str Repositório Institucional da UFPel - Guaiaca
collection Repositório Institucional da UFPel - Guaiaca
bitstream.url.fl_str_mv http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/6/Dissertacao_Rafael_de_Leao_Bandeira.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/7/Dissertacao_Rafael_de_Leao_Bandeira.pdf.jpg
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/1/Dissertacao_Rafael_de_Leao_Bandeira.pdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/2/license_url
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/3/license_text
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/4/license_rdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/5667/5/license.txt
bitstream.checksum.fl_str_mv fd978a6faae1b5cb9ffc18e1d9c08f6e
03509e0bdafccdcd67cd666d39eab8f9
0e83a077af5a8e9a3e1b51da218862af
4afdbb8c545fd630ea7db775da747b2f
d41d8cd98f00b204e9800998ecf8427e
d41d8cd98f00b204e9800998ecf8427e
43cd690d6a359e86c1fe3d5b7cba0c9b
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)
repository.mail.fl_str_mv rippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.br
_version_ 1801846892275957760