A Multi-Agent Approach To Distributed Computing

Embed Size (px)

Citation preview

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    1/13

    A M u l t i - A g e n t A p p r o a c h t o D i s t r i b u t e d C o m p u t i n g

    C . R . M u t h u k r i s h n a n , S u r e s h T . B .

    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 a n d E n g i n e e r i n g

    I n d i a n I n s t i t u t e o f T e c h n o l o g y , M a d r a s

    I n d i a

    E m a i l : c r m @ i i t m . e r n e t . i n , s u n n y @ i n d y . i i t m . e r n e t . i n

    A b s t r a c t

    A n e t w o r k o f h e t e r o g e n e o u s w o r k s t a t i o n s i s a n i n h e r e n t l y d y n a m i c d i s t r i b u t e d

    e n v i r o n m e n t . T h e n u m b e r o f l i g h t l y l o a d e d w o r k s t a t i o n s a v a i l a b l e f o r u s e c o n t i n u -

    a l l y c h a n g e s ; t h e p a r a l l e l m a c h i n e p r e s e n t e d b y t h e n e t w o r k , i n e e c t , c o n t i n u a l l y

    u n d e r g o e s r e c o n g u r a t i o n . A p p l i c a t i o n p r o g r a m s m u s t e e c t i v e l y a d a p t t o t h e

    c h a n g i n g n u m b e r o f p r o c e s s i n g n o d e s w h i l e m a i n t a i n i n g c o m p u t a t i o n a l e c i e n c y .

    T h e p r e s e n t w o r k d e v e l o p s m e t h o d s u s i n g s o f t w a r e a g e n t s w h i c h a d a p t t o a d y n a m i c

    e n v i r o n m e n t . D i s t r i b u t e d a p p l i c a t i o n s c a n b e w r i t t e n u s i n g a p r o g r a m m i n g i n t e r -

    f a c e t o t h e a g e n t s w h i c h c a r r y o u t t h e c o m p u t a t i o n s t h u s p r o v i d i n g m a x i m u m e x -

    i b i l i t y . W e u s e m u l t i - a g e n t t e c h n o l o g y f o r d i s t r i b u t e d c o m p u t i n g . O u r m u l t i - a g e n t

    a p p r o a c h s p e e d s u p d a t a p a r a l l e l a p p l i c a t i o n s b y a l l o c a t i n g w o r k s t a t i o n s f a i r l y a n d

    e c i e n t l y . W e p r e s e n t t h e d e s i g n o f a m u l t i - a g e n t s y s t e m t h a t a d a p t i v e l y e x e c u t e s

    d a t a p a r a l l e l p r o g r a m s o n a n e t w o r k o f w o r k s t a t i o n s . T w o e x a m p l e s , t h e M a n d e l -

    b r o t s e t c o m p u t a t i o n a n d t h e T r a v e l i n g S a l e s m a n P r o b l e m a r e i m p l e m e n t e d a n d

    s t u d i e d u s i n g o u r a p p r o a c h a n d p e r f o r m a n c e r e s u l t s a r e p r e s e n t e d .

    K e y w o r d s : s o f t w a r e a g e n t s , m u l t i - a g e n t s y s t e m s , p a r a l l e l / d i s t r i b u t e d c o m p u t i n g ,

    a d a p t i v e p a r a l l e l i s m

    1 I n t r o d u c t i o n

    P a r a l l e l d i s t r i b u t e d e n v i r o n m e n t s 9 , 1 1 , 1 4 , 1 6 ] c o n s i s t i n g o f a n e t w o r k o f h e t e r o g e n e o u s

    w o r k s t a t i o n s i n t r o d u c e a n i n h e r e n t l y d y n a m i c e n v i r o n m e n t . T h e n u m b e r o f w o r k s t a t i o n s

    a v a i l a b l e f o r u s e i s c o n t i n u a l l y c h a n g i n g ; t h e p a r a l l e l m a c h i n e p r e s e n t e d b y t h e n e t w o r k

    i s i n e e c t c o n t i n u a l l y r e c o n g u r i n g i t s e l f . A p p l i c a t i o n p r o g r a m s m u s t e e c t i v e l y a d a p t

    t o t h e c h a n g i n g n u m b e r o f p r o c e s s i n g n o d e s a n d a c h i e v e c o m p u t a t i o n a l e c i e n c y .

    1

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    2/13

    R e c e n t y e a r s h a v e s e e n a m a r k e d i n t e r e s t i n a g e n t - o r i e n t e d t e c h n o l o g y 4 , 1 2 ] , s p a n n i n g

    a p p l i c a t i o n s a s d i v e r s e a s i n f o r m a t i o n r e t r i e v a l , u s e r i n t e r f a c e d e s i g n a n d n e t w o r k m a n -

    a g e m e n t . A n a g e n t i s a c o m p u t a t i o n a l e n t i t y w h i c h a c t s o n b e h a l f o f o t h e r e n t i t i e s i n

    a n a u t o n o m o u s f a s h i o n , p e r f o r m s i t s a c t i o n s w i t h s o m e l e v e l o f p r o - a c t i v i t y a n d / o r r e a c -

    t i v e n e s s , e x h i b i t s s o m e l e v e l o f t h e k e y a t t r i b u t e s o f l e a r n i n g , c o o p e r a t i o n a n d m o b i l i t y .

    S o f t w a r e a g e n t s ( o f t e n s i m p l y t e r m e d a g e n t s ) a r e s o f t w a r e s y s t e m s t h a t l o o s e l y c o n f o r m

    t o t h i s d e s c r i p t i o n 6 ] .

    O u r o b j e c t i v e i s t o u s e a m u l t i - a g e n t s y s t e m f o r d i s t r i b u t e d c o m p u t i n g o n a n e t w o r k o f

    w o r k s t a t i o n s . W e d e v e l o p m e t h o d s u s i n g a g e n t s w h i c h a d a p t t o a d y n a m i c e n v i r o n m e n t

    w h e r e m a c h i n e s c a n c o m e i n t o a n d l e a v e t h e n e t w o r k o v e r t i m e . D i s t r i b u t e d a p p l i c a t i o n s

    c a n b e w r i t t e n w i t h a p r o g r a m m i n g i n t e r f a c e t o t h e a g e n t s s o t h a t a g e n t s c a n t a k e c a r e

    o f t h e c o m p u t a t i o n s w i t h t h e m a x i m u m e x i b i l i t y . T o f a c i l i t a t e t h e u s e o f h e t e r o g e n e o u s

    m a c h i n e s i n a n e t w o r k , w e u s e t h e J a v a p r o g r a m m i n g l a n g u a g e i n o u r i m p l e m e n t a t i o n .

    W e u s e a n a g e n t c o m m u n i c a t i o n l a n g u a g e f o r i n f o r m a t i o n e x c h a n g e a t a h i g h e r l e v e l

    a m o n g a g e n t s f o r d i s t r i b u t e d c o m p u t i n g . T w o e x a m p l e s , v i z , M a n d e l b r o t s e t c o m p u t a -

    t i o n a n d t h e T r a v e l i n g S a l e s m a n P r o b l e m a r e i m p l e m e n t e d t o s t u d y t h i s a p p r o a c h a n d

    t h e i r p e r f o r m a n c e r e s u l t s a r e p r e s e n t e d .

    2 D e s i g n

    A s c h e m a t i c d e s i g n o f o u r m u l t i a g e n t s y s t e m i s g i v e n i n F i g u r e 1 . A g e n t s r e s i d e o n

    t h e n o d e s o f t h e n e t w o r k o f w o r k s t a t i o n s . A g e n t s g e t i n f o r m a t i o n f r o m t h e u s e r a n d

    o t h e r a g e n t s . T h e d a e m o n p a r t o f a n a g e n t a l w a y s l i s t e n s f o r c o m m u n i c a t i o n f r o m o t h e r

    a g e n t s i n t h e n e t w o r k .

    T h e a p p l i c a t i o n p r o g r a m a c c e s s e s t h e a g e n t s y s t e m u s i n g a p r o g r a m m i n g i n t e r f a c e t o

    t h e a g e n t s . T h i s i n t e r f a c e d e n e s t h e c o m m u n i c a t i o n b e t w e e n t h e a p p l i c a t i o n p r o g r a m

    a n d t h e a g e n t s y s t e m . T h i s f a c i l i t a t e s d e v e l o p i n g t h e a p p l i c a t i o n p r o g r a m a n d t h e

    a g e n t s y s t e m s e p a r a t e l y . I t i s a l w a y s b e t t e r t o m a k e t h e a g e n t s y s t e m s e p a r a t e f r o m

    t h e a p p l i c a t i o n p r o g r a m s o t h a t m a n y a p p l i c a t i o n p r o g r a m s c a n b e d e v e l o p e d u s i n g t h e

    s a m e i n t e r f a c e .

    I n i t i a l l y t h e p r o b l e m i s g i v e n t o a s i n g l e a g e n t w h i c h d e c o m p o s e s i t i n t o s u b p r o b l e m s

    2

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    3/13

    Programming Interface

    Informationsources

    Application Program

    Daemonwith other

    communication

    User

    agents

    Agent

    F i g u r e 1 : D e s i g n o f o u r M u l t i - A g e n t S y s t e m

    a n d d i s t r i b u t e s t h e m a m o n g o t h e r a g e n t s . F o r t h i s , t h e a g e n t s i n t h e s y s t e m n e e d t o

    c o m m u n i c a t e a n d c o o r d i n a t e a m o n g t h e m s e l v e s .

    3 B e h a v i o u r

    O u r m u l t i - a g e n t s y s t e m i s d e c e n t r a l i z e d . I t c o n s i s t s o f a d i s t r i b u t e d s e t o f a g e n t s , e a c h

    r u n n i n g o n a n o d e i n t h e n e t w o r k . T h e r e i s n o s i n g l e p o i n t o f c o n t r o l . E a c h a g e n t i s

    c a p a b l e o f b o t h a s s i g n i n g t a s k s o r i g i n a t i n g o n t h e l o c a l m a c h i n e a n d o e r i t s p r o c e s s i n g

    r e s o u r c e s f o r t a s k s f r o m o t h e r n o d e s / a g e n t s . A l l a g e n t s a r e i d e n t i c a l a n d h a v e t h e s a m e

    b e h a v i o u r .

    A g e n t b e h a v i o u r i s b a s e d o n a m a r k e t / b i d d i n g m e t a p h o r . T h e u n d e r l y i n g p r o t o c o l

    o n w h i c h t h i s m e t a p h o r i s i m p l e m e n t e d i s t h e C o n t r a c t N e t p r o t o c o l 1 5 ] . T h e b a s i c

    m e c h a n i s m i n t h i s p r o t o c o l i s t o s e n d r e q u e s t s f o r a c c e p t i n g w o r k ( c a l l f o r b i d s ) a n d

    t h e n a s s i g n t h e w o r k t o t h e a g e n t s ( s ) a c c o r d i n g t o s o m e c r i t e r i a ( f o r e x a m p l e , l o a d o f

    t h e m a c h i n e o n w h i c h t h e a g e n t i s r u n n i n g ) w h i c h t h e p a r t i c i p a t i n g a g e n t s p r o v i d e w h e n

    t h e y r e s p o n d t o t h e r e q u e s t f o r b i d s .

    3

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    4/13

    A g e n t s c a n j o i n t h e c o m p u t a t i o n b y r e s p o n d i n g t o t h e r e q u e s t f o r b i d s . A g e n t s i n f o r m

    t h e i r a v a i l a b i l i t y b y s u b m i t t i n g a b i d . A s s i g n m e n t o f s u b p r o b l e m s d e p e n d s o n t h e b i d

    t h e a g e n t s u b m i t s .

    3 . 1 B i d d i n g a n d D i s t r i b u t i o n o f S u b p r o b l e m s

    A n a g e n t d i v i d e s t h e p r o b l e m g i v e n t o i t i n t o s u b p r o b l e m s . I t t h e n s e n d s r e q u e s t s t o

    a l l o t h e r a g e n t s f o r b i d s f o r a s u b p r o b l e m . T h e r e s p o n s e s r e c e i v e d f r o m t h e a g e n t s

    a r e e v a l u a t e d a n d t h e s u b p r o b l e m i s a s s i g n e d t o o n e o f t h e a g e n t s w i t h b e s t b i d . A l l

    s u b p r o b l e m s a r e h a n d l e d i n t h i s m a n n e r b y t h e a g e n t s .

    E a c h a g e n t w h i c h t a k e s p a r t i n s o l v i n g a p r o b l e m c a n d i s t r i b u t e w o r k t o o t h e r a g e n t s .

    S u b p r o b l e m s o r i g i n a t e a t t h e n o d e s a n d a g e n t s w h i c h s o l v e t h e s e s u b p r o b l e m s n e e d t o

    c o o p e r a t e a m o n g t h e m s e l v e s t o t a k e i n t o a c c o u n t d e p e n d e n c i e s i n t h e c o m p u t a t i o n .

    3 . 2 D y n a m i c A d d i t i o n a n d L e a v i n g o f A g e n t s

    A g e n t s c a n j o i n t h e c o m p u t a t i o n b y r e s p o n d i n g t o t h e r e q u e s t f o r b i d s . T h e r e q u e s t f o r

    b i d s i s a b r o a d c a s t a n d h e n c e a n y a g e n t w h o i s l i s t e n i n g c a n r e s p o n d w i t h a b i d i f i t

    w a n t s t o j o i n t h e c o m p u t a t i o n .

    A g e n t s i n o u r m u l t i - a g e n t s y s t e m c a n l e a v e t h e s y s t e m w h e n t h e s u b p r o b l e m a s s i g n e d

    t o i t h a s b e e n s o l v e d . B e f o r e l e a v i n g , t h e a g e n t c o m m u n i c a t e s t h e s o l u t i o n o f t h e s u b -

    p r o b l e m t o t h e a g e n t f r o m w h i c h i t h a d r e c e i v e d t h e s u b p r o b l e m .

    W h e n a s o l u t i o n t o t h e p r o b l e m i s f o u n d , t h i s i n f o r m a t i o n i s b r o a d c a s t t o a l l o t h e r

    a g e n t s . O n r e c e i v i n g t h i s i n f o r m a t i o n a l l a g e n t s t e r m i n a t e t h e l o c a l c o m p u t a t i o n .

    4 C o m m u n i c a t i o n

    L a r g e - s c a l e c o m p u t a t i o n c o n s i s t i n g o f a c o l l e c t i o n o f i n d e p e n d e n t , a u t o n o m o u s e n t i t i e s

    r e q u i r e s c o m m u n i c a t i o n b e t w e e n t h e e n t i t i e s t o s u p p o r t c o o r d i n a t i o n a n d s y n c h r o n i z a -

    t i o n . T h e c o m m u n i c a t i o n b e t w e e n a g e n t s i s b y a s y n c h r o n o u s m e s s a g e p a s s i n g . T h e

    i n t e r a c t i o n a m o n g a g e n t s n e e d n o t b e , a n d i s o f t e n n o t , p r e d e t e r m i n e d 7 ] .

    4

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    5/13

    F o r s o f t w a r e a g e n t s t o i n t e r a c t a n d i n t e r - o p e r a t e e e c t i v e l y t h r e e f u n d a m e n t a l a n d d i s -

    t i n c t c o m p o n e n t s a r e r e q u i r e d : 1 ) a c o m m o n l a n g u a g e 2 ) a c o m m o n u n d e r s t a n d i n g o f

    t h e k n o w l e d g e e x c h a n g e d a n d 3 ) t h e a b i l i t y t o e x c h a n g e w h a t e v e r i s i n c l u d e d i n ( 1 ) a n d

    ( 2 ) . A g e n t s a r e c o m m o n l y t a k e n t o b e \ h i g h - l e v e l " . H e n c e t h e c o m m u n i c a t i o n l a n g u a g e

    s h o u l d b e p o w e r f u l e n o u g h t o s u p p o r t c o m m u n i c a t i o n a t t h i s h i g h l e v e l ; o t h e r w i s e t h e

    a g e n t s w i l l h a v e t o p e r f o r m t h e t a s k o f t r a n s l a t i n g t h e i n f o r m a t i o n e x c h a n g e d b e t w e e n

    l e v e l s .

    (tell :sender agentA

    :receiver agentB

    :language KIF

    :content (load 50))

    F i g u r e 2 : E x a m p l e K Q M L P e r f o r m a t i v e

    W e u s e t h e K n o w l e d g e Q u e r y a n d M a n i p u l a t i o n L a n g u a g e ( K Q M L ) 1 7 , 1 8 ] i n o u r

    i m p l e m e n t a t i o n . K n o w l e d g e I n t e r c h a n g e F o r m a t ( K I F ) 5 , 2 0 ] i s u s e d a s t h e c o n t e n t

    l a n g u a g e . K I F i s a p r e x v e r s i o n o f r s t o r d e r p r e d i c a t e c a l c u l u s w i t h e x t e n s i o n s t o

    e n h a n c e i t s e x p r e s s i v e n e s s . A n e x a m p l e o f a K Q M L p e r f o r m a t i v e t h a t u s e s K I F a s t h e

    c o n t e n t l a n g u a g e i s s h o w n i n F i g u r e 2 . T h i s p e r f o r m a t i v e i s u s e d b y a g e n t A t o c o n v e y

    t o a g e n t B t h a t i t s l o a d i s 5 0 % .

    5 I m p l e m e n t a t i o n

    T w o d i e r e n t a p p r o a c h e s h a v e b e e n e x p l o r e d i n t h e l i t e r a t u r e 5 ] f o r c o m m u n i c a t i o n

    b e t w e e n t h e a g e n t s i n a m u l t i - a g e n t s y s t e m : d i r e c t c o m m u n i c a t i o n ( i n w h i c h a g e n t s

    h a n d l e t h e i r o w n c o o r d i n a t i o n ) a n d a s s i s t e d c o o r d i n a t i o n ( i n w h i c h a g e n t s r e l y o n s p e c i a l

    s y s t e m p r o g r a m s c a l l e d f a c i l i t a t o r s t o a c h i e v e c o o r d i n a t i o n ) .

    W e e m p l o y d i r e c t c o m m u n i c a t i o n a m o n g a g e n t s . T h e a d v a n t a g e o f d i r e c t c o m m u n i c a t i o n

    i s t h a t i t i s s i m p l e , e c i e n t a n d d o e s n o t r e l y o n t h e e x i s t e n c e o r c a p a b i l i t y o f a n y o t h e r

    p r o g r a m s . W e u s e t h e p o p u l a r c o n t r a c t - n e t a p p r o a c h f o r d i r e c t c o m m u n i c a t i o n .

    A g e n t s y s t e m s a r e b u i l t i n J a v a s o t h a t a g e n t s c a n r u n o n h e t e r o g e n e o u s p l a t f o r m s .

    J A T L i t e ( J a v a A g e n t T e m p l a t e , L i t e ) 1 9 ] i s a n a g e n t w r i t i n g t o o l i n J a v a . I t p r o v i d e s

    5

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    6/13

    a J a v a a g e n t p l a t f o r m t h a t m a k e s i t e a s y t o b u i l d s y s t e m s i n a c o m m o n w a y w i t h o u t

    i m p o s i n g a n y p a r t i c u l a r t h e o r y o f a u t o n o m o u s a g e n t s . W e h a v e u s e d J A T L i t e t o b u i l d

    o u r m u l t i - a g e n t s y s t e m . A p p l i c a t i o n p r o g r a m s a r e w r i t t e n i n J a v a a n d J A T L i t e l i b r a r y

    c a l l s a r e i n v o k e d f r o m t h e J a v a p r o g r a m . J A T L i t e f a c i l i t a t e s c o n s t r u c t i o n o f a g e n t s t h a t

    s e n d a n d r e c e i v e m e s s a g e s u s i n g t h e s t a n d a r d c o m m u n i c a t i o n l a n g u a g e K Q M L .

    6 C a s e S t u d y 1 : M a n d e l b r o t S e t C o m p u t a t i o n

    T h e M a n d e l b r o t s e t , n a m e d a f t e r B e n o i t M a n d e l b r o t , i s a f r a c t a l . F r a c t a l s a r e o b j e c t s

    t h a t d i s p l a y s e l f - s i m i l a r i t y a t v a r i o u s s c a l e s . T h e p r o c e s s o f g e n e r a t i n g t h e M a n d e l b r o t

    s e t i s b a s e d o n a n e x t r e m e l y s i m p l e e q u a t i o n i n v o l v i n g c o m p l e x n u m b e r s 1 ] .

    6 . 1 I m p l e m e n t a t i o n

    A g e n t s a r e o r g a n i z e d a c c o r d i n g t o t h e m a s t e r - s l a v e m o d e l f o r t h i s e x a m p l e . T h e r e i s a

    m a s t e r a g e n t t h a t c o o r d i n a t e s t h e c o m p u t a t i o n s o f t h e w o r k e r a g e n t s . T h e c o m p u t a t i o n

    i n v o l v e s a p p l y i n g a r e c u r s i v e f u n c t i o n t o a c o l l e c t i o n o f p o i n t s i n t h e c o m p l e x p l a n e

    u n t i l t h e f u n c t i o n v a l u e s e i t h e r r e a c h a s p e c i c v a l u e o r b e g i n t o d i v e r g e . D e p e n d i n g

    u p o n t h i s c o n d i t i o n , a g r a p h i c a l r e p r e s e n t a t i o n o f e a c h p o i n t i n t h e p l a n e i s c o n s t r u c t e d .

    S i n c e t h e f u n c t i o n o u t c o m e d e p e n d s o n l y o n t h e s t a r t i n g v a l u e o f t h e p o i n t ( a n d i s

    Tasks

    MandelbrotMaster

    Slave

    Slave

    Slave

    Slave

    F i g u r e 3 : M a s t e r - s l a v e p a r a d i g m

    6

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    7/13

    i n d e p e n d e n t o f o t h e r p o i n t s ) , t h e p r o b l e m i s p a r t i t i o n e d i n t o c o m p l e t e l y i n d e p e n d e n t

    p o r t i o n s . T h e a l g o r i t h m i s a p p l i e d t o e a c h p o r t i o n a n d t h e p a r t i a l r e s u l t s o b t a i n e d a r e

    c o m b i n e d u s i n g s i m p l e c o m b i n a t i o n s c h e m e s . T h e c o n t r o l s t r u c t u r e o f t h e m a s t e r - s l a v e

    c l a s s o f a p p l i c a t i o n s i s s h o w n i n F i g u r e 3 .

    6 . 2 P e r f o r m a n c e R e s u l t s

    M a c h i n e s T y p e o f M a c h i n e s T i m e S p e e d u p E c i e n c y

    ( s e c ) o f p r o c e s s o r u s a g e

    1 S G V e r . 5 . 3 1 9 n / a 1 0 0 %

    ( s e q u e n t i a l )

    1 S G V e r . 5 . 3 2 1 . 8 0 . 8 7 8 7 . 2 %

    2 2 S G ( V e r . 5 . 3 & 6 . 2 ) 1 2 . 8 1 . 4 8 7 4 . 2 2 %

    3 2 S G & 1 S P 9 . 6 1 . 9 8 6 6 %

    4 2 S G & 2 S P 9 2 . 1 1 5 2 . 8 %

    5 2 S G & 3 S P 7 . 8 2 . 4 4 4 8 . 7 %

    S G - S i l i c o n G r a p h i c s , S P - S U N S P A R C

    T a b l e 1 : P e r f o r m a n c e R e s u l t s ( M a n d e l b r o t S e t C o m p u t a t i o n )

    T h e i m p l e m e n t a t i o n h a s b e e n d o n e o n t w o S i l i c o n G r a p h i c s w o r k s t a t i o n s ( o n e r u n n i n g

    v e r s i o n 6 . 2 a n d t h e o t h e r r u n n i n g v e r s i o n 5 . 3 o f t h e I R I X o p e r a t i n g s y s t e m ) a n d t h r e e

    S U N S P A R C w o r k s t a t i o n s ( e a c h r u n n i n g S o l a r i s 2 . 3 ) . T h e w o r k s t a t i o n s a r e c o n n e c t e d

    u s i n g a 1 0 M b p s E t h e r n e t n e t w o r k .

    T h e p e r f o r m a n c e r e s u l t s a r e a s s h o w n i n T a b l e 1 . A l l t i m e s a r e a c t u a l w a l l c l o c k t i m e s .

    T h e s p e e d u p a n d e c i e n c y a r e c a l c u l a t e d u s i n g t h e f o r m u l a :

    s p e e d u p = ( s e q u e n t i a l t i m e = t i m e t o r u n u n d e r o u r s y s t e m )

    e f f i c i e n c y = s e q u e n t i a l t i m e = ( t i m e n u m b e r o f m a c h i n e s )

    S p e e d u p a n d e c i e n c y a r e p l o t t e d a g a i n s t t h e n u m b e r o f m a c h i n e s i n F i g u r e 4 . W e n o t e

    t h a t t h e p e r f o r m a n c e o f t h e s y s t e m i m p r o v e s a s m o r e m a c h i n e s c o m e i n t o a n d t a k e p a r t

    i n t h e c o m p u t a t i o n .

    7

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    8/13

    0

    5

    10

    15

    20

    25

    0

    0.5

    1

    1.5

    2

    2.5

    3

    1 3 4 52

    Time in

    Seconds

    Speedup

    1

    Number of Machines(sequential)

    F i g u r e 4 : P e r f o r m a n c e E v a l u a t i o n ( M a n d e l b r o t S e t C o m p u t a t i o n )

    7 C a s e S t u d y 2 : T h e T r a v e l i n g S a l e s m a n P r o b l e m

    T h e t r a v e l i n g s a l e s m a n p r o b l e m 1 0 ] i s t o n d a s h o r t e s t p o s s i b l e c i r c u i t t h r o u g h n c i t i e s ,

    w h e r e t h e d i s t a n c e s b e t w e e n t h e c i t i e s a r e g i v e n .

    T h e a l g o r i t h m d e v e l o p e d b y L i t t l e , e t a l . 3 ] u s e s a b r a n c h - a n d - b o u n d m e t h o d t o s o l v e

    t h e t r a v e l i n g s a l e s m a n p r o b l e m . L i t t l e t a k e s a d v a n t a g e o f o n e o f t h e t r a d e - o s p o s s i b l e

    i n b r a n c h - a n d - b o u n d m e t h o d s 2 , 8 ] . A p o o r b u t e a s i l y c a l c u l a t e d b o u n d r e s u l t s i n m o r e

    b r a n c h i n g o p e r a t i o n s b u t l e s s c o m p u t a t i o n a t e a c h n o d e . T h i s m a k e s t h e p a r a l l e l i z a t i o n

    o f t h e a l g o r i t h m e a s i e r . T h e c a l c u l a t i o n o f b o u n d s i s r e f e r r e d t o a s m a t r i x r e d u c t i o n .

    T h e r e d u c e d m a t r i c e s a r e u s e d f o r b r a n c h i n g b y p a r t i t i o n i n g t h e t o u r s i n a g i v e n s u b s e t

    i n t o t w o s u b s e t s . T h i s i s d o n e b y c o m m i t t i n g a n a r c i n o n e o f t h e s u b s e t s a n d p r o h i b i t i n g

    t h a t a r c i n t h e o t h e r s u b s e t .

    7 . 1 I m p l e m e n t a t i o n

    W e a r e u s i n g a p a r a l l e l i z e d v e r s i o n o f L i t t l e ' s a l g o r i t h m t o s o l v e t h e T S P o n a n e t w o r k o f

    w o r k s t a t i o n s . T h e s a m e p r o g r a m ( a g e n t ) r u n s o n a l l t h e w o r k s t a t i o n s t h a t t a k e p a r t i n

    t h e c o m p u t a t i o n . A g e n t s r u n n i n g o n d i e r e n t w o r k s t a t i o n s e x p l o r e d i e r e n t t o u r s a n d

    c o m m u n i c a t e t h e i r l o w e r b o u n d s w h e n t h e y n e e d t o c u t o s o m e o f t h e b r a n c h e s o f t h e

    8

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    9/13

    t o u r t r e e .

    7 . 2 P e r f o r m a n c e R e s u l t s

    T h e i m p l e m e n t a t i o n h a s b e e n d o n e o n t h r e e S i l i c o n G r a p h i c s w o r k s t a t i o n s r u n n i n g v e r -

    s i o n 6 . 2 o f t h e I R I X o p e r a t i n g s y s t e m . T h e w o r k s t a t i o n s a r e c o n n e c t e d u s i n g a 1 0 M b p s

    E t h e r n e t n e t w o r k .

    N o . o f T i m e T a k e n N o d e s P r o b l e m

    M a c h i n e s ( m i n u t e s ) E x p l o r e d S o l v e d ?

    1 7 2 3 0 6 9 N o

    2 7 6 5 1 4 6 Y e s

    3 3 1 5 2 1 7 Y e s

    T a b l e 2 : P e r f o r m a n c e R e s u l t s ( T r a v e l i n g S a l e s m a n P r o b l e m )

    W e u s e t h e 2 5 c i t y p r o b l e m o f H e l d a n d K a r p 1 3 ] a s i n p u t . W i t h o n e a g e n t t h e s y s t e m

    r u n s o u t o f m e m o r y a f t e r o n e h o u r o f c o m p u t a t i o n . T w o a g e n t s s o l v e d t h e p r o b l e m i n

    7 6 m i n u t e s . T h e t o t a l n u m b e r o f n o d e s o f t h e t r e e e x p l o r e d w a s a r o u n d 5 0 0 0 . W i t h

    t h r e e a g e n t s t h e t i m e r e q u i r e d t o s o l v e t h e p r o b l e m r e d u c e d t o 3 1 m i n u t e s . H e r e a l s o t h e

    t o t a l n u m b e r o f n o d e s e x p l o r e d w a s a r o u n d 5 0 0 0 . W h e n a s o l u t i o n i s f o u n d , s o m e o f t h e

    b r a n c h e s w h i c h l e a d t o h i g h e r c o s t a r e c u t o , t h u s d e c r e a s i n g t h e s t o r a g e r e q u i r e m e n t s .

    I t i s d u e t o t h i s t h a t t h e p r o b l e m c a n b e s o l v e d w i t h m o r e t h a n o n e a g e n t b u t n o t w i t h a

    s i n g l e a g e n t . A g e n t s c o m m u n i c a t e w i t h e a c h o t h e r a f t e r 5 0 0 i t e r a t i o n s . T h e p e r f o r m a n c e

    r e s u l t s a r e t a b u l a t e d i n T a b l e 2 . W e n o t e t h a t p e r f o r m a n c e o f t h e s y s t e m i m p r o v e s a s

    m o r e m a c h i n e s j o i n t h e c o m p u t a t i o n .

    A g e n t s c a n d y n a m i c a l l y e n t e r a n d l e a v e t h e s y s t e m d u r i n g a c o m p u t a t i o n . A n y a g e n t

    w h o w a n t s t o l e a v e t h e s y s t e m a s s i g n s i t s w o r k t o a n y o t h e r a g e n t w h o i s w i l l i n g t o a c c e p t

    t h e w o r k . T h e p e r f o r m a n c e r e s u l t s w h e n a g e n t s a r e d y n a m i c a l l y a d d e d t o t h e s y s t e m

    a r e p l o t t e d i n F i g u r e 5 . A g e n t 1 s t a r t s a t t i m e 0 . W h e n t h e t o t a l n u m b e r o f n o d e s

    e x p l o r e d b e c o m e s 4 0 0 , a g e n t 2 j o i n s t h e s y s t e m ( i . e . a f t e r 1 5 s e c o n d s o f c o m p u t a t i o n ) .

    A g e n t 3 c o m e s i n t o t h e s y s t e m w h e n t h e t o t a l n u m b e r o f n o d e s e x p l o r e d b e c o m e s 7 0 0

    ( i . e . a f t e r 3 7 s e c o n d s o f c o m p u t a t i o n ) . A l l t h r e e a g e n t s t h e n t r y t o s o l v e t h e p r o b l e m

    t o g e t h e r . T h e p r o b l e m w a s s o l v e d i n 2 4 m i n u t e s a n d t h e t o t a l n u m b e r o f n o d e s e x p l o r e d

    9

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    10/13

    15 sec

    37 sec

    Total Number of Nodes Explored

    When the Agent is Started

    Agent 1 Agent 2 Agent 3

    Total Number of

    Nodes Explored

    6208=

    Active Time

    Idle Time

    24 min

    0 400 700

    F i g u r e 5 : D y n a m i c A d d i t i o n o f A g e n t s ( P e r f o r m a n c e E v a l u a t i o n )

    w a s 6 2 0 8 . H e r e t h e a g e n t s c o m m u n i c a t e w i t h e a c h o t h e r a f t e r 2 0 0 i t e r a t i o n s .

    P e r f o r m a n c e r e s u l t s f o r d y n a m i c a d d i t i o n a n d l e a v i n g o f a g e n t s a r e p l o t t e d i n F i g u r e 6 .

    0

    4.0

    4.5

    5.0

    5.5

    6.0

    200

    3550

    2249

    899

    5822

    Time

    in

    msec

    Active

    Idle

    (log scale)

    Agent 2 Agent 3Agent 1

    Total Number

    of Nodes

    Explored

    (not to scale)

    F i g u r e 6 : D y n a m i c A d d i t i o n a n d L e a v i n g o f A g e n t s ( P e r f o r m a n c e E v a l u a t i o n )

    1 0

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    11/13

    I t s h o w s a g e n t s 1 , 2 a n d 3 e n t e r i n g t h e s y s t e m i n t h a t o r d e r . T h e n a g e n t s 3 a n d 2 l e a v e

    t h e s y s t e m . T h e g r a p h p l o t s t h e a m o u n t o f t i m e s p e n t b y e a c h a g e n t i n t h e l o g a r i t h m i c

    s c a l e . T h e t o t a l n u m b e r o f n o d e s e x p l o r e d i s a l s o g i v e n ( n o t t o s c a l e ) . H e r e a l s o t h e

    c o m m u n i c a t i o n t a k e s p l a c e a f t e r 2 0 0 i t e r a t i o n s .

    8 C o n c l u s i o n s

    I n t h i s p a p e r , w e h a v e p r e s e n t e d t h e d e s i g n o f a m u l t i - a g e n t s y s t e m f o r d i s t r i b u t e d

    c o m p u t i n g o n a n e t w o r k o f w o r k s t a t i o n s . T w o e x a m p l e s w i t h t h e i r p e r f o r m a n c e r e s u l t s

    a r e p r e s e n t e d . T h e c o n t r i b u t i o n s o f t h i s w o r k a r e

    1 ) U s e o f m u l t i - a g e n t a p p r o a c h f o r d i s t r i b u t e d c o m p u t i n g o n a n e t w o r k o f w o r k s t a t i o n s .

    2 ) A d a p t i n g a c o m p u t a t i o n t o a d y n a m i c e n v i r o n m e n t w h e r e m a c h i n e s c a n c o m e i n t o

    a n d l e a v e t h e n e t w o r k o v e r t i m e .

    3 ) U s i n g a n a g e n t c o m m u n i c a t i o n l a n g u a g e f o r i n f o r m a t i o n e x c h a n g e a t a h i g h e r l e v e l

    a m o n g a g e n t s f o r d i s t r i b u t e d c o m p u t i n g .

    1 1

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    12/13

    R e f e r e n c e s

    1 M i c h a e l B a r n s l e y . F r a c t a l s E v e r y w h e r e . A c a d e m i c P r e s s I n c . , 1 9 8 8 .

    2 T e o d o r G a b r i e l C r a i n i c a n d B e r n a r d G e n d r o n . P a r a l l e l b r a n c h - a n d - b o u n d a l -

    g o r i t h m s : S u r v e y a n d s y n t h e s i s . O p e r a t i o n s R e s e a r c h , 4 2 ( 6 ) : 1 0 4 2 { 1 0 6 6 , N o v e m b e r -

    D e c e m b e r 1 9 9 4 .

    3 J . D . C . L i t t l e , D . W . S w e e n e y , C . K a r e l a n d K . G . M u r t y . A n a l g o r i t h m f o r

    t h e t r a v e l i n g s a l e s m a n p r o b l e m . O p e r a t i o n s R e s e a r c h , 1 1 : 9 7 2 { 9 8 9 , 1 9 6 3 .

    4 S t a n F r a n k l i n a n d A r t G r a e s s e r . I s i t a n a g e n t , o r j u s t a p r o g r a m ? : A t a x o n -

    o m y f o r a u t o n o m o u s a g e n t s . I n T h i r d I n t e r n a t i o n a l W o r k s h o p o n A g e n t T h e o r i e s ,

    A r c h i t e c t u r e s , a n d L a n g u a g e s . S p r i n g e r - V e r l a g , 1 9 9 6 .

    5 M . G e n e s e r e t h a n d S . K e t c h p e l . S o f t w a r e a g e n t s . C o m m u n i c a t i o n s o f t h e A C M ,

    3 7 ( 7 ) : 4 8 { 5 3 , 1 9 9 4 .

    6 N . R . J e n n i n g s a n d M . J . W o o l d r i d g e . I n t e l l i g e n t a g e n t s : T h e o r y a n d p r a c t i c e .

    T h e K n o w l e d g e E n g i n e e r i n g R e v i e w , 1 0 ( 2 ) : 1 1 5 { 1 5 2 , 1 9 9 5 .

    7 D e n n i s K a f u r a a n d J e a n - P i e r r e B r i o t . A c t o r s a n d a g e n t s . I E E E C o n c u r r e n c y ,

    p a g e s 2 4 { 2 9 , A p r i l - J u n e 1 9 9 8 .

    8 E . L . L a w l e r a n d D . E . W o o d . B r a n c h - a n d - b o u n d m e t h o d s : A s u r v e y . O p e r a t i o n s

    R e s e a r c h , 1 4 : 6 6 9 { 7 1 9 , 1 9 6 6 .

    9 M i k e L i t z k o w a n d M i r o n L i v n y . E x p e r i e n c e w i t h t h e C o n d o r d i s t r i b u t e d b a t c h

    s y s t e m . I n I E E E W o r k s h o p o n E x p e r i m e n t a l D i s t r i b u t e d S y s t e m s , H u n t s v i l l e , O c -

    t o b e r 1 9 9 0 .

    1 0 ] M . B e l l m o r e a n d G . L . N e m h a u s e r . T h e t r a v e l i n g s a l e s m a n p r o b l e m : A s u r v e y .

    O p e r a t i o n s R e s e a r c h , 1 6 : 5 3 8 { 5 5 8 , 1 9 6 8 .

    1 1 ] D a v i d K a m i n s k y , N i c h o l a s C a r r i e r o , D a v i d G e l e r n t e r a n d J e e r y W e s t -

    b r o o k . A d a p t i v e p a r a l l e l i s m w i t h P i r a n h a . T e c h n i c a l R e p o r t 9 5 4 , Y a l e U n i v e r s i t y ,

    F e b r u a r y 1 9 9 3 .

    1 2

  • 7/28/2019 A Multi-Agent Approach To Distributed Computing

    13/13

    1 2 ] H . N w a n a . S o f t w a r e a g e n t s : A n o v e r v i e w . K n o w l e d g e E n g i n e e r i n g R e v i e w ,

    1 1 ( 3 ) : 1 { 4 0 , S e p t e m b e r 1 9 9 6 .

    1 3 ] R . M . K a r p a n d M . H e l d . A d y n a m i c p r o g r a m m i n g a p p r o a c h t o s e q u e n c i n g

    p r o b l e m s . J . S o c . I n d u s t . a n d A p p l . M a t h . , 1 0 : 1 9 6 { 2 1 0 , 1 9 6 2 .

    1 4 ] S t e v e O t t o , R o b e r t P r o u t y a n d J o n a t h a n W a l p o l e . A d a p t i v e e x e c u t i o n o f

    d a t a p a r a l l e l c o m p u t a t i o n s o n n e t w o r k s o f h e t e r o g e n e o u s w o r k s t a t i o n s . T e c h n i c a l

    R e p o r t C S E - 9 4 - 0 1 2 , 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 a n d E n g i n e e r i n g , O r e g o n

    G r a d u a t e I n s t i t u t e o f S c i e n c e a n d T e c h n o l o g y , B a l t i m o r e C o u n t y , M a r c h 1 9 9 4 .

    1 5 ] R . G . S m i t h . T h e c o n t r a c t n e t p r o t o c o l : H i g h - l e v e l c o m m u n i c a t i o n a n d c o n t r o l i n a

    d i s t r i b u t e d p r o b l e m s o l v e r . I E E E T r a n s a c t i o n s o n C o m p u t e r s , C - 2 9 ( 1 2 ) : 1 1 0 4 { 1 1 1 3 ,

    D e c e m b e r 1 9 8 0 .

    1 6 ] D a v i d A . P a t t e r s o n , T h o m a s E . A n d e r s o n , D a v i d E . C u l l e r a n d t h e

    N O W T e a m . A c a s e f o r n e t w o r k s o f w o r k s t a t i o n s : N O W . I E E E M i c r o , F e b r u a r y

    1 9 9 5 .

    1 7 ] D o n M c k a y , T i m F i n i n , R i c h F r i t z s o n a n d R o b i n M c E n t i r e . K Q M L - a

    l a n g u a g e a n d p r o t o c o l f o r k n o w l e d g e a n d i n f o r m a t i o n e x c h a n g e . T e c h n i c a l R e p o r t

    C S - 9 4 - 0 2 , 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 , U n i v e r s i t y o f M a r y l a n d , U M B C , B a l -

    t i m o r e C o u n t y , 1 9 9 4 .

    1 8 ] C u r r e n t K Q M L s t a n d a r d . h t t p : / / w w w . c s . u m b c . e d u / k q m l / .

    1 9 ] J A T L i t e ( J a v a A g e n t T e m p l a t e , L i t e ) . h t t p : / / j a v a . s t a n f o r d . e d u / j a v a a g e n t / h t m l / .

    2 0 ] U M B C A g e n t W e b . h t t p : / / w w w . c s . u m b c . e d u / a g e n t s / .

    1 3