Um Mecanismo de Caching para o Protocolo SCORe

Resumo Os protocolos de replicação parcial de dados apresentam um grande potencial de escalabilidade. O SCORe é um protocolo para replicação parcial proposto recentemente que faz uso de controlo de concorrência multi-versão. Neste artigo abordamos um dos principais problemas que afeta o desempenho deste tipo de protocolos: a localidade dos dados, i.e., pode-se dar o caso do nó local não ter uma cópia dos dados a que pretende aceder, e assim ser necessário realizar uma ou mais operações de leitura remota. Assim, a não ser que se empreguem técnicas para melhorar a localidade no acesso aos dados, o número de operações de leitura remota aumenta com o tamanho do sistema, acabando por afetar o desempenho do mesmo. Nesse sentido, introduzimos um mecanismo de caching que permite replicar cópias de dados remotos de maneira a que seja posśıvel servir localmente dados remotos enquanto que se mantém a consistência dos mesmos e a escalabilidade oferecida pelo protocolo. Avaliamos o mecanismo de caching com um benchmark conhecido da literatura e os resultados experimentais mostram resultados animadores com algum aumento no desempenho do sistema e uma redução considerável da quantidade de operações de leitura remota.

[1]  Binoy Ravindran,et al.  Scheduling Transactions in Replicated Distributed Software Transactional Memory , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[2]  Paolo Romano,et al.  Enhancing Locality via Caching in the GMU Protocol , 2014, 2014 14th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing.

[3]  Fernando Pedone,et al.  Tashkent: uniting durability with transaction ordering for high-performance scalable database replication , 2006, EuroSys.

[4]  Paolo Romano,et al.  SCORe: A Scalable One-Copy Serializable Partial Replication Protocol , 2012, Middleware.

[5]  Ye Sun,et al.  Distributed transactional memory for metric-space networks , 2005, Distributed Computing.

[6]  Mikel Luján,et al.  DiSTM: A Software Transactional Memory Framework for Clusters , 2008, 2008 37th International Conference on Parallel Processing.

[7]  Dennis Shasha,et al.  The dangers of replication and a solution , 1996, SIGMOD '96.

[8]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[9]  Eric A. Brewer,et al.  Towards robust distributed systems (abstract) , 2000, PODC '00.

[10]  João Lourenço Uma Infraestrutura para Suporte de Memória Transacional Distribuída , 2012 .

[11]  Fernando Pedone,et al.  Partial replication in the Database State Machine , 2001, Proceedings IEEE International Symposium on Network Computing and Applications. NCA 2001.

[12]  Nir Shavit,et al.  Software transactional memory , 1995, PODC '95.

[13]  Gustavo Alonso,et al.  Supporting partial data accesses to replicated data , 1994, Proceedings of 1994 IEEE 10th International Conference on Data Engineering.

[14]  Luís E. T. Rodrigues,et al.  AutoPlacer: Scalable Self-Tuning Data Placement in Distributed Key-Value Stores , 2015, TAAS.

[15]  Fernando Pedone,et al.  P-Store: Genuine Partial Replication in Wide Area Networks , 2010, 2010 29th IEEE Symposium on Reliable Distributed Systems.

[16]  Luís E. T. Rodrigues,et al.  D2STM: Dependable Distributed Software Transactional Memory , 2009, 2009 15th IEEE Pacific Rim International Symposium on Dependable Computing.

[17]  Luís E. T. Rodrigues,et al.  When Scalability Meets Consistency: Genuine Multiversion Update-Serializable Partial Data Replication , 2012, 2012 IEEE 32nd International Conference on Distributed Computing Systems.

[18]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[19]  Luís E. T. Rodrigues,et al.  A Generic Framework for Replicated Software Transactional Memories , 2011, 2011 IEEE 10th International Symposium on Network Computing and Applications.

[20]  Ricardo Jiménez-Peris,et al.  Boosting Database Replication Scalability through Partial Replication and 1-Copy-Snapshot-Isolation , 2007, 13th Pacific Rim International Symposium on Dependable Computing (PRDC 2007).

[21]  Binoy Ravindran,et al.  HyFlow: a high performance distributed software transactional memory framework , 2011, HPDC '11.

[22]  Fernando Pedone,et al.  Optimistic Algorithms for Partial Database Replication , 2006, OPODIS.