When Scalability Meets Consistency: Genuine Multiversion Update-Serializable Partial Data Replication

In this article we introduce GMU, a genuine partial replication protocol for transactional systems, which exploits an innovative, highly scalable, distributed multiversioning scheme. Unlike existing multiversion-based solutions, GMU does not rely on a global logical clock, which represents a contention point and can limit system scalability. Also, GMU never aborts read-only transactions and spares them from distributed validation schemes. This makes GMU particularly efficient in presence of read-intensive workloads, as typical of a wide range of real-world applications. GMU guarantees the Extended Update Serializability (EUS) isolation level. This consistency criterion is particularly attractive as it is sufficiently strong to ensure correctness even for very demanding applications (such as TPC-C), but is also weak enough to allow efficient and scalable implementations, such as GMU. Further, unlike several relaxed consistency models proposed in literature, EUS has simple and intuitive semantics, thus being an attractive, scalable consistency model for ordinary programmers. We integrated the GMU protocol in a popular open source in-memory transactional data grid, namely Infinispan. On the basis of a large scale experimental study performed on heterogeneous experimental platforms and using industry standard benchmarks (namely TPC-C and YCSB), we show that GMU achieves linear scalability and that it introduces negligible overheads (less than 10%), with respect to solutions ensuring non-serializable semantics, in a wide range of workloads.

[1]  Jim Gray,et al.  A critique of ANSI SQL isolation levels , 1995, SIGMOD '95.

[2]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[3]  Prashant Malik,et al.  Cassandra: a decentralized structured storage system , 2010, OPSR.

[4]  Robbert van Renesse,et al.  Astrolabe: A robust and scalable technology for distributed system monitoring, management, and data mining , 2003, TOCS.

[5]  Luís E. T. Rodrigues,et al.  SCert: Speculative certification in replicated software transactional memories , 2011, SYSTOR '11.

[6]  Rachid Guerraoui,et al.  The Database State Machine Approach , 2003, Distributed and Parallel Databases.

[7]  Adam Silberstein,et al.  Benchmarking cloud serving systems with YCSB , 2010, SoCC '10.

[8]  Barbara Liskov,et al.  Weak Consistency: A Generalized Theory and Optimistic Implementations for Distributed Transactions , 1999 .

[9]  Luís E. T. Rodrigues,et al.  Appia, a flexible protocol kernel supporting multiple coordinated channels , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[10]  Francesc D. Muñoz-Escoí,et al.  SIPRe: a partial database replication protocol with SI replicas , 2008, SAC '08.

[11]  Lalit M. Patnaik,et al.  Update Serializability in Locking , 1986, ICDT.

[12]  Roberto Palmieri,et al.  OSARE: Opportunistic Speculation in Actively REplicated Transactional Systems , 2011, 2011 IEEE 30th International Symposium on Reliable Distributed Systems.

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

[14]  Gustavo Alonso,et al.  Don't Be Lazy, Be Consistent: Postgres-R, A New Way to Implement Database Replication , 2000, VLDB.

[15]  Arvola Chan,et al.  Implementing Distributed Read-Only Transactions , 1985, IEEE Transactions on Software Engineering.

[16]  Ricardo Jiménez-Peris,et al.  Middleware based data replication providing snapshot isolation , 2005, SIGMOD '05.

[17]  David R. Karger,et al.  Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web , 1997, STOC '97.

[18]  Annette Bieniusa,et al.  Consistency in hindsight: A fully decentralized STM algorithm , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[19]  Rachid Guerraoui,et al.  On the correctness of transactional memory , 2008, PPoPP.

[20]  Bettina Kemme,et al.  Postgres-R(SI): combining replica control with concurrency control based on snapshot isolation , 2005, 21st International Conference on Data Engineering (ICDE'05).

[21]  Leslie Lamport,et al.  Consensus on transaction commit , 2004, TODS.

[22]  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).

[23]  Christoforos E. Kozyrakis,et al.  Unlocking Concurrency , 2006, ACM Queue.

[24]  André Schiper,et al.  Comparison of database replication techniques based on total order broadcast , 2005, IEEE Transactions on Knowledge and Data Engineering.

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

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