Abstract
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.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
P. Bernstein, W. Emberton, and V. Trehan, “DECdta—Digital's Distributed Transaction Processing Architecture,” Digital Technical Journal, Vol. 3, No. 1, Winter 1991.
P. Bernstein, “Transaction Processing Monitors,” Communications of the ACM, Vol. 33, No. 11, November 1990.
E. Braginsky, “The X/Open DTP Effort,” Proc. 4th International Workshop on High Performance Transaction Systems, Asilomar, September 1991.
U. Buerger, “A Flexible Two-Phase Commit Protocol,” Computer Networks and ISDN Systems, Vol. 17, No. 3, September 1989.
C.-L. Huang and V.O.K. Li, “A Quorum-Based Commit and Termination Protocol for Distributed Database Systems,” Fourth International Conference on Data Engineering, Los Angeles, California, February 1–5, 1988.
CICS General Information, Document Number GC33-0155-4, IBM, October 1990.
J. Eppinger and M. Yung, Transarc's Encina Environment, USENIX, 1990.
D. Gawlick and D. Kinkade, “Varieties of Concurrency Control in IMS/VS Fast Path,” IEEE Database Engineering, Vol. 8, No. 2, June 1985.
J.N. Gray, “Notes on Data Base Operating Systems,” in Operating Systems—An Advanced Course, R. Bayer, R. Graham, and G. Seegmuller (Eds.), Lecture Notes in Computer Science, Vol. 60, Springer-Verlag, 1978. Also available as IBM Research Report RJ2188, IBM Almaden Research Center, February 1978.
J.N. Gray, “The Transaction Concept: Virtues and Limitations,” Proc. 7th International Conference on Very Large Data Bases, October 1981.
J.N. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann series, 1993.
P. Helland, “The LU 6.2 Protocol Boundary: The ‘L’ Stands for ‘Lightweight’,” Proc. 3rd International Workshop on High Performance Transaction Systems, September 1989.
P. Helland, H. Sammer, J. Lyon, R. Carr, P. Garrett, and A. Reuter, “Group Commit Timers and High Volume Transaction Processing Systems,” Proc. 2nd International Workshop on High Performance Transaction Systems, September 1987.
M. Hesselgrave, “Considerations for Building Distributed Transaction Processing Systems on UNIX System V,” Proc. UNIFORUM, Washington, January 1990.
IBM Database System DB2, Document Number GG24-3400-0, IBM, 1988.
W. Laing, J. Johnson, and R. Landau, “Transaction Management Support in the VMS Operating System Kernel,” Digital Technical Journal, Vol. 3, No. 1, Winter 1991.
B.W. Lampson, “Atomic Transactions,” in Distributed Systems: Architecture and Implementation—An Advanced Course, B.W. Lampson (Ed.), Lecture Notes in Computer Science, Vol. 105, Springer-Verlag, 1981, pp. 246–265.
B. Lindsay, L. Haas, C. Mohan, P. Wilms, and R. Yost, “Computation and Communication inR*: A Distributed Database Manager,” ACM Transactions on Computer Systems, Vol. 2, No. 1, February 1984. Also available as IBM Research Report RJ3740, IBM Almaden Research Center, January 1983.
G. Lohman, C. Mohan, L. Haas, D. Daniels, B. Lindsay, P. Selinger, and P. Wilms, “Query Processing inR*,” in Query Processing in Database Systems, W. Kim, D. Reiner, and D. Batory (Eds.), Springer-Verlag, 1985. Also available as IBM Research Report RJ4272, IBM Almaden Research Center, April 1984.
B. Maslak, J. Showalter, and T. Szczygielski, “Coordinated Resource Recovery in VM/ESA,” IBM Systems Journal, Vol. 30, No. 1, 1991.
C. Mohan, K. Britton, A. Citron, and G. Samaras, Generalized Presumed Abort: Marrying Presumed Abort and SNA's LU 6.2 Commit Protocols, IBM Research Report RJ8684, IBM Almaden Research Center, November 1991.
C. Mohan and B. Lindsay, “Efficient Commit Protocols for the Tree of Processes Model of Distributed Transactions,” Proc. 2nd ACM SIGACT/SIGOPS Symposium on Principles of Distributed Computing, Montreal, Canada, August 1983. Also available as IBM Research Report RJ3881, IBM Almaden Research Center, June 1983.
C. Mohan, B. Lindsay, and R. Obermarck, “Transaction Management in theR* Distributed Data Base Management System,” ACM Transactions on Database Systems, Vol. 11, No. 4, December 1986. Also available as IBM Research Report RJ5037, IBM Almaden Research Center, February 1986.
An Overview of Information Management System/Virtual Storage (IMS/VS) Intersystem Communications (ISC), Document Number G320-5856, IBM, July 1980.
K. Rothermel and S. Pappe, “Open Commit Protocols for the Tree of Processes Model,” Proc. 10th International Conference on Distributed Computing Systems, Paris, May–June 1990.
G. Samaras, K. Britton, A. Citron, and C. Mohan, Enhancing SNA's LU6.2 Sync Point to Include Presumed Abort Protocol, IBM Techical Report TR29.1751, IBM Research Triangle Park, December 1992.
D. Skeen, “Nonblocking Commit Protocols,” Proc. ACM/SIGMOD International Conference on Management of Data, Ann Arbor, Michigan, 1981, pp. 133–142.
A. Spector, “Open Distributed Transaction Processing with Encina,” Proc. 4th International Workshop on High Performance Transaction Systems, Asilomar, September 1991.
P. Spiro, A. Joshi, and T.K. Rengarajan, “Designing an Optimized Transaction Commit Protocol,” Digital Technical Journal, Vol. 3, No. 1, Winter 1991.
M. Stonebraker, “Concurrency Control and Consistency of Multiple Copies of Data in Distributed INGRES,” IEEE Transactions on Software Engineering, Vol. 5, No. 3, May 1979.
Systems Network Architecture LU 6.2 Reference: Peer Protocols, Document Number SC31-6808-1, IBM, September 1990. Chapter 8 is the one that introduces and describes in detail the Presumed Nothing commit protocol.
Systems Network Architecture Transaction Programmer's Reference Manual for LU Type 6.2, Document Number GC30-3084-4, IBM, September 1991.
The Tandem Database Group, “NonStop SQL: A Distributed, High-Performance, High-Availability Implementation of SQL,” Proc. 2nd International Workshop on High Performance Transaction Systems, Asilomar, September 1987. Also in Lecture Notes in Computer Science, Vol. 359, D. Gawlick, M. Haynie and A. Reuter (Eds.), Springer-Verlag, 1989.
Transaction Processing and Sync Points, IBM Document, Document Number AWP-0055-6, IBM/RTP, October, 1977.
F. Upton IV, “OSI Distributed Transaction Processing, An Overview,” Proc. 4th International Workshop on High Performance Transaction Systems, Asilomar, September 1991.
Author information
Authors and Affiliations
Additional information
Disclaimer: Some of the optimizations described in this paper may never be shipped in an IBM product. Others may change before they are shipped.
Recommended by: Amit Sheth
Rights and permissions
About this article
Cite this article
Samaras, G., Britton, K., Citron, A. et al. Two-phase commit optimizations in a commercial distributed environment. Distrib Parallel Databases 3, 325–360 (1995). https://doi.org/10.1007/BF01299677
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01299677