Multi-consistency Data Replication

Replication is a technique widely used in parallel and distributed systems to provide qualities such as performance, scalability, reliability and availability to their clients. These qualities comprise the non-functional requirements of the system. But the functional requirement consistency may also get affected as a side-effect of replication. Different replica control protocols provide different levels of consistency from the system. In this paper we present the middleware based McRep replication protocol that supports multiple consistency model in a distributed system with replicated data. Both correctness criteria and divergence aspects of a consistency model can be specified in the McRep configuration. Supported correctness criteria include linearizability, sequential consistency, serializability, snapshot isolation and causal consistency. Bounds on divergence can be specified in either version metric or delay metric. Our approach allows the same middleware to be used for applications requiring different consistency guarantees, eliminating the need for mastering a new replication middleware or framework for every application. We carried out experiments to compare the performance of various consistency requirements in terms of response time, concurrency conflict and bandwidth overhead. We demonstrate that in McRep workloads only pay for the consistency guarantees they actually need.

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

[2]  Marvin Theimer,et al.  Session guarantees for weakly consistent replicated data , 1994, Proceedings of 3rd International Conference on Parallel and Distributed Information Systems.

[3]  Michel Raynal,et al.  From serializable to causal transactions for collaborative applications , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).

[4]  William H. Sanders,et al.  An Adaptive Quality of Service Aware Middleware for Replicated Services , 2003, IEEE Trans. Parallel Distributed Syst..

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

[6]  D. E. Langworthy Evaluating correctness criteria for transactions , 1988, OOPSLA/ECOOP '88.

[7]  Amin Vahdat,et al.  Design and evaluation of a continuous consistency model for replicated services , 2000, OSDI.

[8]  Hector Garcia-Molina,et al.  The case for controlled inconsistency in replicated data , 1990, [1990] Proceedings. Workshop on the Management of Replicated Data.

[9]  Gustavo Alonso,et al.  Ganymed: Scalable Replication for Transactional Web Applications , 2004, Middleware.

[10]  Udo Kelter Strictness and Serializability , 1986, STACS.

[11]  Weimin Du,et al.  Maintaining quasi serializability in multidatabase systems , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[12]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[13]  Torben Amtoft,et al.  Faithful Translations between Polyvariant Flows and Polymorphic Types , 2000, ESOP.

[14]  Philip S. Yu,et al.  Distributed divergence control for epsilon serializability , 1993, [1993] Proceedings. The 13th International Conference on Distributed Computing Systems.

[15]  Fernando Pedone,et al.  Database replication using generalized snapshot isolation , 2005, 24th IEEE Symposium on Reliable Distributed Systems (SRDS'05).

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

[17]  Leslie Lamport,et al.  How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.

[18]  Marvin Theimer,et al.  Managing update conflicts in Bayou, a weakly connected replicated storage system , 1995, SOSP.

[19]  Alan L. Cox,et al.  Conflict-Aware Scheduling for Dynamic Content Applications , 2003, USENIX Symposium on Internet Technologies and Systems.

[20]  Wanlei Zhou,et al.  An analysis of update ordering in distributed replication systems , 2004, Future Gener. Comput. Syst..

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

[22]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[23]  Kenneth Salem,et al.  Lazy database replication with ordering guarantees , 2004, Proceedings. 20th International Conference on Data Engineering.

[24]  Lei Gao,et al.  PRACTI Replication , 2006, NSDI.

[25]  Kenneth Salem,et al.  Lazy database replication with snapshot isolation , 2006, VLDB.

[26]  Torvald Riegel,et al.  From causal to z-linearizable transactional memory , 2007, PODC '07.

[27]  Fred B. Schneider,et al.  Replication management using the state-machine approach , 1993 .

[28]  Gil Neiger,et al.  Causal memory: definitions, implementation, and programming , 1995, Distributed Computing.

[29]  Fernando Pedone,et al.  Correctness Criteria for Database Replication: Theoretical and Practical Aspects , 2008, OTM Conferences.

[30]  Jerzy Brzezinski,et al.  From session causality to causal consistency , 2004, 12th Euromicro Conference on Parallel, Distributed and Network-Based Processing, 2004. Proceedings..

[31]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.

[32]  Philip A. Bernstein,et al.  A proof technique for concurrency control and recovery algorithms for replicated databases , 1987, Distributed Computing.