BriefHistory Groves

Embed Size (px)

Citation preview

  • 8/21/2019 BriefHistory Groves

    1/13

    1 4 7 O C R O u t p u t

    system performance.

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

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

    this, computer systems have been required to take approaches that improve performance by

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

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

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

    projected to continue through the foreseeable future in the absence of fundamentally new

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

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

    technologies: dynamic random access memories and magnetic disk storage. Here again, the

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

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

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

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

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

    General

    p r o j e c t e d .

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

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

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

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

    fundamentally different trade-offs in the architecture of computer systems. Additional advances

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

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

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

    Abstract

    IBM, Austin, Texas

    Fl. D. Groves

    B r i e f H i s t o r y o f C o m p u t e r A r c h i t e c t u r e E v o l u t i o n a n d F u t u r e T r e n d s

  • 8/21/2019 BriefHistory Groves

    2/13

    1 4 8 O C R O u t p u t

    Source: IBM and [2].

    F i g u r e 2 : U s i n g t h e i r 19 8 0 c a p a b i l i t i e s a s a b a s e l i n e , t h e r o w a c c e s s p e r f o m l a n c e o t D R A M a n d t h e D R A M c a p a c i t y i s p l o t t e d o v e r t i m e .

    Year

    1 980   1983 1 986   1989 1 9921 00%

    R o w a c c e s s p é d o l t n i n f f

     _/#1 ,000%0;/w · * · - · · /

    c b _ . . / ·

    b 10,000%

    1 00,000%

    p l o t t e d o v e r t i m e . S o u r c e : I B M a n d { 1 ] .

    F i g u r e 1 : U s i n g t h e i r 1 9 8 3 c a p a b i l i t i e s a s a b a s e l i n e , t r a n s i s t o r s p e e d a n d t h e n u m b e r o f a v a i l a b l e C M O S c i r c u i t e l e m e n t s p e r d i e i s

    Year

    1 983 1 986 1989 1 992 1 995 1 998

    1 00%

    /

    · t o r S P

    1,000%M f"

    \ @ C "

    \ $ { ` _G \ 6 \ \ ·

    $ { 5 · · _ _ _ , r'

    § 10,000%

    1 00,000%

  • 8/21/2019 BriefHistory Groves

    3/13

    1 4 9 O C R O u t p u t

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

    A s t h i s t r e n d t o w a r d m o r e c o m p l e x i n s t r u c t i o n s c o n t i n u ed i n t o t h e 1 9 7 0 ` s , t h e u n d e r l y i n g

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

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

    doing more "work" for each instruction fetched. Many architects were also convinced that the jobs e t s . M o r e c o m p l i c a t e d i n s t r u c t i o n s h e l p e d o v e r c o m e t h e m e m o r y - p r o c e s s o r p e r f o r m a n c e g a p b y

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

    e a r l y F O R T R A N c o m p i l e r s w e r e d e m o n s t r a t i n g q u i t e a s t o u n d i n g r e s u l t s f o r t h i s t i m e p e r i o d ) .

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

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

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

    I n t h e l a t e l 9 5 0 ' s a n d e a r l y l 9 6 0 ' s , t h e g a p w a s w i d e e n o u g h b e t w e e n m e m o r y t e c h n o l o g i e s a n d

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

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

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

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

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

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

    In the earliest computer systems, both density and speed were quite modest; and software

    a r e p l o t t e d o v e r t i m e . S o u r c e ; I B M a n d [3] .

    F i g u r e 3 : U s i n g t h e i r 1 9 5 7 c a p a b i l i t i e s a s a b a s e l i n e , m a g n e t i c d i s k a r e a l d e n s i t y , a n d t h e a v e r a g e n u m b e r o f d i s k a c c e s s e s p e r s e o o n d

    Year

    19751957 1985 19941965

    100%

    %Q 1,000

    d T 1 A c c e s s e s p € \ ' S G C OWoE 10,000

     _•__ 100, 000 Wa

    Q61,000,000 7 o

    Wo

  • 8/21/2019 BriefHistory Groves

    4/13

    1 5 0 O C R O u t p u t

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

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

    environment. A nother example that all three proj ects explored was whether all instructions could be

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

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

    t h e 8 0 1 p r o j e c t w a s a t t e m p t i n g t o e l i m i n a t e t h e n e e d f o r s t o r a g e p r o t e c t i o n h a r d w a r e b y r e l y i n g o n a

    Fortunately, many of these proposed approache s never left the laboratory. For example, at one pointu n l e s s p r o v e n o t h e r w i s e . T h u s , t h e s e p r o j e c t s e x p l o r e d a l l t h e b o u n d a r i e s o f t h e s e d e s i g n t r a d e - o f f s .

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

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

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

    S t a n f o r d M I P S [ 8 ] p r o j e c t s .

    t h e s e o b s e r v e d t e c h n o l o g i c a l c h a n g e s , i n c l u d i n g t h e I B M 8 0 1 [ 5 ] , B e r k e l e y R I S C [ 6 , 7 ] , a n d

    a r c h i t e c t u r e s . S e v e r a l s e m i n a l r e s e a r c h p r o j e c t s w e r e u n d e r t a k e n i n t h e m i d t o l a t e l 9 7 0 ' s b a s e d o n

    hardware technologies and the fundamentals all pointed to a major change in computer system

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

    s p e c i f i c a l l y w r i t t e n f o r t h e s p e c i f i c h a r d w a r e s y s t e m a n d a l m o s t n o c o d e w r i t t e n i n a s s e m b l ysoftware in the system would be written in a portable, high-level language with relatively little code

    UNIX is the most obvious example, was creating a sys tem design point in which most of the

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

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

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

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

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

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

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

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

    o p e r a t i o n s i n t h e i n t e r m e d i a t e l a n g u a g e s ( H , ) f o r p e r f o r m i n g t h e o p t i m i z a t i o n s a g a i n s t . B y u s i n g

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

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

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

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

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

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

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

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

    e x e c u t e d a " m i c r o p r o g r a m " c o n t a i n e d i n t h i s h i g h — s p e e d s t o r a g e . A s i n s t r u c t i o n s e t s b e c a m e m o r e

    high-speed, read-only control memory that actually interpreted the complex instructions and

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

  • 8/21/2019 BriefHistory Groves

    5/13

    1 5 1 O C R O u t p u t

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

    layers of the subroutine-call hierarchy in registers. While this approach does reduce the overhead

    S P A R C a r c h i t e c t u r e s u p p o r t s a f e a t u r e c a l l e d r e g i s t e r w i n d o w s w h i c h k e e p s t h e c o n t e x t o f s e v e r a l

    c o m p l i c a t e d . T h u s , c a c h e - t o - I / O c o h e r e n c y i s n o w s u p p o r t e d i n h a r d w a r e f o r P o w e r P C . T h e S u n

    e f f i c i e n t l y f o r t h e c o m m o n c a s e o f p a g i n g I / O , t h e o v e r h e a d f o r " r a w " I / O i s s i g n i f i c a n t a n d

    r e q u i r i n g a l l c a c h e — t o - I / O c o h e r e n c y t o b e m a n a g e d i n s o f t w a r e . W h i l e t h i s h a s b e e n m a d e t o w o r k

    management and coherency with I/O. The IBM POVVER architecture took this to the extreme ofc o m m e r c i a l i z a t i o n . M o s t o f t h e s e s y s t e m s m a d e s o m e s i m p l i f y i n g a s s u m p t i o n s r e l a t i v e t o c a c h e

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

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

    systems provided very attractive performance and price/performance, particularly in

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

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

    s t r e s s f u l o n t h e m e m o r y h i e r a r c h y , s i m i l a r t o t h a t e x h i b i t e d b y t h e N A S p a r a l l e l a n d T P C — C

    i n t e r e s t i n g w o r k l o a d s o f w h i c h t h e S P E C b e n c h m a r k s a r e r e p r e s e n t a t i v e . W o r k l o a d s t h a t a r e m o r e

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

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

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

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

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

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

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

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

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

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

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

    addressing with extensions to 64-bit addressing (A lpha being the only one which supports only 64

    general purpose registers as well as at least 1 6 floating-point registers. A ll have at least 32-bit

    instruction decode extremely easy (sacrific ing information density for ease of decode) . Eac h has 32

    c h a r a c t e r i s t i cs . A l l h a v e f i x e d - l e n g t h (3 2 — b i t ) i n s t r u c t io n s w i t h r e l a t i v e l y f e w f o r m a t s m a k i n g

    P a c k a r d P A - R I S C , a n d D i g i t a l E q u i p m e n t A l p h a . A l l o f t h e s e a r c h i t e c t u r e s s h a r e s o m e c o m m o n

    SPARC (based on Berkeley RISC), Silicon Graphics MIPS (based on Stanford MIPS), Hewlett

    The resulting commercialized RISC architectures included IBM POWER (based on the 801), Sun

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

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

    r e q u i r e d f o r t h e s e o p e r a t i o n s h a d r e d u c e d s i g n i f i c a n t l y ( w i t h m a n y o f t o d a y ' s R I S C C P U s a b l e t o

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

    o n e — c y c l e p r i m i t i v e s . B y t h e t i m e t h e s e a r c h i t e c t u r e s w e r e c o m m e r c i a l i z ed , t h e s e m o r e " c o m p l e x "

  • 8/21/2019 BriefHistory Groves

    6/13

    1 5 2 O C R O u t p u t

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

    c o m p l e x i t y f o r n o p e r f o r m a n c e g a i n . T h i s i s w h y l a t e r R I S C a r c h i t e c t u r e s l i k e I B M P O W E R a n d

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

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

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

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

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

    finding instructions that could be placed in this delay slot; and this feature was very important for

    that could be executed during this otherwise idle cycle. Compilers were typically quite successful in

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

    architectures. S ince a tak en branch introduced a " bubble" of one cycle in the pipeline of these early

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

    However, some of the early RISC architecture decisions proved problematic in the move to

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

    and formats, the large number of general purpose registers, and the relatively few complex

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

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

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

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

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

    A f t e r t h e i n i t i a l R I S C i m p l e m e n t a t i o n s , t h e f o c u s o f c o m p u t e r a r c h i t e c t s b e g a n t o m o v e f r o m t h e

    Instruction-level Parallelism

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

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

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

    i n s t r u c t i o n p e r c y c l e ) , t a s k / p r o c e s s - l e v e l p a r a l l e l i s m ( s i m u l t a n e o u s e x e c u t i o n o f m o r e t h a n o n e t a s k

    p a r a l l e l i s m t h a t h a v e b e e n e x p l o r e d i n c l u d e : i n s t r u c t i o n - l e v e l p a r a l l e l i s m ( e x e c u t i n g m o r e t h a n o n e

    growth which exceeds that of the underlying switching speed improvements. The forms of

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

    performance gains would be limited to that obtained from faster circuit switching speeds.

    already executing close to one instruction per cycle, without parallelism, almost all future

    p e r f o r m a n c e g a i n s w o u l d h a v e t o c o m e f r o m t h e e x p l o i t a t i o n o f p a r a l l e l i s m . S i n c e C P U s w e r eAfter the initial round of implementations, computer architects realized that most future

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

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

  • 8/21/2019 BriefHistory Groves

    7/13

    1 5 3 O C R O u t p u t

    i n t o a s i n g l e v e r y -l o n g · i n s t r u c t i o n w o r d .

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

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

    which instruction to execute, or speculatively execute, in a given cycle to the compiler based on

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

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

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

    requires an ever more complex instruction dispatch uni t that can look past multiple branches and

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

    h a s g i v e n a s c e n d a n c y t o v e r y l o n g i n s t r u c t i o n w o r d ( V L I W ) t e c h n i q u e s [ 9 ] . T h e f u n d a m e n t a l l i m i t

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

    D e s p i t e t h e s u c c e s s o f s u p e r s c a l a r R I S C p r o c e s s o r s , t h e a b i l i t y t o e f f i c i e n t l y e x p l o i t m o r e

    r a p i d l y f a l l e n o u t o f f a v o r .

    exploit the extra density of circuits and puts extra stress on the circuit switching spe eds, it has

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

    i n t r o d u c e d i n t h e m a r k e t ( m o s t n o t a b l y t h e M I P S R 4 0 0 0 a n d , t o s o m e d e g r e e , t h e o r i g i n a l D E C

    s u s t a i n e d w i t h t o d a y ' s i m p l e m e n t at i o n s . F o r a b r i e f p e r i o d , a f e w " s u p e r p i p e l i n e d" p r o c e s s o r s w e r e

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

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

    key vendors and have delivered even more impressive performance and price/performance

    S y s t e m / 6 0 0 0 i n 1 9 9 0 , i n c r e a s i n g l y a g g r e s s i v e s u p e r s c a l a r i m p l e me n t a t i o n s h a v e a p p e a r e d f r o m a l l

    S i n c e t h e i n t r o d u c t i o n o f t h e f i r s t s u p e r s c a l a r R I S C , t h e I B M P O W E R m i c r o p r o c e s s o r s i n t h e R I S C

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

    m u l t i p l e , i n d e p e n d e n t c o n d i t i o n c o d e s f o r u s e b y t h e c o m p i l e r a s we l l a s c o m p l e t e c o n t r o l o f t h et h e s e r e g i s t e r s w i t h t h e i n t e g e r u n i t . T h e I B M P O W E R a r c h i t e c t u r e i s u n i q u e i n h a v i n g a r c h i t e c t e d

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

    inefficient ( only one bit of information in a 6 4-bit register) , uses precious register locations that

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

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

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

    i m p l e m e n t ed f o r t h e s a m e l e v e l o f p e r f o r m a n c e . M o s t R I S C a r c h i t e c t u r e s w e r e n o t d e s i g n e d w i t h

    accuracy of the branch resolution and prediction capabilities and simplifying what must be

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

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

    branch instructions. Control flow is typically predicated on the testing of condition codes.e x e c u t i o n r e q u i r e s s i g n i f i c a n t a m o u n t o f r e s o u r c e s e i t h e r r e s o l v i n g o r p r e d i c t i n g t h e o u t c o m e o f

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

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

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

  • 8/21/2019 BriefHistory Groves

    8/13

    ‘ l 5 4 O C R O u t p u t

    s i n g l e p r o c e s s o r t h a t w a s t i m e - s h a r e d b e t w e e n m u l t i p l e , s i m u l t a n e o u s c o n t e x t s o n at a s k / p r o c e s s p a r a l l e li s m a t t h e i n d i v i d u a l p r o c e ss o r l e v e l . E a r l y C D C I / O p r o c e s s o rs w e r e a c t u a l l y a

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

    S y m m e t r i c M u l t i p r o c e s s o r ( S M P ) s y s t e m s b y r u n n i n g i n d e p e n d e n t t a s k s o r p r o c e s s e s o n s e p a r a t e

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

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

    Task/Process Parallelism

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

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

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

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

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

    C P U p e r f o r m a n c e i s i n c r e a s i n g a t a f a s t e r r a t e t h a n t h e a c c e s s t i m e o f m a i n m e m o r y c r e a t i n g a n

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

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

    a n d i n s t r u c t i o n s a r e c o n t a i n e d w i t h i n t h e h i g h - s p e e d c a c h e s c o n n e c t e d t o t h e p r o c e s s o r s . H o w e v e r ,

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

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

    In d e p e n d e n t o f V LIW o r s u p e r s c a l a r p r o c e s s o r s , t h e p r o b l e m o f "f i n i t e c a c h e e f f e c t s " i s b e c o m i n g

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

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

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

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

    applications without requiring a recompile. (In fact, this may be necessary for them to be

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

    binary code. Now that RISC computers have established themselves in the industry, market

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

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

    Major advances in the state of the art of VLIW hardware and software have been made in recent

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

    32 registers typical of today's RI S C architectures. They also fundamentally require the ability to

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

  • 8/21/2019 BriefHistory Groves

    9/13

    1 5 5 O C R O u t p u t

    among several independent processors to work on the pr oblem simultaneously. Some problems

    problem on a computer to come up with a new approach which will be able to be efficiently divided

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

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

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

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

    Algorithmic Parallelism

    misses.

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

    t h e l a t e n c y o f t h e c a c h e m i s s , t h u s i m p r o v i n g t h e e f f i c i e n c y o f C P U u t i l i z a t i o n . F o r t h e s e a p p r o a c h e s

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

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

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

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

    performance gap. Source: [10].

    1 9 8 5 a n d 1 0 0 % p e r y e a r t h e r e a f t e r . N o t e t h a t t h e v e r t i c a l a x i s m u s t b e o n a l o g a r i t h m i c s c a l e t o r e c o r d t h e s i z e o f t h e p r o c e s s o r - D R A M

    year until 1985 and a 50% improvement thereafter. The fast processor line assumes a 26% performance improvement between 1980 and

    DRAM baseline is 64 KB in 1980, with three years to the next generation. The slow processor line assumes a 19% improvement per

    Figure 4: . Using their 1980 performance as a baseline, the performance of DFlAMs and processors is plotted over time. The

    19ao 19a1 19a2 19a; 19a4 1985 19as 19ar 19as 19a9 1990 1991 1992

    10W/¤

    1 ,000%

    WJ ($0*/)

    10,(XD%

    WJ (fw)100,®G%

  • 8/21/2019 BriefHistory Groves

    10/13

    1 5 6 O C R O u t p u t

    level of sharing can also improve the availability of a system, as well.any failure in any component is highly likely to bring down the whole system. Thus, reducing the

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

    I n a d d i t i o n t o p e r f o r m a n c e s c a l i n g p r o b l e m s , U M A M P s y s t e m s a l s o s u f f e r f r o m s y s t e m r e l i a b i l i t y

    t h e l o w d o u b l e d i g i t s .

    s h a r i n g . E v e n w i t h a l l t h e s e v a l i a n t e f f o r t s , t h e l i m i t o f s c a l a b i l i t y o f U M A s y s t e m s w i l l r e m a i n i n

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

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

    shared-bus systems to systems in which the connection among the CPUs and memory and I/O

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

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

    algorithmic parallelism. The fact that memory, I / O , and the operating system are all shared by all

    W h i l e U M A M P t e c h n o l o g y i s q u i t e m a t u r e , i t d o e s h a v e s o m e d r a w b a c k s f o r t h e e x p l o i t a t i o n o f

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

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

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

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

    ( S M P s ) . T h e y a r e c h a r a c t e r i z e d b y a l l p r o c e s s o r s h a v i n g e q u a l a c c e s s t o a l l m e m o r y a n d I / O . T h e y

    This represents the sharing model of most commercially successful symmetric multiprocesso rs

    Uniform Memory Access

    ( U MA ) , n o n - u n i f o r m m e m o r y a c c e s s ( N U MA ) , a n d n o r e m o t e m e m o r y a c c e s s ( N O R MA) .

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

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

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

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

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

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

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

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

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

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

  • 8/21/2019 BriefHistory Groves

    11/13

    1 5 7 O C R O u t p u t

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

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

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

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

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

    h a s b e e n t a k e n b y m o s t N U M A m a c h i n e s i n t h e m a r k e t p l a c e .p r e s e r v e d t h a t h e l p s a p p l i c a t i o n s i n t h e t r a n s i t i o n f r o m U M A m a c h i n e s . T h i s i s t h e a p p r o a c h t h a t

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

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

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

    an operating system designed for UMA machines to deal with replication of memory and

    T h e d e s i g n o f t h e o p e r a t i n g s y s t e m f o r N U M A s y s t e m s h a s t w o a p p r o a c h e s . T h e f i r s t i s t o m o d i f y

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

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

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

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

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

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

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

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

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

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

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

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

    the average percentage of remote accesses is the ultimate determinant of scalability in NUMAN U M A d e s i g n s w i l l f u n c t i o n w e l l p r o v i d e d m o s t a c c e s s e s c a n b e m a d e t o l o c a l r e s o u r c e s . I n f a c t ,

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

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

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

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

    B y relaxing the requirement for uniform access, the hardware system designers are more easily able

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

    "l o c a l " t o t h a t p r o c e s s o r . M e m o r y a n d I/O w h i c h i s f a r t h e r a w a y i s e i t h e r r e f e r r e d t o a s "g l o b a l " o r

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

    N U M A m a c h i n e s s h a r e a c o m m o n a d d r e s s s p a c e b e t w e e n a l l p r o c e s s o r s a n d t h e i r m e m o r y a n d I / O ;

    Non-Uniform Memory Access

  • 8/21/2019 BriefHistory Groves

    12/13

    1 5 8 O C R O u t p u t

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

    A g a i n , N O R M A m a c h i n e s a c h i ev e p e r f o r m a n c e b y e x p l o i ti n g r e p l i c a t i on , e v e n m o r e s o t h a n N U M A

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

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

    miss in a NUMA machine) or software (a PUT/GET in a NORMA machine). Because of these

    s i m i l a r i n h a r d w a r e . T h e k e y d i f f e r e n c e i s w h e t h e r t h e t r a n s f e r w a s i n i t i a t e d b y h a r d w a r e ( a c a c h ea n a p p l i c a t i o n ( wi t h a P U T o r GE T c o m m a n d ). T h e a c t u a l p r o c e s s o f d o i n g t h e d a t a t r a n s f e r i s v e r y

    m i s s t o a r e m o t e n o d e . I n a N O R M A m a c h i n e , d a t a i s t r a n s f e r r e d b e t w e e n n o d e s a t t h e r e q u e s t o f

    other nodes. In a NUMA machine, data is transferred from one node to another based on a cache

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

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

    I n f a c t , i f o n e l o o k s a t w h a t i s r e q u i r e d t o i m p l e m e n t a n e f f i c i e nt N U M A m a c h i n e a n d a N O R M A

    N O R M A a r c h i t e c t u r e s s i n c e m e t h o d i n v o c a t i o n s a r e e s s e n t i a l l y m e s s a g e s .

    N O R M A m a c h i n e s . A l s o , t h e m o v e t o o b j e c t — o r i e n t e d a p p l i c a t i o n d e s i g n l e n d s i t s e l f w e l l t o

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

    semantic gap between shared-memory programming and message-passing programming and allowa n o t h e r n o d e o n t h e s y s t e m i n a v e r y l i g h t w e i g h t f a s h i o n . T h i s c a p a b i l i t y w i l l f u r t h e r c l o s e t h e

    o p e r a t i o n s w h i c h a l l o w s a n a p p l i c a t i o n t o c o p y t o / f r o m a n o t h e r a p p l i c a t i o n ' s a d d r e s s s p a c e i n

    and to improve performance, NORMA machines are beginning to provide "remote memory copy"

    w e l l . H o w e v e r , m o s t a p p l i c a t i o n s h a v e y e t t o m a ke t h i s t r a n s i t i o n . T o a s s i s t i n t h i s c o m p l e x p r o c e s s

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

    T h e N O R MA a p p r oa c h i s c le a r ly t h e m o s t s c a la b le f r o m a h a r d wa r e p e r s p e c t i v e a n d h a s

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

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

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

    b y a l a y e r o f s o f t w a r e w h i c h c o o r d i n a t e s t h e a c t i v i t i e s o f t h e m u l t i p l e c o p i e s o f t h e o p e r a t i n gm e n t i o n e d f o r N U M A o p e r a t i n g s y s t e m d e s i g n , g l o b a l s e r v i c e s a n d r e s o u r c e a l l o c a t i o n a r e p r o v i d e d

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

    performance NORMA machines focus on improving the bandwidth and latencies of sending

    a NORMA machine cooperate with other nodes through the sending of messages. High

    N O R M A m a c h i n e s d o n o t s h a r e m e m o r y , I / O , o r o p e r a t i n g s y s t e m c o p i e s . T h e i n d i v i d u a l n o d e s i n

    No Remote Memory Access

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

    t h e u s e o f r e p l i c a t i o n . S i n c e r e p l i c a t i o n e x p l i c i t l y u s e s m o r e m e m o r y , t h i s i s a n o t h e r e x a m p l e o fT h e c o m m o n t h r e a d h e r e i s t h a t N U M A m a c h i n e s p r o v i d e s c a l a b i l i t y b y r e d u c i n g s h a r i n g t h r o u g h

    g l o b a l r e s o u r c e s i s u s u a l l y n o n - t r i v i a l .

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

  • 8/21/2019 BriefHistory Groves

    13/13

    159

    H a r d w a r e / S o f t w a r e I n t e r f a c e , M o r g a n K a u f m a n n P u b l i s h e r s , S a n M a t e o , C A ( 1 9 9 4 ) .

    [ 1 0 ] J . L . H e n n e s s y , a n d D . A . P a t t e r s o n , C o m p u t e r O r g a n i z at i o n a n d D e s i g n , T h e

    I n t e r n a t i on a l S y m p o s i u m o n C o m p u t e r A r c h i t e c t u r e s , A C M , p p . 1 4 0 - 1 5 0 ( J u n e 1 3 - 1 7 , 1 9 8 3 ) .

    [9 ] J . A. Fi s h e r , 'V e r y Lo n g In s t r u c t i o n Wo r d Ar c h i t e c t u r e s a n d t h e ELI-512‘, T h e 1 0 t h An n u a l

    1221 -1246 ( D ecember 1984 ) .

    [8 ] J . L . H e n n e s s y , ' V L S I P r o c e s s o r A r c h i t e c t u r e ' , I E E E T r a n s a c t i o n s o n C o m p u t e r s , C - 3 3 . 1 2 , p p .

    8 - 2 1 ( J a n u a r y 1 9 8 5 ) .

    [ 7 ] D . A . P a t t e r s o n , ' R e d u c e d I n s t r u c t i o n S e t C o m p u t e r s' , C o m m u n i c a t i o n s o f t h e A C M , 2 8 . 1 , p p .

    SIGARCH ComputerArchitecture News, 8.6, ACM, pp. 25-33 (October 15, 1980).

    [ 6 ] D . A . P a t t e r s o n , a n d D . R . D i t z e l , ' T h e C a s e f o r t h e R e d u c e d I n s t r u c t i o n S e t C o m p u t e r ' ,

    Development, 27.3, pp. 237-246 (May 1983).p p . 3 9 - 4 7 ( M a r c h 1 9 8 2 ) , R e v i s e d v e r s i o n p u b l i s h e d i n I B M J o u r n a l o f R e s e a r c h a n d

    [ 5 ] G . R a d i n , ' T h e 8 0 1 M i n i c o m p u t e r ', S I G A R C H C o m p u t e r A r c h i t e c t u r e Ne w s , 1 0 . 2 , A C M ,

    ' R e g i s t e r A l l o c at i o n v i a C o l o r i n g ‘ , C o m p u t e r L a n g u a g e s, 6 . 1 , p p . 4 7 - 5 7 ( 1 9 8 1 ) .

    [ 4 ] G J . C h a i t i n , M . A . A u s l a n de r , A . K . C h a n d r a , J . C o c k e , M . E . H o p k i n s , a n d P . W . M a r k s t e in ,

    (September 1981).

    D i s k F i l e l n n o v a t i o n ’ , I B M J o u r n a l o f R e s e a r c h a n d D e v e l o p m e n t , 2 5 . 5 , p p . 6 7 7 - 6 8 9

    [ 3 ] J . M . H a r k e r , D . W . B r e d e , R . E . P a t t i s o n , G . R . S a n t a n a , a n d L . G . T a f t , ‘ A Q u a r t e r C e n t u r y o f

    Kaufmann Publishers, San Mateo, CA (1990).

    l 2 l D . A . P a t t e r s o n , a n d J . L . H e n n e s s y , C o m p u t e r A r c h i t e c t u r e , A Q u a n t i t i v e A p p r o a c h , M o r g a n

    J o u r n a l o f R e s e a r c h a n d D e v e l o p m e n t , 3 9 . 1 - 2 , p p . 5 · 2 2 ( 1 9 9 5 ) .

    [ l l R . F . S e c h l e r , a n d G . F . G r o h o s k i , ‘ D e s i g n a t t h e S y s t e m L e v el w i t h V L S I C M O S ’ , I B M

    References

    architectures that exploit density and parallelism over raw performance.

    r a w p e r f o r m a n c e . T h u s , we c a n e x p e c t c o n t i n u e d a d v a n c e m e n t s i n t h o s e a p p r o a c h e s a n d

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

    w e l l a s t h e r e s e a r c h i n t o u s i n g D N A t o d o c o m p u t a t i o n s . I n t h e l i m i t , m o l e c u l a r - l e v e l c o m p u t in g

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

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

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

    The limit of replication and speculation is to compute all possible outcomes simultaneously and to

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

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

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

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

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

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

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

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

    Summary