Nonblocking two-phase commit protocol to avoid unnecessary transaction abort for distributed systems
Processing a distributed transaction takes more time than processing a local transaction, since processing of a distributed transaction requires multiple phases with respect to its commitment to keep a distributed transaction consistent. For distributed systems, since the commit cost could be high due-to volume of network messages and network delays, it is required to optimise commit protocol to improve transaction throughput. In order to improve the throughput of transaction processing, we concentrate on the nonblocking property without loss of consistency, including the number of message exchanges, recovery time. Blocking is a critical problem in transaction processing with respect to throughput, since blocked transactions interfere the progress of other transactions. Abortion of the commitable transaction makes the system degrade, and it becomes serious if there are many transactions at the failed sites due to the unnecessary restart overhead. Therefore, in the view of efficiency, it is essentially required to develop a commit protocol that has not only few message exchanges but also low ratio of transaction aborts.
nonblocking commit protocol message exchange