Why Computer Architecture is Exciting and Challenging - PowerPoint PPT Presentation

1 / 30
About This Presentation
Title:

Why Computer Architecture is Exciting and Challenging

Description:

Why Computer Architecture is Exciting and Challenging Daniel Sorin Department of Electrical & Computer Engineering Duke University Computer Architecture 101 Computer ... – PowerPoint PPT presentation

Number of Views:126
Avg rating:3.0/5.0
Slides: 31
Provided by: dani64
Category:

less

Transcript and Presenter's Notes

Title: Why Computer Architecture is Exciting and Challenging


1
Why Computer Architecture is Exciting and
Challenging
  • Daniel Sorin
  • Department of Electrical Computer Engineering
  • Duke University

2
Computer Architecture 101
  • Computer architects design computer systems
  • Processors Intel Pentium 4, IBM PowerPC
  • Also memory systems, interconnections, ???

Pentium
disk
ethernet card
cache memory
memory (DRAM)
bridge to I/O
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 (gt2 GHz)
  • Do more work (execute instructions) at same time

4
Intro to Multiprocessor Architecture
  • I design computer systems with multiple
    processors

Node
Node
Node
Node
Interconnection Network
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

6
Outline
  • What is computer architecture?
  • Why is architecture exciting?
  • Fast-paced Technology trends
  • Important Prevalence of computers
  • Why is architecture challenging?

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!

parameter
time
8
Technology Trends A Few Examples
  • Number of transistors
  • Doubles every 18 months (Moores 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

9
Technology Trends Good or Bad?
  • Pessimist trends make designs obsolete
  • But now I have to re-think everything Id 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

10
What To Do With a Billion Transistors?
  1. Make the processors bigger

Proc
chip
  1. Make more little processors

Proc
Proc
Proc
chip
11
Outline
  • What is computer architecture?
  • Why is architecture exciting?
  • Fast-paced Technology trends
  • Important Prevalence of computers
  • Why is architecture challenging?

12
Prevalence of Computers
  • Theyre everywhere!
  • Desktops, laptops, cars, airplanes, ???
  • Optimist/Architect
  • More opportunities to innovate!
  • Pessimist were in trouble if
  • They fail
  • They use up too much power
  • Lets look at these two issues now

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

14
Power Usage
  • Used to just be a problem for supercomputers
  • E.g., Cray computers came with coolant system
  • Now its a problem for all computers (tech
    trend!)
  • More computers using more power

15
Outline
  • What is computer architecture?
  • Why is architecture exciting?
  • Why is architecture challenging?
  • Difficult to evaluate solutions
  • Inter-related with other fields

16
Ways to Evaluate New Architectures
Tradeoff between three desired features
Ease of development
Flexibility
Modeling
Simulating
Runtime speed
Precision
Building
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

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 ratepenalty
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

20
Simulation Challenges
Application
Simulator
Performance results
System description
  • Tough problems associated with each arrow!

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)
  • ???

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

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?
  • Cant do it!
  • Major problem in architecture research
  • JIR Journal of Irreproducible Results

24
Outline
  • What is computer architecture?
  • Why is architecture exciting?
  • Why is architecture challenging?
  • Difficult to evaluate solutions
  • Inter-related with other fields

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)

26
How Architecture Relates to Other Areas
  • Besides these interactions, also global issues!
  • Power, system verification, performance analysis,
    etc.

27
How Architecture Relates to Hardware (EE)
Application Software
Operating Systems, Compilers, Networking Software
Computer Architecture
Circuits, Wires, Network Hardware
  • Architecture should enable efficient hardware
    design
  • Avoid huge hardware structures
  • Avoid cross-chip wires

28
How Architecture Relates to System Software
Application Software
Operating Systems, Compilers, Networking Software
Computer Architecture
Circuits, Wires, Network Hardware
  • Architecture should support system software
  • Provide good target for compiler (unlike IA-64?)
  • Support important OS features (such as
    synchronization)

29
How Architecture Relates to User Software
Application Software
Operating Systems, Compilers, Networking Software
Computer Architecture
Circuits, Wires, Network Hardware
  • Architecture should efficiently run important
    apps
  • Intel added MMX hardware to support media apps
  • Sun IBM design multiprocessors for commercial
    apps

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
Write a Comment
User Comments (0)
About PowerShow.com