+ All Categories
Home > Documents > A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994

A Distributed K-Mutual Exclusion Algorithm, Shailaja & Nitin, 1994

Date post: 14-Apr-2018
Category:
Upload: b33law
View: 216 times
Download: 0 times
Share this document with a friend

of 21

Transcript
  • 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


Recommended