Multicore-Technologie Briefing
Zentralinstitut für Scientific ComputingUniversität Erlangen-Nürnberg
www.zisc.uni-erlangen.de
October 13, 2011
K. Iglberger, G. Hager, J. Treibig, G. Wellein
U. Rüde (LSS Erlangen, [email protected])
1
Vormittags: Multicore - ein Überblick zu Hardware- und Softwareaspekten
2
10:00 - 10:15Begrüßung
10:15 - 10:45Moore's Law - Die Entwicklung der Prozessortechnologie
Die Entwicklung von Prozessoren hat sich grundlegend geändert: Statt steigender Taktraten sehen wir heute hauptsächlich steigende Kernzahlen. Wir erklären die Gründe hinter dieser Entwicklung und welche zukünftigen Trends absehbar sind.
10:45 - 11:15Neue Prozessoren - neue Software?
Jahrzehnte lang wurden Codes entwickelt, die sich auf steigende Taktfrequenzen verlassen haben. Bedeutet der Bruch in der
Prozessorarchitektur, dass meine Software von Grund auf neu entwickelt werden muss? Oder gibt es Tools, mit denen der Code automatisch parallelisiert werden kann? Wir erklären die Möglichkeiten und Grenzen der Parallelität und gehen auf Werkzeuge ein, die bei der Code-Entwicklung helfen können - oder auch nicht.
11:15 - 11:45Code-Entwicklung im Multicore-Zeitalter
Wie sollte paralleler Code heute entwickelt werden? Auf welches Para l le l i tä ts -Paradigma sollte ich setzen? Wir vergleichen die gängigen Parallelisierungsmodelle (OpenMP, MPI, CUDA, OpenCL, ...).
11:45 - 13:15Mittagessen
Nachmittags: Performance-Optimierung - Fakten und Mythen
3
13:15 - 13:45GPGPUs - Der Heilsbringer im Multicore-Zeitalter?
In den letzten Jahren ist um GPGPUs eine Art Hype entstanden. Doch ist diese Euphorie tatsächlich gerechtfertigt? Was leisten GPGPUs wirklich? Für welche Anwendungen sind sie zu empfehlen, für welche nicht?
13:45 - 14:05Software-Entwicklung mit Performance im Blick
Ein wesentlicher Aspekt des Performance-Engineering ist die Wahl des richtigen P r o g r a m m i e r s t i l s u n d d e r Programmiersprache. Ist Fortran wirklich s c h n e l l e r a l s C / C + + ? W e l c h e n Programmierstil sollte ich wählen? Wir geben einen Überblick über Programmierstile und Programmiersprachen für HPC.
14:05 - 14:45Fallbeispiele zum Performance-Engineering
Wie wichtig ist Performance für meine Anwendung? Was ist der richtige Weg zu hoher Performance? Wir zeigen anhand zweier Fallbeispiele, wie durch einfache Codeoptimierung die Performance von zwei Industrie-Codes deutlich gesteigert werden konnte.
14:45 - 15:00Kaffeepause
Breakout Sessions15:00 - 16:30Multicore-Probleme im persönlichen Dialog mit Experten
Moore's Law:Die Entwicklung der Prozessortechnologie
Zentralinstitut für Scientific ComputingUniversität Erlangen-Nürnberg
www.zisc.uni-erlangen.de
October 13, 2011
U. Rüde, G. [email protected]
4
Overview
Moore‘s LawTrends in TechnologyMulti-Core Architectures
Motivation: How fast are computers today (and tomorrow)and what we might want to do with them
Towards a Systematic Performance EngineeringConclusions
5
Oct 13, 2011 ZISC Multi-Core Briefing 6
The driving force: Moore’s law
Electronics Magazine, April 1965: The complexity for minimum component costs has increased at a rate of roughly a factor of two per year… Certainly over the short term this rate can be expected to continue, if not to increase.
Intel Nehalem EX: 2.3 BillionnVIDIA FERMI: 3 Billion
Intel Corp
Oct 13, 2011 ZISC Multi-Core Briefing 7
1
10
100
1000
10000
1971
1975
1979
1983
1987
1991
1995
1999
2003
2009
Year
The end of the clock speed race
Intel x86 clock speedBetter architectural features:• Pipelining
• Superscalarity• SIMD / Vector ops
• Larger caches
BUT
No fundamental architectural changes
until 2004/5
Exponential growth of CPU clock speed for 15+ years
Frequency [MHz]
Oct 13, 2011 ZISC Multi-Core Briefing 8
Trading single thread performance for parallelism
! Power consumption (P) limits clock speed! ! At constant process technology: P ~ VC * f (potentially VC~f)! Core supply voltage approaches a lower limit: VC ~ 1 V! TDP approaches economical limit: TDP ~ 80 W,…,130 W
P5 / 80586 (1993) Pentium3 (1999) Pentium4 (2003) Core i7–960 (2009)
66 MHz 600 MHz 2800 MHz 3200 MHz
16 W @ VC = 5 V 23 W @ VC = 2 V 68 W @ VC = 1.5 V 130 W @ VC = 1.3
800 nm / 3 M 250 nm / 28 M 130 nm / 55 M 45 nm / 730 M
Process technology / Number of transistors in million
TDP / Core supply voltage
Quad-Core
2
Oct 13, 2011 ZISC Multi-Core Briefing 9
The x86 multicore evolution so farIntel Single-Dual-/Quad-/Hexa-/-Cores (one-socket view)
Sandy Bridge (Desktop) “Core i7”
32nm
CC
CC
CC
CC
C
MI
Memory
PT0
T1P
T0
T1P
T0
T1P
T0
T1
2010/11: Wider SIMD unitsSSE " AVX
128 Bit " 256 Bit
PC
PC
C
PC
PC
C
Woo
dcre
st
“Cor
e2 D
uo” 6
5nm
Har
pert
own
“Cor
e2 Q
uad”
45n
m
Memory
Chipset
PC
PC
C
Memory
Chipset
Oth
er
sock
et
Oth
er
sock
et
2006: True dual-core
PCC
Memory
Chipset
Memory
Chipset
PCC
PCC
2005: “Fake” dual-core
Nehalem EP “Core i7” 45nm
Westmere EP “Core i7”
32nm
CC
CC
CC
CC
CC
CC
C
MI
Memory
PT0
T1P
T0
T1P
T0
T1P
T0
T1P
T0
T1P
T0
T1
CC
CC
CC
CC
C
MI
Memory
PT0
T1P
T0
T1P
T0
T1P
T0
T1
2008: Hyperthreading/SMT
is back!
Oth
er
sock
et
Oth
er
sock
et
Approx. constant clock speed
Oct 13, 2011 ZISC Multi-Core Briefing 10
The driving forces behind performance
Total Floating Point (FP) Performance:
P = ncore * F * S * !
ncore number of cores: 4
F FP instructions per cycle: 2 (1 MULT and 1 ADD)
S FP operations / instruction: 4 (dp)/ 8 (sp) (256 Bit SIMD registers)
! Clock speed (Cycles per second): 3.4 GHz
P = 108.8 GF/s (dp) / 217.6 GF/s (sp)
Sandy Bridge e.g.: Intel Core i7-2600K
C
C
C
C
C
C
C
C
C
MI
Memory
P
T0
T1P
T0
T1P
T0
T1P
T0
T1
But: P=6.8 GF/s (dp) for serial, “non-vectorized” code
Oct 13, 2011 ZISC Multi-Core Briefing 11
Moore’s Law: Alive and Well at Intel
15nm2013*
11nm2015*
8nm2017*
2019+
MANUFACTURING DEVELOPMENT
45nm2007
32nm2009
22nm2011*
RESEARCH
65nm2005
Intel Innovation-Enabled Technology Pipeline is Full
Potential future options, no indication of actual product or development, subject to change without notice.
Oct 13, 2011 ZISC Multi-Core Briefing 12
Over-clocked(+20%)
1.00x
1.73x
1.13x
Max Frequency
Power
Performance
Dual-core(-20%)
1.02x
1.73xDual-Core
By courtesy of D. Vrsalovic, Intel
The multicore (r)evolution The game is over: But Moore’s law continues
Power envelope:Max. 95 — 130 W
Power consumption:
P = f * (Vcore)2
Vcore ~ 0.9 – 1.2 V
Same process technology:
P ~ f3
N transistors
2N transistors
Oct 13, 2011 ZISC Multi-Core Briefing 13
! Required relative frequency reduction to run m cores (m times transistors) on a die at the same power envelope
Year: 2007/08
m: #cores per die
Red
uctio
n of
clo
ck s
peed
8 cores running at half speed of a single core CPU = same energy
"65 nm technology SUN T2 („Niagara“) 1.4 GHz " 8 cores (<90 W) Intel Woodcrest 3.0 GHz " 2 cores (80 W)
The multicore (r)evolution The game is over: But Moore’s law continues
What does this meanfor high performance computing?
14
Example Peta-Scale System:Jugene @ Jülich
PetaFlops = 1015
operations/secondIBM Blue GeneTheoretical peak performance: 1.0027 Petaflop/s294 912 cores144 TBytes = 1.44 1014 #9 on TOP 500 List in Nov. 2010
15
For comparison: Current fast desktop PC is ∼ 20.000 times slower> 1 000 000 cores expected 2011Exa-Scale System expected by 2018/19 ... likely with ~109 cores
Extreme Scaling Workshop 2010 at Jülich Supercomputing Center
What will Computers Look Like in 2020? Super Computer (Heroic Computing)
Cost: 200 Million !Parallel Threads: 108 - 109
1018 FLOPS, Mem: 1015-1017 Byte (1-100 PByte)Power Consumption: 20 MW
Departmental Server (Mainstream Computing for R&D)Cost: 200 000 !Parallel Threads: 105 - 106
1015 FLOPS, Mem: 1012-1014 Byte (1-100 TByte) Power Consumption: 20 KW
(mobile) Workstation (Computing for the Masses)... scale down by another factor 100
16
But remember: Predictions are difficult ... especially those about the future
What‘s the problem?with four strong jet engines
or with 300,000 blow dryer fans?
17
Would you want to propel a Superjumbo
Large Scale Simulation Software
Moderately Parallel Computing
Massively ParallelMultiCore Systems
Enjoy the Multi-Core Briefing!
Questions?
Slides, reports, thesis, animations available for download at:www10.informatik.uni-erlangen.de
18