This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License
Computer Graphics
Parallel Programming: Moore’s Law and Multicore
Mike Bailey
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
Computer Graphics
Control Unit
Arithmetic Logic Unit
Accumulator
mjb – March 9, 2022
Increasing Transistor Density — Moore’s Law
Note: “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
Increasing Clock Speed?
Log scale!
Computer Graphics
Transistor count
Clock speed
Power being consumed
This is what Moore’s Law really deals with!
This is not what Moore’s Law really deals with!
Source: Intel
mjb – March 9, 2022
Increasing Clock Speed?
Clock speed
Power being consumed
Cores and hypercores
Transistor count
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
IBM PC Pentium Pentium 4
5 MHz 100 MHz
3000 MHz (3 GHz) 3800 MHz (3.8 GHz) 4000 MHz (4.0 GHz)
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
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?
Computer Graphics
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.
Vendors have also reacted by adding SIMD floating-point units on the chip as well. We will get to that later.
mjb – March 9, 2022
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.
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.
Multithreading
Computer Graphics
mjb – March 9, 2022
Each of the Multiple Cores keeps its own State
1 core, 1 state
(Count the Execution Units)
2 cores, 2 states
4 cores, 4 states
• Registers
• Program Counter
• Stack Pointer
State Core
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
(Count the Execution Units)
2 cores, 4 states, with Hyperthreading
2 cores, 2 states
4 cores, 4 states
Computer Graphics
State Core
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