multicore
DESCRIPTION
TRANSCRIPT
Why Multi-core Processors?
By Timothy
A Bit of History (Moore’s Law)
• Transistors shrink by ~0.7 about 1.5 years– Fit twice as many transistors in the same area for the
same power density– With 1.3x boost in frequency due to lower
propagation delay• Architectural changes gave another 1.3-1.5x
boost in performance (Deeper pipelines, executing multiple instructions simultaneously from single thread (ILP), etc.)
• Results in performance doubling every 2 years
Problems With Increasing Performance
• Combination of “Instruction Level Parallelism (ILP) wall,” “frequency wall,” and “power wall”– ILP wall: can’t figure out how to keep increasing ILP
without unreasonable area and power costs– Frequency wall: can’t figure out how to increase clock
frequency without unreasonable increase in power– Power wall: Increasing power demand by CPUs, Heat
generated by CPU’s increasing and air cooling capped at ~150W
• Moore’s Law is providing area that a single thread can’t economically use
What is Multi-core?
• Combines multiple processors on a single die• Note: cores don’t have to be identical
(Heterogeneous chips)
Multi-Core Advantages• Advantages– Energy efficiency (performance/watt)– Cooling costs (performance/$)– Small simplifications in core complexity yield large
reductions in power• Area not spent on increasing ILP can be spent on
more cores• Can increasingly parallelize programs– CPU intensive processes (e.g. anti-virus scans) less
likely to be starved or processor time since they can be offloaded onto another processor while other processes use a different processor
Multi-core Disadvantages
• Multicore requires parallel programming to fulfill Moore’s Law
• Parallel Programming is usually hard• Many programs have instructions that depend
on data calculated earlier so they can’t fully utilize parallelization
• Amdahl’s Law (predict the theoretical maximum speedup using multiple processors): 1/((1-P)+P/S) where P is the portion of serial time that has been enhanced with a speedup of S
Heterogeneous Chips
• Multi-core processor with different cores• Specialization of some cores is a more effective
use of area and power than general-purpose cores– Certain commonly used applications can benefit
substantially with specialized cores e.g. graphics (already use separate GPU to process graphics)
• Modern computers run only so many programs simultaneously, so most users won’t see any speed boosts with 80 general purpose CPUs
Example: Cell BE
• 1 conventional CPU core (PPE) and 8 small vector cores (SPEs)
Problems with Heterogeneous Chips
• How to chose which mix of cores?• How to select? How to decide best performance per cost?• Not many cores to chose from currently
• How to integrate?– Lots of design issues
• How to program?– Needs to be portable (program for Intel chip
should run for AMD chip etc.)