Uma linguagem de domínio específico para memória transacional distribuída em Java

Detalhes bibliográficos
Ano de defesa: 2015
Autor(a) principal: Ramos, Jerônimo da Cunha
Orientador(a): Du Bois, André Rauber
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal de Pelotas
Programa de Pós-Graduação: Programa de Pós-Graduação em Computação
Departamento: Centro de Desenvolvimento Tecnológico
País: Brasil
Palavras-chave em Português:
Área do conhecimento CNPq:
Link de acesso: http://guaiaca.ufpel.edu.br/handle/prefix/8519
Resumo: Memória transacional é uma abstração na qual os acessos concorrentes a memória são gerenciados com o uso de transações, similares às de banco de dados. Existem muitas vantagens no uso deste modelo ao invés dos convencionais. Uma delas é a facilidade de programação, pois basta que o programador marque os trechos onde pode ocorrer condição de corrida e o sistema transacional se encarrega de garantir a corretude dos resultados. Outra vantagem importante e a maior possibilidade de exploração do paralelismo, já que as transações podem ser executadas de maneira otimista. Este modelo tem se mostrado promissor para máquinas SMP, no entanto existem poucos trabalhos na área focados em arquiteturas distribuídas. O estudo de arquiteturas distribuídas e extremamente importante nos dias de hoje, tanto por comporem uma grande parcela da computação de alto desempenho, quanto pela tendência de cada vez mais dispositivos computacionais comunicarem-se. Sendo assim, o presente trabalho engloba uma revisão bibliográfica sobre as principais estratégias de implementação de memórias transacionais, algumas das implementações mais importantes e as principais dificuldades para implementação de memorias transacionais distribuídas, bem como aborda as implementações, que compõe o estado da arte, da frente de pesquisa na qual este trabalho está inserido: memórias transacionais distribuídas. Deste modo, o objetivo principal deste trabalho é propor uma linguagem de domínio específico embutida em Java para implementação de transações de memória que podem envolver objetos locais e distribuídos em uma rede. Este objetivo foi abordado tanto em nível de linguagem, permitindo que o programador defina ações transacionais, quanto em nível de sistema transacional, dando suporte a execução das abstrações da linguagem. Além disso, foi implementado um protótipo, estendendo a implementação da linguagem CMTJava, para validação do modelo.
id UFPL_7b80c277846e9f9ed6c23b2eb2cc40ea
oai_identifier_str oai:guaiaca.ufpel.edu.br:prefix/8519
network_acronym_str UFPL
network_name_str Repositório Institucional da UFPel - Guaiaca
repository_id_str
spelling 2022-07-15T16:58:44Z2022-07-15T16:58:44Z2015RAMOS, Jerônimo da Cunha. Uma linguagem de domínio específico para memória transacional distribuída em Java. 2015. 68 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2015.http://guaiaca.ufpel.edu.br/handle/prefix/8519Memória transacional é uma abstração na qual os acessos concorrentes a memória são gerenciados com o uso de transações, similares às de banco de dados. Existem muitas vantagens no uso deste modelo ao invés dos convencionais. Uma delas é a facilidade de programação, pois basta que o programador marque os trechos onde pode ocorrer condição de corrida e o sistema transacional se encarrega de garantir a corretude dos resultados. Outra vantagem importante e a maior possibilidade de exploração do paralelismo, já que as transações podem ser executadas de maneira otimista. Este modelo tem se mostrado promissor para máquinas SMP, no entanto existem poucos trabalhos na área focados em arquiteturas distribuídas. O estudo de arquiteturas distribuídas e extremamente importante nos dias de hoje, tanto por comporem uma grande parcela da computação de alto desempenho, quanto pela tendência de cada vez mais dispositivos computacionais comunicarem-se. Sendo assim, o presente trabalho engloba uma revisão bibliográfica sobre as principais estratégias de implementação de memórias transacionais, algumas das implementações mais importantes e as principais dificuldades para implementação de memorias transacionais distribuídas, bem como aborda as implementações, que compõe o estado da arte, da frente de pesquisa na qual este trabalho está inserido: memórias transacionais distribuídas. Deste modo, o objetivo principal deste trabalho é propor uma linguagem de domínio específico embutida em Java para implementação de transações de memória que podem envolver objetos locais e distribuídos em uma rede. Este objetivo foi abordado tanto em nível de linguagem, permitindo que o programador defina ações transacionais, quanto em nível de sistema transacional, dando suporte a execução das abstrações da linguagem. Além disso, foi implementado um protótipo, estendendo a implementação da linguagem CMTJava, para validação do modelo.Transactional memory is an abstraction where concurrent memory accesses are handled with the use of transactions, similar to database transactions. There are many advantages in using this model instead of conventional ones. An advantage is the ease of programming, because the programmer simply marks the snippets where race condition may occur and the transactional system takes care to ensure the correctness of the results. Another important advantage is the increased possibility of exploitation of parallelism because transactions can be performed optimistically. This model has proven to be promising for SMP machines, however few studies in this area are focused on distributed architectures. The study of distributed architectures is extremely important these days, as they compose a large portion of high performance computing platforms, and because of the trend of more and more computing devices communicating with each other. Thus, this work includes a literature review on the main implementation strategies of transactional memories, some of the most important implementations and the main difficulties to implement distributed transactional memories. It also discusses the state of the art implementations of the research front where this work is inserted: distributed transactional memories. In this way, the main objective of this work is to propose a domain specific language embedded in Java for implementing memory transactions that can involve local objects and distributed objects on a network. This goal was approached both in language level, allowing the programmer to define transactional actions, and in transactional system level, supporting the implementation of the language’s abstractions. In addition, a prototype was implemented, extending the implementation of CMTJava language, to validate the model.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ória transacionalProcessamento paralelo e distribuídoLinguagem de programaçãoTransactional memoryParallel and distributed computingProgramming languageUma linguagem de domínio específico para memória transacional distribuída em JavaA domain specific language for distributed transactional memory in Javainfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPilla, Maurício LimaDu Bois, André RauberRamos, Jerônimo da Cunhainfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPELTEXTDissertacao_Jeronimo_Ramos.pdf.txtDissertacao_Jeronimo_Ramos.pdf.txtExtracted texttext/plain127649http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/6/Dissertacao_Jeronimo_Ramos.pdf.txtb217422e4ef5fca7b26757635bde25baMD56open accessTHUMBNAILDissertacao_Jeronimo_Ramos.pdf.jpgDissertacao_Jeronimo_Ramos.pdf.jpgGenerated Thumbnailimage/jpeg1229http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/7/Dissertacao_Jeronimo_Ramos.pdf.jpg2634bae8d9304f0549fd43a6f740c5b3MD57open accessORIGINALDissertacao_Jeronimo_Ramos.pdfDissertacao_Jeronimo_Ramos.pdfapplication/pdf1107342http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/1/Dissertacao_Jeronimo_Ramos.pdfc9823b592efc59fcd8347da287e91a4cMD51open accessCC-LICENSElicense_urllicense_urltext/plain; charset=utf-849http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/2/license_url924993ce0b3ba389f79f32a1b2735415MD52open accesslicense_textlicense_texttext/html; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/3/license_textd41d8cd98f00b204e9800998ecf8427eMD53open accesslicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/4/license_rdfd41d8cd98f00b204e9800998ecf8427eMD54open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81866http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/5/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD55open accessprefix/85192023-07-13 06:39:13.396open accessoai:guaiaca.ufpel.edu.br:prefix/8519TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://repositorio.ufpel.edu.br/oai/requestrippel@ufpel.edu.br || repositorio@ufpel.edu.br || aline.batista@ufpel.edu.bropendoar:2023-07-13T09:39:13Repositório Institucional da UFPel - Guaiaca - Universidade Federal de Pelotas (UFPEL)false
dc.title.pt_BR.fl_str_mv Uma linguagem de domínio específico para memória transacional distribuída em Java
dc.title.alternative.pt_BR.fl_str_mv A domain specific language for distributed transactional memory in Java
title Uma linguagem de domínio específico para memória transacional distribuída em Java
spellingShingle Uma linguagem de domínio específico para memória transacional distribuída em Java
Ramos, Jerônimo da Cunha
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Computação
Memória transacional
Processamento paralelo e distribuído
Linguagem de programação
Transactional memory
Parallel and distributed computing
Programming language
title_short Uma linguagem de domínio específico para memória transacional distribuída em Java
title_full Uma linguagem de domínio específico para memória transacional distribuída em Java
title_fullStr Uma linguagem de domínio específico para memória transacional distribuída em Java
title_full_unstemmed Uma linguagem de domínio específico para memória transacional distribuída em Java
title_sort Uma linguagem de domínio específico para memória transacional distribuída em Java
author Ramos, Jerônimo da Cunha
author_facet Ramos, Jerônimo da Cunha
author_role author
dc.contributor.advisor-co1.fl_str_mv Pilla, Maurício Lima
dc.contributor.advisor1.fl_str_mv Du Bois, André Rauber
dc.contributor.author.fl_str_mv Ramos, Jerônimo da Cunha
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ória transacional
Processamento paralelo e distribuído
Linguagem de programação
Transactional memory
Parallel and distributed computing
Programming language
dc.subject.por.fl_str_mv Computação
Memória transacional
Processamento paralelo e distribuído
Linguagem de programação
Transactional memory
Parallel and distributed computing
Programming language
description Memória transacional é uma abstração na qual os acessos concorrentes a memória são gerenciados com o uso de transações, similares às de banco de dados. Existem muitas vantagens no uso deste modelo ao invés dos convencionais. Uma delas é a facilidade de programação, pois basta que o programador marque os trechos onde pode ocorrer condição de corrida e o sistema transacional se encarrega de garantir a corretude dos resultados. Outra vantagem importante e a maior possibilidade de exploração do paralelismo, já que as transações podem ser executadas de maneira otimista. Este modelo tem se mostrado promissor para máquinas SMP, no entanto existem poucos trabalhos na área focados em arquiteturas distribuídas. O estudo de arquiteturas distribuídas e extremamente importante nos dias de hoje, tanto por comporem uma grande parcela da computação de alto desempenho, quanto pela tendência de cada vez mais dispositivos computacionais comunicarem-se. Sendo assim, o presente trabalho engloba uma revisão bibliográfica sobre as principais estratégias de implementação de memórias transacionais, algumas das implementações mais importantes e as principais dificuldades para implementação de memorias transacionais distribuídas, bem como aborda as implementações, que compõe o estado da arte, da frente de pesquisa na qual este trabalho está inserido: memórias transacionais distribuídas. Deste modo, o objetivo principal deste trabalho é propor uma linguagem de domínio específico embutida em Java para implementação de transações de memória que podem envolver objetos locais e distribuídos em uma rede. Este objetivo foi abordado tanto em nível de linguagem, permitindo que o programador defina ações transacionais, quanto em nível de sistema transacional, dando suporte a execução das abstrações da linguagem. Além disso, foi implementado um protótipo, estendendo a implementação da linguagem CMTJava, para validação do modelo.
publishDate 2015
dc.date.issued.fl_str_mv 2015
dc.date.accessioned.fl_str_mv 2022-07-15T16:58:44Z
dc.date.available.fl_str_mv 2022-07-15T16:58:44Z
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 RAMOS, Jerônimo da Cunha. Uma linguagem de domínio específico para memória transacional distribuída em Java. 2015. 68 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2015.
dc.identifier.uri.fl_str_mv http://guaiaca.ufpel.edu.br/handle/prefix/8519
identifier_str_mv RAMOS, Jerônimo da Cunha. Uma linguagem de domínio específico para memória transacional distribuída em Java. 2015. 68 f. Dissertação (Mestrado em Ciência da Computação) – Programa de Pós-Graduação em Computação, Centro de Desenvolvimento Tecnológico, Universidade Federal de Pelotas, Pelotas, 2015.
url http://guaiaca.ufpel.edu.br/handle/prefix/8519
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/8519/6/Dissertacao_Jeronimo_Ramos.pdf.txt
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/7/Dissertacao_Jeronimo_Ramos.pdf.jpg
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/1/Dissertacao_Jeronimo_Ramos.pdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/2/license_url
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/3/license_text
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/4/license_rdf
http://guaiaca.ufpel.edu.br/xmlui/bitstream/prefix/8519/5/license.txt
bitstream.checksum.fl_str_mv b217422e4ef5fca7b26757635bde25ba
2634bae8d9304f0549fd43a6f740c5b3
c9823b592efc59fcd8347da287e91a4c
924993ce0b3ba389f79f32a1b2735415
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_ 1856426228293042176