Dual Core - Blogs@FAU

Transcription

Dual Core - Blogs@FAU
Erfahrungen und Benchmarks mit
Dual-Core-Prozessoren
Georg Hager
Regionales Rechenzentrum Erlangen (RRZE)
ZKI AK Supercomputing
Karlsruhe, 22./23.09.2005
Dual Core: Anbieter heute
ƒ IBM Power4/Power5 (Power5 mit SMT)
ƒ p6xx: MCM-basiert
ƒ OpenPower 7xx: DCM-basiert, Struktur ähnlich Dual-DC Opterons
ƒ System im Test: OpenPower720 mit 2 DC Power5 @ 1.65 GHz und
10GB Speicher
ƒ AMD Opteron (seit August auch Athlon64)
ƒ diverse Anbieter, Upgrade von Sockel939-Systemen u.U. möglich
ƒ bis zu 4, bald 8 Sockets pro Board
ƒ Systeme im Test: Sun Fire V20z (2x2 Cores), Transtec-Testsystem
(4x2 Cores)
ƒ Intel Pentium D
ƒ single Socket, FSB800
ƒ Hyperthreading
ƒ System im Test: FSC "Esprimo" PC, 2.8 GHz
ƒ Sun UltraSparc IV+
23.09.05
[email protected]
Dual-Core-Prozessoren
2
Dual Core: Die wichtigsten Fragen
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
Was bringt der zweite Kern?
Geringere Taktfrequenz = schwächere Performance?
Geteilte Speicherbandbreite = halbe Performance?
Können 2 Cores die Bandbreite besser nutzen als einer?
Getrennte/gemeinsame Caches: Was ist besser?
Direkte Kommunikation zwischen den Cores in einem
Socket?
ƒ Thread-/Prozess-Placement: Wie werden im halb vollen
System die Threads platziert?
ƒ Bei Dual-Core-Multi-Socket-Systemen: Wie erfolgt die
Zuordnung von Core zu Speicherkanal?
ƒ Vorläufiges Fazit: Benchmarks sind unbedingt notwendig!
23.09.05
[email protected]
Dual-Core-Prozessoren
3
Warum Dual Core?
ƒ Das „Megaflop-Rennen“ wird bald zu Stillstand kommen
CPUPerformance
Multi Core
Performance
Single Core
Performance
© Intel
23.09.05
2004
[email protected]
Zeit
Dual-Core-Prozessoren
4
Die Annahmen hinter Multi-Core
ƒ Mehrere Cores sollen mehr Performance pro Watt auf
gleichem Raum bringen
Power
small
Core
Core
Performance
Cache
1
23.09.05
1/4 1/2
small
Core
small
Core
small
Core
small
Core
[email protected]
2
© Intel
Dual-Core-Prozessoren
5
Komplikationen
ƒ Systeme mit einem Speicherkanal
C1 C2
C3 C4
Thread/MemoryZuordnung egal!
Memory
ƒ Systeme mit mehreren Speicherkanälen (ccNUMA)
C1 C2
C3 C4
?
Memory
23.09.05
Thread/MemoryZuordnung essenziell!
Memory
[email protected]
Dual-Core-Prozessoren
6
Thread/Memory Placement wie?
ƒ Betriebssystem
ƒ Automatisches Placement wird besser, ist aber oft nicht
optimal
ƒ Auch bei single-Thread-Programmen kann das Resultat
überraschend sein…
ƒ Compiler
ƒ Pathscale-Compiler hat differenzierte Thread-PlacementMechanismen eingebaut
ƒ Benutzer (taskset / numactl)
ƒ Nur sinnvoll, wenn man den Knoten für sich hat
taskset –c 0,2 numactl –m 0,1 ./a.out
ƒ Integration in MPI-Umgebung nicht trivial
ƒ Programm (first touch)
ƒ OpenMP: Initialisierung der Daten muss parallelisiert werden
wie die Kernschleifen des Programmes – immer möglich?
23.09.05
[email protected]
Dual-Core-Prozessoren
7
Speicherperformance am Beispiel
IBM OpenPower720
a(i)=b(i)+c(i)*d(i)
14000
12000
MB/sec
10000
OMP(1)
OMP(2)
OMP(4)
OMP(4) noinit
Vektortriade
(b)
A(:)=B(:)+C(:)*D(:)
8000
≈30%
6000
≈40%
4000
2000
0
1e+07
N
23.09.05
[email protected]
Dual-Core-Prozessoren
8
Dual vs. Single Core:
Performance im Cache?
DMRG performance
DMRG Benchmark
(OpenMP, DGEMM-lastig)
4x4 Hubbard PBC U=4t
OpenPower720 (4-way DC Pwr5 @ 1.65 GHz)
SGI Altix @ 1.3 GHz, 3MB L3
SGI Altix @ 1.6 GHz, 6MB L3
4-way DC Opteron @ 2.2 GHz, 1MB L2/core
Intel Pentium D @ 2.8 GHz, 1MB L2/core
Dual Nocona @ 3.4 GHz, 1MB L2/CPU
15
GFlops/sec
12.5
10
7.5
5
2.5
0
23.09.05
1
2
# CPUs
[email protected]
3
4
Dual-Core-Prozessoren
9
Weitere Komplikationen
ƒ Beim Übergang von Single nach Dual Core verringert sich
in einem Cluster die Bisektionsbandbreite pro CPU um
den Faktor 2
ƒ Fragen:
ƒ Ist dieser Effekt wichtig für die Applikationen?
ƒ Wie viele Cores brauche ich, um die Bandbreite eines
Netzwerkadapters zu sättigen?
ƒ Ist die Netzwerkbandbreite mit der gegebenen MPIImplementierung überhaupt ein Bottleneck?
23.09.05
[email protected]
Dual-Core-Prozessoren
10
Resultate
ƒ Bringt der zweite Core etwas?
ƒ Die Frage müsste lauten: Wenn mein Applikationsmix
durchschnittlich X% Performancegewinn hat und das DCSystem Y% teurer ist als das SC-System, ist X>Y?
ƒ Bekommt man die Placement-Probleme bei NUMA-Systemen
in den Griff?
ƒ Haben wir überhaupt eine Wahl?
ƒ I.A. kann der zweite Core aus dem Speicherinterface noch
etwas mehr „rauskitzeln“
ƒ OpenPower: 30-40%
ƒ Opteron: 25%
ƒ Pentium D: 0%
ƒ Unterschiede in der Taktfrequenz werden durch andere
Effekte oft verwischt
ƒ Achtung bei Netzwerk-Bisektionsbandbreiten
23.09.05
[email protected]
Dual-Core-Prozessoren
11