Integrated Circuits, Performance, Power

Integrated Circuits, Performance, Power

Integrated Circuits, Performance, Power Alexander Nelson January 15, 2021 University of Arkansas - Department of Computer Science and Computer Engineering Integrated Circuits Technologies Over Time 1 Transistors and Integrated Circuits Transistors { On/Off Switch controlled by electric signal Integrated Circuit { Many transistors in a single chip VLSI/ULSI { Containing thousands/millions/billions of transistors Intel 8080 (1974) { 6,000 Transistors AMD Ryzen 9 3900X (2019) { 9.89B Transistors 45 years = 16,483,333 times more transistors 2 Semiconductors Semiconductor { Solid substance with conductivity between insulator and conductor Silicon { Natural semiconductor Can be chemically modified to be: • Conductor • Insulator • Areas that can conduct or insulate as a switch 3 Manufacturing Process Yield { Proportion of working dies per wafer 4 Intel Core i7 Wafer 300mm wafer, 280 chips, 32nm technology Each chip is 20.7 x 10.5nm 5 Integrated Circuit Cost Nonlinear relation to area and defect rate • Wafer cost and area are fixed • Defect rate determined by manufacturing process • Die area determined by architecture & circuit design 6 Performance How do you define CPU performance? 6 Example Which airplane has the best performance? 7 Response Time vs. Throughput Response Time { How long to finish a task Throughput { Total work done per unit time • e.g. tasks/transaction per hour How are these two metrics affected by: • Replacing processor with faster version? • Adding more processors? 8 Relative Performance If Performance defined as: 1 Performance = ExecutionTime Then: PerformanceX = Execution TimeY = n PerformanceY Execution TimeX Can be phrased as \Processor X is n times faster than Processor Y" 9 Relative Performance If Performance defined as: 1 Performance = ExecutionTime Then: PerformanceX = Execution TimeY = n PerformanceY Execution TimeX Can be phrased as \Processor X is n times faster than Processor Y" Example: Assume a program runs in: • 10s on Processor A • 15s on Processor B Then: Execution TimeY = 15 = 1:5 Execution TimeX 10 So, A is 1.5 times faster than B 10 Execution Time How do you measure execution time? Elapsed Realtime { Total response time including all aspects • Processing, I/O, OS overhead, idle time Determines system performance CPU Time { Time spent processing a given job • Discounts I/O time, other jobs' shares Comprises user CPU time & system CPU time Different programs affected differently by CPU & system performance 11 CPU Clocking Nearly all CPU governed by clock Clock Period { Duration of a clock cycle (in seconds) Clock Frequency { # of clock cycles per second (in hertz) 12 CPU Time CPU Time can be defined as: CPU Clock Cycles CPUTime = CPUClockCycles×ClockCycleTime = Clock Rate How to improve performance? • Reduce number of clock cycles per operation or per program • Increase clock rate Hardware designer may need to trade off clock rate with cycle count 13 CPU Time Example Example: Computer A: 2GHz Clock Frequency results in 10s CPU Time Design Computer B such that: • Aiming for 6s CPU Time • May increase clock frequency, but causes 1.2X clock cycles 14 CPU Time Example Example: Computer A: 2GHz Clock Frequency results in 10s CPU Time Design Computer B such that: • Aiming for 6s CPU Time • May increase clock frequency, but causes 1.2X clock cycles Clock CyclesB 1:2×Clock CyclesA Clock RateB = = CPU TimeB 6s 9 ClockCyclesA = CPUTimeA×ClockRateA = 10s×2GHz = 20×10 1:2×20×109 24×109 Clock RateB = 6s = 6s = 4GHz 15 Instruction Counts and CPI Clock Cycles = Instruction Count × Cycles Per Instruction CPU Time = Instruction Count × CPI × Clock Cycle Time Instruction Count×CPI CPU Time = Clock Rate Instruction Count { Number of instructions for a particular program Depends on: • Program • ISA • Compiler Average Cycles Per Instruction { Determined by ISA/CPU Hardware Different instructions may have different CPI Average CPI affected by % of instruction classes in program 16 CPI Example Computer A { Cycle Time = 250ps, CPI = 2.0 Computer B { Cycle Time = 500ps, CPI = 1.2 Same ISA Which is faster? By how much? 17 CPI Example A is faster by 1.2 times relative performance 18 CPI in Detail Different instruction classes take different # of cycles Pn Clock Cycles = i=1(CPIi × Instruction Counti ) Weighted Average CPI: Clock Cycles Pn Instruction Counti CPI = Instruction Count = i=1(CPIi × Instruction Count ) The sum is the relative frequency of each class of instruction 19 CPI Example 20 Performance Summary Performance Depends on: • Algorithm { Affects instruction count, possibly CPI • Programming language { Affects instruction count & CPI • Compiler { Affects instruction count & CPI • ISA { Affects instruction count, CPI, & Time per cycle Instructions Clock Cycles Seconds CPU Time = Program × Instruction × ClockCycle 21 Power Power Trends Intel Core i5-9400 9th Gen (2019) { 14nm, 2.90-4.1 GHz, 65W 22 Why isn't clock frequency continuing to increase? 22 Battery Life Isn't Keeping Up 23 Dynamic Power Consumption CMOS Transistors { complementary metal oxide semiconductor Best performance per watt since 1976 Gradually being replaced by FinFET technology (can go <20nm) Primary energy consumption is dynamic energy 1 2 Energy / 2 × Capacitive Load × Voltage × Frequency Switched Reducing voltage from 5V!1V allowed increase of 1000x clock frequency with only 30x gain in power consumption 24 Reducing Power Suppose a new CPU has: • 85% capacitive load of old CPU • 15% voltage and 15% frequency reduction 2 Pnew Cold ×0:85×(Vold ×0:85) ×Fold ×0:85 4 Then: P = 2 = 0:85 = 0:52 old Cold ×Vold ×Fold The new CPU uses 52% of the power of the old CPU However: • Can't reduce voltage further • Can't remove more heat How else can we improve performance? 25 Uniprocessor Performance Since 2003, constrained by power, instruction-level parallelism, memory latency 26 Multiprocessors Multicore Microprocessors { More than one processor per chip Requires explicitly parallel programming • Compare with instruction level parallelism • Hardware executes multiple instructions at once • Hidden from the programmer! • Hard to do • Programming for performance • Load balancing • Optimizing Communication and synchronization 27 Benchmarking Processors SPEC { System Performance Evaluation Cooperative { Funded by computer vendors for standard set of benchmarks SPECINTC2006 benchmarks on 2.66 GHz Intel Core i7 920 28 SPEC Power Benchmark Power consumption of a server at different workload levels • Performance: ssj ops/sec • Power: Watts (Joules/sec) P10 P10 Overall ssj ops per Watt = ( i=0 ssj opsi ) ÷ ( i=0 poweri ) 29 Power SPEC SPECpower ssj2008 for Xeon X5650 30 Pitfall: Amdahl's Law Improving one aspect does not guarantee a proportional improvement in overall performance Amdahl's Law: Taffected Timproved = improvement factor + Tunaffected Example: Multiply accounts for 80/100 seconds of execution How much improvement in multiply performance to get 5x improvement? 31 Pitfall: Amdahl's Law Improving one aspect does not guarantee a proportional improvement in overall performance Amdahl's Law: Taffected Timproved = improvement factor + Tunaffected Example: Multiply accounts for 80/100 seconds of execution How much improvement in multiply performance to get 5x improvement? 80 20 = n + 20 { Can't be done! Corollary: Make the common case fast! 32.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    38 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us