Another Architecture: PVM on Windows 95/NT

download Another Architecture: PVM on Windows 95/NT

of 8

Transcript of Another Architecture: PVM on Windows 95/NT

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    1/8

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    2/8

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    3/8

    2 D e v e l o p i n g A p p l i c a t i o n s i n t h e W I N 3 2 - b i t W o r l d

    2 . 1 T o w a r d s s c i e n t i c c o m p u t i n g

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

    M i c r o s o f t ' s r s t o p e r a t i n g s y s t e m w a s i t s c o m m a n d - l i n e M S - D O S . B e c a u s e o f t h e c o m p e t i t i o n w i t h

    A p p l e M a c i n t o s h t h e r s t v e r s i o n o f W i n d o w s w a s r e l e a s e d . I t o e r e d t h e r s t g r a p h i c a l u s e r

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

    c o m p u t e r s i n c o m p a n i e s l e a d e d t o W i n d o w s f o r W o r k g r o u p s , f o l l o w e d b y W i n d o w s 9 5 / N T t o d a y .

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

    3 2 - b i t a v a i l a b i l i t y .

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

    f u n c t i o n s f r o m t h e m o r e p r o f e s s i o n a l W i n d o w s N T a r e n o t i m p l e m e n t e d i n W i n d o w s 9 5 . B a s i c a l l y

    i t c a n b e s a i d t h a t W i n d o w s 9 5 i s a s u b s e t o f W i n d o w s N T a n d i s j u s t o n i t s w a y f o r b e c o m i n g a

    r e a l o p e r a t i n g s y s t e m .

    2 . 2 D i e r e n c e s B e t w e e n W i n d o w s 9 5 a n d W i n d o w s N T

    T h e m a j o r d i e r e n c e i s t h a t W i n d o w s 9 5 i s d e s i g n e d t o p r o v i d e d o w n g r a d e c o m p a t i b i l i t y . P r o g r a m s

    d e v e l o p e d u n d e r t h e e a r l y D O S 3 . 3 s t i l l r u n w i t h W i n d o w s 9 5 . W i n d o w s N T d o e s n o t p r o v i d e t h i s

    M S - D O S s h e l l . T h i s i s t h e r e a s o n w h y t h e P V M W I N 3 2 e x e c u t a b l e i t s e l f s w i t c h e s t o t h e r u n n i n g

    o p e r a t i n g s y s t e m .

    T h e r e a s o n i s t h e c o n c e p t o f u s i n g d e v i c e d r i v e r s . U s e r ' s c o d e i n W i n d o w s N T i s n o t a l l o w e d t o

    a c c e s s h a r d w a r e d i r e c t l y .

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

    c o n i c t s a r o s e . I n W i n d o w s N T , f u n c t i o n c a l l s t o d e v i c e d r i v e r s , w h i c h a c t u a l l y a c c e s s t h e h a r d w a r e ,

    g u a r a n t e e t h a t W i n d o w s N T r u n s s t a b l e ( P r o c e s s r u n s t a t e l e v e l ) .

    A n o t h e r c o n t r a s t t o W i n d o w s N T i s t h a t W i n d o w s 9 5 a l l o w s o n l y o n e u s e r t o b e l o g g e d i n a t o n e

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

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

    o n N T . I t o e r s a V i r t u a l M e m o r y S p a c e r e s u l t i n g i n f a s t e r s w i t c h i n g o f m u l t i p l e p r o c e s s e s . F u r -

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

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

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

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

    s y s t e m s .

    2 . 2 . 1 S e c u r i t y A s p e c t s

    T h e n e w g e n e r a t i o n o e r s s u c i e n t s e c u r i t y o n l y f o r t h e W i n d o w s N T s i d e . S e c u r i t y i s s e t t o

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

    o b j e c t , b u t a l s o a p r o c e s s o r a l e , s t a n d a r d i n p u t , - o u t p u t a n d - e r r o r c a n b e s e e n a s a n o b j e c t .

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

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

    s p e c i c u s e r s a r e s e t . I n P V M a n i m p o r t a n t s e c u r i t y a s p e c t i s a s e c u r e d l e s y s t e m i n w h i c h u s e r s

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

    2

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    4/8

    T o t h e c o n t r a s t o f W i n d o w s N T ' s N T F S , W i n d o w s 9 5 d o e s n o t o e r a l e s y s t e m w h i c h r e s t r i c t s

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

    p r o c e s s h a s r o o t p r i v i l e g e s . A p r o c e s s w h i c h l i k e s t o e n r o l l i n t o t h e P V M r e a d s a s o c k e t a d d r e s s o u t

    o f t h e % P V M _ T M P % \ p v m d . u s e r n a m e l e . S i n c e t h i s l e i s r e a d a b l e t o e v e r y p r o c e s s d i e r e n t u s e r s

    c o u l d g e t a c c e s s t o t h e p v m d d a e m o n ! I t i s r e c o m m e n d e d t o r u n N T a s t h e o p e r a t i n g s y s t e m ,

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

    3 T h e I m p l e m e n t a t i o n

    L i k e t h e o r i g i n a l P V M t h i s v e r s i o n n e e d s a d a e m o n p r o c e s s c a l l e d p v m d , w h i c h k e e p s t r a c k o f t h e

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

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

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

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

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

    processes

    tim

    e

    Blocked

    "spawn"

    provide socketport

    connect

    to localdaemon

    "pvm_addhost"

    no entry for hoster:

    message to hoster

    reminder for

    "spawn"

    connectto local daemon

    "pvm_reg_hoster"enroll as hoster

    send outreminder message

    rsh / rexecnew hosts

    slave_config

    host table update

    host startup result

    pvm-console

    master pvmd daemon

    hoster process

    slave pvmd daemon

    F i g u r e 3 : P V M S t a r t u p P r o t o c o l

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

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

    t h e i n t e r e s t e d r e a d e r m a y r e f e r t o t h e b o o k a b o u t P V M P V M ] .

    3

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    5/8

    3 . 1 T h e C o m m u n i c a t i o n L a y e r

    M e s s a g e s b e t w e e n p r o c e s s e s a r e e x c h a n g e d u s i n g W i n d o w s W i n s o c k e t s . T h e y o e r T C P a n d U D P

    o n t o p o f t h e I P l a y e r . T h e s p e c i c a t i o n i s c l o s e t o t h e B S D s t a n d a r d , h o w e v e r i t i s n o t p o s s i b l e t o

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

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

    o t h e r w i s e .

    U s i n g a h e t e r o g e n e o u s s y s t e m w i t h d i e r e n t a r c h i t e c t u r e s r e q u i r e s e n c o d i n g a n d d e c o d i n g o f m e s -

    s a g e s . T h e W I N 3 2 v e r s i o n o e r s X D R - e n / d e c o d i n g p o s s i b i l i t i e s . L i k e t h e e x i s t i n g P V M , m e s s a g e

    b u e r s c a n b e c r e a t e d i n t h r e e d i e r e n t m a n n e r s : P v m D a t a I n P l a c e ( f a s t e s t m e t h o d , o n l y p o i n t e r

    t o t h e m e s s a g e d a t a i s s t o r e d a n d p a c k e d f o r m e s s a g e t r a n s f e r w i t h o u t e n c o d i n g ) , P v m D a t a R a w

    ( a c o p y o f t h e d a t a i s m a d e , s e n t o u t w i t h o u t e n c o d i n g ) , P v m D a t a D e f a u l t ( a e n c o d e d c o p y i s s e n t

    o u t ) .

    M e s s a g e s s e n t i n b e t w e e n o n e a r c h i t e c t u r e s h o u l d u s e P v m D a t a R a w o r b e t t e r P v m D a t a I n P l a c e , i f

    p o s s i b l e . X D R e n - / d e c o d i n g i s e x p e n s i v e a n d s l o w s d o w n t h e p e r f o r m a n c e ( d e p e n d e n d o n C P U

    p o w e r ) .

    pvm hoster

    group serverpvm

    User task

    User task

    TCP

    TCP

    TCPTCP

    TCP

    UDP

    UDPUDP

    TCP

    User task

    pvm daemons

    connectionUser task

    Network

    Hardware Driver

    Network (Hardware) Interface

    Protocol Stac k (TCP/ IP)

    Windows So cke t DLL

    WinSock Compliant Application

    F i g u r e 4 : C o m m u n i c a t i o n a n d L a y o u t o f P V M

    3 . 2 D i e r e n c e s B e t w e e n W I N 3 2 a n d U N I X

    I n t h e U n i x e n v i r o n m e n t a u s e r h a s h i s u n i q u e u s e r - i d . F u r t h e r m o r e a l l u s e r s h a v e t h e s a m e r i g h t s

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

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

    a s p e c i c g r o u p . I n W I N 3 2 e a c h u s e r h a s t o b e i n c l u d e d i n t o a s e c u r i t y o b j e c t i f h e w a n t s t o

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

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

    e n v i r o n m e n t . M o r e s p e c i c t h e u s e r ' s S I D , t h e S e c u r i t y I d e n t i e r , w h i c h i s a b i n a r y s t r u c t u r e

    4

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    6/8

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

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

    t h e W I N 3 2 e n v i r o n m e n t a r e d i s t i n g u i s h e d b y t h e r e u s e r n a m e , w h i c h i s a l s o s t o r e d i n t h e S I D a n d

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

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

    o r s t a r t u p p a r a m e t e r s . I t i s p o s s i b l e t o s t a r t a n e w p r o c e s s b u t i t i s n o t p o s s i b l e t o s p l i t u p a t a s k

    i n t h e w a y t h e U n i x ' f o r k ' c a l l d o e s .

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

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

    a r e s p o n s e o r s e n d i n g i n i t i a l d a t a t o t h e n e w h o s t s . C o n s e q u e n t l y , o t h e r i n p u t w o u l d h a v e t o w a i t

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

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

    t o o t h e r r e q u e s t s .

    4 U s i n g P V M

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

    4 . 1 S e t t i n g s

    T h e c o r r e c t u s e o f P V M f o r W I N 3 2 n e e d s t h e f o l l o w i n g e n v i r o n m e n t v a r i a b l e s ,

    P V M T M P w h i c h s p e c i e s t h e l o c a t i o n o f t h e t e m p o r a r y l e s ( P V M T M P = c : \ t e m p )

    P V M R O O T p o i n t s t o t h e i n s t a l l a t i o n o f p v m ( P V M R O O T = c : \ p v m \ p v m 3 )

    P V M R S H l o c a t e s t h e r s h - c o m m a n d ( O n N T : % w i n n t s y s t e m % \ s y s t e m 3 2 \ r s h . e x e )

    P V M A R C H h a s t o b e s e t t o W I N 3 2

    A s w e l l a s W i n d o w s 9 5 , W i n d o w s N T i s d e s i g n e d f o r n e t w o r k i n g . N e v e r t h e l e s s t h e y d o n o t p r o v i d e

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

    h a s t o r u n o n e a c h h o s t . U s e r s h a v e t o l o o k o u t f o r a r e m o t e s h e l l d a e m o n ( r s h d ) , w h i c h w i l l a l l o w

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

    p r o b a b l y n e e d a r e m o t e e x e c u t e d a e m o n ( r e x e c d ) . N o t e t h a t U n i x d o e s p r o v i d e t h o s e . T h e y a r e

    o n l y r e q u i r e d o n W I N 3 2 c o m p u t e r s . I t i s a l s o p o s s i b l e t o p e r f o r m a m a n u a l s t a r t u p . T h i s , h o w e v e r ,

    i s v e r y i n c o n v e n i e n t a n d t a k e s t i m e .

    4 . 2 S e t t i n g U p a V i r t u a l M a c h i n e

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

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

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

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

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

    ( h o s t ' r u d o l p h ' a n d ' s h e n z i ' r e s p e c t i v e l y ) . T a s k s c a n b e s t a r t e d w i t h i n t h e c o n s o l e a n d t h e ' p s - a '

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

    5

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    7/8

    pvm> spawn -> spmd

    1 s u cce s s f ul

    t 8 0 0 0 1

    libpvm [t800 01]: token ring done

    pvm>

    H OS T T ID F LAG 0 x COMMAND

    2 0 4 / H, c c : /p v m / p v m 3 / b in / WIN3 2 / h o s t er .ex e4 0 0 0 1e d

    :

    c:> pvm hostfile

    hoster() 2 to start

    0 . t8 000 0 rudolph so=""

    1. tc0 000 thud so=""

    Password

    3 . 3 . 1 0

    t 4 0 0 0 2pvm> conf

    3 hosts , 2 data formats

    pvm> ps

    SUN4SUN4

    8 0 0 0 0t hud c 0 0 00

    1 0 0 01 0 0 0

    e d 4 00 00 WIN3 2 1 00 0

    HOST DTID ARCH

    rudolph

    SPEED

    F i g u r e 5 : P V M S e s s i o n

    4 . 3 C r e a t i n g a P V M A p p l i c a t i o n : F O R T R A N a n d C

    S e q u e n t i a l c o d e c a n b e p a r a l l e l i z e d u s i n g P V M ' s m e s s a g e p a s s i n g i n t e r f a c e . T h e a l g o r i t h m h a s

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

    b e f o u n d i n t h e l i b r a r y o f P V M . A l i n k i n g w i t h $ ( P V M _ R O O T ) / l i b / $ ( P V M _ A R C H ) / l i b p v m 3 . l i b i s

    n e c e s s a r y . T h e n e w P V M v e r s i o n a l s o o e r s g r o u p f u n c t i o n a l i t y . A p p l i c a t i o n w h i c h a r e u s i n g t h e

    g r o u p s e r v e r h a v e t o l i n k w i t h $ ( P V M _ R O O T ) / l i b / $ ( P V M _ A R C H ) / l i b g p v m 3 . l i b , t o o . I t i s a l s o p o s s i b l e

    t o b r i n g e x i s t i n g F O R T R A N a p p l i c a t i o n s t o t h e n e w e n v i r o n m e n t . T h e y h a v e t o b e l i n k e d w i t h

    $ ( P V M _ R O O T ) / l i b f p v m / $ ( P V M _ A R C H ) / l i b f p v m 3 . l i b .

    4 . 4 D e b u g g i n g i n P V M o n W I N 3 2

    T h e c o m m o n w a y i n t h e e x i s t i n g P V M v e r s i o n w a s t o s t a r t a n e w t a s k u n d e r a d e b u g g e r , w h i c h w a s

    s p e c i e d i n t h e $ ( P V M _ R O O T ) / l i b / d e b u g g e r l e . T h i s d e b u g g e r w a s d i s p l a y e d a t t h e u s e r s m a c h i n e .

    D e b u g g i n g i s a l s o p o s s i b l e i n t h e W I N 3 2 v e r s i o n . D i e r e n t t o t h e e x i s t i n g U n i x v e r s i o n t h e n e w

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

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

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

    s y s t e m a l l o w s l o c a l s o c k e t c o n n e c t i o n s w i t h o u t r e s t r i c t i o n s . ( S e e g u r e 6 )

    5 R e s u l t s

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

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

    6

  • 8/14/2019 Another Architecture: PVM on Windows 95/NT

    8/8

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

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

    T h e r e s u l t f o r t h e W I N 3 2 e n v i r o n m e n t l a c k s g o o d p e r f o r m a n c e . W e o p t i m i z e d t h e c o d e a n d w i l l

    0

    0.1

    0.2

    0.3

    0.4

    0.5

    0.6

    0.7

    0 100000 200000 300000 400000 500000 600000

    MB/s

    Message Sizes in Bytes

    TCP Over Ethernet

    "sun.sun.tcp.inp""win32.win32.tcp.inp"

    "win32.sun.tcp.def"

    0

    0.5

    1

    1.5

    2

    2.5

    3

    3.5

    4

    4.5

    0 100000 200000 300000 400000 500000 600000

    MB/s

    Message Sizes in Bytes

    Local TCP

    "sparc1.local.tcp.inp""win32.local.tcp.inp"

    "sparc5.local.tcp.inp"

    F i g u r e 6 : P V M P e r f o r m a n c e

    i n c l u d e t h e n e w w i n s o c k e t l i b r a r y ( W i n s o c k e t 2 s p e c i c a t i o n ) , w h i c h w i l l l e a d t o b e t t e r v a l u e s .

    6 C o n c l u s i o n

    A s t e s t s h a v e s h o w n , t h e P V M p a c k a g e o n t o p o f M S W i n d o w s N T / 9 5 b r i n g s r e l i a b l e p a r a l l e l

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

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

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

    T h e v e r s i o n t o t h e W I N 3 2 w o r l d w a s d o n e b y u s i n g M S V C + + c o m p i l e r b u t t h e l i b r a r y c a n a l s o

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

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

    t a k e t h e i r e x i s t i n g P V M - a p p l i c a t i o n a n d r u n i t o n t h e n e w a r c h i t e c t u r e . T h e r e i s n o n e e d o f l o n g

    l a s t i n g m o d i c a t i o n s .

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

    t h e P V M i n t e r f a c e .

    R e f e r e n c e s

    P V M ] A l G e i s t , A d a m B e g u e l i n , J a c k D o n g a r r a , W e i c h e n g J i a n g , R o b e r t M a n c h e k , V a i d y S u n -

    d e r a m P V M : P a r a l l e l V i r t u a l M a c h i n e A U s e r s ' G u i d e a n d T u t o r i a l f o r N e t w o r k e d P a r -

    a l l e l C o m p u t i n g 1 9 9 4 . P u b l i s h e d b y M I T P r e s s , B o s t o n .

    h t t p : / / w w w . n e t l i b . o r g / p v m 3 / b o o k / p v m - b o o k . h t m l

    P D S ] A l f r e d A b u r t o P D S : T h e P e r f o r m a n c e D a t a b a s e S e r v e r N o v e m b e r 2 6 , 1 9 9 5 , N a v a l O c e a n

    S y s t e m s C e n t e r , S a n D i e g o

    h t t p : / / p e r f o r m a n c e . n e t l i b . o r g / p e r f o r m a n c e / h t m l / P D S t o p . h t m l

    7