Defesa de Dissertação Mestrado: Rafael de Leão Bandeira
DEFESA DE DISSERTAÇÃO DE MESTRADO – PPGC
Título: Um sistema de detecção de conflitos com invalidação mista para a linguagem CMTJava
Autor: Rafael de Leão Bandeira
Banca:
Prof. André Rauber Du Bois (orientador UFPEL)
Prof. Maurício Lima Pilla (co-orientador UFPEL)
Profa. Juliana Kaiser Vizzotto (UFSM)
Prof. Gerson H. Cavalheiro (UFPEL)
Prof. Adenauer Corrêa Yamin (UFPEL)
Data: 26 de fevereiro de 2013
Hora: 14:00h
Local: Aud. 4o andar Campus Anglo
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 é uma extensão de Java para programação com memórias transacionais. Neste trabalho descreve-se a implementação de um sistema para gerenciamento da execução concorrente das transações na CMTJava. No sistema transacional desenvolvido, a detecção de conflitos entre transações de escrita é feita 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.
Em resultados obtidos através de um experimento com árvores rubro-negras, o sistema transacional desenvolvido mostrou-se mais eficiente que a implementação anterior, na maioria dos cenários testados.