Tese submetida para provas de mestrado em Engenharia Informática e de Computadores Instituto Superior Técnico, Universidade Técnica de Lisboa.
Abstract
Actualmente, os sistemas de armazenamento em memória transaccional e distribuída são cada vez mais utilizados como forma de aumentar o desempenho de aplicações com acesso intensivo a grandes quantidades de dados. Neste contexto, a replicação dos dados na memória de múltiplos nós possui duas grandes vantagens: por um lado, permite distribuir a carga das operações de leitura por vários nós; por outro, assegura a sobrevivência dos dados na eventualidade da falha de um dos nós. Estas vantagens necessitam de ser ponderadas contra os custos envolvidos na replicação: os dados consomem memória e quanto maior o número de nós maior será o custo dos manter coerentes. Desta forma, justifica-se a utilização de replicação parcial.
Esta dissertação aborda a aplicação de técnicas de replicação parcial em sistemas de armazenamento em memória transaccional e distribuída. Apesar destas técnicas já terem sido experimentadas em sistemas de bases de dados distribuídas, existem diferenças significativas na caracterização das cargas impostas ao sistema, e no tipo de processamento que é feito na sua execução, que justificam o nosso trabalho. Em particular, os sistemas de gestão de bases de dados são obrigados a executar diversas fases (processamento do SQL, persistência síncrona, etc.) que acarretam custos que não existem nos sistemas de armazenamento em memória. Assim, os custos de coordenação, associados à replicação parcial, são em termos relativos, amplificados. Este trabalho pretende contribuir para aferir em que medida a replicação parcial é viável e eficaz neste contexto.
A dissertação apresenta as seguintes contribuições: descreve um conjunto de algoritmos para a concretização de replicação parcial em sistemas de armazenamento distribuído e transaccional em memória; faz uma avaliação experimental desses algoritmos com base numa adaptação do Infinispan, uma cache distribuída de código aberto da RedHat. Ao contrário da solução nativa, baseada no protocolo de confirmação em duas fases, a solução aqui proposta evita o interbloqueio. Resultados experimentais mostram que os algoritmos propostos permitem obter ganhos significativos no desempenho do sistema.
Publicações
Replicação Parcial para Sistemas de Memória Transaccional por Software
Pedro Miguel Pereira Ruivo
MSc Thesis. Instituto Superior Técnico, Universidade Técnica de Lisboa.
October, 2011.
Available BibTeX, MSC Thesis, extended abstract of the thesis, and mid-term report.
Replicação Parcial em Sistemas de Memória Transaccional.
P. Ruivo, M. Couceiro, P. Romano, and L. Rodrigues.
Actas do terceiro Simpósio de Informática (Inforum), Coimbra, Portugal, Sep, 2011
Available BibTeX, extended report (pdf).
Exploiting Total Order Multicast in Weakly Consistent Transactional Caches.
P. Ruivo, M. Couceiro, P. Romano and L. Rodrigues.
In Proceedings of the 17th Pacific Rim International Symposium on Dependable Computing (PRDC 11), Pasadena, California, USA, December 12-14, 2011.