Section 1.5, The Power Wall, 1.6 Multiprocessors
- Look at Figure 1.15, page 39
- The authors tell us that we have reached a practical level for cooling processors.
- With current technology, power is consumed to perform a switch.
- Power = Capacitive Load × Voltage2 × Frequency switched.
- Frequency Switched is directly related to clock speed.
- Thus higher clock rates require more power in the same chip
- Capacitive load is related to the types of transistors and wires, as well as how many transistors are connected to an output.
- Transistor leakage
- Current that leaks through the transistor, even though the transistor is in a "off" position.
- This becomes worse as we shrink the size of transistors to make them switch faster.
- It also becomes worse as voltage is lowered.
- The book says that 40% of power consumption is due to leakage.
- These problems have combined to make "commodity processors" too hard to cool as clock speeds increase.
- Options to deal with heat dissipation
- Better and better heat sinks.
- Turn off unused sections of the chip
- Special purpose chips (no FP for example)
- Multicore.
- To combat this problem, but to still sell chips, manufactures have gone to a multicore solution.
- Look at figure 1.16, page 42.
- Multicore means multiple processor per chip
- "The official plan of record for many companies is to double the number of cores per microprocessor per semiconductor technology generation, which is about every two years."
- The problem with this switch
- Most operating systems still have issues with parallel computation.
- Most programmers don't know how to write parallel programs.
- Fewer programmers know how to write efficient parallel programs
- Fewer still know how to write efficient parallel programs that work correctly.
- Why?
- Parallel programming introduces a number of problems not faced by sequential programs.
- Synchronization
- Scheduling
- Load Balancing
- Communications problems
- Data distribution and access problems.
- Task decomposition issues
- Sequential algorithms issues
- "A supercomputer is a device for converting a CPU-bound problem
into an I/O bound problem." [Ken Batcher]