6. Conclusions
Two-phase commit protocols have been studied extensively by the research community. While some of the research has con centrated on improving performance in the failure case, we find in today's commercial environment it is more advantageous to optimize for the normal, non-failure case. This paper describes eleven 2PC variations that optimize towards the normal case, comparing them to a baseline 2PC protocol and describing envi ronments where they are most effective. The variations are compared and contrasted in terms of number of message flows. number of log writes (both forced and non-forced), probability of heuristic damage, how damage 1s reported, and other tradeoffs.
Although most of these optimizations have been incorporated in IBM's LU 6.2 sync point protocols, they were presented in this paper independently of the underlying communications protocol to avoid implementation details. A description of some of these optimization as they might be incorporated in IBM's LU6.2 is presented in [14, 23).
Acknowledgments: We would like to acknowledge contributions of our colleague at Almaden Research Center, Bruce Lindsay, and valuable feedback from Ajay Kshemkalyani, Gary Schultz, and James P. Gray.