Optimistic distributed protocols can dramatically improve system performanc
e if the underlying system assumptions are sound and carry a high degree of
probability.
Optimistic protocols aggressively execute actions based on best-case system
assumptions. Using optimistic protocols unquestionably involves tradeoffs,
but if a protocol is well designed and the optimistic assumptions hold fre
quently enough, the gain in performance outweighs the overhead of repairing
actions that execute incorrectly.
Demand for high performance under special circumstances in distributed sett
ings has led to the development of optimistic distributed protocols in rece
nt years. Indeed, given the right optimistic assumptions and mechanisms, op
timistic protocols can significantly boost the efficiency of a system. Desi
gning such protocols, however, is still a complicated and poorly understood
activity. Part of this complexity is due to the inherent complications of
distributed protocols and part is due to the lack of knowledge about how op
timistic protocols should work. By providing a framework to reason about th
ese protocols, this article is a first step toward systematizing the constr
uction of optimistic distributed protocols. However, much still remains to
be understood about how to design their underlying mechanisms.