Post on 14-Apr-2018
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
1/21
A D i s t r i b u t e d K - M u t u a l E x c l u s i o n A l g o r i t h m
.
S h a i l a j a B u l g a n n a w a r N i t i n H . V a i d y a
y
D e p a r t m e n t o f C o m p u t e r S c i e n c e
T e x a s A & M U n i v e r s i t y
C o l l e g e S t a t i o n , T X 7 7 8 4 3 - 3 1 1 2
E - m a i l : v a i d y a @ c s . t a m u . e d u
T e c h n i c a l R e p o r t 9 4 - 0 6 6
N o v e m b e r 1 9 9 4
A b s t r a c t
T h i s r e p o r t p r e s e n t s a t o k e n - b a s e d K - m u t u a l e x c l u s i o n a l g o r i t h m . T h e a l g o r i t h m
u s e s K t o k e n s a n d a d y n a m i c f o r e s t s t r u c t u r e f o r e a c h t o k e n . T h i s s t r u c t u r e i s u s e d t o
f o r w a r d t o k e n r e q u e s t s . T h e a l g o r i t h m i s d e s i g n e d t o m i n i m i z e t h e n u m b e r o f m e s s a g e s
a n d a l s o t h e d e l a y i n e n t e r i n g t h e c r i t i c a l s e c t i o n , a t l o w a s w e l l a s h i g h l o a d s .
T h e r e p o r t p r e s e n t s s i m u l a t i o n r e s u l t s f o r t h e p r o p o s e d a l g o r i t h m a n d c o m p a r e s
t h e m w i t h t h r e e o t h e r a l g o r i t h m s . U n l i k e p r e v i o u s w o r k , o u r s i m u l a t i o n m o d e l a s s u m e s
t h a t a n i t e ( n o n - z e r o ) o v e r h e a d i s e n c o u n t e r e d w h e n a m e s s a g e i s s e n t o r r e c e i v e d . T h e
s i m u l a t i o n r e s u l t s s h o w t h a t , a s c o m p a r e d t o o t h e r a l g o r i t h m s , t h e p r o p o s e d a l g o r i t h m
a c h i e v e s l o w e r d e l a y i n e n t e r i n g c r i t i c a l s e c t i o n a s w e l l a s l o w e r n u m b e r o f m e s s a g e s ,
w i t h o u t a s e r i o u s i n c r e a s e i n t h e s i z e o f t h e m e s s a g e s .
T h i s r e p o r t i s a n a b b r e v i a t e d v e r s i o n o f 1 ]
y
D i r e c t a l l c o r r e s p o n d e n c e t o N i t i n V a i d y a .
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
2/21
1 I n t r o d u c t i o n
T h i s r e p o r t p r e s e n t s a t o k e n - b a s e d a l g o r i t h m f o r K - m u t u a l e x c l u s i o n i n a d i s t r i b u t e d e n v i -
r o n m e n t w h e r e i n d i e r e n t n o d e s ( p r o c e s s e s ) c o m m u n i c a t e v i a m e s s a g e p a s s i n g . T h e p r o b l e m
r e q u i r e s t h a t a t m o s t K n o d e s b e i n a c r i t i c a l s e c t i o n ( C S ) a t a n y g i v e n t i m e . T h e p r o p o s e d
a l g o r i t h m a c h i e v e s t h i s u s i n g K t o k e n s ; o n l y a p r o c e s s i n p o s s e s s i o n o f a t o k e n m a y e n t e r
t h e c r i t i c a l s e c t i o n . A l t h o u g h t h e r e h a s b e e n e x t e n s i v e r e s e a r c h o n d i s t r i b u t e d 1 - m u t u a l
e x c l u s i o n 1 3 , 1 8 , 4 , 1 1 , 1 0 , 1 6 , 1 5 , 2 , 3 , 5 , 6 , 9 , 7 , 1 2 , 1 7 ] , r e s e a r c h o n d i s t r i b u t e d K - m u t u a l
e x c l u s i o n ( K > 1 ) i s l i m i t e d 1 9 , 2 0 , 2 1 , 2 2 ] .
O u r a p p r o a c h f o r K - m u t u a l e x c l u s i o n i s d e r i v e d b y i m p r o v i n g a n d e x t e n d i n g t h e 1 -
m u t u a l e x c l u s i o n a l g o r i t h m b y T r e h e l a n d N a i m i 1 2 ] . T h e p r o p o s e d a l g o r i t h m i s c o m p a r e d
w i t h t h r e e o t h e r d i s t r i b u t e d K - m u t u a l e x c l u s i o n a l g o r i t h m s 2 0 , 2 1 , 2 2 ] . I t i s s h o w n t h a t
t h e p r o p o s e d a l g o r i t h m p e r f o r m s b e t t e r t h a n t h e e x i s t i n g a l g o r i t h m s u n d e r h e a v y a s w e l l a s
l i g h t l o a d .
T h e r e p o r t i s o r g a n i z e d a s f o l l o w s . S e c t i o n 2 p r e s e n t s o u r a l g o r i t h m f o r d i s t r i b u t e d
K - m u t u a l e x c l u s i o n . S e c t i o n 3 d i s c u s s e s t h e p e r f o r m a n c e p a r a m e t e r s . S e c t i o n 4 p r e s e n t s
a s i m u l a t i o n m o d e l a n d S e c t i o n 5 p r e s e n t s s i m u l a t i o n r e s u l t s . T h e r e p o r t c o n c l u d e s w i t h
S e c t i o n 6 .
2 P r o p o s e d A l g o r i t h m
T h e n o d e s ( o r p r o c e s s e s ) i n t h e s y s t e m a r e n u m b e r e d 1 t h r o u g h N . T h e r e a r e K t o k e n s i n
t h e s y s t e m , n u m b e r e d 1 t h r o u g h K . E a c h n o d e c a n h a v e a t m o s t o n e o u t s t a n d i n g r e q u e s t t o
e n t e r t h e c r i t i c a l s e c t i o n a t a n y g i v e n t i m e . A l l t h e n o d e s a r e a s s u m e d t o b e f u l l y c o n n e c t e d .
T h e n o d e s a n d t h e n e t w o r k a r e a s s u m e d t o b e r e l i a b l e . A l s o , t h e n e t w o r k i s a s s u m e d t o
d e l i v e r m e s s a g e s i n r s t - i n - r s t - o u t ( F I F O ) o r d e r o n e a c h c h a n n e l . I n i t i a l l y , t o k e n t i s
p o s s e s s e d b y n o d e t , 1 t K
E a c h n o d e m a i n t a i n s a p o i n t e r a r r a y w i t h o n e e n t r y f o r e a c h t o k e n . T h e s e p o i n t e r s
d e n e K f o r e s t s c o r r e s p o n d i n g t o t h e K t o k e n s , a f o r e s t b e i n g a c o l l e c t i o n o f t r e e s . B y \ t - t h
1
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
3/21
f o r e s t " w e r e f e r t o t h e f o r e s t c o r r e s p o n d i n g t o t o k e n t f o r m e d b y p o i n t e r t ] a t e a c h n o d e .
I n e a c h f o r e s t , t h e o u t - d e g r e e o f a n o d e i s a t m o s t o n e , b u t t h e i n - d e g r e e c a n b e l a r g e r t h a n
o n e .
N o t e : A c t u a l l y , t h e f o r e s t s t r u c t u r e i s s o m e t i m e s v i o l a t e d b y t h e f o r m a t i o n o f a
c y c l e . H o w e v e r , a s e x p l a i n e d l a t e r , t h e c y c l e s a r e f o r m e d t e m p o r a r i l y u n d e r v e r y s p e c i c
c i r c u m s t a n c e s , a n d t h e y d o n o t a e c t t h e c o r r e c t n e s s o f t h e a l g o r i t h m . T h e r e f o r e , w e w i l l
c o n t i n u e t o u s e t h e t e r m f o r e s t f o r t h e s t r u c t u r e d e n e d b y t h e p o i n t e r s
p o i n t e r t ] o f n o d e j c o n t a i n s i d e n t i e r o f t h e p a r e n t o f n o d e j i n t h e t - t h f o r e s t ;
p o i n t e r t ] a t n o d e j b e i n g e q u a l t o j m e a n s t h a t n o d e j i s a t t h e r o o t o f a t r e e i n t h e t - t h
f o r e s t . I n i t i a l l y , p o i n t e r t ] f o r e a c h n o d e i s s e t e q u a l t o t , 1 t K . T h u s , i n i t i a l l y , e a c h
f o r e s t c o n t a i n s j u s t o n e t r e e , w i t h n o d e t b e i n g a t t h e r o o t o f t h e t r e e f o r t o k e n t . I n g e n e r a l ,
f o r t o k e n t , t h e n o d e s w a i t i n g t o r e c e i v e t o k e n t a n d t h e n o d e h o l d i n g t o k e n t a r e a t r o o t s
o f t h e t r e e s i n t h e f o r e s t f o r t o k e n t
D a t a s t r u c t u r e s m a i n t a i n e d a t e a c h n o d e :
t o k e n : b o o l e a n ; T R U E i f t h e n o d e h a s s o m e t o k e n , F A L S E o t h e r w i s e .
t o k e n i d : i n t e g e r ; i n d i c a t e s t h e i d e n t i e r o f t h e t o k e n , i f a t o k e n i s p r e s e n t a t t h e n o d e .
h o l d i n g : b o o l e a n ; T R U E i f t h e n o d e i s i n t h e C S , F A L S E o t h e r w i s e .
w a i t i n g f o r t o k e n : i n t e g e r ; i n d i c a t e s t h e i d e n t i e r o f t h e t o k e n t h a t t h e n o d e i s w a i t i n g
f o r .
p o i n t e r : a r r a y 1 . . K ] o f i n t e g e r ; p o i n t e r i ] i n d i c a t e s t h e p a t h t o w a r d s t o k e n i
n o d e - q u e u e : F I F O q u e u e ; i f a n o d e A w a i t i n g f o r t o k e n t r e c e i v e s a a r e q u e s t o f n o d e
B f o r t o k e n t , t h e n i d e n t i e r B i s s t o r e d i n t h e n o d e - q u e u e o f n o d e A .
D a t a s t r u c t u r e s a s s o c i a t e d w i t h e a c h t o k e n
E v e r y t o k e n i s a s s o c i a t e d w i t h a d a t a s t r u c t u r e t h a t i s a l w a y s s e n t w i t h t h e t o k e n . T h e d a t a
s t r u c t u r e i s a s f o l l o w s :
2
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
4/21
t o k e n - q u e u e : F I F O q u e u e ; c o n t a i n s t h e i d e n t i e r s o f t h e n o d e s t o w h i c h t h e t o k e n
m u s t b e f o r w a r d e d i n a F I F O o r d e r .
r e q u e s t - m o d i e r t a g s : A t a g i s a t t a c h e d t o e a c h e n t r y i n t h e t o k e n - q u e u e . T h e t a g
m a y o f t e n b e N U L L ( ? ) . T h e u s e o f t h e s e t a g s w i l l b e c l e a r e r l a t e r . F i g u r e 1 s h o w s
a t y p i c a l t o k e n - q u e u e a n d i t s a s s o c i a t e d t a g s .
3 6 8 9 15 145
2 2 - 4 - 1 1
7
4request-modifiertags
token-queue
queue front queue rear
F i g u r e 1 : T o k e n - q u e u e f o r t o k e n 2 a n d a s s o c i a t e d r e q u e s t - m o d i e r t a g s
M e s s a g e t y p e s : T h r e e t y p e s o f m e s s a g e s a r e u s e d b y t h e p r o p o s e d a l g o r i t h m .
R E Q U E S T ( Y ; t ) m e s s a g e : I n d i c a t e s t h a t n o d e Y h a s r e q u e s t e d t o k e n t . T h e r e -
q u e s t o f a n o d e f o r a t o k e n t y p i c a l l y g e t s f o r w a r d e d t h r o u g h a f e w n o d e s , t h e R E -
Q U E S T m e s s a g e i s u s e d f o r t h i s p u r p o s e . T h u s , Y i s n o t n e c e s s a r i l y t h e s e n d e r o f t h e
R E Q U E S T ( Y ; t ) m e s s a g e , Y i s t h e o r i g i n a t o r o f t h e r e q u e s t .
T O K E N ( t ) m e s s a g e : T h i s m e s s a g e i s u s e d t o s e n d a t o k e n t a n d i t s a s s o c i a t e d d a t a
s t r u c t u r e s .
I N F O R M ( X ; t ) m e s s a g e : A n o d e X s e n d s t h i s m e s s a g e t o a n o t h e r n o d e t o i n f o r m
t h e m t h a t X h a s t o k e n t
2 . 1 P r o p o s e d a l g o r i t h m
P s e u d o - c o d e f o r t h e a l g o r i t h m i s p r e s e n t e d r s t , f o l l o w e d b y a v e r b a l e x p l a n a t i o n o f t h e v e
p r o c e d u r e s i n t h e a l g o r i t h m . N o t e t h a t i n t h e p s e u d o - c o d e b e l o w , ` I ' d e n o t e s i d e n t i e r o f
t h e n o d e e x e c u t i n g t h e p r o c e d u r e s . I n t h e p s e u d o - c o d e t h e c o m m e n t s a r e p r e s e n t e d a s / *
c o m m e n t * / .
3
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
5/21
P r o c e d u r e E n t r y C S :
f
i f ( t o k e n = T R U E ) t h e n
h o l d i n g = T R U E
e l s e
f
C h o o s e t o k e n t u s i n g s o m e h e u r i s t i c s ;
s e n d R E Q U E S T ( I ; t ) t o p o i n t e r t ] ;
w a i t i n g f o r t o k e n : = t ;
w a i t w h i l e h o l d i n g 6= T R U E ; / * p r o c e d u r e H a n d l e T O K E N s e t s h o l d i n g = T R U E * /
g
E n t e r C r i t i c a l S e c t i o n
g
P r o c e d u r e E x i t C S :
/ * L e t t b e t h e t o k e n p o s s e s s e d b y t h i s n o d e * /
f
h o l d i n g : = F A L S E ;
d e s t : = F i r s t n o d e o n t h e t o k e n - q u e u e ;
i f ( d e s t 6= N U L L ) t h e n
f
t o k e n : = F A L S E ;
i f r e q u e s t - m o d i e r o f a n y n o d e i n t o k e n t ' s t o k e n - q u e u e i s N U L L
t h e n p o i n t e r t ] : = t h e l a s t n o d e o n t h e t o k e n - q u e u e w h o s e
r e q u e s t - m o d i e r t a g i s N U L L .
e l s e p o i n t e r t ] : = r s t n o d e o n t h e t o k e n - q u e u e
s e n d T O K E N ( I ; t ) t o d e s t ;
g
e l s e / * d e s t = N U L L * /
s e n d I N F O R M ( I ; t ) m e s s a g e t o a n y n o d e s ; / * i s a d e s i g n p a r a m e t e r * /
g
P r o c e d u r e H a n d l e R E Q U E S T ( Y , t ) :
/ * Y d e n o t e s t h e n o d e w h e r e t h e r e q u e s t f o r t o k e n t o r i g i n a t e d * /
f
i f ( t o k e n = T R U E ) a n d ( h o l d i n g = T R U E ) t h e n / * n o d e I i s i n C S * /
f
4
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
6/21
e n q u e u e Y i n t o t h e t o k e n - q u e u e ;
i f ( t o k e n i d 6= t ) t h e n
s e t r e q u e s t - m o d i e r t a g o f Y e q u a l t o I ;
e l s e
s e t r e q u e s t - m o d i e r t a g o f Y e q u a l t o N U L L ;
g
e l s e i f ( t o k e n = T R U E ) a n d ( h o l d i n g = F A L S E ) t h e n / * n o d e I h a s a t o k e n * /
f
e n q u e u e Y i n t o t h e t o k e n - q u e u e ;
i f ( t o k e n i d 6= t ) t h e n
s e t r e q u e s t - m o d i e r t a g o f Y e q u a l t o I ;
e l s e
s e t r e q u e s t - m o d i e r t a g o f Y e q u a l t o N U L L ;
s e n d T O K E N ( t o k e n i d ) t o Y ;
p o i n t e r t o k e n i d ] : = Y ;
t o k e n : = F A L S E ;
g
e l s e i f ( w a i t i n g f o r t o k e n = t ) t h e n
e n q u e u e Y i n t o t h e n o d e - q u e u e ;
e l s e f
s e n d R E Q U E S T ( Y , t ) t o p o i n t e r t ] ;
p o i n t e r t ] = Y ;
g
g
P r o c e d u r e H a n d l e T O K E N ( t ) :
f
i f ( w a i t i n g f o r t o k e n 6= t ) t h e n
f
p o i n t e r w a i t i n g f o r t o k e n ] : = t a g f o r n o d e I o n t o k e n - q u e u e ;
A p p e n d t h e n o d e - q u e u e t o t h e t o k e n - q u e u e o f t o k e n t ;
F o r a l l t h e n o d e s t h a t w e r e i n t h e n o d e - q u e u e , s e t t h e i r r e q u e s t - m o d i e r
t a g s e q u a l t o p o i n t e r w a i t i n g f o r t o k e n ] ;
g
e l s e
f
A p p e n d t h e n o d e - q u e u e t o t h e t o k e n - q u e u e o f t o k e n t ;
F o r a l l t h e n o d e s t h a t w e r e i n t h e n o d e - q u e u e , s e t t h e i r t a g s e q u a l t o N U L L ;
g
d e - q u e u e n o d e I a n d i t s t a g f r o m t h e t o k e n - q u e u e ;
w a i t i n g f o r t o k e n : = N U L L ;
t o k e n : = T R U E ;
t o k e n i d : = t ;
5
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
7/21
p o i n t e r t ] : = I ;
h o l d i n g : = T R U E ;
g
P r o c e d u r e H a n d l e I N F O R M ( Y , t ) :
f
i f ( w a i t i n g f o r t o k e n 6= t )
p o i n t e r t ] : = Y ;
g
T h e p r o c e d u r e s a r e e x p l a i n e d b e l o w . T o a i d i n t h e e x p l a n a t i o n , w e r s t e l a b o r a t e
o n t h e s i g n i c a n c e o f t h e r e q u e s t - m o d i e r t a g s a s s o c i a t e d w i t h t h e t o k e n - q u e u e e n t r i e s .
O r d i n a r i l y , a n o d e t h a t h a s r e q u e s t e d t o k e n t e v e n t u a l l y r e c e i v e s t o k e n t . H o w e v e r , i f t h e
r e q u e s t o f a n o d e , s a y A , a r r i v e s a t s o m e n o d e B t h a t p o s s e s s e s t o k e n u ( u 6= t ) , t h e n n o d e B
a d d s A ' s r e q u e s t t o t h e t o k e n - q u e u e o f t o k e n u . T h i s e s s e n t i a l l y m o d i e s n o d e A ' s r e q u e s t
f o r t o k e n t i n t o a r e q u e s t f o r t o k e n u . T h e f a c t t h a t n o d e B m o d i e d t h e r e q u e s t i s r e c o r d e d
b y s e t t i n g t h e r e q u e s t - m o d i e r t a g f o r n o d e A ' s e n t r y i n t h e t o k e n - q u e u e e q u a l t o B . T h i s
i n f o r m a t i o n i s u s e d b y n o d e A ( w h e n i t r e c e i v e s t o k e n u ) t o m a i n t a i n t h e f o r e s t s t r u c t u r e
f o r t o k e n t ( i . e . , t o a v o i d c r e a t i o n o f c y c l e s i n t h e t - t h f o r e s t ) .
T h e r e a r e v e p r o c e d u r e s i n a l l . E n t r y C S a n d E x i t C S a r e c a l l e d w h e n a n o d e w a n t s
t o e n t e r o r e x i t t h e c r i t i c a l s e c t i o n , r e s p e c t i v e l y . T h e r e m a i n i n g t h r e e p r o c e d u r e s a r e m e s s a g e
h a n d l e r s f o r t h e t h r e e t y p e s o f m e s s a g e s .
E n t r y C S : T h i s p r o c e d u r e i s i n v o k e d b y n o d e I w h e n i t w a n t s t o e n t e r t h e c r i t i c a l s e c t i o n
( C S ) . I f n o d e I h a s a t o k e n t h e n i t c a n e n t e r C S w i t h o u t a n y d e l a y . O t h e r w i s e , u s i n g s o m e
h e u r i s t i c , i t c h o o s e s a t o k e n t ( 1 t K ) , a n d s e n d s a r e q u e s t f o r t o k e n t t o i t s p a r e n t
i n t h e t - t h f o r e s t ( i . e . , p o i n t e r t ] ) . I n F i g u r e 2 , i f n o d e 4 w a n t s t o r e q u e s t t o k e n 1 , i t s e n d s
R E Q U E S T ( 4 , 1 ) m e s s a g e t o n o d e 3 .
E x i t C S : T h i s p r o c e d u r e i s e x e c u t e d w h e n a n o d e e x i t s t h e C S . A s s u m e t h a t n o d e I h a s
t o k e n t
I f t h e t o k e n - q u e u e i s e m p t y , t h e n n o d e I c o n t i n u e s t o p o s s e s s t o k e n t , b u t s e n d s
I N F O R M ( I ; t ) m e s s a g e s t o a n y n o d e s ( w h e r e i s a d e s i g n p a r a m e t e r ) . I N F O R M m e s s a g e s
6
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
8/21
5
3
4 1
2
6
node 1: pointer[1] = 3
node 2: pointer[1] = 2
node 3: pointer[1] = 5
node 4: pointer[1] = 3
node 5: pointer[1] = 5
node 6: pointer[1] = 2
F i g u r e 2 : E x a m p l e : F o r e s t s t r u c t u r e f o r t o k e n 1
a r e u s e f u l t o r e d u c e t h e d i s t a n c e o f a n o d e f r o m a t o k e n ( i n i t s f o r e s t ) .
I f t h e t o k e n - q u e u e i s n o t e m p t y w h e n n o d e I e x i t s t h e c r i t i c a l s e c t i o n , I s e n d s t h e
t o k e n t o t h e n o d e , s a y A , a t t h e h e a d o f t o k e n t ' s t o k e n - q u e u e . T h e p o i n t e r t ] o f n o d e I
i s m o d i e d a p p r o p r i a t e l y t o e n s u r e t h a t t h e f o r e s t s t r u c t u r e i s m a i n t a i n e d . S p e c i c a l l y ,
p o i n t e r t ] i s s e t e q u a l t o t h e l a s t n o d e o n t h e t o k e n - q u e u e t h a t h a s i t s t a g e l d N U L L ( ? )
I f n o n e o f t h e t a g e l d s a r e N U L L , t h e n p o i n t e r t ] o f n o d e I i s s e t e q u a l t o A , w h i c h i s a t
t h e h e a d o f t h e t o k e n - q u e u e .
E x a m p l e : I f n o d e I h a s t o k e n 2 w i t h t h e t o k e n - q u e u e s h o w n i n F i g u r e 1 , t h e n i t s e n d s t h e
t o k e n t o n o d e 3 a n d s e t s p o i n t e r 2 ] e q u a l t o 9 ( t h e l a s t n o d e o n t h e t o k e n - q u e u e t h a t h a s i t s
t a g e l d N U L L ) . I f n o n e o f t h e t a g e l d s w e r e N U L L t h e n , n o d e I w o u l d h a v e s e t p o i n t e r 2 ]
e q u a l t o 3 ( t h e n o d e a t t h e h e a d o f t h e t o k e n - q u e u e ) .
H a n d l e I N F O R M ( Y ; t ) : T h i s p r o c e d u r e i s e x e c u t e d w h e n t h e n o d e r e c e i v e s a n I N F O R M
m e s s a g e f r o m s o m e n o d e Y . T h i s m e s s a g e i m p l i e s t h a t n o d e Y p o s s e s s e d t o k e n t a t t h e t i m e
t h e m e s s a g e w a s s e n t . I n r e s p o n s e t o t h i s m e s s a g e , p o i n t e r t ] i s s e t e q u a l t o Y . I N F O R M
m e s s a g e s h e l p r e d u c e t h e d i s t a n c e o f a n o d e f r o m a t o k e n .
H a n d l e T O K E N ( t ) : T h i s p r o c e d u r e i s e x e c u t e d w h e n a n o d e r e c e i v e s a t o k e n t , i . e . ,
r e c e i v e s T O K E N ( t ) m e s s a g e . B e f o r e e n t e r i n g t h e C S , n o d e I c h e c k s i f t o k e n t i s t h e s a m e
a s t h e t o k e n i t r e q u e s t e d . T h e a c t i o n t a k e n b y t h e n o d e d e p e n d s o n t h e t o k e n r e c e i v e d .
C a s e 1 : N o d e I h a d r e q u e s t e d t o k e n t : ( I n t h i s c a s e , t h e t a g o f n o d e I i n t h e t o k e n - q u e u e
o f t o k e n t i s g u a r a n t e e d t o b e N U L L . ) N o d e I s e t s p o i n t e r t ] e q u a l t o I t o i n d i c a t e t h a t I
7
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
9/21
i s n o w t h e r o o t o f a t r e e , a n d a p p e n d s t h e r e q u e s t s i n i t s n o d e - q u e u e t o t ' s t o k e n - q u e u e ,
s e t t i n g t h e i r t a g s e q u a l t o N U L L .
C a s e 2 : N o d e I h a d r e q u e s t e d t o k e n u ( u 6= t ) : H e r e , t h e r e q u e s t - m o d i e r t a g ( s a y A ) o f
n o d e I i n t o k e n t ' s t o k e n - q u e u e i n d i c a t e s t h a t t h e r e q u e s t o f n o d e I w a s m o d i e d b y n o d e
A . I n t h i s c a s e , t h e r e q u e s t s w a i t i n g i n t h e n o d e - q u e u e o f n o d e I a r e a l s o c o n s i d e r e d t o h a v e
b e e n e e c t i v e l y m o d i e d b y n o d e A . T h e r e f o r e , i n t h i s c a s e , n o d e I a p p e n d s i t s n o d e - q u e u e
t o t o k e n t ' s t o k e n - q u e u e , a n d s e t s t h e t a g s ( f o r t h e n e w l y a d d e d n o d e s ) e q u a l t o A .
T o m a i n t a i n t h e f o r e s t s t r u c t u r e s f o r t o k e n t , n o d e I s e t s p o i n t e r t ] e q u a l t o A ( t h e
n o d e t h a t m o d i e d I ' s r e q u e s t ) .
R e f e r r i n g t o F i g u r e 1 , i f n o d e 3 r e c e i v e s t h e t o k e n 2 , b u t h a d r e q u e s t e d t o k e n 1 , n o d e
3 s e t s p o i n t e r 1 ] t o 2 , w h i c h i s i t s t a g i n t h e t o k e n - q u e u e .
H a n d l e R E Q U E S T ( Y ; t ) : W h e n a n o d e r e c e i v e s a r e q u e s t f o r a t o k e n t h i s p r o c e d u r e i s
i n v o k e d . Y i s t h e n o d e t h a t i s r e q u e s t i n g t o k e n t . T h e R E Q U E S T m e s s a g e m a y b e s e n t b y
Y , o r m a y h a v e b e e n f o r w a r d e d b y s o m e o t h e r n o d e . O n r e c e i v i n g t h e r e q u e s t , t h e a c t i o n
t a k e n b y n o d e I d e p e n d s o n t h e s t a t e o f t h e n o d e .
C a s e 1 : n o d e I d o e s n o t p o s s e s s a t o k e n a n d i s w a i t i n g t o e n t e r t h e C S . T h e a c t i o n t a k e n
b y n o d e I d e p e n d s o n t h e t o k e n r e q u e s t e d b y n o d e I
c a s e a : I f n o d e I i s w a i t i n g f o r t o k e n t t h e n , Y i s s t o r e d i n t h e n o d e - q u e u e .
c a s e b : I f n o d e I i s w a i t i n g f o r t o k e n p ( p 6= t ) t h e n , R E Q U E S T ( Y ; t ) i s s e n t t o
p o i n t e r t ] a n d p o i n t e r t ] s e t t o Y
C a s e 2 : n o d e I d o e s n o t p o s s e s s a t o k e n a n d i s n o t w a i t i n g t o e n t e r t h e C S . T h e r e q u e s t
i s f o r w a r d e d t o p o i n t e r t ] a n d p o i n t e r t ] i s s e t e q u a l t o Y . R e f e r r i n g t o F i g u r e 2 , i f n o d e 3
r e c e i v e s a r e q u e s t f r o m n o d e 4 f o r t o k e n 1 , n o d e 3 f o r w a r d s t h e r e q u e s t t o n o d e 5 ( a s a t
n o d e 3 , p o i n t e r 1 ] = 5 ) a n d c h a n g e s p o i n t e r 1 ] t o 4 .
C a s e 3 : n o d e I p o s s e s s e s a t o k e n u ( u m a y o r m a y n o t b e e q u a l t o t ) a n d i s n o t i n t h e C S .
T h i s i m p l i e s t h a t t h e t o k e n - q u e u e o f u i s e m p t y .
8
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
10/21
N o d e I s e t s p o i n t e r t t o Y a n d a d d s n o d e Y t o t h e t o k e n - q u e u e . T h e r e q u e s t - m o d i e r
t a g o f Y i s s e t e q u a l t o I i f t 6= u , e l s e t h e t a g i s s e t t o N U L L .
C a s e 4 : n o d e I p o s s e s s e s a t o k e n a n d i s i n t h e C S . L e t t h e t o k e n p o s s e s s e d b y I b e u
N o d e Y i s a d d e d t o t h e t o k e n - q u e u e o f t o k e n u . T h e r e q u e s t - m o d i e r t a g f o r n o d e Y
i s s e t t o I i f t 6= u , e l s e s e t t o N U L L .
P r o o f o f C o r r e c t n e s s
W e p r e s e n t a b r i e f s k e t c h o f t h e p r o o f h e r e 1 ] .
K - M u t u a l e x c l u s i o n
A n o d e c a n b e i n c r i t i c a l s e c t i o n o n l y i f i t h a s a t o k e n . A s t h e r e a r e o n l y K t o k e n s , a t m o s t
K n o d e s c a n b e i n t h e c r i t i c a l s e c t i o n a t a t i m e . H e n c e , K - m u t u a l e x c l u s i o n i s a c h i e v e d .
D e a d l o c k f r e e
T h e p r o o f o f f r e e d o m f r o m d e a d l o c k i s i n t w o p a r t s : F i r s t , w e s h o w t h a t f o r a d e a d l o c k t o
o c c u r , i t s h o u l d b e p o s s i b l e f o r a r e q u e s t f r o m s o m e n o d e X t o t r a v e l s b a c k t o n o d e X . N e x t ,
w e s h o w t h a t t h i s s i t u a t i o n i s i m p o s s i b l e w i t h t h e g i v e n a l g o r i t h m .
P a r t I : W e s a y t h a t n o d e A i s b l o c k e d a t n o d e B , i f t h e r e q u e s t o f n o d e A f o r s o m e t o k e n
i s i n t h e n o d e - q u e u e o f n o d e B . C o n s i d e r a g r a p h f o r m e d b y d r a w i n g a n a r c f r o m n o d e A t o
n o d e B , i f n o d e A i s b l o c k e d a t n o d e B . F o r a d e a d l o c k t o o c c u r , t h i s g r a p h m u s t c o n t a i n
a c y c l e . ( N o t e t h a t e a c h n o d e c a n h a v e o n l y o n e o u t g o i n g a r c , a s a n o d e c a n h a v e a t m o s t
o n e o u t s t a n d i n g r e q u e s t a t a n y t i m e . ) A s s u m e t h a t n o d e s X 1 , X 2 , . . . , X m f o r m a c y c l e ,
s u c h t h a t X 1 i s b l o c k e d a t X 2 , X 2 i s b l o c k e d a t X 3 , . . . , a n d X m i s b l o c k e d a t X 1 . N o t e t h a t
a t n o d e X 1 , s o m e n o d e s o t h e r t h a n X m m a y a l s o b e b l o c k e d . S i m i l a r l y , s o m e n o d e s m a y
b e b l o c k e d a t X 2 , X 3 , . . . , X m . C o n s i d e r t h e s e t S o f n o d e s c o n t a i n i n g X 1 , . . . , X m a n d
a l l t h e n o d e s b l o c k e d a t X 1 , . . . , X m . C o n s i d e r a s c e n a r i o t h a t i s s i m i l a r t o t h e d e a d l o c k e d
9
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
11/21
s c e n a r i o , e x c e p t t h a t n o d e s i n s e t S ? f X 1 g d o n o t m a k e t h e i r l a s t r e q u e s t t h a t i s b l o c k e d i n
t h e d e a d l o c k e d s c e n a r i o . I n t h i s m o d i e d s c e n a r i o , t h e R E Q U E S T f r o m X 1 w i l l r e a c h X 2
a s b e f o r e . H o w e v e r , n o w i n s t e a d o f b l o c k i n g t h e r e q u e s t , X 2 w i l l f o r w a r d t h e r e q u e s t , t h e
R E Q U E S T w i l l t h e n r e a c h X 3 ( p o s s i b l y t h r o u g h s o m e i n t e r m e d i a t e n o d e s ) . A p p l y i n g t h i s
a r g u m e n t r e p e t i t i v e l y , t h e R E Q U E S T w i l l r e a c h n o d e s X 4 , X 5 , . . . , X m a n d s u b s e q u e n t l y
b a c k t o X 1 .
T h e a b o v e i m p l i e s t h a t , f o r a d e a d l o c k t o o c c u r , t h e a l g o r i t h m m u s t a l l o w a r e q u e s t
f r o m s o m e n o d e X 1 t o r e t u r n t o i t s e l f .
P a r t I I : F o r t h e a b o v e R E Q U E S T t o r e t u r n t o i t s o r i g i n a t o r , a c y c l e m u s t e x i s t i n t h e
s t r u c t u r e f o r m e d b y t h e p o i n t e r s . T h e K - m u t u a l e x c l u s i o n a l g o r i t h m m o d i e s t h e p o i n t e r s
a t m a n y p l a c e s . I t c a n b e e a s i l y s h o w n t h a t o n l y o n e m o d i c a t i o n m a d e t o t h e p o i n t e r s
c a n c r e a t e a c y c l e . W e w i l l d i s c u s s o n l y t h i s m o d i c a t i o n t o t h e p o i n t e r s
S p e c i c a l l y , w h e n t h e r e q u e s t o f a n o d e A f o r t o k e n t i s m o d i e d b y s o m e n o d e B
b y a d d i n g A t o t h e t o k e n - q u e u e o f t o k e n u ( u 6= t ) , a c y c l e c a n b e c r e a t e d i n t h e s t r u c t u r e
f o r m e d b y p o i n t e r u ] . O r i g i n a l l y , p a t h s m a y e x i s t f r o m n o d e A t o n o d e B i n t h e t - t h f o r e s t
a s w e l l a s t h e u - t h f o r e s t . T h e r e q u e s t f r o m A f o r t o k e n t t r a v e l s t h e l i n k s i n t h e t - t h f o r e s t .
N o d e A ' s r e q u e s t i s a d d e d t o u ' s t o k e n - q u e u e a t n o d e B . I f n o d e B , o n e x i t i n g f r o m i t s
c r i t i c a l s e c t i o n , n d s t h a t n o n o d e o n i t s t o k e n - q u e u e h a s i t s r e q u e s t - m o d i e r t a g N U L L
a n d n o d e A i s t h e r s t n o d e o n t h e t o k e n - q u e u e , t h e n n o d e B w i l l s e n d t o k e n u t o n o d e A
a n d s e t p o i n t e r u ] = A . A s a p a t h a l r e a d y e x i s t s f r o m A t o B i n t h e u - t h f o r e s t , a c y c l e i s
n o w f o r m e d . T h i s c y c l e i s b r o k e n a s s o o n a s t o k e n u r e a c h e s n o d e A .
N o w o b s e r v e t h a t t h e R E Q U E S T f r o m n o d e A a b o v e c a n n o t r e t u r n t o n o d e A i t s e l f
b e c a u s e t h e r e q u e s t i s a d d e d b y n o d e B t o t h e t o k e n - q u e u e o f t o k e n u . T h u s , t h e c o n d i t i o n
n e c e s s a r y f o r d e a d l o c k ( a s s t a t e d i n p a r t I a b o v e ) c a n n o t o c c u r . T h e r e f o r e , d e a d l o c k c a n n o t
o c c u r .
S t a r v a t i o n f r e e
W h e n a r e q u e s t f r o m a n o d e Y f o r t o k e n t i s f o r w a r d e d b y s o m e n o d e Z , n o d e Z s e t s i t s
p o i n t e r t ] e q u a l t o Y . T h i s i m p l i e s t h a t , i n t h e a b s e n c e o f a c y c l e , a r e q u e s t c a n v i s i t a
1 0
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
12/21
n o d e a t m o s t o n c e . W h e n a c y c l e , a s d e s c r i b e d a b o v e , i s f o r m e d , a r e q u e s t m a y v i s i t a n o d e
a t m o s t t w i c e . T h i s p r o p e r t y , a l o n g w i t h t h e d e a d l o c k f r e e p r o p e r t y , g u a r a n t e e s t h a t a n o d e
t h a t h a s s e n t a r e q u e s t w i l l e v e n t u a l l y r e c e i v e a t o k e n .
3 P e r f o r m a n c e
T h e p e r f o r m a n c e p a r a m e t e r s o f i n t e r e s t a r e t h e a v e r a g e t i m e t o e n t e r t h e c r i t i c a l s e c t i o n ,
t h e a v e r a g e n u m b e r o f m e s s a g e s p e r c r i t i c a l s e c t i o n e n t r y a n d t h e a v e r a g e i n f o r m a t i o n p e r
m e s s a g e . T h e e x i s t i n g p a p e r s o n K - m u t u a l e x c l u s i o n t y p i c a l l y p r e s e n t a n a n a l y t i c a l e s t i m a t e
o f t h e a v e r a g e n u m b e r o f m e s s a g e s r e q u i r e d p e r C S e n t r y . T h e a v e r a g e n u m b e r o f m e s s a g e s
i s i n a d e q u a t e t o m e a s u r e t h e a l g o r i t h m p e r f o r m a n c e , b e c a u s e ( a s s h o w n l a t e r ) a n a l g o r i t h m
t h a t r e q u i r e s s m a l l n u m b e r o f m e s s a g e s m a y r e s u l t i n l a r g e d e l a y s i n e n t e r i n g t h e C S . I n t h i s
r e p o r t , w e p r e s e n t s i m u l a t i o n r e s u l t s r a t h e r t h a n a n a l y s i s .
U n d e r l i g h t l o a d ( i . e . , s m a l l ) , t h e r e i s a g o o d c h a n c e t h a t t h e t o k e n - q u e u e w i l l b e
e m p t y w h e n a n o d e , s a y A , e x i t s f r o m t h e c r i t i c a l s e c t i o n . W h e n e v e r t h e t o k e n - q u e u e i s
e m p t y , t h e E x i t C S p r o c e d u r e i n f o r m s n o d e s t h a t n o d e A h a s a t o k e n , s a y t . T h i s r e d u c e s
t h e a v e r a g e d e l a y i n e n t e r i n g t h e c r i t i c a l s e c t i o n a t t h e c o s t o f e x t r a m e s s a g e s . T h i s a l s o
r e d u c e s t h e a v e r a g e d i s t a n c e o f a n o d e f r o m f r o m t o k e n t , w h i c h i n t u r n r e s u l t s i n a r e d u c t i o n
i n t h e a v e r a g e n u m b e r o f m e s s a g e s r e q u i r e d p e r C S e n t r y . T h e n e t e e c t o f t h e I N F O R M
m e s s a g e s i s o f t e n t o r e d u c e t h e a v e r a g e n u m b e r o f m e s s a g e s r e q u i r e d .
U n d e r h i g h l o a d , t h e r e i s a g o o d c h a n c e t h a t t h e t o k e n - q u e u e i s n o t e m p t y w h e n t h e
E x i t C S p r o c e d u r e i s p e r f o r m e d . I n s u c h a c a s e , o u r a l g o r i t h m d o e s n o t s e n d t h e I N F O R M
m e s s a g e s . T h u s t h e a l g o r i t h m i m p r o v e s t h e p e r f o r m a n c e b y s e n d i n g I N F O R M m e s s a g e s
o n l y w h e n b e n e c i a l .
U p d a t e s m a d e t o p o i n t e r s i n E x i t C S a n d H a n d l e R E Q U E S T a r e a l s o d e s i g n e d t o
r e d u c e t h e d i s t a n c e b e t w e e n t h e n o d e s a n d t h e t o k e n s . T h i s i n t u r n r e s u l t s i n s m a l l e r C S
e n t r y d e l a y s a n d s m a l l e r n u m b e r o f m e s s a g e s .
W h e n a n o d e i r e q u e s t i n g t o k e n t r e c e i v e s a r e q u e s t m e s s a g e o f a n o t h e r n o d e j f o r
t h e s a m e t o k e n t , t h e n n o d e i w i l l p u t n o d e j ' s r e q u e s t i n i t s n o d e - q u e u e , r a t h e r t h a n
p r o p a g a t i n g t h e r e q u e s t a s i n t h e 1 - m u t u a l e x c l u s i o n a l g o r i t h m b y T r e h e l a n d N a i m i 1 2 ] .
1 1
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
13/21
H e n c e , u n n e c e s s a r y m e s s a g e t r a n s m i s s i o n i s a v o i d e d . T h i s r e d u c e s t h e a v e r a g e n u m b e r o f
m e s s a g e s .
H e u r i s t i c s f o r c h o o s i n g a t o k e n i n E n t r y C S
P e r f o r m a n c e o f t h e a l g o r i t h m i s d e p e n d e n t o n t h e d e c i s i o n m e c h a n i s m u s e d b y e a c h n o d e t o
d e c i d e w h i c h t o k e n t o s e n d t h e r e q u e s t f o r ( i n E n t r y C S ) . O n e p o s s i b i l i t y i s t o c h o o s e t h e
t o k e n r a n d o m l y . T h e o t h e r p o s s i b i l i t y i s t o u s e a h e u r i s t i c t o c h o o s e a t o k e n t h a t i s l i k e l y t o
b e r e a c h e d w i t h a s m a l l n u m b e r o f h o p s . T h e h e u r i s t i c t h a t w e e x p e r i m e n t e d w i t h c h o o s e s
t h e \ l a s t s e e n t o k e n " t i s t h e l a s t s e e n t o k e n i f :
T h e n o d e r e c e n t l y r e c e i v e d t o k e n t
T h e n o d e r e c e n t l y r e c e i v e d a n I N F O R M m e s s a g e f r o m a n o d e p o s s e s s i n g t o k e n t
I f n o d e i r e m e m b e r s t h a t i t h a d l a s t s e e n t h e t o k e n t a n d m a k e s a r e q u e s t f o r t h a t
t o k e n , t h e r e i s a b e t t e r c h a n c e o f n o d e i ' s r e q u e s t r e a c h i n g t h e t o k e n t w i t h a s m a l l n u m b e r
o f h o p s . T h e I N F O R M m e s s a g e s h e l p i n u p d a t i n g t h e l a s t s e e n t o k e n w i t h t h e m o s t c u r r e n t
i n f o r m a t i o n .
4 S i m u l a t i o n M o d e l
T h e s i m u l a t i o n m o d e l u s e d h e r e i s a r e n e m e n t o f t h e m o d e l p r e s e n t e d b y S i n g h a l 9 ] . T h e r e
a r e N n o d e s i n t h e s y s t e m w h e r e e a c h n o d e m a y r e q u e s t a n e n t r y i n t o c r i t i c a l s e c t i o n t i m e
u n i t s a f t e r c o m p l e t i n g t h e p r e v i o u s e x e c u t i o n o f t h e c r i t i c a l s e c t i o n , b e i n g e x p o n e n t i a l l y
d i s t r i b u t e d w i t h m e a n 1 = i s c a l l e d t h e r a t e o f a r r i v a l o f C S r e q u e s t s . T h e t i m e s p e n t b y
e a c h n o d e i n t h e c r i t i c a l s e c t i o n i s E u n i t s . E a c h n o d e s p e n d s T
s
t i m e u n i t s w h e n s e n d i n g a
m e s s a g e ( t i m e s p e n t i n t h e n e t w o r k l a y e r ) . S i m i l a r l y , e a c h n o d e s p e n d s T
r
t i m e u n i t s w h e n
r e c e i v i n g a m e s s a g e . T
t
i s t h e t r a n s m i s s i o n t i m e b e t w e e n t w o n o d e s . I f t h e s a m e m e s s a g e
i s s e n t s i m u l t a n e o u s l y t o m u l t i p l e d e s t i n a t i o n s ( m u l t i c a s t ) , a c o s t o f T
s
i s e n c o u n t e r e d f o r
e a c h m e s s a g e c o p y . T h i s a s s u m p t i o n h o l d s o n m a n y p r e s e n t i m p l e m e n t a t i o n s .
1 2
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
14/21
T h e s i m u l a t i o n m o d e l p r e s e n t e d b y S i n g h a l 9 ] a s s u m e s t h a t T
s
= T
r
= 0 . E s s e n t i a l l y ,
h i s m o d e l a s s u m e s t h a t T
s
a n d T
r
a r e n e g l i g i b l e c o m p a r e d t o t h e t r a n s m i s s i o n d e l a y T
t
H o w e v e r T
s
a n d T
r
a r e n o l o n g e r i n s i g n i c a n t w h e n t h e c o m m u n i c a t i o n m e d i u m b e c o m e s
f a s t . F o r e x a m p l e , w h e n a h i g h - s p e e d n e t w o r k s u c h a s F D D I i s u s e d f o r c o m m u n i c a t i o n , t h e
t i m e s p e n t e x e c u t i n g t h e n e t w o r k l a y e r s o f t w a r e m a y n o t b e n e g l i g i b l e a s c o m p a r e d t o t h e
t r a n s m i s s i o n d e l a y . W e h a v e s h o w n b y o u r s i m u l a t i o n s t h a t T
s
a n d T
r
c a n a e c t t h e r e s u l t s
s i g n i c a n t l y a n d c a n n o t b e n e g l e c t e d .
5 S i m u l a t i o n R e s u l t s
W e s i m u l a t e d o u r a l g o r i t h m a n d c o m p a r e d i t w i t h t h r e e o t h e r K - m u t u a l e x c l u s i o n a l g o r i t h m s
p r o p o s e d b y R a y m o n d 2 0 ] , S r i m a n i a n d R e d d y 2 1 ] a n d M a k k i e t a l . 2 2 ] .
W e m o d i e d t h e a l g o r i t h m b y S r i m a n i a n d R e d d y 2 1 ] t o i m p r o v e i t s p e r f o r m a n c e .
T h e o r i g i n a l a l g o r i t h m a s s u m e s n i t e c o u n t e r s . B y r e m o v i n g t h a t r e s t r i c t i o n , w e r e d u c e t h e
n u m b e r o f m e s s a g e s r e q u i r e d b y t h e i r a l g o r i t h m .
F o r T
r
, T
s
6= 0 , M a k k i ' s a l g o r i t h m 2 2 ] d o e s n o t w o r k c o r r e c t l y a s s u c h . W e s i m u l a t e d
a s l i g h t l y m o d i e d v e r s i o n t h a t y i e l d s o p t i m i s t i c r e s u l t s f o r M a k k i ' s a l g o r i t h m w h e n T
r
,
T
s
6= 0 . I n p a r t i c u l a r , M a k k i ' s a l g o r i t h m a s s u m e s t h a t t i m e r e q u i r e d f o r a m e s s a g e t o
r e a c h i t s d e s t i n a t i o n a n d t o r e c e i v e t h e r e s p o n s e t a k e s 2 T
t
t i m e u n i t s . T h i s i s t r u e w h e n
T
r
= T
s
= 0 , a n d n o t v a l i d w h e n T
r
a n d T
s
a r e n o n - z e r o . I n s u c h s i t u a t i o n s , w e \ a c c e l e r a t e "
t h e r e s p o n s e m e s s a g e s t o r e a c h w i t h i n 2 T
t
, r e s u l t i n g i n o p t i m i s t i c e s t i m a t e s o f C S e n t r y d e l a y
a n d n u m b e r o f m e s s a g e s . A n y a d a p t a t i o n o f 2 2 ] t h a t w i l l w o r k c o r r e c t l y f o r n o n - z e r o T
r
a n d
T
s
w i l l p e r f o r m w o r s e t h a n w h a t o u r r e s u l t s i n d i c a t e . T h e r e s u l t s p r e s e n t e d f o r T
s
= T
r
= 0
a r e o b t a i n e d b y s i m u l a t i n g t h e o r i g i n a l a l g o r i t h m b y M a k k i .
S i m u l a t i o n s w e r e c a r r i e d o u t f o r a s y s t e m o f t h i r t y n o d e s ( N = 3 0 ) a n d t h r e e t o k e n s
( K = 3 ) , f o r v a r i o u s v a l u e s o f . T h e n u m b e r o f n o d e s t o w h i c h I N F O R M m e s s a g e s a r e
s e n t w a s x e d a t 2 . W e s i m u l a t e d u s i n g v a r i o u s v a l u e s o f T
s
, T
t
, T
r
a n d E . F o r v a r i o u s n o n -
z e r o T
s
a n d T
r
, t h e r e s u l t t r e n d s w e r e s i m i l a r , t h e r e f o r e w e p r e s e n t o n l y o n e s e t o f r e s u l t s .
S i m i l a r l y , r e s u l t t r e n d s f o r d i e r e n t v a l u e s o f E w e r e s i m i l a r , s o w e p r e s e n t r e s u l t s o n l y f o r
o n e v a l u e o f E . S p e c i c a l l y , r e s u l t s a r e p r e s e n t e d f o r T
s
= T
r
= 0 1 , T
t
= 0 8 , E = 0 0 0 0 2 .
1 3
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
15/21
E = 0 0 0 0 2 i s i d e n t i c a l t o t h a t u s e d b y S i n g h a l 9 ] . ( R e s u l t s f o r l a r g e r E a r e a l s o s i m i l a r
1 ] . ) F o r c o m p a r i s o n , s o m e r e s u l t s f o r T
s
= T
r
= 0 , T
t
= 1 , E = 0 0 0 0 2 a r e a l s o p r e s e n t e d .
( T h i s s e t o f p a r a m e t e r s i m p l i e s t h a t a l l t h e m e s s a g e c o m m u n i c a t i o n d e l a y i s e n c o u n t e r e d i n
t r a n s m i s s i o n a l o n e . ) .
T h e s i m u l a t i o n s w e r e p e r f o r m e d f o r 5 0 0 0 c r i t i c a l s e c t i o n e n t r i e s . T h i s n u m b e r w a s
c h o s e n b e c a u s e w e o b s e r v e d t h a t t h e r e s u l t s o f t h e s i m u l a t i o n c o n v e r g e d b y 5 0 0 0 e n t r i e s i n t o
t h e c r i t i c a l s e c t i o n .
F i g u r e 3 ( a ) s h o w s t h e a v e r a g e t i m e t a k e n t o e n t e r t h e c r i t i c a l s e c t i o n , b y t h e f o u r
d i e r e n t a l g o r i t h m s f o r T
r
= T
s
= 0 1 a n d T
t
= 0 8 . I n t h e g r a p h , ` n e w + h e u r i s t i c ' r e f e r s t o
o u r a l g o r i t h m w i t h t h e h e u r i s t i c i n t h e p r e v i o u s s e c t i o n a n d ` n e w + r a n d o m t o k e n ' r e f e r s t o
o u r a l g o r i t h m w h e r e a t o k e n i s c h o s e n r a n d o m l y ( i n E n t r y C S p r o c e d u r e ) . O u r a l g o r i t h m
p e r f o r m e d b e t t e r t h a n t h e o t h e r a l g o r i t h m s f o r m o s t v a l u e s o f . ( T h e h e u r i s t i c h a s i m p r o v e d
t h e p e r f o r m a n c e b y o n l y a s m a l l a m o u n t . ) A s i n c r e a s e s , t h e n u m b e r o f r e q u e s t s f o r e n t r y
i n t o c r i t i c a l s e c t i o n i n c r e a s e , w h i c h c a u s e s a l a r g e r d e l a y f o r e a c h n o d e . H e n c e , t h e c u r v e s
s h o w a s t e a d y r i s e i n i t i a l l y . T h e c u r v e g r a d u a l l y a t t e n o u t f o r g r e a t e r v a l u e s o f . T h e
i n t u i t i v e r e a s o n i n g i s a s f o l l o w s : T h e r a t e a t w h i c h e a c h n o d e e n t e r s C S i s i d e n t i c a l ( o n
a v e r a g e ) . T h e m e s s a g e c o m m u n i c a t i o n d e l a y i s 1 u n i t t i m e ( T
s
+ T
t
+ T
r
) , t h e r e f o r e , s e n d i n g
t h e t o k e n f r o m o n e n o d e t o a n o t h e r r e q u i r e s 1 u n i t t i m e . T h e r e f o r e , t h e m a x i m u m r a t e a t
w h i c h a n o d e c a n e n t e r C S ( w i t h K = 3 a n d N = 3 0 ) i s u p p e r b o u n d e d b y 1 = 1 0 , i n d e p e n d e n t
o f t h e v a l u e o f . T h e d e l a y i n e n t e r i n g t h e C S i s d e t e r m i n e d b y t h e r a t e a t w h i c h t h e n o d e s
e n t e r C S ( w h i c h i s a l m o s t i n d e p e n d e n t o f w h e n i s l a r g e ) . T h e r e f o r e , f o r l a r g e , t h e
c u r v e a t t e n s ( \ s y s t e m s a t u r a t i o n " ) .
F i g u r e 3 ( b ) s h o w s t h e a v e r a g e t i m e t a k e n t o e n t e r t h e c r i t i c a l s e c t i o n , f o r T
r
= T
s
= 0
a n d T
t
= 0 8 . O b s e r v e t h a t h e r e R a y m o n d ' s a l g o r i t h m 2 0 ] p e r f o r m s b e t t e r t h a n u s f o r s m a l l
a n d e q u a l l y w e l l f o r l a r g e . W h e n a n o d e w a n t s t o e n t e r C S , R a y m o n d ' s a l g o r i t h m s e n d s
m u l t i p l e r e q u e s t m e s s a g e s i n p a r a l l e l t o o t h e r n o d e s . W h e n T
s
= 0 , t h e o v e r h e a d o f s e n d i n g
a l l t h e s e m e s s a g e s i s z e r o ( f o r t h e s e n d e r ) . W h e n T
s
i s n o n - z e r o , t h e o v e r h e a d o f s e n d i n g
m u l t i p l e m e s s a g e s c a n b e s u b s t a n t i a l . T h e r e f o r e , R a y m o n d a l g o r i t h m p e r f o r m s w e l l w h e n
T
s
= 0 , b u t p e r f o r m s p o o r l y w i t h t h e r e a l i s t i c a s s u m p t i o n t h a t T
s
6= 0
1 4
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
16/21
0
5
10
15
20
25
30
35
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Avg.Time
Lambda
1. new+heuristics2. new+random tokan
3. makki4. srimani5. raymond
( a ) T
r
= T
s
= 0 1 a n d T
t
= 0 8
0
5
10
15
20
25
30
35
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Avg.Time
Lambda
1. new+heuristics2. new+random token
3. makki4. srimani5. raymond
( b ) T
r
= T
s
= 0 a n d T
t
= 1 0
F i g u r e 3 : A v e r a g e t i m e t o e n t e r t h e c r i t i c a l s e c t i o n
1 5
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
17/21
T h e t i m e t o e n t e r t h e c r i t i c a l s e c t i o n i s m a x i m u m f o r M a k k i ' s a l g o r i t h m 2 2 ] . T h i s
a l g o r i t h m u s e s a R E L E A S E m e s s a g e t o m a i n t a i n t h e c o r r e c t n e s s o f t h e a l g o r i t h m . A t h i g h
l o a d , t h e R E L E A S E m e s s a g e i s p r o p a g a t e d t h r o u g h a l l o t h e r n o d e s b e f o r e r e a c h i n g t h e
s a m e n o d e a g a i n . T h i s c a u s e s t h e s y s t e m t o b e h a v e s i m i l a r t o a s y s t e m w i t h a s i n g l e t o k e n ,
r e s u l t i n g i n s i g n i c a n t d e l a y s .
F i g u r e 4 p l o t s t h e a v e r a g e n u m b e r o f m e s s a g e s r e q u i r e d p e r C S e n t r y v e r s u s . O u r
0
10
20
30
40
50
60
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Avg.Messages
Lambda
1. new+heuristics2. new+random token
3. makki4. srimani5. raymond
F i g u r e 4 : A v e r a g e n u m b e r o f m e s s a g e s p e r c r i t i c a l s e c t i o n e n t r y f o r T
r
= 0 1 , T
s
= 0 1 a n d
T
t
= 0 8
a l g o r i t h m r e q u i r e s s m a l l e r n u m b e r o f m e s s a g e s c o m p a r e d t o t h e o t h e r a l g o r i t h m s , f o r m o s t
v a l u e s o f . A p p l y i n g t h e h e u r i s t i c s f o r c h o o s i n g a t o k e n h a s r e d u c e d t h e n u m b e r o f m e s s a g e s
a t h i g h l o a d .
R a y m o n d ' s a l g o r i t h m h a s a l o w e r b o u n d o f 2 N ? K ? 1 o n n u m b e r o f m e s s a g e s
r e q u i r e d a n d a n u p p e r b o u n d o f 2 ( N ? 1 ) 2 0 ] . W i t h t h e s i m u l a t i o n v a l u e s o f N = 3 0
a n d K = 3 , t h e l o w e r b o u n d i s 5 6 a n d t h e u p p e r b o u n d i s 5 8 . T h e g r a p h s h o w s t h a t t h i s
i s i n d e e d t r u e a n d t h e n u m b e r o f m e s s a g e s a v e r a g e a r o u n d 5 7 m e s s a g e s p e r c r i t i c a l s e c t i o n
1 6
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
18/21
e n t r y .
S r i m a n i ' s a l g o r i t h m h a s a n u p p e r b o u n d o f N + K ? 1 m e s s a g e s . T h e i r a n a l y s i s
s u g g e s t s t h a t t h e a v e r a g e n u m b e r o f m e s s a g e s p e r c r i t i c a l s e c t i o n e n t r y i s c l o s e t o ( N ? 1 )
2 1 ] . W i t h t h e s i m u l a t i o n v a l u e s o f N a n d K , t h e u p p e r b o u n d t u r n s o u t t o b e 3 2 m e s s a g e s
p e r c r i t i c a l s e c t i o n e n t r y . T h e g r a p h s h o w s t h a t t h e a v e r a g e n u m b e r o f m e s s a g e s n e e d e d i s
a r o u n d 3 1 m e s s a g e s a g r e e i n g w i t h t h e a n a l y s i s .
F o r M a k k i ' s a l g o r i t h m 2 2 ] a t l o w l o a d , t h e n u m b e r o f m e s s a g e s r e q u i r e d i s q u i t e
l a r g e . T h e n u m b e r o f m e s s a g e s r e q u i r e d b e c o m e s s m a l l e r w i t h i n c r e a s i n g , w i t h o n l y t h r e e
m e s s a g e s b e i n g r e q u i r e d a t h e a v y l o a d . A l t h o u g h t h e n u m b e r o f m e s s a g e s r e q u i r e d i s s m a l l ,
a s s e e n b e f o r e , w i t h l a r g e , M a k k i ' s a l g o r i t h m r e s u l t s i n l o n g e r d e l a y s . ( T h i s s h o w s t h a t
n u m b e r o f m e s s a g e s , b y i t s e l f , i s i n a d e q u a t e t o e v a l u a t e a l g o r i t h m p e r f o r m a n c e . )
D o i n g t h e m e a s u r e m e n t s f o r t h e a v e r a g e n u m b e r o f m e s s a g e s f o r T
r
= 0 0 5 , T
s
= 0 0 5
a n d T
t
= 0 9 a n d a l s o w i t h T
r
= 0 , T
s
= 0 a n d T
t
= 1 0 i t w a s f o u n d t h a t t h e n u m b e r o f
m e s s a g e s i s p r a c t i c a l l y t h e s a m e f o r a l l t h e c a s e s . T h i s s u g g e s t s t h a t t h e a v e r a g e n u m b e r
o f m e s s a g e s p e r c r i t i c a l s e c t i o n e n t r y i s n o t a e c t e d b y t h e s e n d i n g a n d r e c e i v i n g t i m e s ( T
s
a n d T
r
)
F i g u r e 5 p l o t s t h e a v e r a g e i n f o r m a t i o n t h a t i s p a s s e d i n t h e m e s s a g e s b y v a r i o u s
a l g o r i t h m s . T h e i n f o r m a t i o n c o n t e n t o f a m e s s a g e s w a s c a l c u l a t e d b y t a k i n g i n t o a c c o u n t a l l
t h e e l d s o f t h e m e s s a g e . F o r e x a m p l e , t h e T O K E N m e s s a g e c o n t a i n s t h e t o k e n i d e n t i e r ,
t o k e n - q u e u e , r e q u e s t - m o d i e r t a g s , a n d m e s s a g e s o u r c e . A s i n m o s t i m p l e m e n t a t i o n s , e a c h
m e s s a g e , b y d e f a u l t , c o n t a i n s m e s s a g e s o u r c e , d e s t i n a t i o n a n d m e s s a g e t y p e . T h e a v e r a g e
i n f o r m a t i o n f o r o u r a l g o r i t h m i s s a m e w i t h a n d w i t h o u t t h e h e u r i s t i c . W h e n = 1 , t h e
a v e r a g e i n f o r m a t i o n i s a b o u t 9 w o r d s f o r o u r a l g o r i t h m , 4 w o r d s f o r R a y m o n d ' s a l g o r i t h m ,
6 . 5 w o r d s f o r S r i m a n i ' s a l g o r i t h m , a n d 8 w o r d s f o r M a k k i ' s a l g o r i t h m . A l l m e s s a g e s i n
R a y m o n d ' s a l g o r i t h m a r e o f t h e s a m e s i z e ( 4 w o r d s ) , t h e r e f o r e , t h a t c u r v e i s s i m p l y a
h o r i z o n t a l l i n e . F o r o u r a l g o r i t h m s t h e a v e r a g e m e s s a g e s i z e i s a b o u t 1 . 5 t o 2 t i m e s l a r g e r
t h a n t h e o t h e r a l g o r i t h m s . B y s e n d i n g m o r e i n f o r m a t i o n i n e a c h m e s s a g e , o u r a l g o r i t h m
r e d u c e s t h e n u m b e r o f m e s s a g e s . A s t h e m e s s a g e s a r e s t i l l q u i t e s m a l l , t h e o v e r h e a d i s
p r o p o r t i o n a l t o t h e n u m b e r o f m e s s a g e s , a n d q u i t e i n d e p e n d e n t o f t h e s i z e o f t h e m e s s a g e .
1 7
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
19/21
4
4.5
5
5.5
6
6.5
7
7.5
8
8.5
9
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Avg.Information
Lambda
1. new+heuristics2. new+random token
3. makki4. srimani5. raymond
F i g u r e 5 : A v e r a g e i n f o r m a t i o n ( i n w o r d s ) p e r m e s s a g e f o r T
r
= 0 1 , T
s
= 0 1 a n d T
t
= 0 8
S a n i t y C h e c k s : O n e s a n i t y c h e c k o f o u r s i m u l a t i o n s w a s t o v e r i f y t h a t t h e a v e r a g e n u m b e r
o f m e s s a g e s f r o m t h e s i m u l a t i o n r e s u l t s m a t c h e d a p p r o x i m a t e l y w i t h t h a t o b t a i n e d b y a n
a n a l y s i s o f s o m e o f t h e a l g o r i t h m s . A n o t h e r c h e c k w a s t o v e r i f y t h a t a l l t h e n o d e s i n t h e
s y s t e m e n t e r e d t h e c r i t i c a l s e c t i o n r o u g h l y e q u a l n u m b e r o f t i m e s a n d t h e a v e r a g e d e l a y f o r
e n t e r i n g C S f o r e v e r y n o d e w a s c o m p a r a b l e .
6 C o n c l u s i o n s
T h i s r e p o r t p r e s e n t s a t o k e n - b a s e d K - m u t u a l e x c l u s i o n a l g o r i t h m . T h e a l g o r i t h m u s e s K
t o k e n s a n d a d y n a m i c f o r e s t s t r u c t u r e f o r e a c h t o k e n . T h i s s t r u c t u r e i s u s e d t o f o r w a r d
t o k e n r e q u e s t s . T h e a l g o r i t h m i s d e s i g n e d t o m i n i m i z e t h e n u m b e r o f m e s s a g e s a n d a l s o t h e
d e l a y i n e n t e r i n g t h e c r i t i c a l s e c t i o n , a t l o w a s w e l l a s h i g h l o a d s .
T h e r e p o r t p r e s e n t e d s i m u l a t i o n r e s u l t s f o r o u r a l g o r i t h m a n d c o m p a r e d t h e m w i t h
t h r e e o t h e r a l g o r i t h m s . U n l i k e p r e v i o u s w o r k , o u r s i m u l a t i o n m o d e l a s s u m e s t h a t a n i t e
1 8
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
20/21
( n o n - z e r o ) o v e r h e a d i s e n c o u n t e r e d w h e n a m e s s a g e i s s e n t o r r e c e i v e d . T h e s i m u l a t i o n
r e s u l t s s h o w t h a t , a s c o m p a r e d t o o t h e r a l g o r i t h m s , t h e p r o p o s e d a l g o r i t h m a c h i e v e s l o w e r
d e l a y i n e n t e r i n g C S a s w e l l a s l o w e r n u m b e r o f m e s s a g e s , w i t h o u t a s e r i o u s i n c r e a s e i n t h e
s i z e o f t h e m e s s a g e s .
R e f e r e n c e s
1 ] S . B u l g a n n a w a r , A D i s t r i b u t e d K - M u t u a l E x c l u s i o n A l g o r i t h m , M . S . T h e s i s , D e p t . o f E l e c -
t r i c a l E n g . , T e x a s A & M U n i v e r s i t y , A u g u s t 1 9 9 4 .
2 ] M . R a y n a l , A l g o r i t h m s f o r M u t u a l E x c l u s i o n . C a m b r i d g e , M A : M I T P r e s s , 1 s t e d . , 1 9 8 6 .
3 ] G . R i c a r t a n d A . K . A g r a w a l a , \ A n o p t i m a l a l g o r i t h m f o r m u t u a l e x c l u s i o n i n c o m p u t e r
n e t w o r k s , " C o m m . A C M , v o l . 2 4 , p p . 9 { 1 7 , J a n u a r y 1 9 8 1 .
4 ] M . M a e k a w a , \ A
p
N a l g o r i t h m f o r m u t u a l e x c l u s i o n i n d e c e n t r a l i s e d s y s t e m s , " A C M T r a n s .
C o m p . S y s t . , v o l . 3 , p p . 1 4 5 { 1 5 9 , M a y 1 9 8 5 .
5 ] B . A . S a n d e r s , \ T h e i n f o r m a t i o n s t r u c t u r e o f d i s t r i b u t e d m u t u a l e x c l u s i o n a l g o r i t h m s , " A C M
T r a n s . C o m p . S y s t . , v o l . 5 , p p . 2 8 4 { 2 9 9 , A u g u s t 1 9 8 7 .
6 ] M . S i n g h a l , \ A d y n a m i c i n f o r m a t i o n - s t r u c t u r e m u t u a l e x c l u s i o n a l g o r i t h m f o r d i s t r i b u t e d s y s -
t e m s , " i n I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s , ( N e w p o r t B e a c h , C A ) , p p . 7 0 {
7 8 , J u n e 1 9 8 9 .
7 ] I . S u z u k i a n d T . K a s a m i , \ A d i s t r i b u t e d m u t u a l e x c l u s i o n a l g o r i t h m , " A C M T r a n s . C o m p .
S y s t . , v o l . 3 , p p . 3 4 4 { 3 4 9 , N o v e m b e r 1 9 8 5 .
8 ] G . R i c a r t a n d A . K . A g r a w a l a , \ A u t h o r ' s r e s p o n s e t o ` O n m u t u a l e x c l u s i o n i n c o m p u t e r
n e t w o r k s ' b y C a r v a l h o a n d R o u c a i r o l , " C o m m . A C M , v o l . 2 6 , n o . 2 , p p . 1 4 7 { 1 4 8 , 1 9 8 3 .
9 ] M . S i n g h a l , \ A h e u r i s t i c a l l y - a i d e d a l g o r i t h m f o r m u t u a l e x c l u s i o n i n d i s t r i b u t e d s y s t e m s , "
I E E E T r a n s . C o m p u t e r s , v o l . 3 8 , p p . 6 5 1 { 6 6 2 , M a y 1 9 8 9 .
1 0 ] M . M i z u n o , M . L . N e i l s e n , a n d R . R a o , \ A t o k e n b a s e d d i s t r i b u t e d m u t u a l e x c l u s i o n a l g o -
r i t h m b a s e d o n q u o r u m a g r e e m e n t s , " i n I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s ,
( A r l i n g t o n , T X ) , p p . 3 6 1 { 3 6 8 , 1 9 9 1 .
1 1 ] K . M a k k i , N . P i s s i n o u , a n d Y . Y e s h a , \ A n e w t o k e n b a s e d d i s t r i b u t e d m u t u a l e x c l u s i o n
a l g o r i t h m , " i n I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s , ( P i t t s b u r g h , P a ) , p p . 1 6 4 {
1 6 9 , 1 9 9 3 .
1 2 ] M . T r e h e l a n d M . N a i m i , \ A d i s t r i b u t e d a l g o r i t h m f o r m u t u a l e x c l u s i o n b a s e d o n d a t a s t r u c -
t u r e s a n d f a u l t t o l e r a n c e , " i n 6 t h A n n u a l I n t e r n a t i o n a l P h o e n i x C o n f e r e n c e o n C o m p u t e r s
a n d C o m m u n i c a t i o n s , ( S c o t t d a l e , A Z ) , p p . 3 5 { 3 9 , 1 9 8 7 .
1 9
7/27/2019 A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994
21/21
1 3 ] J . M . B e r n a b e u - A u b a n a n d M . A h a m a d , \ A p p l y i n g p a t h c o m p r e s s i o n t e c h n i q u e s t o o b t a i n
a n e c i e n t d i s t r i b u t e d m u t u a l e x c l u s i o n a l g o r i t h m , " i n L e c t u r e N o t e s i n C o m p u t e r S c i e n c e ,
v o l . 3 9 2 , p p . 3 3 { 4 4 , 1 9 8 9 .
1 4 ] D . G i n a t , D . D . S l e a t o r , a n d R . E . T a r j a n , \ A t i g h t a m o r t i z e d b o u n d f o r p a t h r e v e r s a l , "
I n f o r m a t i o n P r o c e s s i n g L e t t e r s , v o l . 3 1 , p p . 3 { 5 , A p r i l 1 9 8 9 .
1 5 ] K . R a y m o n d , \ A t r e e - b a s e d a l g o r i t h m f o r d i s t r i b u t e d m u t u a l e x c l u s i o n , " A C M T r a n s . C o m p .
S y s t . , v o l . 7 , p p . 6 1 { 7 7 , F e b r u a r y 1 9 8 9 .
1 6 ] M . L . N e i l s e n a n d M . M i z u n o , \ A d a g - b a s e d a l g o r i t h m f o r d i s t r i b u t e d m u t u a l e x c l u s i o n , " i n
I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s , ( A r l i n g t o n , T X ) , p p . 3 5 4 { 3 6 0 , 1 9 9 1 .
1 7 ] T . K . W o o a n d R . N e w m a n - W o l f e , \ H u m a n t r e e s a s a b a s i s f o r a d y n a m i c m u t u a l e x c l u s i o n
a l g o r i t h m f o r d i s t r i b u t e d s y s t e m s , " i n I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s ,
( Y o k o h a m a , J a p a n ) , p p . 1 2 6 { 1 3 3 , J u n e 1 9 9 2 .
1 8 ] H . K o c h , \ A n e c i e n t r e p l i c a t i o n p r o t o c o l e x p l o i t i n g l o g i c a l t r e e s t r u c t u r e , " i n D i g e s t o f
p a p e r s : T h e 2 3
r d
I n t . S y m p . F a u l t - T o l e r a n t C o m p . , ( T o u l o u s e , F r a n c e ) , p p . 3 8 2 { 3 9 1 , J u n e
1 9 9 3 .
1 9 ] S . - T . H u a n g , J . - R . J i a n g , a n d Y . - C . K u o , \ k - c o t e r i e s f o r f a u l t - t o l e r a n t k e n t r i e s t o a c r i t i c a l
s e c t i o n , " i n I n t e r n a t i o n a l C o n f . D i s t r i b u t e d C o m p u t i n g S y s t e m s , p p . 7 4 { 8 1 , 1 9 9 3 .
2 0 ] K . R a y m o n d , \ A d i s t r i b u t e d a l g o r i t h m f o r m u l t i p l e e n t e r i e s t o a c r i t i c a l s e c t i o n , " I n f o r m a t i o n
P r o c e s s i n g L e t t e r s , v o l . 3 0 , p p . 1 8 9 { 1 9 3 , F e b r u a r y 1 9 8 9 .
2 1 ] P . K . S r i m a n i a n d R . L . R e d d y , \ A n o t h e r d i s t r i b u t e d a l g o r i t h m f o r m u l t i p l e e n t e r i e s t o a
c r i t i c a l s e c t i o n , " I n f o r m a t i o n P r o c e s s i n g L e t t e r s , v o l . 4 1 , p p . 5 1 { 5 7 , J a n u a r y 1 9 9 2 .
2 2 ] K . M a k k i , P . B a n t a , K . B e e n , N . P i s s i n o u , a n d E . P a r k , \ A t o k e n b a s e d d i s t r i b u t e d k m u t u a l
e x c l u s i o n a l g o r i t h m , " i n I E E E P r o c e e d i n g s o f t h e S y m p o s i u m o n P a r a l l e l a n d D i s t r i b u t e d
P r o c e s s i n g , ( A r l i n g t o n , T X ) , p p . 4 0 8 { 4 1 1 , D e c e m b e r 1 9 9 2 .
2 0