30
(C) 2002 Daniel Sorin Duke Architecture Why Computer Architecture is Exciting and Challenging Daniel Sorin Department of Electrical & Computer Engineering Duke University

(C) 2002 Daniel SorinDuke Architecture Why Computer Architecture is Exciting and Challenging Daniel Sorin Department of Electrical & Computer Engineering

Embed Size (px)

Citation preview

(C) 2002 Daniel Sorin Duke Architecture

Why Computer Architecture is Exciting and Challenging

Daniel Sorin

Department of Electrical & Computer Engineering

Duke University

CPS 300 – Daniel Sorinslide 2

Computer Architecture 101

• Computer architects design computer systems– Processors: Intel Pentium 4, IBM PowerPC– Also: memory systems, interconnections, ???

Pentium

cachememory

memory(DRAM) bridge to I/O

diskethernet

card

CPS 300 – Daniel Sorinslide 3

Intro to Microarchitecture (CPS 220 in 1 slide)

• Microarchitects design processors

• Goals for processors:– Faster!!!!– Higher bandwidth communication with memory system– Backward-compatible with previous models

• How do we make processors faster? – Faster clocks (>2 GHz)– Do more work (execute instructions) at same time

CPS 300 – Daniel Sorinslide 4

Intro to Multiprocessor Architecture

• I design computer systems with multiple processors

Node Node Node

InterconnectionNetwork

InterconnectionNetwork

Pentium

cachememory(DRAM) bridge to I/O

diskethernet

card

Node

CPS 300 – Daniel Sorinslide 5

What Multiprocessor Architects Do All Day

• How do we make processors work together?– Exploit parallelism in applications

• Example: web server– Each processor handles different requests– Processors communicate occasionally to synch up

• Some challenges:– Interconnection network design– Protocols for communicating and sharing data– Scalability– Reliability

CPS 300 – Daniel Sorinslide 6

Outline

• What is computer architecture?

• Why is architecture exciting? – Fast-paced: Technology trends– Important: Prevalence of computers

• Why is architecture challenging?

CPS 300 – Daniel Sorinslide 7

Technology Trends – Why do I Care?

• We design an architecture for a given technology• Technology parameters:

– Number of transistors on a chip– Transistor speed– Amount of memory– Memory speed– Bandwidth between components– Power usage– Applications to be run on system

• All of these change dramatically over time!

time

parameter

CPS 300 – Daniel Sorinslide 8

Technology Trends – A Few Examples

• Number of transistors – Doubles every 18 months (Moore’s Law)

• Memory size– 1992: I bought an extra 512Kbytes for my desktop– 2002: My desktop came with 512 Mbytes

• Power usage– Pentium 4 can draw 50 amps of current and burn 50 W

• Important applications– Word processing, spreadsheets multimedia, web surfing

CPS 300 – Daniel Sorinslide 9

Technology Trends – Good or Bad?

• Pessimist: trends make designs obsolete– But now I have to re-think everything I’d already solved!

• Optimist/Architect: trends offer opportunities– What can do we do with a billion transistors?

• Good design ideas Bad design ideas

• E.g., was good idea to scale up processor sizes– But, it now uses too much power and is too complex

CPS 300 – Daniel Sorinslide 10

What To Do With a Billion Transistors?

A. Make the processors bigger

Proc

B. Make more little processors

Proc

chip

chipProc Proc

CPS 300 – Daniel Sorinslide 11

Outline

• What is computer architecture?

• Why is architecture exciting? – Fast-paced: Technology trends– Important: Prevalence of computers

• Why is architecture challenging?

CPS 300 – Daniel Sorinslide 12

Prevalence of Computers

• They’re everywhere!– Desktops, laptops, cars, airplanes, ???

• Optimist/Architect: – More opportunities to innovate!

• Pessimist: we’re in trouble if:– They fail– They use up too much power

Let’s look at these two issues now

CPS 300 – Daniel Sorinslide 13

Computer Availability

• Availability: probability that computer works correctly

• More parts more parts that can fail

• How do we protect computer from failing?– Redundancy (e.g., double bagging your groceries)– Recovery mechanisms (e.g., “Undo” button in PowerPoint)

• My research explores how to detect errors and recover from them

CPS 300 – Daniel Sorinslide 14

Power Usage

• Used to just be a problem for supercomputers– E.g., Cray computers came with coolant system

• Now it’s a problem for all computers (tech trend!)– More computers using more power

CPS 300 – Daniel Sorinslide 15

Outline

• What is computer architecture?

• Why is architecture exciting?

