Why Computer Architecture is Interesting and Challenging

advertisement
Why Computer Architecture is
Exciting and Challenging
Daniel Sorin
Department of Electrical & Computer Engineering
Duke University
(C) 2002 Daniel Sorin
Duke Architecture
Computer Architecture 101
• Computer architects design computer systems
– Processors: Intel Pentium 4, IBM PowerPC
– Also: memory systems, interconnections, ???
Pentium
disk
cache
memory
slide 2
memory
(DRAM)
ethernet
card
bridge to I/O
CPS 300 – Daniel Sorin
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
slide 3
CPS 300 – Daniel Sorin
Intro to Multiprocessor Architecture
• I design computer systems with multiple processors
Node
Node
Node
Node
Pentium
disk
cache
memory
(DRAM)
ethernet
card
bridge to I/O
Interconnection
Network
slide 4
CPS 300 – Daniel Sorin
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:
–
–
–
–
slide 5
Interconnection network design
Protocols for communicating and sharing data
Scalability
Reliability
CPS 300 – Daniel Sorin
Outline
• What is computer architecture?
• Why is architecture exciting?
– Fast-paced: Technology trends
– Important: Prevalence of computers
• Why is architecture challenging?
slide 6
CPS 300 – Daniel Sorin
Technology Trends – Why do I Care?
• We design an architecture for a given technology
• Technology parameters:
parameter
–
–
–
–
–
–
–
Number of transistors on a chip
Transistor speed
Amount of memory
Memory speed
Bandwidth between components
Power usage
Applications to be run on system
time
• All of these change dramatically over time!
slide 7
CPS 300 – Daniel Sorin
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
slide 8
CPS 300 – Daniel Sorin
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
slide 9
CPS 300 – Daniel Sorin
What To Do With a Billion Transistors?
A. Make the processors bigger
Proc
chip
B. Make more little processors
Proc Proc Proc
slide 10
chip
CPS 300 – Daniel Sorin
Outline
• What is computer architecture?
• Why is architecture exciting?
– Fast-paced: Technology trends
– Important: Prevalence of computers
• Why is architecture challenging?
slide 11
CPS 300 – Daniel Sorin
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
slide 12
CPS 300 – Daniel Sorin
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
slide 13
CPS 300 – Daniel Sorin
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
slide 14
CPS 300 – Daniel Sorin
Outline
• What is computer architecture?
• Why is architecture exciting?
• Why is architecture challenging?
– Difficult to evaluate solutions
– Inter-related with other fields
slide 15
CPS 300 – Daniel Sorin
Ways to Evaluate New Architectures
Tradeoff between three desired features
Building
slide 16
CPS 300 – Daniel Sorin
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
slide 17
CPS 300 – Daniel Sorin
Modeling
• Mathematically model the system
– Use probabilities and/or queuing models
• Advantages
mem time = hit time + miss rate*penalty
+ 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
slide 18
CPS 300 – Daniel Sorin
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
slide 19
CPS 300 – Daniel Sorin
Simulation Challenges
Application
Simulator
Performance results
System
description
Tough problems associated with each arrow!
slide 20
CPS 300 – Daniel Sorin
Applications to Simulate
• We care how system does on important applications
• But who defines “important”? (I do!)
• Types of applications
–
–
–
–
–
slide 21
Scientific (genomics, weather simulation, protein folding)
Commercial (database, web serving, application serving)
Desktop (office productivity software, multimedia)
Portable (voice recognition)
???
CPS 300 – Daniel Sorin
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
slide 22
CPS 300 – Daniel Sorin
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”
slide 23
CPS 300 – Daniel Sorin
Outline
• What is computer architecture?
• Why is architecture exciting?
• Why is architecture challenging?
– Difficult to evaluate solutions
– Inter-related with other fields
slide 24
CPS 300 – Daniel Sorin
Why Architects Need Friends
• Architecture is considered both computer engineering
and computer science
• Architects interact with other areas
–
–
–
–
–
–
–
–
slide 25
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 Sorin
How Architecture Relates to Other Areas
Application Software
Operating Systems, Compilers, Networking Software
Computer Architecture
Circuits, Wires, Network Hardware
• Besides these interactions, also global issues!
– Power, system verification, performance analysis, etc.
slide 26
CPS 300 – Daniel Sorin
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
slide 27
CPS 300 – Daniel Sorin
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)
slide 28
CPS 300 – Daniel Sorin
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
slide 29
CPS 300 – Daniel Sorin
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
slide 30
CPS 300 – Daniel Sorin
Download