5. Performance Evaluation and Discussion
Two-phase commit optimizations comprise a set of rules applied during 2PC processing that result in network traffic improve ments, reduction in the number of forced writes, and decreased resource lock time. However, one other aspect that is important while evaluating those optimizations is reliability: how these opt1mizat1ons reliably report the outcome of the transaction and whether they increase the chances of heuristic damage.
Not all the optimizations provide improvements across all per formance metrics, and often an optimization might trade off one metric for another. However, better performance can be achieved by combining the different optimizations. Interesting configurations can be proposed but because of space limitations we do not discuss them here. We hope to present these intriguing combinations in a future paper.
In the tables that follow, optimizations are analyzed in terms of the absolute number of message exchange with subordinates. Further analysis would break down the messages into those to LRMs and those to remote HAs, which will in general involve greater delays. Since, there are no exact weights that can be associated with those two type of messages we did not carry the analysis this far.
Table 1 summarizes the advantages and disadvantages of the various optimizations.
Table 2 describes flows and log writes of the optimization and compares them with the basic two-phase commit, presumed abort, and presume nothing. For comparison purposes, each opt1m1zation is evaluated within presumed abort. The calcu lations are done within the context of a transaction with 2 partic ipants.
Table 3 provides a higher level of comparison by describing the number of flows and log writes 2 needed to commit a transaction with n members. Each row in the table describes the benefits gamed if m participants use a particular optimization. The example used in this table is a transaction with 11 participants of which 4 followed the same optimization. The intention is not to compare the optimizations with each other but to contrast them with the basic 2PC protocol.