Issue No. 02 - February (1998 vol. 24)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.666828
<p><b>Abstract</b>—Message-logging protocols are an integral part of a popular technique for implementing processes that can recover from crash failures. All message-logging protocols require that, when recovery is complete, there be no <it>orphan processes</it>, which are surviving processes whose states are inconsistent with the recovered state of a crashed process. We give a precise specification of the consistency property "no orphan processes." From this specification, we describe how different existing classes of message-logging protocols (namely <it>optimistic</it>, <it>pessimistic</it>, and a class that we call <it>causal</it>) implement this property. We then propose a set of metrics to evaluate the performance of message-logging protocols, and characterize the protocols that are <it>optimal</it> with respect to these metrics. Finally, starting from a protocol that relies on causal delivery order, we show how to derive optimal causal protocols that tolerate <it>f</it> overlapping failures and recoveries for a parameter <it>f</it> : 1 ≤<it>f</it>≤<it>n</it>.</p>
Message logging, optimistic protocols, pessimistic protocols, checkpoint-restart protocols, resilient processes, specification of fault-tolerance techniques.
K. Marzullo and L. Alvisi, "Message Logging: Pessimistic, Optimistic, Causal, and Optimal," in IEEE Transactions on Software Engineering, vol. 24, no. , pp. 149-159, 1998.