They argue that it is a relatively cheap technique. As
the servers can work in a collaborative way, when a
server crashes and recovers, later other –non failed–
servers of the same service domain must check if their
state is consistent with the state reached after the re-
covery in the crashed server. The idea is to provide
inter-server consistency avoiding orphan messages.
This can imply sometimes a roll-back process in a
non crashed server for ensuring the inter-server con-
sistency.
So, on one hand, they use optimistic logging; i.e.,
between the servers inside a domain service. Some-
times, after a recovery, some sessions of non-crashed
servers can become orphans (i.e., they are inconsis-
tent) in regard to the state reached in the recovered
node. Therefore, these orphan sessions must be rolled
back to avoid inconsistencies. On the other hand,
when pessimistic logging is used –communications
outside the service boundaries–, orphans can not be
created because messages are flushed before generat-
ing an event that can become orphan. So, after a re-
covery process, inconsistencies can not appear among
servers in different service domains.
7 CONCLUSIONS
Message logging has been a requirement in recover-
able failure models for years in order to solve some
problems like consensus, but it has been always con-
sidered as an expensive effort. When such logging
step is implemented in a GCS providing virtual syn-
chrony, the recovery tasks can also be simplified, even
when relaxed consistency models are used and each
replica applies a given set of updates in an order dif-
ferent to that being used in other replicas.
This paper uses a simple analytical model in order
to study the costs implied by such logging tasks and
it shows that they do not introduce a noticeable delay
when a fast-enough storage system is used. In fact,
the access time requirements for such logging device
will depend on the communications load and the net-
work bandwidth. This provides an encouraging first
step towards further experimental evaluations using
real logging devices that could confirm the viability
of these persisting actions.
REFERENCES
Aguilera, M. K., Chen, W., and Toueg, S. (1998). Failure
detection and consensus in the crash-recovery model.
In 12th Intnl. Symp. on Dist. Comp. (DISC), pages
231–245, Andros, Greece.
Birman, K. P. (1994). Virtual synchrony model. In Bir-
man, K. P. and van Renesse, R., editors, Reliable Dis-
tributed Computing with the Isis Toolkit, chapter 6,
pages 101–106. IEEE-CS Press.
Camargos, L., Pedone, F., and Wieloch, M. (2007). Sprint:
a middleware for high-performance transaction pro-
cessing. SIGOPS Oper. Syst. Rev., 41(3):385–398.
Chandra, T. D. and Toueg, S. (1996). Unreliable failure
detectors for reliable distributed systems. J. ACM,
43(2):225–267.
Chockler, G. V., Keidar, I., and Vitenberg, R. (2001).
Group communication specifications: A comprehen-
sive study. ACM Comput. Surv., 33(4):1–43.
Cristian, F. (1991). Understanding fault-tolerant distributed
systems. Communications of the ACM, 34(2):56–78.
de Juan-Mar
´
ın, R., Ir
´
un-Briz, L., and Mu
˜
noz-Esco
´
ı, F. D.
(2008). Ensuring progress in amnesiac replicated sys-
tems. In 3rd Intnl. Conf. on Availability, Reliabil-
ity and Security (ARES), pages 390–396, Barcelona,
Spain. IEEE-CS Press.
D
´
efago, X., Schiper, A., and Urb
´
an, P. (2004). Total order
broadcast and multicast algorithms: Taxonomy and
survey. ACM Comput. Surv., 36(4):372–421.
Dolev, D., Friedman, R., Keidar, I., and Malkhi, D. (1997).
Failure detectors in omission failure environments. In
16th Annual ACM Symp. on Principles of Dist. Comp.
(PODC), page 286, Santa Barbara, CA, USA.
Elnozahy, E. N., Alvisi, L., Wang, Y.-M., and Johnson,
D. B. (2002). A survey of rollback-recovery proto-
cols in message-passing systems. ACM Comput. Surv.,
34(3):375–408.
Fekete, A., Lynch, N. A., and Shvartsman, A. A. (1997).
Specifying and using a partitionable group communi-
cation service. In PODC, pages 53–62.
Finkelstein, S., Brendle, R., and Jacobs, D. (2009). Princi-
ples for inconsistency. In 4th Biennial Conf. on Inno-
vative Data Systems Research (CIDR), Asilomar, CA,
USA.
Gray, J. and Reuter, A. (1993). Transaction Processing:
Concepts and Techniques. Morgan Kaufmann, San
Mateo, CA, USA.
Helland, P. and Campbell, D. (2009). Building on quick-
sand. In 4th Biennial Conf. on Innovative Data Sys-
tems Research (CIDR), Asilomar, CA, USA.
Holliday, J. (2001). Replicated database recovery using
multicast communication. In Intnl. Symp. on Network
Computing and its Applications (NCA), pages 104–
107, Cambridge, MA, USA.
Hurfin, M., Most
´
efaoui, A., and Raynal, M. (1998). Con-
sensus in asynchronous systems where processes can
crash and recover. In 17th Symp. on Reliable Dist. Sys.
(SRDS), pages 280–286, West Lafayette, IN, USA.
Imation Corp. (2009). S-class solid state drives. Ac-
cessible at http://www.imation.com/en/Imation-
Products/Solid-State-Drives/S-Class-Solid-State-
Drives/.
THE OVERHEAD OF SAFE BROADCAST PERSISTENCY
119