Slide 1 Vorlesung 9 Flynn`sche Klassifikation (vgl. Vorlesung 2

Werbung
2.7. R EALE PARALLELRECHNER
OVERHEAD
UND DIE T OP 500-L ISTE
DER
PARALLELIT ÄT II
➜ Parallele Ausführungszeit (s. voriges Bild rechts) besteht aus:
Flynn’sche Klassifikation (vgl. Vorlesung 2) unterscheidet
4 Architekturklassen: SISD, MISD, SIMD und MIMD.
• Busy-useful: Ausführung der Operationen,
die auch im seq. Programm ausgeführt werden
• Busy-overhead: Ausführung von Operationen,
die extra durch Parallelisierung entstanden sind
Wir befassen uns ausschließlich mit MIMD-Systemen,
weil sie den zurzeitigen Markt beherrschen
• Data-local: Zugriffszeiten auf lokale Daten
Slide 3
Inhalt der Vorlesung:
➜ Allgemeines über den Overhead der Parallelität
• Data-remote: Zugriffszeiten auf Daten bei anderen
Prozessoren/Speichermodulen
• Synchronization: Warten auf andere Prozessoren
➜ Wichtigste Klassen von MIMD-Parallelrechnern:
• MIMD mit Bussystemen (SMPs)
• MIMD mit gemeinsamem Adreßraum:
UMA, NUMA, CC-NUMA, COMA
• MIMD mit verteiltem Adreßraum
Synchronization
Busy-overhead
Data-local
Data-remote
Busy-useful
➜ Top-500-Liste der schnellsten Höchstleistungsrechner der Welt
OVERHEAD
DER
PARALLELIT ÄT I
➜ Parallelrechner soll möglichst wenig Zeit
mit unnötiger Arbeit (Overhead) verbringen
➜ Sequentielle Ausführungszeit (s. Bild links) besteht aus:
Berechnungen und Speicherzugriffen
➜ Imaginäre Parallelausführung (rechts): verbraucht
auf 4 Prozessoren mehr als 1/4 der Zeit wegen Overhead:
Time (s)
de 2
100
100
75
75
50
50
25
Time (s)
de 1
Vorlesung 9
Synchronization
Busy-overhead
Data-local
BY
DER
S YMMETRISCHEN M ULTIPROZESSOREN (SMP S )
➜ “Symmetrisch” weil ...
alle Prozessoren identisch sind und die Speicherzugriffe bei allen
Prozessoren gleich lange dauern
➜ Alle Prozessoren sitzen auf einem Bus
Slide 4
Data-remote
Busy-useful
➜ Relativ kleine Anzahl von Prozessoren wg. Engpasses am Bus
(schlechte Skalierbarkeit)
➜ Cache-Kohärenz ist einfach, z.B. Snooping mit MSI-Protokoll
(s. vorige Vorlesungen)
➜ Überwiegend im Großserverbereich eingesetzt
➜ Aktuell: SMPs werden zunehmend als Knoten zum Aufbau
größerer Systeme verwendet:
sog. CluMPs (Clusters of Multi-Processors), “Constellations”
25
p1
c
2008
K LASSE
p2
p3
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
p4
1
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
2
FALLSTUDIE SMP: S UN E NTERPRISE 6000
G ROBK ÖRNIGER KONTEXTWECHSEL
Mem ctrl
Bus interface/switch
➜ Grobkörnig = block multithreading
➜ Kontextwechsel passiert erst bei einem Lange-Latenz-Ereignis
(z.B. Cache-Miss mit Latenz 10 Taktzyklen)
➜ Miss festgestellt ⇒ mehrere nachstende Instruktionen müssen
aus der Pipeline entfernt werden ⇒ contextswitch overhead
2 FiberChannel
$2
SBUS
$2
SBUS
P
$
SBUS
P
$
100bT, SCSI
CPU/mem cards
Bus interface
Slide 7
de 5
de 6
Thread A
Busy cycle from
threads A-D, respectively
Thread B
Context switch overhead
I/O cards
Gigaplane bus ( 256 data, 41 address, 83 MHz )
➜ Bis zu 30 Ultra-SPARC-Prozessoren
➜ Auch Board-lokale Zugriffe laufen über den Bus
(UMA = Uniform Memory Access)
➜ In jedem Prozessor: 16KB L1-Cache und 512KB L2-Cache
➜ Cache-Kohärenz: eine Variante des MSI-Protokolls
➜ Zugriff auf den Cache ist um ca. eine Größenordnung schneller
als Zugriff über den Bus (40 ns vs. 300 ns)
G EMEINSAMER A DRESSRAUM : UMA
MIT
Idle (stall) cycle
Thread C
Abbreviation for four =
... = context
switch cycles
Thread D
Memory latency
Pipeline latency
Four context switch cycles
...
M ULTITHREADING
F EINK ÖRNIGER KONTEXTWECHSEL
➜ Wachsender Abstand zwischen Prozessor- und Speicherleistung
⇒ mehr Threads pro Prozessor nötig
Memory latency
Pipeline latency
Thread D
Thread A
➜ Kontextwechsel in Hardware ⇒ spezielle Prozessoren nötig
(kleine Stückzahlen, teuer)
Memory latency
Memory latency
Slide 8
➜ Herausforderung für Programmierer: nicht die Lokalität der
Zugriffe, sondern genügend Parallelität zu identifizieren
Thread E
Thread B
Thread C
➜ Keine Software-Unterstützung nötig
Thread F
Memory latency
➜ Ist dynamisch, d.h. gut für unvorhersehbare Situationen
(Cache-Misses etc.)
Pipeline latency
➜ Zwei Arten – Grobkörniger und Feinkörniger Kontextwechsel:
• Grob: Wechsel erst nach Bedarf
• Fein: Wechsel in jedem Taktzyklus
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
...
➜ Feinkörniger Kontextwechsel: interleaved multithreading
➜ Nach jeder Instruktion wird aus einem Thread-Pool gewählt
➜ Es gibt keinen Kontextswitch-Overhead wie beim grobkörnigen
➜ Idee: Kommunikationslatenz und andere Wartezeiten durch
Kontextwechsel zu anderen Aktivitäten (Threads) auf
demselben Prozessor zu verbergen
c
2008
...
Busy cycles from
threads A−F,
respectively
Idle (stall) cycle
3
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
4
de 9
e 10
FALLSTUDIE NUMA: C RAY T3E
➜ Konfigurationen mit 16 bis 192 Prozessoren sind üblich
FALLSTUDIE M ULTITHREADED -A RCHITEKTUR – Tera MTA
➜ Ein Knoten beinhaltet:
Prozessor, Kontrollchip, lokalen Speicher, Netzwerk-Interface
➜ Prozessor unterstützt 128 aktive Threads in Hardware
➜ Caches:
➜ Interleaved Multithreading
➜ VLIW-Prozessor = ...
mehrere FUs mit statischem Scheduling
Slide 11
➜ Verbindungstopologie: 3D-Torus
• Je ein 8K direct-mapped Instruktions- und Datencache
• Ein 96K on-chip L2-Cache
– drei-Wege-assoziativ, mit 64-Byte-Blöcken
• In Caches können nur lokale Daten abgelegt werden
(kein Hardware-Mechanismus für ihre Kohärenz)
• Bei nicht-lokalem Zugriff von außen werden Daten im Cache
als ungültig markiert
➜ Keine Caches
⇒ bis zu 8 ausstehende Speicherzugriffe je Thread erlaubt
➜ Sehr spezielle Prozessoren
➜ Der Programmierer oder der Compiler muß viele Threads im
Programm produzieren
• Alle lokalen Speicher sind zwar für alle Prozessoren
zugänglich, ihre Zugehörigkeit sollte für effizientes
Programmieren jedoch berücksichtigt werden
➜ Netztopologie: 3D-Torus (Knotengrad?)
Gemeinsamer Adreßraum: NUMA (Non-Uniform Memory Access)
FALLSTUDIE NUMA: C RAY T3E – AUFBAU
➜ Physikalisch sind die Speichermodule auf die Knoten verteilt
➜ Die Zugriffszeit hängt vom zugreifenden Prozessor und von der
zugegriffenen Speicheradresse ab
External I/O
P
➜ Logisch sind alle Speichermodule für alle Prozessoren direkt
zugreifbar, ohne Mitwirken des Inhaber-Prozessors
Mem
$
➜ Cache-Kohärenz wird nicht in Hardware unterstützt
⇒ nur lokale Daten sind cacheable
Mem
ctrl
and NI
Slide 12
Beispiel:
Cray T3E
X
Switch
Y
Z
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
5
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
6
e 13
CC-NUMA
R ECHNER
➜ CC-NUMA = cache-coherent non-uniform memory access
MIT VER TEILTEM
A DRESSRAUM
➜ Cache-Kohärenz wird per Hardware sichergestellt
➜ Anwendungsgebiet: überwiegend wissenschaftlich-technische
Simulationen (Wettervorhersage, Crash-Verhalten, GAUs, etc.)
➜ Erste CC-NUMA Maschine war DASH in Stanford (1992)
➜ + : Gutes Preis-Leistungs-Verhältnis, Skalierbarkeit
➜ – : Wegen verteiltem Adreßraum aufwendiges Programmieren
FALLSTUDIE SGI O RIGIN 2000:
Fallstudie: IBM SP2
➜ Bis zu 1024 Prozessoren
➜ Knoten = zwei Prozessoren, bis zu 4 GB Speicher, ein
Cache-Controller, sowie Router (“R” im Bild)
R
Topologie bis zu 16 Knoten
– Hypercube; danach Fattree mit Meta-Routers
Slide 15
➜ Weiterentwicklung von SP2: mit SMP-Knoten je 4/8 Prozessoren
⇒ ASCI Blue, sowie SP3 mit Power3-Prozessoren
R
➜ Topologie, Routing und Switching:
R
R
R
➜ SP2 = Scalable Power, mit superscalaren Prozessoren
(d.h. mehrere FUs mit dynamischem Scheduling)
• Einzelne Switches sind Crossbars
R
• Quellenbasiertes, tabellengetriebenes Routing
R
• Paketbasiertes, cut-through Switching
R
• Pakete bis 255 Byte lang, Phit = 1 Byte, Flit = 2 Byte
SGI O RIGIN 2000: G R ÖSSERE T OPLOGIEN
R
R
R
R
R
R
R
R
R
R
R
C LUSTERMASCHINEN
R
R
R
e 14
➜ Netze: ursprünglich LAN oder WAN, langsam
M
Slide 16
M
M
M
➜ Cluster können sowohl zu (CC-)NUMA als auch zu Maschinen
mit verteiltem Adressraum gehören
M
R
R
R
R
R
c
2008
R
R
R
R
BY
➜ Anwendungsgebiete: Server, Webserver
➜ Aktuell: schnellere Netze wie ATM, Myrinet, SCI, etc.
M
R
W ORKSTATIONNETZE
➜ Cluster = Ansammlung (fast) eigenständiger Rechner,
verbunden über ein Netzwerk
R
M
M
UND
R
R
➜ An der WWU ist ein Cluster mit 96 Knoten vorhanden
R
R
R
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
R
R
7
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
8
D IE T OP 500 L ISTE
D IE S CHNELLSTEN S UPERCOMPUTER
➜ Wird seit 1993 erstellt
➜ Momentan stärkster Rechner:
➜ Leistungskriterium – Performance in Mflops auf Linpack, d.h.
Lineares Gleichungssystem Ax = b mit vollbesetzter Matrix
• IBM LLNL Blue Gene/L (Livermore, USA)
• 212992 Knoten mit je einem ASIC (App-Specific Integrated
Circuit) = 2 PPC440 Prozessoren (> 130.000 CPUs) 596 Tflops
➜ Das Problem welches 1980 etwa 1 Jahr Rechenzeit brauchte,
hat später soviel Zeit verbraucht:
e 17
Slide 19
• 1992 - 1 Monat
• 1997 - 4 Stunden
• 197 Tonnen schwer, 119 Meilen optisches Kabel und 28
Meilen Kupferkabel, 890 qm Fläche (≈ 2 Basketballplätze).
• 4.7 MW Stromverbrauch (≈ 4000 Haushalte)
• 2000 - 1 Stunde
➜ Auch selbstgebaute Cluster dabei:
• heute - wenige Minuten
• darunter mit bestem Preis-Lestungsverhältnis MACH5 XServe, 2.0 GHz, Myrinet (COLSA Corporation, Alabama) auf
Platz 69: 3072 Prozessoren, Rmax = 16180 Gflops
➜ Probleme mit Linpack als Kriterium: einige kommerzielle Systeme
(z.B. DB-Systeme) – kein Interesse an Gflops; neue Architekturen
sind oft nicht dafür entwickelt
...
...
e 18
Slide 20
...
...
• Rm ax: Maximal gemessene LINPACK Performance (in Gflops)
• Rp eak: Theoretische Höchst-Performance (in Gflops)
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
9
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
10
e 21
Slide 23
e 22
Slide 24
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
11
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
12
e 25
e 26
• MPP - Massively Parallel Processors: Parallelrechner mit über
mehreren tausend intern verbundenen Ausführungseinheiten
• Cluster: Ebenfalls verteilter Speicher, aber extern verbundene
Recheneinheiten, also über das Netzwerk/LAN, z. B. Myrinet
oder InfiniBand
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9
13
Herunterladen