Dictatorial transaction processing: Atomic commitment without veto right
The current standard in governing distributed transaction termination is the so-called Two-Phase Commit protocol (2PC). The first phase of 2PC is a voting phase, where the participants in the transaction are given an ultimate right to abort that transaction. Giving up that veto right from all participants reduces the overhead of the atomic commitment protocol but also imposes some restrictions on the concurrency control and recovery protocols employed by the participants in the transaction. This paper gives, for the first time, a precise abstract specification of the Dictatorial Atomic Commitment (DAC) problem, resulting from removing veto rights from the traditional Atomic Commitment (AC) problem. We characterize transactional systems that are compatible with that specification in terms of necessary and sufficient conditions on concurrency control and recovery protocols, and discuss the practical impacts of those conditions. From this study, we capitalize on existing protocols that solve the DAC problem, and propose a new protocol that broadens the applicability of dictatorial transaction processing in order to meet the requirements of today's distributed environments. We point out interesting performance tradeoffs, and describe the implementation of our protocol in the context of current transactional standards, initially designed with 2PC in mind.
dictatorial transaction processing distributed transactions two-phase commit atomic commitment protocols concurrency control recovery one-phase commit corba ots