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): Não Informado pela instituição
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
Centro de Desenvolvimento Tecnológico
Programa de Pós-Graduação em Computação
UFPel
Brasil
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://guaiaca.ufpel.edu.br/handle/prefix/8519
Resumo: 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.