Parallel Programming: Moore’s Law and Multicore
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
Computer Graphics
Copyright By PowCoder代写 加微信 powcoder
moores.law.and.multicore.pptx
mjb – March 9, 2022
Architecture: Basically the fundamental pieces of a CPU have not changed since the 1960s
Other elements: • Clock
• Registers
• Program counter • Stack pointer
Control Unit
Arithmetic Logic
Accumulator
Computer Graphics
mjb – March 9, 2022
Increasing Transistor Density — Moore’s Law
“Transistor density doubles every 1.5 years.”
Log scale!
If I fit this line to the plot, I get a doubling every 1.6 years
Computer Graphics
Source: http://www.intel.com/technology/mooreslaw/index.htm
Oftentimes people have (incorrectly) equivalenced this to: “Clock speed doubles every 1.5 years.”
mjb – March 9, 2022
Log scale!
Clock speed
Power being consumed
Increasing Clock Speed?
Transistor count
Computer Graphics
mjb – March 9, 2022
Source: Intel
This is what Moore’s Law really deals with!
This is not what Moore’s Law really deals with!
Increasing Clock Speed?
Transistor count
Clock speed
Power being consumed
Cores and hypercores
Computer Graphics
mjb – March 9, 2022
Moore’s Law
Fabrication process size (“gate pitch”) has fallen from 65 nm, to 45 nm, to 32 nm, to 22 nm, to 16 nm, to 11 nm, to 8 nm. This translates to more transistors on the same size die.
From 1986 to 2002, processor performance increased an average of 52%/year, but then virtually plateaued.
Computer Graphics
mjb – March 9, 2022
Clock Speed and Power Consumption
Clock speed has hit a plateau, largely because of power consumption and power dissipation.
PowerConsumption ClockSpeed 2 is-proportional-to
Once consumed, that power becomes heat, which much be dissipated somehow. In general, compute systems can remove around 150 watts/cm without resorting to exotic cooling methods.
Computer Graphics
mjb – March 9, 2022
IBM PC Pentium Pentium 4
5 MHz 100 MHz
3000 MHz (3 GHz) 3800 MHz (3.8 GHz) 4000 MHz (4.0 GHz)
And, speaking of “exotic”, AMD set the world record for clock speed (8.429 GHz) using a Liquid Nitrogen-cooled CPU
Computer Graphics
Source: AMD
mjb – March 9, 2022
What Kind of Power Density Dissipation Would it Have Taken to Keep up with Clock Speed Trends?
Source: Intel
Computer Graphics
mjb – March 9, 2022
MultiCore — Multiprocessing on a Single Chip
So, to summarize:
Moore’s Law of transistor density is still going, but the “Moore’s Law” of clock speed has hit a wall. Now what do we do?
We keep packing more and more transistors on a single chip, but don’t increase the clock speed. Instead, we increase computational throughput by using those transistors to pack multiple processors onto the same chip.
This is referred to as multicore.
Computer Graphics
mjb – March 9, 2022
Vendors have also reacted by adding SIMD floating-point units on the chip as well. We will get to that later.
MultiCore and , even without multithreading too, is still a good thing. It can be used, for example, to allow multiple programs on a desktop system to always be executing concurrently.
Multithreading, even without multicore too, is still a good thing. Threads can make it easier to logically have many things going on in your program at a time, and can absorb the dead-time of other threads.
But, the big gain in performance is to use both to speed up a single program. For this, we need a combination of both multicore and multithreading.
Multithreading
Multicore is a very hot topic these days. It would be hard to buy a CPU that doesn’t have more than one core. We, as programmers, get to take advantage of that.
We need to be prepared to convert our programs to run on MultiThreaded Shared Memory Multicore architectures.
Computer Graphics
mjb – March 9, 2022
Each of the Multiple Cores keeps its own State
(Count the Execution Units)
State Core
4 cores, 4 states
• Registers
• Program Counter
• Stack Pointer
1 core, 1 state
2 cores, 2 states
Computer Graphics
mjb – March 9, 2022
So, if that’s what Multicore is about, what is Hyperthreading?
1 core, 1 state
1 core, 2 states, with Hyperthreading
2 cores, 2 states
2 cores, 4 states, with Hyperthreading
State Core
4 cores, 4 states
Computer Graphics
(Count the Execution Units)
mjb – March 9, 2022
Four Cores with Two Hyperthreads per Core
Source: Erzhuo Che
Note that this is upside-down from our usual convention. Sorry. I got this from someone else.
Computer Graphics
mjb – March 9, 2022
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com