際際滷

際際滷Share a Scribd company logo
Why Multi-core Processors? By Timothy
A Bit of History (Moores 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: cant figure out how to keep increasing ILP without unreasonable area and power costs Frequency wall: cant figure out how to increase clock frequency without unreasonable increase in power Power wall: Increasing power demand by CPUs, Heat generated by CPUs increasing and air cooling capped at ~150W Moores Law is providing area that a single thread cant economically use
What is Multi-core? Combines multiple processors on a single die Note: cores dont 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 Moores Law Parallel Programming is usually hard Many programs have instructions that depend on data calculated earlier so they cant fully utilize parallelization Amdahls 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 wont 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.)

More Related Content

Multicore

  • 2. A Bit of History (Moores 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
  • 3. Problems With Increasing Performance Combination of Instruction Level Parallelism (ILP) wall, frequency wall, and power wall ILP wall: cant figure out how to keep increasing ILP without unreasonable area and power costs Frequency wall: cant figure out how to increase clock frequency without unreasonable increase in power Power wall: Increasing power demand by CPUs, Heat generated by CPUs increasing and air cooling capped at ~150W Moores Law is providing area that a single thread cant economically use
  • 4. What is Multi-core? Combines multiple processors on a single die Note: cores dont have to be identical (Heterogeneous chips)
  • 5. 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
  • 6. Multi-core Disadvantages Multicore requires parallel programming to fulfill Moores Law Parallel Programming is usually hard Many programs have instructions that depend on data calculated earlier so they cant fully utilize parallelization Amdahls 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
  • 7. 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 wont see any speed boosts with 80 general purpose CPUs
  • 8. Example: Cell BE 1 conventional CPU core (PPE) and 8 small vector cores (SPEs)
  • 9. 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.)