Pedro Miguel Pereira Ruivo
Replicação Parcial para Sistemas de Memória Transaccional por Software
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.
- Available BibTeX,
abstract (html) and report (pdf).
Luís Rodrigues