• Why is architecture challenging?– Difficult to evaluate solutions– Inter-related with other fields

CPS 300 – Daniel Sorinslide 16

Ways to Evaluate New Architectures

Simula

ting

Modeling

Building

Tradeoff between three desired features

CPS 300 – Daniel Sorinslide 17

Building

• Construct a hardware prototype

• Advantages+ Way cool to show off hardware to friends+ Runs quickly

• Disadvantages– Takes long time (grad student time!) to build– Expensive– Not flexible

Generally too labor intensive for research studies

CPS 300 – Daniel Sorinslide 18

Modeling

• Mathematically model the system– Use probabilities and/or queuing models

• Advantages+ Very flexible+ Very quick to develop+ Runs quickly

• Disadvantages– Cannot capture effects of system details– Architects are skeptical of models

Generally OK for back of the envelope estimates

mem time = hit time + miss rate*penalty

CPS 300 – Daniel Sorinslide 19

Simulating

• Write a program that mimics system behavior

• Advantages+ Very flexible+ Relatively quick to develop

• Disadvantages– Runs slowly (e.g., 30,000 times slower than hardware)

Method of choice for most architectural research

CPS 300 – Daniel Sorinslide 20

Simulation Challenges

SimulatorApplication

System description

Performance results

Tough problems associated with each arrow!

CPS 300 – Daniel Sorinslide 21

Applications to Simulate

• We care how system does on important applications

• But who defines “important”? (I do!)

• Types of applications– Scientific (genomics, weather simulation, protein folding)– Commercial (database, web serving, application serving)– Desktop (office productivity software, multimedia)– Portable (voice recognition)– ???

CPS 300 – Daniel Sorinslide 22

Describing Simulated System

• How detailed must our simulator be?• Model every transistor in the processor?

– Would take too long

• Abstract away details of processor organization?– Could miss important effects of processor features– Could achieve wrong conclusion

• Need balance– Model in detail only where necessary– E.g., I model memory system in detail, but abstract disks

CPS 300 – Daniel Sorinslide 23

Performance Results

• How do tell if our design is good?• Need metrics for evaluation

• Performance metrics– Clock speed (gigahertz)?– Instructions per cycle?– Database transactions per second

• Compare results to other published research?– Can’t do it!– Major problem in architecture research– JIR = “Journal of Irreproducible Results”

CPS 300 – Daniel Sorinslide 24

Outline

• What is computer architecture?

• Why is architecture exciting?

• Why is architecture challenging?– Difficult to evaluate solutions– Inter-related with other fields

CPS 300 – Daniel Sorinslide 25

Why Architects Need Friends

• Architecture is considered both computer engineering and computer science

• Architects interact with other areas– Circuit design (Electrical Engineering)– Transmission lines (EE)– Power (EE, Mechanical Engineering)– Compilers (Comp Sci)– Operating systems (CS)– Networking (EE, CS)– Databases (CS)– Queuing theory (CS, EE, Industrial Engineering)

CPS 300 – Daniel Sorinslide 26

How Architecture Relates to Other Areas

Computer Architecture

Operating Systems, Compilers, Networking Software

Circuits, Wires, Network Hardware

Application Software

• Besides these interactions, also global issues!

– Power, system verification, performance analysis, etc.

CPS 300 – Daniel Sorinslide 27

How Architecture Relates to Hardware (EE)

Computer Architecture

Operating Systems, Compilers, Networking Software

Circuits, Wires, Network Hardware

Application Software

• Architecture should enable efficient hardware design

– Avoid huge hardware structures

– Avoid cross-chip wires

CPS 300 – Daniel Sorinslide 28

How Architecture Relates to System Software

Computer Architecture

Operating Systems, Compilers, Networking Software

Circuits, Wires, Network Hardware

Application Software

• Architecture should support system software

– Provide good target for compiler (unlike IA-64?)

– Support important OS features (such as synchronization)

CPS 300 – Daniel Sorinslide 29

How Architecture Relates to User Software

Computer Architecture

Operating Systems, Compilers, Networking Software

Circuits, Wires, Network Hardware

Application Software

• Architecture should efficiently run important apps

• Intel added MMX hardware to support media apps

• Sun & IBM design multiprocessors for commercial apps

CPS 300 – Daniel Sorinslide 30

Conclusions

• Computer architecture is way cool, but not easy

• “If it was easy, everyone would do it.” - my Mom

• Students interested in architecture should:– Take ECE 259 / CPS 221 in the spring– Attend architecture/systems seminars in CS department– Take courses in related fields