HAL Id: inria-00073725
https://hal.inria.fr/inria-00073725
Submitted on 24 May 2006
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Fault-Tolerant Distributed Systems: a Modular Approach to the Non-Blocking Atomic Commitment
Problem
Michel Raynal
To cite this version:
Michel Raynal. Fault-Tolerant Distributed Systems: a Modular Approach to the Non-Blocking Atomic Commitment Problem. [Research Report] RR-2973, INRIA. 1996. �inria-00073725�
ISSN 0249-6399
a p p o r t
d e r e c h e r c h e
INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
Fault-Tolerant Distributed Systems:
a Modular Approach to
the Non-Blocking Atomic Commitment Problem
Michel Raynal
N ˚ 2973
Septembre 1996
TH `EME 1
+* &-,/.0.1324$
2656 8791;:<=4,>$%'1'?@%+%ABC%ADFEG;0&%
HJILKNM$OQPSRUTQVWTXPZY
[\$]
^`_a^cbd egf^Nhi^`jk8lm^Nnohpqhin
]
^`_0^Nh
r!sBtXu
^Nn&vwx
ejXxyx tqs
nwy^
s
^Nz
\ ^ s z \
^|{}8~d8^`x8n^`_0
s
^mb`Xd b`xyjQ^Nh
3N`Q
v
s
^N^`_0^`{Xnx st
8^`_0hj
tQ
jh^Nn tQ
x
sBt
zN^Nhh^Nhn
t
j
s
^N^
t
{jz
t
__
t { t
k8nxyk8njk8^
[\
^Nh^
x
st
8^`_0h!j s ^
tQ
x
sB
_j s p
_x tqs
n<j{8zN^
{0w
hn sB
yk8n^Nwghp8hn^`_0hj{8ww ¢¡
z`k8n£n t h t
^
{x
s
^Nh^`{8zN^
tQ
j
¤k
s
^Nh`
[o\8
hxyjXxy^
s z t
{8h
wy^
s h t
{8^
t
n \
^Nh^x sBt
8^`_0h
¥\8t
h^x
s
jQzNn
z`jQ
{n^
s
^Nhn h
^N¦q{
tQ
{$§{yjX_0^Npn
\
^g¨©ªy«
¬
©`®°¯±²ª³´µL©¶0±²®¸·!©¶0¶0±¹µL¶0º`ªµ»&¼B©q½
º`¶0g¾ ¤s
hn`§3j^`{8^
s
zx sBt
n t z t
£h
t
{8¸n
\8
hx sBt
8^`_
h
^`{Jj{8w
n \
^`{
{8hnj{Xn
jQn t
{8h tQ
nhg^`{8^
sB
z¸hnjQni^`_0^`{nihmj
s
^x sBt
wy^Nw
Ltqs
t n \ hpy{8z
\yst
{ t
k8hj{8w9jQhip¿{8z
\ysBt
{ t k8h
w hn
sB
yk8n^NwÀhipqhni^`_0h`
[o\
^Nh^
{8hn<j{n
jn t
{8hck8h^n
_0^
t
k8nc_a^Nz
\
j{
h_Á§
s
^N
j 8^_ck8n
z`jQhincx sB
_ n
^Nhj{8w
ky{
s
^N
j 8^
j
k
s
^wy^Nn^NzNn tqs
hjQh yjQh
zz
t
_x
t
{8^`{Xnh`£ÂÃ{8z
wy^`{n<jQp§n
\8
h¥xyjxÄ^
s
z`j{jQh
t
Ä^z
t
{8h
wy^
s
^NwÅjhDjX{
{Xn sBt
wk8zNn t
{n
t
hinjQn^<Æ tQ
ÆÃn
\
^<ÆÇj
s
nÈz
t
{8zN^`x8nhjX{8w_0^Nz
\
jX{
h<_0h t
w hn
s
yk8ni^Nw
jk8n¥n
t
^
s
j{8zN^
ÉÁÊqËCÌÇÍ0Î$Ï3
vn t _
zÐ
t
__
n_0^`{Xn`§!Ð
t
{8h^`{8hk8h r£sBt
8^`_§£Ñ
hn sB
yk8n^NwÒ8p8hn^`_0h§!¾$j
k
s
^Ñ^Nn^NzNn t
{$§
¾$jk8nBÆ [Ct
^
s
j{Xn r!sBt
n t z t
h§¿Ó
t
{XÆÇ 8
t
zÔ¦
{8
r!sBt
n t z t
h`§ye&^N
j 8^ÕÖk8n
z`jQhn`§
[3s
j{8hjQzNn t
{$
ײØ0Ù
ÚÛÇÜ`Ý
Ù
Ú!Þ3ßÛÇàZá`â
ã)äæåSä²çNè£éê$ë<ì!íîï3ð`ñò$ñBëîóõôöñ÷îqéqøNùiúûNü&åñ÷ý`ýQñBï)ê$ñBðñÇþQéQÿÃëýBñ
Unit´e de recherche INRIA Rennes
IRISA, Campus universitaire de Beaulieu, 35042 RENNES Cedex (France) T´el´ephone : (33) 99 84 71 00 – T´el´ecopie : (33) 99 84 71 71
ÊyÊ
^Nhx sBt
n t z t
^Nh{
t
{XÆÇ 8
t
kyj{nihwy^cQjQ
wjQn t
{ÖjQn t _
k8^Uz
t
{8hn
nk8^`{Xnky{z
t
_x
t
h<j{n^Nhh^`{Xn
^N
wy^n
t
k8nhp8hn
]
^`_0^¥wy^X^Nhn t
{wy^w
t
{y{!f^N^Nh`!ÐD^
s
jxyx t8s
n^`{
tSs
^ky{8^0x
s f^Nh^`{XnjQn t
{hpy{Xn
\ f^Nn
k8^
{_
t w ]
^N^0f^`{!f^ s j^Nn_
t
wk8¤j ¤s
^^Nhnn
t
k8nwöj tqs
wÅx st
x t hyf^cx
t k s
wy^cni^Nhx st
n t z t
^Nh`Ð&^c_
t w ]
^N^k8n
h^
kyjQn
s
^¥x sB
_ n
^Nhf^`{!f^ sB
k8^Nh k h t
{Xn!^`{8hk
n^xyj s n
z`k8j sB
h¿f^N^Nhx t k s
^Nhhipqn
]
^`_0^Nhw
hn sB
yk£f^Nhhpy{8z
\ysBt
{8^NhÈ^Nn
x t k s
^Nhhipqn
]
^`_0^Nh&w
hn sB
yk£f^Nhjhp¿{8z
\ysBt
{8^NhÐ&^Nh¥w
^
s
h^Nh
{8hnj{8zN^Nh_0^Nnin^`{no¢jQzNzN^`{nhk
s
^Nhx sB
_n
X^Nh¥wy^
z t __0ky{
z`jn t
{0^Nn!h<k
s
^Nh_Àf^Nz`j{
h_a^Nhwy^¥w&f^Nn^NzNn t
{Uwy^¥w&f^ j
¤j{8zN^Nh`£ÂL^Nhin
{nyf^ s
^Nhh<j{n3wy^{
t
n^
s
k8^¥zN^Nnni^
f
^Nnk8wy^!xy^`k8n0f^NqjQ^`_0^`{Xn^Nn
s
^yk8^&z
t
__0^&ky{8^
{Xn sBt
wk8zNn t
{ ] j¥ky{UzN^
s
n<j
{c{
t
_c
s
^!wy^!z
t
{8zN^`x8nh
Zt
{8wj_0^`{Xnjk8l
s
^Njn ¢
h ] jajn
t
<f^ s
j{8zN^jk8lmw&f^ j
¤j{8zN^Nhwj{8ho^Nhhp8hn
]
^`_0^Nh s f^`xyj
s n
h`
Î`NÌ! ÊÖ
Ð t
{8h^`{8h<k8h`§8ÑÅf^Nn^NzNn t
{Uwy^wÈf^ j
jX{8zN^Nh`§8Ñ "
k8h t
{$#j 8^§
r!sBt
n t z t
^{
t
{m 8
t
kyjX{n`§88pqhin
]
^`_0^Nh
s f^`xyj s n
h§
[Ct
f^ s
j{8zN^jXk8lwÈf^ j
¤j{8zN^Nh§
[3s
j{8hjzNn t
{$§%!jQ
wjn t
{¸jQn t _
k8^
¨©ªÄ« ©`®N¯Q±¹ªX³c´µL©X¶c±²®g·!©¶0¶0±¹µL¶0ºªµ
13i
8p8hn^`_ah jQhgw
^
s
h^ÖjQh yj{y¦
{8§¥
tqt
¦ {8QÆ
s
^Nh^
s
jQn t
{8h tqs
x
t
{XnBÆ tQ
ÆÃhjQ^¸z
t
__0^
s
zN^¸jQzNnkyjQpÒz
t
{8hn
nk8n^
wjnjÀ_j{yjQ^`_0^`{Xnhp8hn^`_ah
ÃsBt
_ jÖz
t
_xyk8n^
s
^`{8
{8^N^
sB
{8
t8sms
^Nhi^`j s z \ x
tX
{Xn tQ
^
£^Nz`jk8h^¸wjQnj
j s
^^
t s
jx
\8
z`jQpw
hn s
yk8ni^Nw tqs
y^Nz`jk8h^n
\
^Npj
s
^U
t
z`jQn^NwJjQnw ^ s
^`{nx8¤jQzN^Nhn tm
_x sBt
^jj
¤j
nBp§
wjnj0_j{yjQ^`_a^`{nhipqhni^`_0hj
s
^k8hkyjQpw
hn sB
yk8n^Nw!v
ky{8wj_0^`{XnjQ
hhk8^
{n
\
^Nh^Uhp8hn^`_0h
hn
t
^`{8hk s ^
n \
jQn0wjQnjÖjQ
jpqh
s
^`_j { z t
{8h
hni^`{n`
[\8
h hgn
\
^Åj _
t
n \
^ÖµL¼ªX®`µL±²©ªÖz
t
{8zN^`x8n
{n sBt
wk8zN^Nw
{ n \ ^
b Qh¤bq§£~ NGv'n
s
j{8hjzNn t
{ h j¸wjnjÖ_j{
xyk8¤jQn t
{@ky{
nBban
\
jQn`§
\
^`{Ò^Nl8^Nz`k8n^Nw@jQ
t
{8^§¦Q^N^`x8h
wjnjgz
t
{8h
hn^`{XncjX{8wL~n t\8
z \ n
&t
jQn t _ z
nBpÖx sBt
xÄ^
s n
^Nhj
s
^jQnnjz
\
^Nw
[\
^ # s hn
t
{8^§!®<©ª®q¼<¼Bº`ª®
XµL©¶0±¹®±¹µ£^`{8hk
s
^Nhn
\
jn)jxyj
s
jQ^Ny^Nl8^Nz`k8n t
{
t
jh^Nn t
n s jX{8hjQzNn
t
{8h3z`j{y{
t
n!_jX¦Q^!wjQn<j
{8z
t
{8h
hni^`{njh^Nn
t
n s j{8hjzNn
t
{8hS^Nl8^Nz`k8n^Nw
{xyj
s
jQ^N_ck8hin)jxyxÄ^`j
s
jQh ¢
n \
^Nh^&n
s
j{8hjzNn t
{8h
\
jwa Ä^N^`{0^Nl8^Nz`k8n^Nw0h^
sB
jQp8n
\ ^
ky{8wy^
s
p
{8¸n
\ ^ tqs
p§$z`jQ^NwNº`¼<±
±q½N±
±¹µgµ! qº<©¼"Q§
\
jQh Ä^N^`{Ö^Nl8n^`{8h
^Np¸hnk8w
^Nw
[\
^0h^Nz
t
{8w
t
{8^§$z`jQ^Nw
#
±
q¼Bº$µL©¶0±²®`±²µ§$^`{8h<k
s
^Nh¥n
\
jQn
j
k
s
^Nhz`j{y{
t
n_j¦Q^wjQn<j
{8z
t
{8h
hn^`{XnjQ3n
\
^ckyxÄwjQn^
t
xy^
s
jQn t
{8h tQ
j
n s j{8hjQzNn
t
{j
s
^cxÄ^
s÷Ltqs
_0^Nw tqs
{ t {8^
tQ
n \
^`_
hxy^
s÷Ltqs
_a^Nw%n
\8
hjQn t _ z
nÇpx sBt
xÄ^
s
nBp
hh
t
_0^Nn
_0^Nhz`jQ^Nw
¹
«Ç©X¼«Bª©µ! q±²ª³0x sBt
xÄ^
s
nBp
Â÷{jw
hn s
yk8ni^Nwhpqhin^`_-jUn
s
jX{8hjQzNn t
{k8h<kyjQp
{
t
^Nh&h^N^
s
jQh
n^NhjQhÈxyj s n z
xyj{nih`vn£n
\
^¥^`{8w t
j
n s j{8hjQzNn
t
{ nihxyj
s n z
xyjX{nhj s ^ s ^ k
¤s
^Nw¸n
t
^`{Xn^
s
jÁ®©¶0¶0±²µL¶cºªµ'&¼B©µL©®©
8
{
tqs
wy^
s n t z t
__
n
n(
¥\
^`{
^NX^
s
pqn
\8
{8
^`{Xn
^N) tqs
n t j
t8s
n n*
\
^`{h
t
_0^Nn
\8
{8
^`{Xn
sBt
{8+N
[\8
hx sBt
n t z t t
y^Np8hk8hkyjQp jUn
&t
x \
jh^mxyjQnni^
s
{²n
\
^0h
t
ÆÃz`jQ^Nw
[&&tr!\
jQh^gÐ
t
__
n`§
{ h
\8tqs
n~
r
Ð,N$ÂÃ{ n \ ^ # s hnx
\
jh^^`jQz
\
xyj s n z
xyj{Xn
t n^Nh^
n \ ^
s.-0/21gt8s*3%4
Â
oZtqs
j{Xp
s
^`jQh
t
{5Zwy^`jQwy
t
zN¦§ hn tqs
j^x sBt
8^`_§z
t
{8z`k sis
^`{8zNpÀz
t
{n st
z
t
{76
zNn`§
^Nniz!jxyj s n z
xyj{n£z`j{y{
t
n£
t
z`jQpmz
t
__
n&n
\
^n
s
jX{8hjQzNn t
{$§
n£
t
n^Nh 3%4
t n \ ^ s
h^§qj -0/21
t
n^_0^`jX{8h!n
\ ^
xyj s n z
xyj{nUz
t
__
nhn t t
z`jQp_j¦Q^kyxywjQni^Nhcxy^
s
_j{8^`{Xn ¢
n h s ^ k ¤s
^NwÀn
t w t h t [\
^`{¸n
\
^h^Nz
t
{8w
x \ jh^x
sBt
{ t
ky{8zN^NhUn
\ ^ tqs
wy^
s n t z t
__
nn
\
^n
s
jX{8hjQzNn t
{
¢
jQ&xyj s n z
xyj{Xnh
t
n^Nw
-0/21atqs
n t j
tqs
n n ¢
h t _0^mxyj
s n z
xyjX{n0
t
ni^Nw 3%4
8
z t k s
hi^n
\8
hx sBt
n t z t
!h<¦Q^Nnz
\Ö\
jQhn
t
y^g^`{
sB
z \
^Nw n t njX¦Q^
{n
t
jzNz
t
ky{n
j
¤k
s
^Nh {
tqs
wy^
s n t z tqsis
^NzNnp
_x8^`_0^`{nn
\ ^ j
k
s
^cjQn t _ z
nBpx sBt
xy^
s
nBp
[\
^cky{8wy^
s
p
{8
wy^`j
hn
\
jQn¥j
j
^NwÅxyj s n z
xyjX{n
h¥z
t
{8h
wy^
s
^NwÅjQh
\
j
{8
t
n^Nw 3'4
8^NX^
s
jQjQn t _
zgz
t
__
n<_0^`{nx sBt
n t z t
h
\
j`X^ Ä^N^`{ x sBt
x t
h^NwÒj{8w
_x8^`_0^`{Xn^Nw
{Jj sB t
k8hhp8hn^`_0h
9ö8§yb`N
{
Ltqs
n<ky{yjQn^Np0h
t
_0^
tQ
n \
^`_:²hk8z
\
jh!n
\
^¥~
r Ð
n \ jU_j
{0z t8tqs
w {yjQn
t8s
j
s
^¥ 8
t
zÔ¦
{8
{h
t
_a^
j
¤k
s
^hzN^`{yj sB t
h;9¤bQ§q~<N>="£
t
zÔ¦
{8?_0^`j{8h&n
\
jQn&{
t
{XÆ
j
^Nwxyj s n z
xyjX{nh
\
j`X^n t
j n
Ztqs
n \ ^ s
^Nz
t
^
s p
tÈ
j
^NwÒxyj s n z
xyj{Xnh {
tqs
wy^
s n t
n^
s _
{yjn^n
\ ^ ¤s
z t __
nx sBt
zN^Nwk
s
^§±@¤ºA@¤§jÁz
t
__
n_0^`{Xncx st
n t z t h
½
©`®N¯Q±¹ªX³ ¢S
njQw_
nh&^Nlq^Nz`k8n t
{8h {
¥\8
z \ { t {XÆ
j
^Nw¸xyj s n z
xyj{Xnh&z`j{y{
t
n£wy^Nz
wy^CB
\
^`{ghk8z
\
jh
nkyjQn t
{
t
zNz`k
s
h`§{
t
{XÆ
j
^NwÒxyj s n z
xyj{Xnhz`jX{y{
t n s
^N^`jQhi^
s
^Nh t k s
zN^Nh0n
\
^NpÖjQz k
s
^Nw
Ltqs
^Nl8zN¤k8h
^k8h^
t
{À Ä^
\
jQ
¥tQ
n \
^¥n
s
j{8hjQzNn t
{$
[\8
h{
t n t
{8px
s
^N^`{Xnh!n
\
^z
t
{8zN^
s
{8^Nwn
s
j{8hjQzNn t
{
ÃsBt
_ n^
s _
{yjQn
{8m yk8njQh t x s
^NX^`{nh
t n \ ^ s n s
jX{8hjQzNn t
{8h
st
_>jQzNzN^Nhh
{8
t
zÔ¦^NwwjQnjÄ
[\
k8h n h
\8
\
pUwy^Nh ¤s
j 8^n
t
wy^N
h^{
t
{XÆÇ 8
t
zÔ¦
{8cjQn t _ z
z t __
n_0^`{XnD { h
\8tqs
n
3%EF%G
x sBt
n t z t
h`§±@æºH@æ§Èx st
n t z t
hn
\
jQn^`{8h<k
s
^n
s
j{8hjQzNn t
{8h
n^
s _
{yjn^IL Xp
z t __
nn
{8
tqs
jX tqs
n
{8Jwy^Nhx
n^j{Xp
j
k
s
^chizN^`{yj sB t
¥8^NX^
s
jQ
3%E2F%G
x
sBt
n t z t
h(²z`jQ^NwÖ
r Ð x sBt
n t z t
h"
\
j^0 y^N^`{wy^Nh
q{8^NwÀjX{8w
_x8^`_0^`{Xn^Nw*&jQh
z`jQp¸n
\
^NpÅjQwyw
\
j{8wy
{8
tQ
j
¤k
s
^0hzN^`{yj sB t
hn
t
jg~
r
УÆÃ
¦Q^
x
st
n t z t
j{8wÅk8h^0z
t
_x8^Nlh<ky XÆÇx sBt
n t z t
hn
\
jQn¥_j¦Q^n
\
^`_ w ¢¡
z`k8nn
t
ky{8wy^
s
hn<j{8w§x sBt
s j_§yx
sBt
^j{8w
ni^Nhn`Õ tqs
^ t
^
s n \
^Nhi^cx sBt
n t z t
h¥jhhky_0^_
t8s
^
tqs
^Nhh
_x8
z
npÅn
\
jQnn
\
^0ky{8wy^
s
p
{8w
hn sB
yk8n^Nw¸hp8hn^`_
hUhp¿{8z
\ysBt
{ t
k8hKB±@¤ºA@¤§3x sBt
zN^Nhhhz
\
^Nwk8
{8Öwy^N¤j`p8hcjX{8wÀ_0^Nhhj^0n
s
j{8h
^ s
wy^N¤jp8hcj
s
^gkyxyxy^
s
ÆÇ
t
ky{8wy^Nw§!j{8w
n \
^Nh^
t
ky{8wyhj
s
^¦8{
tQ
{j{8wk8h^Nw¸ pgn
\
^0x sBt
n t z t
h"N
[o\8
hxyjxÄ^
s&Lt
z`k8hi^Nh
t
{gn
\ ^ 3%E2F%G
x
sBt
8^`_ j{8w
t
{x st
n t z t
h¥n
\
jnÈh
t
^
n
{hpy{8z
\ysBt
{ t
k8h¥j{8wjQhip¿{XÆ
z
\ysBt
{ t k8h¥w
hn s
yk8ni^NwÖhp8hn^`_0hLNvzNnkyjQp§S{
t
{XÆÇ 8
t
zN¦
{8Åx st
n t z t
h{8^NzN^Nhh
n<jQn^0n
\
jQnn
\
^cky{8wy^
s
p
{8¸hpqhÆ
ni^`_
t
^ s h&h
t
_0^
±Mº`ªº<"£³+J¼ªµLº<º¥j
t
k8n
j
¤k
s
^Uwy^Nn^NzNn t
{$8py{8z
\ysBt
{ t
k8h¥hipqhni^`_0h¥x sBt
wy^Uhk8z
\
j0qkyjÆ
s
j{ni^N^n
\
j{y¦Xh&n t n \
^kyxyxy^
s t
ky{8wyh
t
{hz
\
^Nwk8
{8 j{8w_0^Nhh<jQ^n
s
j{8h
^ s
wy^N¤jp8h;Lx sBt
n t z t
h&k8h^n
_0^
t
k8nh
n t hj
^Npwy^Nn^NzNn
j
¤k
s
^Nh
{¸
t
ky{8wy^Nw n
_0^Nv¥hip¿{8z
\ysBt
{ t
k8hhipqhni^`_0h¥w
t { t n \
j^0hk8z
\ t
ky{8wy^Nw wy^Njp8h`§
yk8nUz`j{¸ y^g^
k
xyxÄ^Nw
n \ ky{
s
^N
j 8^
j
¤k
s
^gwy^Nn^NzNn t8s
h`0v
j
¤k
s
^wy^Nn^NzNn tqs
jQhh t z
jQn^Nw
n \ jgh
n^z`j{
Ä^h^N^`{jQh¥j{N=
tqs
jzN^?n
\
jQn
^Nh n
\8
{nih
t
{Áh
n^Nh tqs
xyj s n z
xyj{Xnh
n¥hk8h<xy^NzNnhn tm\
j^z
s
jh
\
^Nw!¾$j
¤k s ^
OQP
ñ£ðR&ýAR"S3ë<ð`ðÃñBïLï3ôõý*S!TôöïïS²îðU>S!TñCVWAXYoíQR[Z`óöñBì@ôõý*S!Tñ RýSLñBþS\R^]ÃñÇëió`_S²ôöì&ñ&ïUNïSLñBìÈï
äý*S!THR<ïLñ!ïUNïSLñBì&ïð`ñBë<ðNóõôõýQñÇï
ë ÃñëaSSLë bTñBðcSR R<ìÈì£ôdSLì&ñ÷ýSLï
%e
TñCôõýSLñ ÃñBïSLñÇð ÃñBëðñ Çëiý RýQï²î`ódSCfgéü<ù9h