Professional Documents
Culture Documents
M. Maekawa
University of Tokyo
The Problem of Mutual Exclusion
M Error-free
M F6FO channels
[Messages between two nodes are
delivered in the order sent]
jecentralization
6n general:
· ÷
Algorithm 6ntuition
M 6f node i can lock all members of its Voting Set Si, then no
other node can capture all its members since the intersection
of its Voting Set with that of i¶s will have at least one node.
M 6f a node fails to capture all its members, it waits till all of
them are freed to lock them.
M To prevent deadlocks, nodes get a priority based on the
timestamp of their request.
Messages
M REQUEST
The message sent by a node to request mutual exclusion
REQUEST messages are time-stamped and earlier ones get higher priority.
M 6NQURE
The 6NQU6RE message is sent to a node i that has requested a node j if j
receives another request that predates that of i.
The purpose of the 6NQU6RE message is to query node j if it can indeed lock
all its members. 6t is only sent once.
M REL6NQU6SH
A reply to 6NQU6RE if the originating node cannot get all it members.
M RELEASE
The message sent by a node after it has completed it critical section
M LOCKEj
The message sent from a member node to a requesting node if it is not
currently locked by another request.
M FA6LEj
The message sent from a member node to a requestor when it is currently
locked by a higher priority request.
Example (1)
Example (2)
Example (3)
Example (4)
Example (5)
Proof of Mutual Exclusion
Replica
2
1
Critical 3 1
Replica
Section
Client 2 .
.
.
1
Replica
2
)
!
M m # " %
%' #%
" #
"
"
M ,#"# ( %
# &% -& ++
.+/0
-.
M #'
( 12.
M &"&
&%# %
3
)
!
)
!
*
M %'
#% " &)
% " "
m# 2 # " %
m# !"#
6 p
M p""## "#
% 4
M m# 2 "#
)
&% "
%&
M m# "#
6 p
! p
6 p
! +6, -%
M *
"% # "
M 56iiipi6ii
M 7
56i) &
# " %"
%
M %
6 p
! . /
&
M p& "
+ "#
M
%# & "%
&%
M
" #
"
6 p
! . &
&
M 6) ""& 4
##
%
" ("%
"
&
% 8m69
m 4 )
"
% % ""
6 p
! p
M V )
'#
&
::
"
M V
"%
## &
# #
M :
"
%
* /
0
M
""
" " " # "#"
M p &
) #"m
" # &% ;
)
M p0 %
&"2.
"
%
#
") " "+
""
)
%
* &
0
%
* 0
0
M %"
%'
#% "
"
" p,$p
'
%
M "
#% "
## "
# "#
M m"
# " 4
p
M 56i % #
*
# #
M $% % <#=
( ">
M i #
>
ã 6
M p *
#
56i
M i("
" " "
" "
M m" & "
?
" @ "
A quorum is the
union of the
vertices that
form right-left
and top-bottom
paths in the
jelaunay
graph.
Thank you