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

Bibliographic Details
Main Author: Ramos, Jerônimo da Cunha
Publication Date: 2015
Format: Master thesis
Language: por
Source: Repositório Institucional da UFPel - Guaiaca
Download full: http://guaiaca.ufpel.edu.br/handle/prefix/8519
Summary: 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.
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 Uma linguagem de domínio específico para memória transacional distribuída em JavaA domain specific language for distributed transactional memory in JavaComputaçãoMemória transacionalProcessamento paralelo e distribuídoLinguagem de programaçãoTransactional memoryParallel and distributed computingProgramming languageCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOTransactional 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 bolsaMemó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.Universidade Federal de PelotasCentro de Desenvolvimento TecnológicoPrograma de Pós-Graduação em ComputaçãoUFPelBrasilPilla, Maurício LimaDu Bois, André RauberRamos, Jerônimo da Cunha2022-07-15T16:58:44Z2022-07-15T16:58:44Z2015info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfRAMOS, 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/8519porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFPel - Guaiacainstname:Universidade Federal de Pelotas (UFPEL)instacron:UFPEL2023-07-13T09:39:13Zoai:guaiaca.ufpel.edu.br:prefix/8519Repositó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.none.fl_str_mv Uma linguagem de domínio específico para memória transacional distribuída em Java
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
Computação
Memória transacional
Processamento paralelo e distribuído
Linguagem de programação
Transactional memory
Parallel and distributed computing
Programming language
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
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.none.fl_str_mv Pilla, Maurício Lima
Du Bois, André Rauber
dc.contributor.author.fl_str_mv Ramos, Jerônimo da Cunha
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
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Computação
Memória transacional
Processamento paralelo e distribuído
Linguagem de programação
Transactional memory
Parallel and distributed computing
Programming language
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2015
dc.date.none.fl_str_mv 2015
2022-07-15T16:58:44Z
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.uri.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.
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.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal de Pelotas
Centro de Desenvolvimento Tecnológico
Programa de Pós-Graduação em Computação
UFPel
Brasil
publisher.none.fl_str_mv Universidade Federal de Pelotas
Centro de Desenvolvimento Tecnológico
Programa de Pós-Graduação em Computação
UFPel
Brasil
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
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_ 1845920004207280128