Two-phase commit optimizations in a commercial distributed environment

An atomic commit protocol can ensure that all participants in a distributed transaction reach consistent states, whether or not system or network failures occur. The atomic commit protocol used in industry and academia is the well-known two-phase commit (2PC) protocol, which has been the subject of considerable work and technical literature for some years.Much of the literature focuses on improving performance in failure cases by providing a non-blocking 2PC that streamlines recovery processing at the expense of extra processing in the normal case. We focus on improving performance in the normal case based on two assumptions: first, that networks and systems are becoming increasingly reliable, and second, that the need to support high-volume transactions requires a streamlined protocol for the normal case.In this paper, various optimizations are presented and analyzed in terms of reliability, savings in log writes and network traffic, and reduction in resource lock time. The paper's unique contributions include the description of some optimizations not described elsewhere in the literature and a systematic comparison of the optimizations and the environments where they cause the most benefit. Furthermore, it analyzes the feasibility and performance of several optimization combinations, identifying situations where they are effective.

[1]  Bruce G. Lindsay,et al.  Transaction management in the R* distributed database management system , 1986, TODS.

[2]  Uwe Bürger A Flexible Two-Phase Commit Protocol , 1989, Comput. Networks.

[3]  Michael Stonebraker,et al.  Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres , 1979, IEEE Transactions on Software Engineering.

[4]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[5]  C. Mohan Generalized Presumed Abort: Marrying Presumed Abort and SNA LU6.2 Commit Protocols , 1993, HPTS.

[6]  Kurt Rothermel,et al.  Open commit protocols for the tree of processes model , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[7]  James M. Showalter,et al.  Coordinated Resource Recovery in VM/ESA , 1991, IBM Syst. J..

[8]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[9]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[10]  Peter M. Spiro,et al.  Designing an Optimized Transaction Committ Protocol , 1991, Digit. Tech. J..

[11]  Philip A. Bernstein Transaction processing monitors , 1990, CACM.

[12]  Dean Daniels,et al.  Query Processing in R* , 1985, Query Processing in Database Systems.

[13]  James E. Johnson,et al.  Transaction Management Support in the VMS Operating System Kernel , 1991, Digit. Tech. J..

[14]  Andreas Reuter,et al.  Group Commit Timers and High Volume Transaction Systems , 1987, HPTS.

[15]  Victor O. K. Li,et al.  A quorum-based commit and termination protocol for distributed database systems , 1988, Proceedings. Fourth International Conference on Data Engineering.

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

[17]  Laura M. Haas,et al.  Computation and communication in R*: a distributed database manager , 1984, TOCS.