Uma linguagem de domínio específico para memória transacional distribuída em Java
| Ano de defesa: | 2015 |
|---|---|
| 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 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 |