Commit Acknowledgment
One of the ways that different 2PC protocols vary is in the timing of the commit acknowledgment. Some have early acknowledgment [11, 25]: an intermediate system acknowl edges a ::ommit received as soon as it has logged; others have late acknowledgment (14]: an intermediate system waits to acknowledge the commit received from its coordinator until it has collected acknowledgments from all its subordinates. Early acknowledgment means "I have committed and am in the middle of propagation"; late acknowledgment means "I and all members of my subordinate subtree have committed success fully." Early acknowledgment has the advantage that the commit operation completes earlier for the root and intermediate systems, allowing them to begin useful work earlier. Late acknowledgment has the advantage that there is no uncertainty at the root of the commit tree when it starts the next transaction that it is building on the solid basis of a previously committed transaction; if any heuristic damage has occurred, it has heard about it. Thus, there is a tradeoff between wait time and confi dence in the outcome of the transaction. Of course, any inter mediate only knows about the commit outcome in its own subtree, so this confidence is limited in a true peer-to-peer envi ronment where any program in the tree can start further work.
One acknowledgment pattern may not make sense for all appli cations and resource types. Thus, if the chance of a heuristic decision is vanishingly small for all resources involved in a transaction, late acknowledgment does not add any value. Simi larly, interactive programs may choose to reduce wait time, even if doing so involves a reduction in confidence, in order not to keep a human at a terminal waiting longer than absolutely necessary. Some variations to the late acknowledgment pattern based on these considerations are described below.
Commit AcknowledgmentOne of the ways that different 2PC protocols vary is in the timing of the commit acknowledgment. Some have early acknowledgment [11, 25]: an intermediate system acknowl edges a ::ommit received as soon as it has logged; others have late acknowledgment (14]: an intermediate system waits to acknowledge the commit received from its coordinator until it has collected acknowledgments from all its subordinates. Early acknowledgment means "I have committed and am in the middle of propagation"; late acknowledgment means "I and all members of my subordinate subtree have committed success fully." Early acknowledgment has the advantage that the commit operation completes earlier for the root and intermediate systems, allowing them to begin useful work earlier. Late acknowledgment has the advantage that there is no uncertainty at the root of the commit tree when it starts the next transaction that it is building on the solid basis of a previously committed transaction; if any heuristic damage has occurred, it has heard about it. Thus, there is a tradeoff between wait time and confi dence in the outcome of the transaction. Of course, any inter mediate only knows about the commit outcome in its own subtree, so this confidence is limited in a true peer-to-peer envi ronment where any program in the tree can start further work.One acknowledgment pattern may not make sense for all appli cations and resource types. Thus, if the chance of a heuristic decision is vanishingly small for all resources involved in a transaction, late acknowledgment does not add any value. Simi larly, interactive programs may choose to reduce wait time, even if doing so involves a reduction in confidence, in order not to keep a human at a terminal waiting longer than absolutely necessary. Some variations to the late acknowledgment pattern based on these considerations are described below.
การแปล กรุณารอสักครู่..