Bounded ignorance: a technique for increasing concurrency in a replicated system

Databases are replicated to improve performance and availability. The notion of correctness that has commonly been adopted for concurrent access by transactions to shared, possibly replicated, data is serializability. However, serializability may be impractical in high-performance applications since it imposes too stringent a restriction on concurrency. When serializability is relaxed, the integrity constraints describing the data may be violated. By allowing bounded violations of the integrity constraints, however, we are able to increase the concurrency of transactions that execute in a replicated environment. In this article, we introduce the notion of an N-ignorant transaction, which is a transaction that may be ignorant of the results of at most N prior transactions, which is a transaction that may be ignorant of the results of at most N prior transactions. A system in which all transactions are N-ignorant can have an N + 1-fold increase in concurrency over serializable systems, at the expense of bounded violations of its integrity constraints. We present algorithms for implementing replicated databases in N-ignorant systems. We then provide constructive methods for calculating the reachable states in such systems, given the value of N, so that one may assess the maximum liability that is incurred in allowing constraint violation. Finally, we generalize the notion of N-ignorance to a matrix of ignorance for the purpose of higher concurrency.

[1]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[2]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

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

[4]  Dale Skeen,et al.  Crash recovery in a distributed database system , 1982 .

[5]  Roger M. Needham,et al.  Grapevine: an exercise in distributed computing , 1982, CACM.

[6]  Michael J. Fischer,et al.  Sacrificing serializability to attain high availability of data in an unreliable network , 1982, PODS.

[7]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

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

[9]  David R. Jefferson,et al.  Virtual time , 1985, ICPP.

[10]  A. Bernstein,et al.  Efficient solutions to the replicated log and dictionary problems , 1986, OPSR.

[11]  Sunil K. Sarin,et al.  Robust Application Design in Highly Available Distributed Databases , 1986, Symposium on Reliability in Distributed Software and Database Systems.

[12]  Nancy A. Lynch,et al.  Correctness conditions for highly available replicated databases , 1986, PODC '86.

[13]  Charles W. Kaufman,et al.  Using History Information to Process Delayed Database Updates , 1986, VLDB.

[14]  Gio Wiederhold,et al.  Knowledge-based Integrity Constraint Validation , 1986, VLDB.

[15]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[16]  Maurice Herlihy Concurrency versus availability: atomicity mechanisms for replicated data , 1987, TOCS.

[17]  Edmund H. Durfee,et al.  Cooperation through communication in a distributed problem-solving network , 1990 .

[18]  Maurice Herlihy,et al.  Specifying graceful degradation in distributed systems , 1987, PODC '87.

[19]  Won Kim,et al.  On Long-Duration CAD Transactions , 1989, Inf. Sci..

[20]  Maurice Herlihy,et al.  Hybrid concurrency control for abstract data types , 1988, PODS '88.

[21]  Rafael Alonso,et al.  Quasi-Copies: Efficient Data Sharing for Information Retrieval Systems , 1988, EDBT.

[22]  Lui Sha,et al.  Modular Concurrency Control and Failure Recovery , 1988, IEEE Trans. Computers.

[23]  William E. Weihl Commutativity-based concurrency control for abstract data types , 1988 .

[24]  Henry F. Korth,et al.  Formal model of correctness without serializabilty , 1988, SIGMOD '88.

[25]  M. Tamer Özsu,et al.  Using semantic knowledge of transactions to increase concurrency , 1989, TODS.

[26]  Meichun Hsu,et al.  Two Pase Gossip: Managing Distributed Event Histories , 1989, Inf. Sci..

[27]  William E. Weihl,et al.  Local atomicity properties: modular concurrency control for abstract data types , 1989, TOPL.

[28]  Kyu Ho Park,et al.  A Model of Distributed Control: Dependency and Uncertainty , 1989, Inf. Process. Lett..

[29]  Abraham Silberschatz,et al.  A Formal Approach to Recovery by Compensating Transactions , 1990, VLDB.

[30]  R. Paige Symbolic finite differencing, part I (invited lecture) , 1990 .

[31]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services (extended abstract) , 1990, OPSR.

[32]  Robert Paige,et al.  Symbolic Finite Differencing - Part I , 1990, ESOP.

[33]  Maurice Herlihy,et al.  Apologizing versus asking permission: optimistic concurrency control for abstract data types , 1990, TODS.

[34]  Liuba Shrira,et al.  Lazy replication: exploiting the semantics of distributed services , 1990, ACM SIGOPS European Workshop.

[35]  Gerhard Weikum,et al.  Multi-level transactions and open nested transactions , 1991 .

[36]  Amit P. Sheth,et al.  Polytransactions for managing interdependent data , 1991 .

[37]  Hector Garcia-Molina,et al.  Modeling long-running activities as nested sagas , 1991 .

[38]  Divyakant Agrawal,et al.  Efficient Dissemination of Information in Computer Networks , 1991, Comput. J..

[39]  André Schiper,et al.  Lightweight causal and atomic group multicast , 1991, TOCS.

[40]  Maurice Herlihy,et al.  Hybrid Concurrency Control for Abstract Data Types , 1991, J. Comput. Syst. Sci..

[41]  Ahmed K. Elmagarmid,et al.  Maintaining Consistency of Interdependent Data in Multidatabase Systems , 1991 .

[42]  Abraham Silberschatz,et al.  A theory of relaxed atomicity (extended abstract) , 1991, PODC '91.

[43]  Arthur J. Bernstein,et al.  High Throughput Escrow Algorithms for Replicated Databases , 1992, VLDB.

[44]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[45]  Hector Garcia-Molina,et al.  The Demarcation Protocol: A Technique for Maintaining Linear Arithmetic Constraints in Distributed Database Systems , 1992, EDBT.

[46]  Narayanan Krishnakumar Increasing concurrency and autonomy in replicated database systems , 1992 .

[47]  Divyakant Agrawal,et al.  Tolerating bounded inconsistency for increasing concurrency in database systems , 1992, PODS '92.

[48]  Narayanan Krishnakumar On Computing Serial Dependency Relations , 1994, J. Comput. Syst. Sci..