faster maximum and minimum mean cycle algorithms for system performance analysis - ali dasdan &...

Upload: bug-menot

Post on 04-Jun-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    1/19

    F a s t e r M a x i m u m a n d M i n i m u m

    M e a n C y c l e A l g o r i t h m s f o r

    S y s t e m P e r f o r m a n c e A n a l y s i s

    A l i D a s d a n

    y

    a n d R a j e s h K . G u p t a

    z

    T e c h n i c a l R e p o r t 9 7 - 0 7

    F e b r u a r y 1 9 9 7

    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

    U n i v e r s i t y o f I l l i n o i s a t U r b a n a - C h a m p a i g n

    U r b a n a , I L 6 1 8 0 1

    E - m a i l : d a s d a n @ c s . u i u c . e d u

    z

    D e p a r t m e n t o f I n f o r m a t i o n a n d 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 C a l i f o r n i a , I r v i n e , C A 9 2 6 9 7

    E - m a i l : r g u p t a @ i c s . u c i . e d u

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    2/19

    F a s t e r M a x i m u m a n d M i n i m u m

    M e a n C y c l e A l g o r i t h m s f o r

    S y s t e m P e r f o r m a n c e A n a l y s i s

    A l i D a s d a n

    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 I l l i n o i s a t U r b a n a - C h a m p a i g n

    1 3 0 4 W . S p r i n g e l d A v e . , U r b a n a , I L 6 1 8 0 1

    E - m a i l : d a s d a n @ c s . u i u c . e d u

    R a j e s h K . G u p t a

    D e p a r t m e n t o f I n f o r m a t i o n a n d C o m p u t e r S c i e n c e , 2 0 8 B I E R F

    U n i v e r s i t y o f C a l i f o r n i a

    I r v i n e , C A 9 2 6 9 7 - 3 4 2 5

    E - m a i l : r g u p t a @ i c s . u c i . e d u

    A b s t r a c t

    M a x i m u m a n d m i n i m u m m e a n c y c l e p r o b l e m s a r e i m p o r t a n t p r o b l e m s w i t h m a n y a p p l i c a -

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

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

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

    p a p e r m a i n l y i n t h e c o n t e x t o f t h e m a x i m u m m e a n c y c l e p r o b l e m . W e s h o w t h a t K a r p ' s a l -

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

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

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

    a n a l y s i s t e l l s u s t h a t o u r a l g o r i t h m s a l w a y s r u n f a s t e r t h a n K a r p ' s a l g o r i t h m . E x p e r i m e n t s o n

    b e n c h m a r k g r a p h s c o n r m t h i s f a c t f o r m o s t o f t h e g r a p h s . L i k e K a r p ' s a l g o r i t h m , t h e y a r e a l s o

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

    a m o n g t h e f a s t e s t t o d a t e .

    1

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    3/19

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

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

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

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

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

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

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

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

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

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

    s y s t e m 1 , 2 , a n d i n d a t a - o w p a r t i t i o n i n g o f s y n c h r o n o u s s y s t e m s 3 ; t h e m a x i m u m m e a n c y c l e

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

    p r o c e s s i n g 4 , i n p e r f o r m a n c e a n a l y s i s o f s y n c h r o n o u s , a s y n c h r o n o u s , o r m i x e d s y s t e m s 5 , a n d

    i n r a t e a n a l y s i s f o r e m b e d d e d s y s t e m s 6 .

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

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

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

    s y s t e m 6 . R a t e c o n s t r a i n t s a r e o f t e n i m p o s e d b y d e s i g n e r s o n t h e e x e c u t i o n r a t e o f e a c h p r o c e s s

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

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

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

    c o n s t r a i n t s . D u e t o d i v e r s e i n t e r a c t i o n s o f t h e p r o c e s s e s i n t h e s y s t e m w i t h o n e a n o t h e r a n d t h e

    s y s t e m ' s e n v i r o n m e n t , s y n t h e s i z i n g e v e n o n e p r o c e s s c a n c r e a t e c o n s t r a i n t v i o l a t i o n s f o r a l l t h e

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

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

    o f c u r r e n t d e s i g n s , t h e n u m b e r o f r e n e m e n t s n e e d e d , a n d s o o n . O u r f r a m e w o r k a u t o m a t e s t h i s

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

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

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

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

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

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

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

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

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

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

    a d v a n c e a n d c a n p o t e n t i a l l y b e l a r g e .

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

    9 , 1 0 , 1 1 . A m o r e c o m p l e t e l i s t i s g i v e n i n 7 . I n t h i s p a p e r , w e f o c u s o n K a r p ' s a l g o r i t h m 8

    a m o n g t h e m b e c a u s e o f t h r e e r e a s o n s : 1 i t h a s o n e o f t h e b e s t a s y m p t o t i c r u n n i n g t i m e s , 2

    i t a l s o w o r k s f o r t h e m a x i m u m m e a n c y c l e p r o b l e m a s p r o v e d i n 1 2 , a n d 3 i t i s u s u a l l y

    t h e a l g o r i t h m o f c h o i c e 3 , 4 , 5 . O r i g i n a l l y , K a r p 8 g a v e a t h e o r e m K a r p ' s t h e o r e m t o

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

    A l t h o u g h t h e r u n n i n g t i m e o f K a r p ' s a l g o r i t h m i s g i v e n i n 8 a s O n m f o r a s t r o n g l y c o n n e c t e d

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

    r u n n i n g t i m e s a r e t h e s a m e , a s a l s o o b s e r v e d i n 7 , 1 1 . I n t h i s p a p e r , K a r p ' s t h e o r e m a n d

    2

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    4/19

    a l g o r i t h m r e f e r t o t h e i r m a x i m u m m e a n c y c l e f o r m s a s d e n e d i n 1 2 .

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

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

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

    t u a l r u n n i n g t i m e , a s y m p t o t i c r u n n i n g t i m e , d a t a s t r u c t u r e s , a n d i m p l e m e n t a t i o n c o m p l e x i t y .

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

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

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

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

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

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

    n o t a t i o n . x I I I d i s c u s s e s K a r p ' s t h e o r e m a n d K a r p ' s a l g o r i t h m i n d e t a i l . T h e n , w e m o t i v a t e

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

    W e e x p l a i n t h e d e t a i l s o f o u r a l g o r i t h m s i n x V I . U n f o l d i n g g e n e r a t e s a g r a p h c a l l e d u n f o l d e d

    g r a p h , a n d t h e r u n n i n g t i m e o f o u r a l g o r i t h m s d e p e n d s o n t h e s i z e o f t h a t g r a p h . x V I I d e v e l o p s

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

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

    g r a p h s a n d t h e i r r e s u l t s i n x I X . F i n a l l y , w e c o n c l u d e t h i s p a p e r i n x X

    I I . D e f i n i t i o n s a n d N o t a t i o n

    L e t G = V ; E b e a d i g r a p h w h e r e t h e v e r t e x s e t V h a s n v e r t i c e s a n d t h e a r c s e t E h a s m

    a r c s . E a c h a r c e = u ; v f r o m v e r t e x u t o v e r t e x v h a s a w e i g h t w e = w u ; v . W e a l l o w G t o

    h a v e s e l f - l o o p s , i . e . , a r c s f r o m a n d t o t h e s a m e v e r t e x ; t h u s , m c a n b e e q u a l t o n

    2

    . W e u s e t h e

    a d j a c e n c y - l i s t r e p r e s e n t a t i o n o f G w i t h t w o a r r a y s , A d j I n a n d A d j O u t , w h e r e e a c h a r r a y h a s n

    l i s t s , o n e f o r e a c h v e r t e x i n V . T h e l i s t A d j I n v f o r v e r t e x v c o n t a i n s a l l t h e p r e d e c e s s o r s o f v ,

    i . e . , a l l t h o s e v e r t i c e s u s u c h t h a t t h e r e i s a n a r c u ; v i n E . S i m i l a r l y , t h e l i s t A d j O u t v f o r

    v e r t e x v c o n t a i n s a l l t h e s u c c e s s o r s o f v , i . e . , a l l t h o s e v e r t i c e s u s u c h t h a t t h e r e i s a n a r c v ; u

    i n E

    A p a t h o f l e n g t h k f r o m v e r t e x u t o v e r t e x u

    0

    i s a s e q u e n c e v

    0

    ; v

    1

    ; : : : ; v

    k

    o f v e r t i c e s s u c h

    t h a t u = v

    0

    , u

    0

    = v

    k

    , a n d v

    i , 1

    ; v

    i

    2 E f o r i = 1 ; 2 ; : : : ; k . T h e w e i g h t w p o f p a t h p i s t h e

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

    0

    ; v

    1

    ; : : : ; v

    k

    i s a c y c l e i f v

    0

    = v

    k

    . T h e m e a n

    w e i g h t C o f a c y c l e C o f l e n g t h k i s d e n e d a s w C = k . T h e m e a n w e i g h t o f a c y c l e g i v e s

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

    o f a d i g r a p h G i s

    e q u a l t o m a x

    C

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

    i s d e n e d a n a l o g o u s l y . A c y c l e w h o s e m e a n w e i g h t e q u a l s t h e m a x i m u m c y c l e m e a n i s c a l l e d a

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

    i s , 1 ; 2 , 1 + w = , 1 f o r a n y w , 3 , 1 + 1 = 0 . B y t h e r s t c o n v e n t i o n , w e a s s u m e t h a t

    t h e i n p u t g r a p h s i n t h i s p a p e r h a v e a t l e a s t o n e a r c . 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 v e r y l a r g e

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

    I I I . K a r p ' s T h e o r e m a n d A l g o r i t h m

    L e t G b e a s t r o n g l y c o n n e c t e d d i g r a p h a n d s b e a n a r b i t r a r y v e r t e x t h e s o u r c e . F o r e v e r y

    v 2 V a n d e v e r y n o n n e g a t i v e i n t e g e r k , d e n e D

    k

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

    k f r o m s t o v ; i f n o s u c h p a t h e x i s t s , t h e n D

    k

    v = , 1 . T h e n , t h e m a x i m u m c y c l e m e a n

    o f

    G i s g i v e n b y t h e f o l l o w i n g t h e o r e m . I t s p r o o f c a n b e f o u n d i n 8 , 1 2 .

    3

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    5/19

    T h e o r e m 1 : K a r p ' s T h e o r e m T h e m a x i m u m c y c l e m e a n

    o f G i s g i v e n b y

    = m a x

    v 2 V

    m i n

    0 k n , 1

    D

    n

    v , D

    k

    v

    n , k

    1

    I f G i s n o t s t r o n g l y c o n n e c t e d , t h e n w e c a n n d t h e m a x i m u m c y c l e m e a n b y n d i n g t h e

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

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

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

    I n 8 , K a r p ' s a l g o r i t h m i s g i v e n b y t h e f o l l o w i n g r e c u r r e n c e f o r D

    k

    v :

    D

    k

    v = m a x

    u v 2 E

    D

    k , 1

    u + w u ; v ; k = 1 ; 2 ; : : : ; n 2

    w i t h t h e i n i t i a l c o n d i t i o n s D

    0

    s = 0 a n d D

    0

    v = , 1 , v 6= s . T h i s i s a l s o t h e f o r m u s e d i n

    o t h e r w o r k s , e . g . , 7 , 1 3 , 1 4 . W e g i v e t h e a l g o r i t h m i n F i g . 1 , c a l l e d K a r p ' s a l g o r i t h m , t o

    c o m p u t e

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

    n + 1 n , c a l l e d t h e t a b l e a n d l a b e l e d D , s u c h t h a t D k ; v = D

    k

    v f o r k = 0 ; 1 ; : : : ; n a n d

    v 2 V . W e s a y t h a t r o w k o f D r e p r e s e n t s t h e k t h l e v e l o r l e v e l k

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

    t a i l . T h e s e p a r t s a l m o s t a l w a y s r e a l i z e t h e s a m e g o a l s f o r a l l t h e a l g o r i t h m s . B e l o w w e e x p l a i n

    K a r p ' s a l g o r i t h m i n d e t a i l . M a n y p o i n t s w i l l a l s o a p p l y t o o u r a l g o r i t h m s .

    T h e h e a d i n i t i a l i z e s e a c h t a b l e e n t r y w i t h , 1 a n d d e t e r m i n e s t h e s o u r c e . N o t e t h a t , 1 i s

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

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

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

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

    i t s e l f , D 0 ; s , i s s e t t o 0 , a n d t h e e n d o f t h e p r e d e c e s s o r l i s t , 0 ; s , i s s e t t o N I L . W e l a t e r u s e

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

    T h e b o d y n d s D

    k

    v f o r e a c h v e r t e x v 2 V a n d e a c h k = 1 ; 2 ; : : : ; n , a n d c o n s t r u c t s t h e

    p r e d e c e s s o r l i s t s i n . T h e b o d y b a s i c a l l y u s e s t h e r e c u r r e n c e i n E q . 2 . T h a t i s , f o r e a c h v e r t e x v ,

    i t c h e c k s e v e r y p r e d e c e s s o r u o f v l i n e 7 , a n d c o m p u t e s D

    k

    v a s D

    k

    v = m a x f D

    k

    v ; D

    k , 1

    u +

    w u ; v g l i n e s 8 - 9 . I f D

    k

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

    a s t h e p r e d e c e s s o r o f v i n t h e p r e d e c e s s o r l i s t s l i n e 1 0 .

    T h e t a i l n i s h e s u p t h e w o r k b y c o m p u t i n g E q . 1 . F o r e a c h v e r t e x v , i t c o m p u t e s t h e f r a c t i o n

    i n E q . 1 f o r e a c h k = 0 ; 1 ; : : : ; n , 1 , t a k e s t h e m i n i m u m o f a l l t h e s e f r a c t i o n s c o r r e s p o n d i n g t o

    t h e m i n o p e r a t i o n i n E q . 1 , a n d s t o r e s t h e r e s u l t i n M v . T h e p a r t i c u l a r k t h a t l e a d s t o t h e

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

    A s f o r t h e m a x o p e r a t i o n i n E q . 1 , t h e t a i l c h e c k s M v a s t h e y a r e c o m p u t e d a n d u p d a t e s

    l i n e s 1 8 - 1 9 . T h e o f l i n e 2 1 i s t h e m a x i m u m c y c l e m e a n

    . T h e v e r t e x t h a t l e a d s t o

    i s

    a l s o s t o r e d i n v

    f o r l a t e r r e f e r e n c e i n c r i t i c a l c y c l e c o n s t r u c t i o n .

    I V . M o t i v a t i o n

    W e g i v e t h e e x a m p l e d i g r a p h i n F i g . 2 t o i l l u s t r a t e K a r p ' s a l g o r i t h m a s w e l l a s b a s e o u r

    m o t i v a t i o n o n . T h e d i g r a p h i n F i g . 2 a i s t h e i n p u t g r a p h w i t h 4 v e r t i c e s a n d 5 a r c s . T h e

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

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

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

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

    4

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    6/19

    I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E

    O u t p u t

    o f G

    * H e a d *

    1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o

    2 f o r e a c h v e r t e x v 2 V d o

    3 D k v , 1

    4 D 0 s 0 0 s N I L * s i s a n y v e r t e x i n V *

    * B o d y *

    5 f o r e a c h l e v e l k k = 1 2 ; : : : ; n d o

    6 f o r e a c h v e r t e x v 2 V d o

    7 f o r e a c h p r e d e c e s s o r v e r t e x u 2 A d j I n v d o

    8 i f D k v D k , 1 u + w u v t h e n

    9 D k v D k , 1 u + w u v * m a x *

    1 0 k v u

    * T a i l *

    1 1 , 1

    1 2 f o r e a c h v e r t e x v 2 V d o

    1 3 M v + 1 * t h e i d e n t i t y f o r m i n *

    1 4 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o

    1 5 i f M v D n v , D k v = n , k t h e n

    1 6 M v D n v , D k v = n , k * m i n *

    1 7 K v k

    1 8 i f M v t h e n

    1 9 M v * m a x *

    2 0 v

    v

    2 1 r e t u r n

    F i g . 1 . K a r p ' s m a x i m u m m e a n c y c l e a l g o r i t h m .

    e n t r i e s , e . g . , D 2 ; c = 9 a n d D 3 ; a = , 1 . T h e r e a r e t w o c y c l e s i n t h i s g r a p h : s ; a ; b ; c ; s

    a n d s ; b ; c ; s . A s w e h a v e o n l y t w o c y c l e s , w e c a n j u s t u s e t h e d e n i t i o n o f t h e m a x i m u m

    c y c l e m e a n i n s t e a d o f E q . 1 t o n d t h e m a x i m u m c y c l e m e a n . T h e m a x i m u m c y c l e m e a n i s t h e n

    m a x f 3 + 4 + 7 + 2 = 4 ; 2 + 7 + 2 = 3 g = 4 , a n d s ; a ; b ; c ; s i s t h e c r i t i c a l c y c l e .

    O n e i m p o r t a n t p o i n t i s t h a t t h e r u n n i n g t i m e s o f K a r p ' s a l g o r i t h m a n d o u r a l g o r i t h m s a r e

    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 v e r t i c e s a n d t h e a r c s v i s i t e d d u r i n g t h e p r o c e s s . A s a r e s u l t , w e

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

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

    p r e d e c e s s o r o f e a c h v e r t e x a t t h a t l e v e l e x c e p t f o r t h e 0 t h l e v e l . T h u s , K a r p ' s a l g o r i t h m v i s i t s

    2 0 a r c s f o r t h i s e x a m p l e , t h e t o t a l n u m b e r o f s o l i d a n d d o t t e d a r c s . H o w e v e r , i f w e e x c l u d e a l l

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

    t o n d t h e s a m e m a x i m u m c y c l e m e a n . I f w e d o s o , w e w i l l v i s i t o n l y 9 a r c s , w h i c h m e a n s m o r e

    t h a n 5 0 l e s s w o r k . W h y i s t h i s s o ? C o n s i d e r t h e r e c u r r e n c e g i v e n i n E q . 2 . I f D

    k , 1

    u = , 1

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

    k

    v . I n o t h e r w o r d s ,

    i f t h e r e i s n o p a t h f r o m s t o u w i t h k , 1 a r c s , t h e n t h e p a t h f r o m s t o v w i t h k a r c s , i f e x i s t s ,

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

    k , 1

    u = , 1 f o r e v e r y p r e d e c e s s o r u o f v , t h e r e

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

    k

    v = , 1 b y d e n i t i o n .

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

    e v e r y l e v e l . H o w c a n w e e n s u r e t h a t ? I f w e i m p l e m e n t t h e r e c u r r e n c e a b o v e a s i t i s , w h i c h

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

    5

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    7/19

    4

    7

    2

    3

    (a)

    s a

    bc

    a b c

    0

    1

    2

    4

    3

    k

    (b)

    v

    s

    0

    3

    7

    11 14

    14 1316

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    0

    3 2

    7

    11 14

    14 1316

    9

    (c)

    2

    2

    9

    F i g . 2 . a A 4 - v e r t e x d i g r a p h . b T h e e n t r i e s o f D a n d a r c s v i s i t e d . c T h e s o l i d a r c s o f b .

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

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

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

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

    o n l y t h e s u c c e s s o r s o f a a n d b i n t h e 2 n d l e v e l , w h i c h a r e b a n d c , a n d s o o n .

    V . U n f o l d i n g

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

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

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

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

    m i n i m u m m e a n c y c l e p r o b l e m s .

    G o i n g f r o m t h e k t h l e v e l o f a g r a p h G t o t h e k + 1 t h l e v e l i s c a l l e d t h e k + 1 t h i t e r a t i o n

    o f G . T h i s i t e r a t i o n v i s i t s a l l t h e a r c s t h a t o r i g i n a t e f r o m t h e k t h l e v e l . W e a l s o s a y t h a t t h e

    0 t h l e v e l c o r r e s p o n d s t o t h e 0 t h i t e r a t i o n . G i v e n a g r a p h G = V ; E , u n f o l d i n g g e n e r a t e s a l l t h e

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

    d e n o t e d G

    U

    = V

    U

    ; E

    U

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

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

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

    k

    , c o r r e s p o n d i n g t o v e r t e x v

    i n G , w h e r e k i n d i c a t e s t h a t v

    k

    i s i n s e r t e d i n t o G

    U

    i n t h e k t h i t e r a t i o n . A l s o n o t e t h a t v

    k

    i s a t

    l e v e l k . T h e w e i g h t o f v e r t e x v

    k

    i n G

    U

    i s D

    k

    v , a n d D

    k

    v i s a s d e n e d i n x I I I .

    U n f o l d i n g p r o c e e d s b y t h e f o l l o w i n g t w o r u l e s f o r k = 0 ; 1 ; : : : ; n , 1 . L e t s 2 V b e t h e v e r t e x

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

    1 . I n i t i a l l y , s

    0

    i s i n V

    U

    , a n d D

    0

    s = 0 .

    2 . I f v

    k

    2 V

    U

    a n d v ; u 2 E , t h e n v

    k

    ; u

    k + 1

    2 E

    U

    w i t h w v

    k

    ; u

    k + 1

    = w v ; u a n d d o e i t h e r

    o f t h e f o l l o w i n g :

    a i f u

    k + 1

    62 V

    U

    , t h e n u

    k + 1

    2 V

    U

    w i t h D

    k + 1

    u = D

    k

    v + w v ; u , o r

    b i f u

    k + 1

    2 V

    U

    , t h e n u

    k + 1

    2 V

    U

    w i t h D

    k + 1

    u = m a x f D

    k + 1

    u ; D

    k

    v + w v ; u g

    T h e r s t r u l e a b o v e i n i t i a l i z e s t h e w e i g h t o f u

    k + 1

    w h e n i t i s i n s e r t e d i n t o V

    U

    f o r t h e r s t t i m e ,

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

    6

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    8/19

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    0

    3 2

    7

    11

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    0

    3 2

    7

    11 14

    14 1316

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    0

    3 2

    a b c

    0

    1

    2

    4

    3

    k

    v

    s

    0

    3

    (c)(a) (b)

    (d) (e)

    0

    9

    99

    14

    2

    7

    F i g . 3 . U n f o l d i n g o f t h e g r a p h i n F i g . 2 a .

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

    w e i g h t s t o , 1 b e f o r e p r o c e s s i n g t h e m .

    F i g . 3 i l l u s t r a t e s t h e a b o v e r u l e s o n t h e e x a m p l e g r a p h o f F i g . 2 a . T h e i t e r a t i o n s f r o m 0

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

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

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

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

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

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

    t o e a c h v e r t e x i s i t s w e i g h t . A s F i g . 3 e s h o w s , t h e u n f o l d e d g r a p h h a s 1 0 v e r t i c e s a n d 9 a r c s : a

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

    k

    , a n d a n a r c b e t w e e n v e r t i c e s

    v

    k

    a n d u

    k + 1

    t o a r c v

    k

    ; u

    k + 1

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

    U

    = f s

    0

    ; a

    1

    ; b

    1

    ; b

    2

    ; c

    2

    ; s

    3

    ; c

    3

    ; s

    4

    ; a

    4

    ; b

    4

    g

    a n d E

    U

    = f s

    0

    ; a

    1

    ; s

    0

    ; b

    1

    ; a

    1

    ; b

    2

    ; b

    1

    ; c

    2

    ; b

    2

    ; c

    3

    ; c

    2

    ; s

    3

    ; s

    3

    ; a

    4

    ; s

    3

    ; b

    4

    ; c

    3

    ; s

    4

    g

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

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

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

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

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

    7

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    9/19

    i s q u i t e e a s y , w e j u s t m e n t i o n t h e f o l l o w i n g l e m m a w i t h o u t p r o o f .

    L e m m a 1 : U n f o l d i n g c o r r e c t l y c o m p u t e s D

    k

    v f o r e a c h v 2 V a n d k = 0 ; 1 ; : : : ; n

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

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

    o n e i t e r a t i o n . T h e k + 1 s t i t e r a t i o n o f u n f o l d i n g i s b e t w e e n t h e l e v e l s k a n d k + 1 o n l y . I t

    i n v o l v e s t h e v e r t i c e s a t b o t h o f t h e s e l e v e l s a n d t h e a r c s f r o m t h e k t h t o t h e k + 1 s t b u t n o

    m o r e . A c t u a l l y , K a r p ' s a l g o r i t h m h a s a s i m i l a r p r o p e r t y . T h u s ,

    L e m m a 2 : U n f o l d i n g w o r k s o n e x a c t l y t w o l e v e l s i n o n e i t e r a t i o n .

    V I . F a s t e r M a x i m u m M e a n C y c l e A l g o r i t h m s

    W e n o w g i v e t h r e e a l g o r i t h m s , n a m e d D G 1 , D G 2 , a n d D G 3 , t o c o m p u t e t h e m a x i m u m c y c l e

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

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

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

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

    c y c l e p r o b l e m , w e h a v e t o e x c h a n g e m i n o p e r a t i o n w i t h m a x o p e r a t i o n a n d , 1 w i t h + 1 , o r

    v i c e v e r s a .

    I n K a r p ' s a l g o r i t h m a n d o u r a l g o r i t h m s , t h e m o s t t i m e c o n s u m i n g p a r t i s u s u a l l y t h e b o d y .

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

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

    W e t r i e d t o m a k e D G 1 a s s i m i l a r t o K a r p ' s a l g o r i t h m a s p o s s i b l e t o m a k e u s e o f t h a t a d v a n t a g e

    o f K a r p ' s a l g o r i t h m . D G 2 i s a m o r e s o p h i s t i c a t e d i m p l e m e n t a t i o n o f u n f o l d i n g t o o b t a i n b e t t e r

    a s y m p t o t i c t i m e c o m p l e x i t y i n t h e b o d y , a n d D G 3 i s a f u r t h e r i m p r o v e m e n t o n D G 2 .

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

    t h a t i t d o e s m a t t e r f o r o u r a l g o r i t h m s h o w w e c h o o s e o u r s o u r c e v e r t e x . W i t h a s u i t a b l e " s o u r c e ,

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

    n d s u c h a s o u r c e . T h i s f u n c t i o n i s e x p l a i n e d i n x V I - D .

    A . O u r F i r s t A l g o r i t h m D G 1

    O u r r s t a l g o r i t h m , c a l l e d D G 1 , i s g i v e n i n F i g . 4 . D G 1 h a s a l m o s t t h e s a m e s t r u c t u r e a s

    K a r p ' s a l g o r i t h m . W e t r i e d t o m a k e t h e i n n e r m o s t l o o p i n D G 1 t o c o n t a i n a s f e w s t a t e m e n t s a s

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

    0 t o n , 1 l i n e 7 , a n d t h e u s e o f t h e s u c c e s s o r l i s t s A d j O u t l i n e 1 1 . M a i n d i e r e n c e s f r o m

    K a r p ' s a l g o r i t h m a r e t h e c a l l t o F i n d S o u r c e G i n t h e h e a d t o d e t e r m i n e a s u i t a b l e s o u r c e , t h e

    u s e o f V i s i t a n d t u r n , a n d t h e e l i m i n a t i o n o f s o m e u n n e c e s s a r y w o r k i n t h e t a i l . F i n d S o u r c e G

    i s e x p l a i n e d l a t e r i n d e t a i l .

    T h e n e e d f o r V i s i t a n d t u r n c a n b e e x p l a i n e d a s f o l l o w s . D G 1 s t i l l g o e s o v e r e v e r y v e r t e x

    a t e v e r y l e v e l b u t e l i m i n a t e s u n n e c e s s a r y a r c v i s i t s u s i n g V i s i t a n d t u r n . I n i t i a l l y , V i s i t s ; 0 i s

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

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

    i s f o r t h e c u r r e n t l e v e l , i t s v a l u e f o r t h e n e x t l e v e l i s 1 , t u r n . S u p p o s e w e a r e a t l e v e l k w i t h

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

    b e t w e e n l e v e l s r a t h e r t h a n t h a t t u r n i s 0 o r 1 . T h e n , i f v i s t o b e v i s i t e d a t t h i s l e v e l , v m u s t

    p a s s t h e t e s t a t l i n e 9 . L i n e 1 0 s h o w s t h a t v i s b e i n g v i s i t e d a t l e v e l k . S i n c e t h e s u c c e s s o r s o f v

    a r e t o b e v i s i t e d i n t h e n e x t l e v e l l e v e l k + 1 b y t h e d e n i t i o n o f u n f o l d i n g , t h e i r V i s i t e l d s

    a r e s e t t o t r u e a t l i n e 1 5 .

    8

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    10/19

    T h e t a i l i s a l m o s t t h e s a m e a s t h a t o f K a r p ' s a l g o r i t h m e x c e p t f o r l i n e 1 9 . L i n e 1 9 g u a r a n t e e s

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

    n

    v = , 1 , i . e . , i f t h e r e i s n o p a t h o f l e n g t h n

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

    t h e D v a l u e s a n d K a r p ' s t h e o r e m . F i r s t , w e k n o w t h a t t h e r e w i l l b e a t l e a s t o n e p a t h o f l e n g t h n

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

    i m p l i e s t h a t t h e a r r a y M w i l l h a v e a t l e a s t o n e r e a l v a l u e . N o w a s s u m e D

    n

    v = , 1 f o r s o m e

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

    f o r v i n D , a n d s o t h e f r a c t i o n i n K a r p ' s t h e o r e m t a k e s o n t h e v a l u e o f , 1 f o r v a t l e a s t o n c e .

    B y n o t i n g t h a t K a r p ' s t h e o r e m r s t i n v o l v e s a m i n i m i z a t i o n o p e r a t i o n i n t h e c o l u m n f o r v i n D ,

    a n d a l s o u s i n g t h e t h i r d c o n v e n t i o n o f x I I , w e n d t h a t M v = , 1 . T h e f a c t t h a t t h i s v a l u e

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

    l i n e s 2 5 - 2 6 c o m p l e t e s t h e p r o o f .

    I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E

    O u t p u t

    o f G

    * H e a d *

    1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o

    2 f o r e a c h v e r t e x v 2 V d o

    3 D k v , 1

    4 S e t V i s i t v 0 V i s i t v 1 f a l s e f o r 8 v 2 V

    5 s F i n d S o u r c e G D 0 s 0

    6 0 s N I L t u r n = 0 V i s i t s ; t u r n t r u e

    * B o d y *

    7 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o

    8 f o r e a c h v e r t e x v 2 V d o

    9 i f V i s i t v ; t u r n = t r u e t h e n

    1 0 V i s i t v ; t u r n f a l s e

    1 1 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o

    1 2 i f D k + 1 u D k v + w v u t h e n

    1 3 D k + 1 u D k v + w v u * m a x *

    1 4 k + 1 u v

    1 5 V i s i t u 1 , t u r n t r u e

    1 6 t u r n 1 , t u r n

    * T a i l *

    1 7 , 1

    1 8 f o r e a c h v e r t e x v 2 V d o

    1 9 i f V i s i t v ; t u r n = t r u e t h e n

    2 0 M v + 1 * t h e i d e n t i t y f o r m i n *

    2 1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o

    2 2 i f M v D n v , D k v = n , k t h e n

    2 3 M v D n v , D k v = n , k * m i n *

    2 4 K v k

    2 5 i f M v t h e n

    2 6 M v * m a x *

    2 7 v

    v

    2 8 r e t u r n

    F i g . 4 . O u r r s t m a x i m u m m e a n c y c l e a l g o r i t h m D G 1 .

    9

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    11/19

    B . O u r S e c o n d A l g o r i t h m D G 2

    O u r s e c o n d a l g o r i t h m , c a l l e d D G 2 , i s g i v e n i n F i g . 5 . D G 2 r e v e a l s t h e a v o r o f u n f o l d i n g

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

    c i r c u l a r q u e u e , d e n o t e d Q , t o p r o c e s s t h e v e r t i c e s o f t h e u n f o l d e d g r a p h . B y L e m m a 2 , Q s h o u l d

    h a v e a s i z e o f 2 n e l e m e n t s a s t h e r e c a n n o t b e m o r e t h a n 2 n e l e m e n t s i n t w o s u c c e s s i v e l e v e l s .

    T h i s r e n d e r s u n n e c e s s a r y t h e n e e d f o r a c h e c k t o s e e i f Q i s f u l l . T h e r e i s a l s o n o n e e d f o r a c h e c k

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

    T h e h e a d i s l i k e t h a t o f D G 1 b u t t h e t a i l i s e x a c t l y t h e s a m e a s t h a t o f K a r p ' s a l g o r i t h m .

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

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

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

    f u n c t i o n s t o i m p l e m e n t t h e q u e u e .

    I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E

    O u t p u t

    o f G

    * H e a d *

    1 f o r e a c h l e v e l k k = 0 1 ; : : : ; n d o

    2 f o r e a c h v e r t e x v 2 V d o

    3 D k v , 1

    4 s F i n d S o u r c e G D 0 s 0

    5 0 s N I L E n q u e u e Q 0 s

    * B o d y *

    6 k ; v D e q u e u e Q

    7 d o

    8 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o

    9 i f D k + 1 u = , 1 t h e n

    1 0 E n q u e u e Q ; k + 1 u

    1 1 i f D k + 1 u D k v + w v u t h e n

    1 2 D k + 1 u D k v + w v u * m a x *

    1 3 k + 1 u v

    1 4 k ; v D e q u e u e Q

    1 5 w h i l e k n

    * T a i l *

    1 6 , 1

    1 7 f o r e a c h v e r t e x v 2 V d o

    1 8 M v + 1 * t h e i d e n t i t y f o r m i n *

    1 9 f o r e a c h l e v e l k k = 0 1 ; : : : ; n , 1 d o

    2 0 i f M v D n v , D k v = n , k t h e n

    2 1 M v D n v , D k v = n , k * m i n *

    2 2 K v k

    2 3 i f M v t h e n

    2 4 M v * m a x *

    2 5 v

    v

    2 6 r e t u r n

    F i g . 5 . O u r s e c o n d m a x i m u m m e a n c y c l e a l g o r i t h m D G 2 .

    1 0

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    12/19

    C . O u r T h i r d A l g o r i t h m D G 3

    O u r t h i r d a l g o r i t h m , c a l l e d D G 3 , i s g i v e n i n F i g . 6 . D G 3 i s b a s e d o n D G 2 , t h e m a i n d i e r e n c e

    b e i n g t h a t D G 2 e l i m i n a t e s t h e i n i t i a l i z a t i o n o f D i n t h e h e a d . T o d o t h a t , w e n o t e d t h a t a

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

    , 1 f o r s o m e k e v e n a f t e r t h e l a s t i t e r a t i o n . B u t , t h e t a i l m u s t k n o w w h i c h e n t r i e s o f t h e t a b l e

    D c o n t a i n a v a l i d e n t r y , i . e . , a n e n t r y t h a t i s n o t , 1 . T h e a r r a y V a l i d p o i n t s t o v a l i d e n t r i e s :

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

    D V a l i d k ; v ; v 6= , 1 . O n l y t h e v a l i d e n t r i e s a r e i n i t i a l i z e d l i n e 1 4 . T h e e n t r i e s o f V a l i d a r e

    l i k e a l i n k e d l i s t a n d t h e e n d o f t h e l i s t i s s i g n i e d b y , 1 . T h e t a i l i s a l s o a l t e r e d a c c o r d i n g l y .

    T h e r e s t i s s e l f - e x p l a n a t o r y . N o t e t h a t w e c a n a l s o u s e l i n k e d l i s t s i n s t e a d o f t h e t a b l e D b e c a u s e

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

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

    a s y m p t o t i c s p a c e c o m p l e x i t y .

    D . F i n d i n g a S u i t a b l e S o u r c e

    T h e s o u r c e v e r t e x m e n t i o n e d i n K a r p ' s t h e o r e m i s a r b i t r a r y . H o w e v e r , a d i e r e n t s o u r c e m a y

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

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

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

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

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

    H o w c a n w e n d t h e o p t i m u m u n f o l d i n g t h e n ? W e c a n u n f o l d t h e g r a p h s t a r t i n g f r o m e a c h

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

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

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

    F i n d S o u r c e G g i v e n i n F i g . 7 i m p l e m e n t s o u r h e u r i s t i c . O u r h e u r i s t i c i s t o u n f o l d t h e g r a p h

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

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

    o n o u r t e s t s u i t e b y c h a n g i n g N f r o m 1 t o 3 0 , a n d s a w t h a t N = 1 0 w o r k e d r e a s o n a b l y w e l l ,

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

    o f F i n d S o u r c e G a s s u m e s t h a t t h e d e g r e e o f e a c h v e r t e x i s a v a i l a b l e . U s i n g t h e s e d e g r e e s a n d

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

    u n f o l d i n g t h e g r a p h N t i m e s . T h e r u n n i n g t i m e o f F i n d S o u r c e G i s N n + m , w h i c h i s

    e q u a l t o m a s N i s a c o n s t a n t a n d G i s s t r o n g l y c o n n e c t e d .

    E . F i n d i n g A C r i t i c a l C y c l e

    W e s o m e t i m e s n e e d t o n d a c r i t i c a l c y c l e a s w e l l a s i t s m e a n , w h i c h i s t h e c a s e i n t h e f r a m e w o r k

    m e n t i o n e d i n x I . W e n o t e d t h a t o n l y 7 , 8 , a n d 1 4 g i v e s o m e i n f o r m a t i o n a s t o h o w t o n d

    a c r i t i c a l c y c l e . H o w e v e r , n e i t h e r o f t h e m g i v e i t i n a n a l g o r i t h m i c f o r m . D u e t o i t s i m p o r t a n c e ,

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

    w e s a v e t h e v e r t e x i n v

    t h a t l e a d s t o t h e m a x i m u m c y c l e m e a n . T h e a l g o r i t h m i n F i g . 8 r s t

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

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

    i n t o a r r a y P . T h e n , i t n d s t h e w e i g h t o f e a c h p r e x o f t h i s p a t h t o f a c i l i t a t e n d i n g t h e w e i g h t

    o f a n y s u b p a t h o f t h e p a t h i n P . U s i n g a r r a y K o f t h e k v a l u e s r e c o r d e d i n t h e t a i l s , w e n d t h e

    l e n g t h o f t h e c r i t i c a l c y c l e o n P , w h i c h i s n , K v

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

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

    1 1

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    13/19

    I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E

    O u t p u t

    o f G

    * H e a d *

    1 f o r e a c h v e r t e x v 2 V d o

    2 L a s t L e v e l v , 1

    3 s F i n d S o u r c e G

    4 D 0 s 0 0 s N I L

    5 V a l i d 0 s , 1 L a s t L e v e l s 0

    6 E n q u e u e Q 0 s

    * B o d y *

    7 k ; v D e q u e u e Q

    8 d o

    9 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o

    1 0 i f L a s t L e v e l u k + 1 t h e n

    1 1 E n q u e u e Q ; k + 1 u

    1 2 V a l i d k + 1 u L a s t L e v e l u

    1 3 L a s t L e v e l u k + 1

    1 4 D k + 1 u , 1

    1 5 i f D k + 1 u D k v + w v u t h e n

    1 6 D k + 1 u D k v + w v u * m a x *

    1 7 k + 1 u v

    1 8 k ; v D e q u e u e Q

    1 9 w h i l e k n

    * T a i l *

    2 0 , 1

    2 1 f o r e a c h v e r t e x v 2 V d o

    2 2 i f L a s t L e v e l v = n t h e n

    2 3 M v + 1 * t h e i d e n t i t y f o r m i n *

    2 4 k V a l i d n v

    2 5 w h i l e k , 1 d o

    2 6 i f M v D n v , D k v = n , k t h e n

    2 7 M v D n v , D k v = n , k * m i n *

    2 8 K v k

    2 9 k V a l i d k v

    3 0 i f M v t h e n

    3 1 M v * m a x *

    3 2 v

    v

    3 3 r e t u r n

    F i g . 6 . O u r t h i r d m a x i m u m m e a n c y c l e a l g o r i t h m D G 3 .

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

    s t e p s t a k e c o n s t a n t t i m e , i n c l u d i n g l i n e 1 0 a s w P k , 1 ; P k = D k ; P k , D k , 1 ; P k , 1 .

    A l t h o u g h t h i s a l g o r i t h m n d s o n l y o n e c r i t i c a l c y c l e , w e c a n m o d i f y i t t o n d m o r e . R e c a l l

    t h a t i n t h e t a i l s , w e r s t c o m p u t e t h e m i n o f t h e c o l u m n s o f D i n t o a r r a y M a n d t h e n n d t h e

    m a x o f t h e s e m i n i m u m v a l u e s . I t i s p o s s i b l e t h a t t h e r e a r e m o r e t h a n o n e v a l u e a m o n g t h e s e

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

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

    v e r t e x t h a t h a s o n e o f t h e s e m i n i m u m v a l u e s i n s t e a d o f j u s t f o r v

    . M o r e o v e r , t h e p a t h s t o r e d

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

    e a c h c r i t i c a l c y c l e f o u n d .

    1 2

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    14/19

    I n p u t : A s t r o n g l y c o n n e c t e d d i g r a p h G = V E

    O u t p u t : A s o u r c e v e r t e x s

    1 f o r e a c h v e r t e x v 2 V d o

    2 F v 0

    3 f o r e a c h i t e r a t i o n i = 1 ; : : : ; N d o

    4 f o r e a c h v e r t e x v 2 V d o

    5 L v d v

    6 f o r e a c h s u c c e s s o r v e r t e x u 2 A d j O u t v d o

    7 L v L v + F u

    8 f o r e a c h v e r t e x v 2 V d o

    9 F v L v

    1 0 F i n d s s u c h t h a t L s = m i n

    v 2 V

    f L v g

    1 1 r e t u r n s

    F i g . 7 . O u r a l g o r i t h m t o n d a s u i t a b l e s o u r c e v e r t e x .

    I n p u t

    v

    , a n d a r r a y

    O u t p u t : A c r i t i c a l c y c l e o f G

    1 k n

    2 P k v

    3 w h i l e k 0 d o

    4 P k , 1 k P k

    5 k k , 1

    * P n o w h a s a p a t h f r o m s t o v

    *

    6 k 0

    7 W k 0

    8 w h i l e k n d o

    9 k k + 1

    1 0 W k W k , 1 + w P k , 1 P k

    * W n o w h a s a l l p r e x p a t h c o s t s o n P *

    1 1 l e n n , K v

    1 2 k 0

    1 3 w h i l e k K v

    d o

    1 4 i f P k = P k + l e n a n d W k + l e n , W k =

    t h e n

    1 5 r e t u r n P k P k + l e n

    1 6 k k + 1

    F i g . 8 . A l g o r i t h m t o n d a c r i t i c a l c y c l e .

    V I I . B o u n d i n g t h e S i z e o f U n f o l d e d G r a p h

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

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

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

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

    v , r e s p e c t i v e l y . C o n s i d e r a s t r o n g l y c o n n e c t e d g r a p h G = V ; E w i t h n v e r t i c e s a n d m a r c s

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

    G

    U

    = V

    U

    ; E

    U

    :

    E

    U

    = d s +

    X

    v 2 V

    d v t v ; a n d V

    U

    = 1 +

    X

    v 2 V

    c v 3

    w h e r e t h e r s t t e r m i n e a c h e q u a t i o n i s f o r t h e s o u r c e v e r t e x a t t h e 0 t h l e v e l . N o t e t h e s p e c i a l

    r e l a t i o n s h i p b e t w e e n t v a n d c v : i f v i s i n c l u d e d a t t h e n t h l e v e l , t h e n t v = c v , 1 , o r e l s e

    1 3

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    15/19

    t v = c v

    S i n c e w e a l l o w s e l f - l o o p s , w e h a v e 1 d v n . A l s o , w e h a v e n l e v e l s i n t o t a l w h e n w e

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

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

    f r o m 1 t o n , i . e . , 1 c v n . I n c l u s i o n a t s u c c e s s i v e l e v e l s p r o b a b l y s t e m s f r o m s e l f - l o o p s .

    P l u g g i n g t h e s e v a l u e s i n t o E q . 3 , w e c a n b o u n d t h e s i z e o f t h e u n f o l d e d g r a p h i n t e r m s o f t h e

    p a r a m e t e r s o f G a s

    m E

    U

    n , 1 m + n ; a n d 1 + n V

    U

    1 + n

    2

    ; 4

    w h e r e n , 1 m + n n m i f n m , w h i c h i s t h e c a s e w h e n G i s s t r o n g l y c o n n e c t e d . T h e s m a l l e s t

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

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

    V I I I . C o m p l e x i t y A n a l y s e s

    F o r s p a c e c o m p l e x i t y a n a l y s i s , w e n o t e t h a t t h e a r r a y s u s e d i n t h e a l g o r i t h m s c o n s u m e m u c h

    o f t h e s p a c e . E v e r y a l g o r i t h m u s e s D , a n a r r a y o f s i z e n + 1 n . T h e o t h e r a r r a y s a r e a t m o s t

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

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

    2

    F o r t i m e c o m p l e x i t y a n a l y s i s , w e w i l l e x a m i n e e a c h a l g o r i t h m s e p a r a t e l y . F o r K a r p ' s a l g o r i t h m ,

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

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

    2

    ; t h e b o d y g o e s t h r o u g h e a c h

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

    e n t r y , a n d s o r u n s i n n

    2

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

    2

    + n m , w h i c h i s n m a s

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

    A s f o r D G 1 , w e h a v e t h e f o l l o w i n g . T h e h e a d i n i t i a l i z e s t h e t a b l e a n d a r r a y V i s i t , w h i c h t a k e

    n

    2

    t i m e a n d n t i m e r e s p e c t i v e l y . F i n d S o u r c e r u n s i n m , s o t h e h e a d r u n s i n n

    2

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

    g r a p h o n l y . S o , i t r u n s i n n

    2

    + E

    U

    . T h e t a i l r u n s i n n

    2

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

    i n l e s s t i m e d u e t o l i n e 1 9 , e . g . , i f t h e g r a p h i s a r i n g , t h e t a i l t a k e s l i n e a r t i m e . H e n c e , t h e t a i l

    r u n s i n O n

    2

    t i m e , a n d t h e t o t a l r u n n i n g t i m e f o r D G 1 i s n

    2

    + E

    U

    A s f o r D G 2 , t h e h e a d e v e n w i t h F i n d S o u r c e a n d t h e t a i l h a v e t h e s a m e r u n n i n g t i m e a s

    t h o s e i n K a r p ' s a l g o r i t h m . T h u s , t h e y b o t h r u n i n n

    2

    t i m e . T h e b o d y v i s i t s o n l y t h e v e r t i c e s

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

    U

    . H e n c e , t h e t o t a l r u n n i n g t i m e f o r D G 2

    i s n

    2

    + E

    U

    . H e r e a l s o n o t e t h a t t h e q u e u e f u n c t i o n s r u n i n c o n s t a n t t i m e .

    A s f o r D G 3 , t h e h e a d m a i n l y h a s a f o r l o o p t o i n i t i a l i z e L a s t L e v e l a n d F i n d S o u r c e , s o r u n s

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

    i n t h e u n f o l d e d g r a p h a n d r u n s i n E

    U

    . T h e t a i l h a s a n i n t e r e s t i n g b e h a v i o r . D u e t o t h e u s e

    o f a r r a y V a l i d , t h e t a i l c h e c k s o n l y t h e v e r t i c e s i n t h e u n f o l d e d g r a p h . A l s o , d u e t o l i n e 2 2 , i t

    r u n s i n O V

    U

    t i m e . T h u s , t h e t o t a l r u n n i n g t i m e f o r D G 3 i s O V

    U

    + E

    U

    , w h i c h s e e m s t o

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

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

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

    t h e w o r s t c a s e ; f o r a l l t h e o t h e r a n d c o m m o n c a s e s , o u r a l g o r i t h m s o u t p e r f o r m K a r p ' s a l g o r i t h m

    a s y m p t o t i c a l l y . T h e r u n n i n g t i m e d i e r e n c e c a n b e s i g n i c a n t , e . g . , D G 3 r e q u i r e s n t i m e f o r

    a r i n g g r a p h b u t K a r p ' s a l g o r i t h m r e q u i r e s n

    2

    1 4

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    16/19

    T A B L E I

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

    A l g . H e a d B o d y T a i l T o t a l

    K a r p n

    2

    n m n

    2

    n

    2

    + n m

    D G 1 n

    2

    n

    2

    + E

    U

    O n

    2

    n

    2

    + E

    U

    D G 2 n

    2

    E

    U

    n

    2

    n

    2

    + E

    U

    D G 3 m E

    U

    O V

    U

    O V

    U

    + E

    U

    T h e o r e m 2 : F o r a s t r o n g l y c o n n e c t e d g r a p h w i t h n v e r t i c e s a n d m a r c s , K a r p ' s a l g o r i t h m r u n s

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

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

    I X . E x p e r i m e n t a l R e s u l t s a n d D i s c u s s i o n

    I n t h i s s e c t i o n , w e r e p o r t t h e r e s u l t s o f o u r e x p e r i m e n t s t h a t w e d i d t o s e e t h e p e r f o r m a n c e

    o f o u r a l g o r i t h m s i n p r a c t i c e . W e c o d e d a l l t h e a l g o r i t h m s i n C , a n d d i d e x p e r i m e n t s o n a S u n

    S P A R C 2 0 w i t h 6 4 M B r e a l m e m o r y , r u n n i n g S u n O S R . 5 . 4 . W e u s e d t w o g r o u p s o f b e n c h m a r k

    g r a p h s a s o u r t e s t s u i t e

    1

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

    b e n c h m a r k s . T h e s e c o n d g r o u p c o n s i s t s o f s i g n a l t r a n s i t i o n g r a p h s u s e d i n 1 6 , 1 7 .

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

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

    8 g r a p h s w h o s e n a m e s a r e c a p i t a l i z e d , a n d t h e s e c o n d g r o u p c o n s i s t s o f t h e r e s t , 4 2 g r a p h s ,

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

    r o w 9 , R 2 0 0 0 , t o s h o w t h e p e r f o r m a n c e i n t h e b e s t c a s e f o r o u r a l g o r i t h m s . R i n g s g r a p h s a l s o

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

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

    t h e u s e r a n d s y s t e m C P U t i m e s i n s e c o n d s f r o m t h e b e g i n n i n g o f e x e c u t i o n o f t h e a l g o r i t h m

    t o i t s c o m p l e t i o n .

    F r o m T a b . I I , w e c a n o b s e r v e t h e f o l l o w i n g . E a c h o b s e r v a t i o n i s a l s o d i s c u s s e d b e l o w .

    1 . D G 1 a n d K a r p ' s a l g o r i t h m c o l u m n 4 v i s i t t h e s a m e n u m b e r o f v e r t i c e s b u t D G 2 a n d D G 3

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

    o n R 2 0 0 0 t o 1 3 . 3 2 o n M C 6 5 0 2 - G R O U P 0 . T h e i m p r o v e m e n t i s m o r e t h a n 5 0 o n 4 3 o u t

    o f 5 2 g r a p h s i n t h e t a b l e .

    2 . A l l o u r a l g o r i t h m s c o l u m n 7 v i s i t a l o t l e s s a r c s t h a n K a r p ' s a l g o r i t h m c o l u m n 6 d o e s .

    T h e i m p r o v e m e n t a c h i e v e d r a n g e s f r o m 9 9 . 9 5 o n R 2 0 0 0 t o 1 3 . 4 7 o n M C 6 5 0 2 - G R O U P 0 .

    T h e i m p r o v e m e n t i s m o r e t h a n 5 0 o n 4 3 o u t o f 5 2 g r a p h s i n t h e t a b l e .

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

    t h e r e i s o n l y o n e c y c l e i n a r i n g g r a p h R 2 0 0 0 , t h e m a x i m u m c y c l e m e a n c a n b e f o u n d b y

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

    t h e c o m p l e x i t y o f t h e h e a d a n d t a i l . K a r p ' s a l g o r i t h m i n s t e a d t a k e s t i m e q u a d r a t i c i n t h e

    s i z e o f t h e g r a p h s . T h e b e h a v i o r s o f t h e a l g o r i t h m s a r e e v i d e n t f r o m r o w 9 o f T a b . I I . D G 3

    i s t h e f a s t e s t b e c a u s e i t d o e s a s m u c h w o r k a s r e q u i r e d . D G 1 a n d D G 2 v i s i t a s m a n y a r c s a s

    t h e r e a r e i n R 2 0 0 0 b u t t h e t i m e s s p e n t d u r i n g h e a d a n d t a i l t a k e m o s t o f t h e r u n n i n g t i m e .

    N o t e t h e n u m b e r o f v e r t i c e s a n d a r c s K a r p ' s a l g o r i t h m v i s i t s , w h i c h i s w h y i t i s t h e s l o w e s t

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

    s p a r s e g r a p h s .

    1

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

    1 5

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    17/19

    4 . D G 1 i s a l m o s t a l w a y s t h e f a s t e s t a l g o r i t h m a m o n g t h e t h r e e c o l u m n s 8 - 1 1 . F o r o n l y t h r e e

    o f t h e g r a p h s i n t h e s e c o n d g r o u p , K a r p ' s a l g o r i t h m r u n s f a s t e r t h a n D G 1 . W e t h i n k t h a t

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

    2

    5 . K a r p ' s a l g o r i t h m s o m e t i m e s o u t p e r f o r m s D G 2 a n d D G 3 e s p e c i a l l y o n g r a p h s i n t h e r s t

    g r o u p . A s D G 2 a n d D G 3 d o m u c h l e s s w o r k , t h i s o b s e r v a t i o n s e e m s a b i t s t r a n g e . H o w e v e r ,

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

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

    a c t u a l l y t h e b i g g e s t a d v a n t a g e o f K a r p ' s a l g o r i t h m . T h e i n n e r m o s t l o o p i n D G 2 a n d D G 3

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

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

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

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

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

    f o r t h e m a r e v e r y s m a l l . I n s u m m a r y , D G 3 i s a s y m p t o t i c a l l y t h e f a s t e s t a l g o r i t h m t o t h e e x t e n t

    t h a t i t i s o n e o f t h e f a s t e s t i n t h e l i t e r a t u r e ; h o w e v e r , w e t h i n k t h a t D G 1 i s t h e b e s t c h o i c e ,

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

    t h a n t h a t o f K a r p ' s a l g o r i t h m .

    X . C o n c l u s i o n s

    I n t h i s p a p e r , w e d i s c u s s e d t h e m a x i m u m m e a n c y c l e p r o b l e m a n d a n a l g o r i t h m , K a r p ' s a l g o -

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

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

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

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

    u s i n g e x p e r i m e n t s o n b e n c h m a r k g r a p h s i n c o m p a r i s o n w i t h K a r p ' s a l g o r i t h m . A s y m p t o t i c a n a l -

    y s i s s h o w s t h a t o u r a l g o r i t h m s a r e a l w a y s f a s t e r t h a n K a r p ' s a l g o r i t h m . E x p e r i m e n t a l r e s u l t s

    g i v e a s o m e w h a t d i e r e n t p i c t u r e . O n e o f o u r a l g o r i t h m s i s a l w a y s f a s t e r t h a n K a r p ' s a l g o r i t h m ,

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

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

    E x p e r i m e n t s a l s o s h o w t h a t o u r a l g o r i t h m s p r o c e s s a l o t l e s s v e r t i c e s a n d a r c s t h a n K a r p ' s a l -

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

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

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

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

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

    s i g n a l t r a n s i t i o n g r a p h s . T h i s w o r k w a s s u p p o r t e d b y t h e N a t i o n a l S c i e n c e F o u n d a t i o n u n d e r

    g r a n t s N S F C a r e e r A w a r d M I P 9 5 - 0 1 6 1 5 a n d A S C - 9 6 - 3 4 9 4 7 .

    R e f e r e n c e s

    1 S . M . B u r n s a n d A . J . M a r t i n , P e r f o r m a n c e a n a l y s i s a n d o p t i m i z a t i o n o f a s y n c h r o n o u s c i r c u i t s " , i n P r o c .

    A d v a n c e d R e s e a r c h i n V L S I S i g n a l P r o c e s s i n g C o n f . , 1 9 9 1 , p p . 7 1 8 6 .

    2 J . M a g o t t , P e r f o r m a n c e e v a l u a t i o n o f c o n c u r r e n t s y s t e m s u s i n g p e t r i n e t s " , I n f o r . P r o c . L e t t e r s , v o l . 1 8 , p p .

    7 1 3 , 1 9 8 4 .

    3 L . - T . L i u , M . S h i h , a n d C . - K . C h e n g , D a t a o w p a r t i t i o n i n g f o r c l o c k p e r i o d a n d l a t e n c y m i n i m i z a t i o n " , i n

    P r o c . 3 1 s t D e s i g n A u t o m a t i o n C o n f . A C M I E E E , 1 9 9 4 , p p . 2 4 4 2 4 9 .

    2

    W e u s e d t h e t i m e s s y s t e m c a l l .

    1 6

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    18/19

    4 K . I t o a n d K . K . P a r h i , D e t e r m i n i n g t h e m i n i m u m i t e r a t i o n p e r i o d o f a n a l g o r i t h m " , J . V L S I S i g n a l

    P r o c e s s i n g , v o l . 1 1 , n o . 3 , p p . 2 2 9 2 4 4 , D e c . 1 9 9 5 .

    5 J . T e i c h , S . S r i r a m , L . T h i e l e , a n d M . M a r t i n , P e r f o r m a n e a n a l y s i s o f m i x e d a s y n c h r o n o u s s y n c h r o n o u s

    s y s t e m s " , i n P r o c . W o r k s h o p o n V L S I S i g n a l P r o c e s s i n g . I E E E , 1 9 9 4 .

    6 A . D a s d a n , A . M a t h u r , a n d R . K . G u p t a , R a t a n : A t o o l f o r r a t e a n a l y s i s a n d r a t e c o n s t r a i n t d e b u g g i n g f o r

    e m b e d d e d s y s t e m s " , i n P r o c . E u r o . D e s i g n a n d T e s t C o n f . I E E E , 1 9 9 7 .

    7 M . H a r t m a n n a n d J . B . O r l i n , F i n d i n g m i n i m u m c o s t t o t i m e r a t i o c y c l e s w i t h s m a l l i n t e g r a l t r a n s i t t i m e s " ,

    N e t w o r k s , v o l . 2 3 , p p . 5 6 7 5 7 4 , 1 9 9 3 .

    8 R . M . K a r p , A c h a r a c t e r i z a t i o n o f t h e m i n i m u m c y c l e m e a n i n a d i g r a p h " , D i s c r e t e M a t h e m a t i c s , v o l . 2 3 ,

    p p . 3 0 9 3 1 1 , 1 9 7 8 .

    9 E . L . L a w l e r , C o m b i n a t o r i a l O p t i m i z a t i o n : N e t w o r k s a n d M a t r o i d s , H o l t , R e i n h a r t , a n d W i n s t o n , N e w Y o r k ,

    N Y , U S A , 1 9 7 6 .

    1 0 J . B . O r l i n a n d R . K . A h u j a , N e w s c a l i n g a l g o r i t h m s f o r t h e a s s i g n m e n t a n d m i n i m u m m e a n c y c l e p r o b l e m s " ,

    M a t h e m a t i c a l P r o g r a m m i n g , v o l . 5 4 , p p . 4 1 5 6 , 1 9 9 2 .

    1 1 N . E . Y o u n g , R . E . T a r j a n , a n d J . B . O r l i n , F a s t e r p a r a m e t r i c s h o r t e s t p a t h a n d m i n i m u m - b a l a n c e a l g o -

    r i t h m s " , N e t w o r k s , v o l . 2 1 , p p . 2 0 5 2 2 1 , 1 9 9 1 .

    1 2 F . B a c e l l i , G . C o h e n , G . J . O l s d e r , a n d J . - P . Q u a d r a t , S y n c h r o n i z a t i o n a n d L i n e a r i t y , J o h n W i l e y & S o n s ,

    N e w Y o r k , N Y , U S A , 1 9 9 2 .

    1 3 L . E . L u c k e , A . P . B r o w n , a n d K . K . P a r h i , U n f o l d i n g a n d r e t i m i n g f o r h i g h - l e v e l D S P s y n t h e s i s " , i n P r o c .

    I n t . S y m p . C i r c u i t s a n d S y s t . I E E E , 1 9 9 1 .

    1 4 G . C o h e n , D . D u b o i s , J . P . Q u a d r a t , a n d M . V i o t , A l i n e a r - s y s t e m - t h e o r e t i c v i e w o f d i s c r e t e - e v e n t p r o c e s s e s

    a n d i t s u s e f o r p e r f o r m a n c e e v a l u a t i o n i n m a n u f a c t u r i n g " , I E E E T r a n . A u t o m a t i c C o n t r o l , v o l . 3 0 , n o . 3 , p p .

    2 1 0 2 2 0 , M a r . 1 9 8 5 .

    1 5 H . H u l g a a r d , S . M . B u r n s , T . A m o n , a n d G . B o r r i e l l o , A n a l g o r i t h m f o r e x a c t b o u n d s o n t h e t i m e s e p e r a t i o n

    o f e v e n t s i n c o n c u r r e n t s y s t e m s " , I E E E T r a n s . C o m p u t . , v o l . 4 4 , n o . 1 1 , p p . 1 3 0 6 1 3 1 7 , N o v . 1 9 9 5 .

    1 6 J . C o r t a d e l l a , M . K i s h i n e v s k y , A . K o n d r a t y e v , L . L a v a g n o , a n d A . Y a k o v l e v , M e t h o d o l o g y a n d t o o l s f o r

    s t a t e e n c o d i n g i n a s y n c h r o n o u s c i r c u i t s y n t h e s i s " , i n P r o c . 3 3 r d D e s i g n A u t o m a t i o n C o n f . A C M I E E E , 1 9 9 6 ,

    p p . 6 3 6 6 .

    1 7 L . L a v a g n o , K . K e u t z e r , a n d A . S a n g i o v a n n i - V i n c e n t e l l i , S y n t h e s i s o f h a z a r d - f r e e a s y n c h r o n o u s c i r c u i t s w i t h

    b o u n d e d w i r e d e l a y s " , I E E E T r a n s . C o m p u t e r - A i d e d D e s i g n , v o l . 1 4 , n o . 1 , p p . 6 1 8 6 , J a n . 1 9 9 5 .

    1 7

  • 8/13/2019 Faster Maximum and Minimum Mean Cycle Algorithms for System Performance Analysis - Ali Dasdan & Rajesh K.

    19/19

    T A B L E I I

    B e n c h m a r k s a n d e x p e r i m e n t a l r e s u l t s .

    v e r t i c e s a r c s R u n n i n g

    v i s i t e d v i s i t e d t i m e s s

    S i z e K a r p D G 2

    N a m e n m D G 1 D G 3 K a r p D G 1 2 3 K a r p D G 1 D G 2 D G 3

    D I F F E Q 1 7 2 2 0 4 4 7 4 0 2 4 3 9 1 1 7 8 0 6 0 3 5 0 . 0 1 0 . 0 1 0 . 0 2 0 . 0 1

    E L L I P T I C 3 0 7 3 4 4 9 0 4 9 4 7 1 9 2 6 6 0 2 1 3 3 2 4 0 . 0 2 0 . 0 1 0 . 0 2 0 . 0 2

    G C D 4 9 5 5 4 4 9 5 9 4 6 5 3 7 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0

    M C 6 5 0 2 - G R O U P 0 2 2 1 9 2 4 1 0 1 0 6 8 2 5 9 2 5 9 9 5 8 3 8 2 3 5 0 5 2 0 7 0 . 3 7 0 . 3 3 0 . 5 6 0 . 6 6

    M C 6 5 0 2 - G R O U P 1 6 2 0 6 7 1 1 7 9 1 2 1 3 6 8 4 6 8 5 0 8 5 2 3 7 5 0 . 0 4 0 . 0 4 0 . 0 7 0 . 0 7

    M C 6 5 0 2 - G R O U P 2 2 9 2 8 3 1 9 8 2 3 3 3 6 0 1 7 8 4 4 7 9 6 0 2 2 1 7 5 4 3 1 9 0 . 6 5 0 . 5 6 0 . 9 7 1 . 2 1

    P A R K E R 1 9 8 6 1 7 2 1 7 7 8 0 0 4 5 8 3 0 1 4 8 6 3 1 1 0 0 5 0 . 0 2 0 . 0 2 0 . 0 2 0 . 0 2

    T S E N G 1 3 6 1 6 1 4 0 6 1 3 6 3 6 0 3 4 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    R 2 0 0 0 2 0 0 0 2 0 0 0 4 0 0 0 0 0 0 2 0 0 0 4 0 0 0 0 0 0 2 0 0 0 8 . 7 7 2 . 2 5 5 . 6 9 0 . 6 2

    a d f a s t 1 2 1 5 1 4 4 1 8 1 8 0 2 3 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    a l l o c - o u t b o u n d 2 4 2 5 5 7 6 3 2 6 0 0 3 3 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0

    c h u 1 3 3 1 4 1 7 1 9 6 2 3 2 3 8 2 6 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    c h u 1 5 0 1 4 1 6 1 9 6 3 1 2 2 4 3 6 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    c h u 1 7 2 1 5 1 6 2 2 5 1 6 2 4 0 1 7 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    c o m b u f 2 1 6 1 9 1 7 2 2 7 1 9 5 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    c o n v e r t a 1 4 1 6 1 9 6 2 6 2 2 4 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    e b e r g e n 1 4 1 6 1 9 6 2 6 2 2 4 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    f u l l 8 1 2 6 4 1 4 9 6 2 1 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    h a z a r d 1 0 1 2 1 0 0 1 2 1 2 0 1 4 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    h y b r i d f 1 6 2 6 2 5 6 8 6 4 1 6 1 4 2 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    i r c v - b m 5 1 6 4 2 6 0 1 2 3 0 3 2 6 4 2 8 9 0 . 0 1 0 . 0 1 0 . 0 1 0 . 0 1

    m a s t e r - r e a d 2 8 4 0 7 8 4 4 2 5 1 1 2 0 6 0 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m m u 1 6 2 0 2 5 6 5 5 3 2 0 6 8 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m m u 0 1 6 2 0 2 5 6 5 5 3 2 0 6 8 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m m u 1 1 6 2 4 2 5 6 1 2 7 3 8 4 1 8 7 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m o d 4 - c o u n t e r 1 6 1 6 2 5 6 1 6 2 5 6 1 6 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0

    m p - f o r w a r d - p k t 1 6 2 6 2 5 6 2 5 4 1 6 4 0 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m r 0 2 2 3 1 4 8 4 1 6 8 6 8 2 2 2 9 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m r 1 1 8 2 5 3 2 4 1 1 4 4 5 0 1 5 5 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    m u x 2 5 3 7 4 2 8 0 9 1 9 4 7 3 9 2 2 2 7 4 4 0 . 0 0 0 . 0 1 0 . 0 1 0 . 0 1

    n a k - p a 2 0 2 4 4 0 0 2 6 4 8 0 3 0 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0

    n o w i c k 1 6 2 1 2 5 6 2 0 3 3 6 2 5 0 . 0 0 0 . 0 0 0 . 0 0 0 . 0 0

    p a r - 4 2 0 2 3 4 0 0 4 4 4 6 0 5 0 0 . 0 0 0 . 0 0 0 . 0 1 0 . 0 0

    p e - r c v - i f c 6 3 8 1 3 9 6 9 9 9 1 5 1 0 3 1 2 4 7 0 . 0 1 0 . 0 0 0 . 0 0 0 . 0 1

    p e - s e n d - i f c 6 2 8 3 3 8 4 4 1 0 6