Slide 1 Vorlesung 2 • Architektur eines Prozessors • Systemaufbau

Werbung
de 1
Vorlesung 2
( A ) PARALLELIT ÄT AUF B ITEBENE :
2. A RCHITEKTUR
VON
PARALLELRECHNERN
• Alle Bits der Wortbreite können potentiell parallel
verarbeitet werden
Z WEI B ETRACHTUNGSEBENEN SIND M ÖGLICH ::
• Entwicklung: 8 −→ 16 −→ 32 −→ 64 Bits
• Architektur eines Prozessors
• Systemaufbau aus mehreren Prozessoren
Slide 3
Wir werden sehen, daß auf beiden Ebenen
ähnliche Ansätze zur Parallelität benutzt werden.
• Moderne Hardware-Algortihmen für Addition,
Multiplikation, etc. sind Parallelalgorithmen
(wir werden diese hier nicht näher betrachten)
Moderne Rechner, sogar einzelne Mikroprozessoren,
kann/sollte man als parallele Systeme betrachten !
2.1. PARALLELIT ÄT
IN
• Die Weiterentwicklung ist vorläufig gestoppt, da 64 Bits
(vorerst) ausreichende Genauigkeit und
Adressraumgröße bieten
( B ) PARALLELIT ÄT DURCH P IPELINING : M OTIVATION :
M IKROPROZESSOREN
➀ Steigerung der Taktrate um ca. 30% p.a.
➜ Das Pipelining ist eine der grundlegenden Ideen/Paradigmen,
die auch im täglichen Leben reichlich benutzt wird
(z.B. von Henry Ford in der Autoindustrie eingeführt)
➁ Steigerung der Performance: ca. 55% – 75% p.a.
➜ Bearbeitung einer Instruktion besteht aus Schritten/Stufen, z.B.:
A KTUELLE S TEIGERUNGSRATEN :
➂ Aus 1.< 2. folgt, daß ausser der Taktrate noch weitere,
architektonische Faktoren zur Performance-Steigerung
beitragen.
de 2
Slide 4
•
•
•
•
F (fetch): das Laden der nächsten Instruktion
D (decode): das Dekodieren dieser Instruktion
E (execute): das Ausführen der Instruktion
W (write-back): das Schreiben des Resultates
V IER PARALLELIT ÄTSEBENEN IM P ROZESSOR :
F
➜ (a) Parallelität auf Bitebene
D
E
W
➜ (b) Parallelität durch Pipelining
➜ Üblicherweise führt der Prozessor die Stufen einer Instruktion
nacheinander (sequentiell) aus: F1 → D1 → E1 → W1
➜ (c) Parallelität durch mehrere Funktionseinheiten
➜ (d) Parallelität auf Prozeß- bzw. Thread-Ebene
➜ Auch ein und dieselbe Stufe verschiedener Instruktionen
ist häufig nur sequentiell ausführbar: E1 → E2 → E3 → E4
werden im Folgenden einzeln kurz besprochen.
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
1
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
2
P IPELINING : D IE I DEE
( C ) PARALLELIT ÄT
➜ Möglichkeit der Parallelität bei diesen Abhängigkeiten zwischen
den Stufen: gleichzeitig unterschiedliche Stufen mehrerer
Instruktionen, z.B.: W1 || E2 || D3 || F4
➜ Dies erreicht man durch
Pipelining ≈ verzahnt-parallele Ausführung, z.B. wie folgt:
de 6
• Beim Übersetzen wird Maschinencode erzeugt, der die
zeitliche Verteilung von Instruktionen auf FUs angibt
• Die Instruktionsworte werden dadurch lang
=⇒ Very Long Instruction Word = VLIW
• Das ist statisches Scheduling, d.h. vor der Ausführung,
im Gegensatz zum Scheduling zur Laufzeit (dynamisch)
Slide 7
de 5
F4
D4
E4
F3
D3
E3
W3
F2
D2
E2
W2
D1
E1
W1
3
2
1
F1
F UNKTIONSEINHEITEN
➀ VLIW-Prozessoren (z.B. IA 64)
Instruktionen
4
DURCH MEHRERE
➜ Abkürzung FU = Functional Unit
➜ ALUs, FPUs, etc. können parallel zueinander arbeiten
➜ Zwei Prozessorarten, die mehrere FUs benutzen:
W4
➁ Superscalare Prozessoren (z.B. Pentium)
• Teile des Maschinencodes werden per Hardware während
der Ausführung den FUs zugeteilt, d.h. zur Laufzeit
• Dies ist dynamisches Scheduling durch Analyse der
bestehenden Datenabhängigkeiten!
➜ Moderne Prozessoren: 2 bis 6 gleichzeitige Instruktionen
Zeit
4 Instruktionen brauchen anstatt 4*4=16 lediglich 7 Zeitschritte
S UPERSCALARE P ROZESSOREN UND I NSTRUKTIONSFENSTER
P IPELINING : B EOBACHTUNGEN
➜ Dynamisches Scheduling kostet viel Overhead (Chipfläche),
trotzdem werden z.Zt. superscalare Prozessoren bevorzugt
➜ Der Speedup wächst mit der Anzahl der Instruktionen
➜ Pipelining ist effizient, wenn verschiedene Pipelinestufen
etwa gleich lange dauern
➜ Kosten vs. Nutzen: bei ca. 4 absetzbaren Instruktionen
ist die Grenze in etwa erreicht (z.B. in Pentium maximal 3)
➜ Die Anzahl der Stufen (in der Praxis: zwischen 2 und 20)
bestimmt den Parallelitätsgrad
Slide 8
➜ Prozessoren mit vielen Stufen heißen super-pipelined.
➜ Grenzen für die Stufenanzahl/Parallelitätsgrad:
➜ Korrektheit: Die (funktionale) Semantik des Programms darf
durch die parallele Abarbeitung nicht geändert werden
• Instruktionen nicht beliebig in gleich große Stufen zerlegbar
• Datenabhängigkeiten zwischen Instruktionen
➜ Dies wird vom reorder buffer garantiert: die Ergebnisse werden
erst dann in die Register geschrieben, wenn alle vorherige
Instruktionen ihre Ergebnisse reingeschrieben haben.
• ... und viele andere
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
➜ Dekodierte Instruktionen werden im sog. Instruktionsfenster
abgelegt und, sobald Operanden verfügbar sind, an FU
weitergegeben (dispatch)
3
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
4
de 9
e 10
( D ) PARALLELIT ÄT
AUF
P ROZESS -
BZW.
K LASSIFIZIERUNG
T HREADEBENE
NACH
M. F LYNN [1972]
➜
➜
➜
➜
➜ Bisher sind wir immer von einem Kontrollfluß ausgegangen
➜ Zusätzliche Möglichkeit: Erhöhung des Parallelitätsgrades
durch mehrere Kontrollflüsse
➜ Heutzutage auf Prozessorebene noch selten benutzt,
ist Gegenstand aktueller Forschung & Entwicklung
➜ Einschlägige Techniken aus der Parallelprogrammierung (siehe
später) werden zunehmend in einzelnen Prozessoren eingesetzt,
z.B. HTT - Hyper-Threading Technology von Intel
Slide 11
➜ Siehe “Multithreading” in späteren Kapiteln
Eine der ersten Klassifizierungen überhaupt
Ist immer noch die meistbenutzte
Vorteil: sehr einfach
Klassifiziert wird nach zwei Merkmalen:
➀ I ( Instruction): Organisation des Kontrollflusses
➁ D ( Data): Organisation des Datenflusses
➜ Jedes Merkmal kann einen der zwei Werte annehmen:
➀ S: für Single
➁ M: für Multiple
➜ Somit erhält man 4 mögliche Kombinationen:
Instruction
Data
Drei allgemeine Informatik-Aspekte spielen hier eine Rolle:
➜ Statisch vs. Dynamisch (zur Compile- vs. zur Laufzeit)
S
M
S
SISD
MISD
M
SIMD
MIMD
➜ Nutzen/Optimierung vs. Kosten/Overhead
➜ Korrektheit: Semantik-erhaltende Transformationen
2.2. K LASSIFIZIERUNG
VON
PARALLELRECHNERN
Wir widmen uns nun dem Aufbau von Parallelrechnern
durch das Verbinden mehrerer Prozessoren
F LYNNSCHE K LASSIFIKATION : SISD
Eine (noch intuitive und vage) Definition:
Ein Verarbeitungsschritt besteht aus:
➜ Laden einer Instruktion aus dem Programmspeicher
Ein Parallelrechner ist eine Ansammlung von Recheneinheiten (Prozessoren), die durch koordinierte Zusammenarbeit komplexe Anwendungen schneller lösen können
➜ Laden angesprochener Daten aus dem Datenspeicher
Slide 12
➜ Anwendung der Instruktion auf die Daten
➜ Zurückspeichern des Resultates
Viele Details in dieser Definition bleiben offen:
➜
➜
➜
➜
Anzahl und Komplexität der Recheneinheiten
Struktur der Verbindungen zwischen den Prozessoren
Art der Koordination
... und vieles mehr
Datenspeicher
Prozessor
Programmspeicher
SISD ≈ Klassisches Von-Neumann-Rechnermodell
Diese Details werden durch Klassifizierungen festgelegt
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
5
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
6
F LYNNSCHE K LASSIFIKATION : MIMD
F LYNNSCHE K LASSIFIKATION : MISD
Ein Verarbeitungsschritt besteht aus:
Ein Verarbeitungsschritt besteht aus:
➜ Laden einer Instruktion aus eigenem Programmspeicher
➜ Laden separater Daten
➜ Asynchrone Abarbeitung der jeweiligen Instruktionen
➜ Laden einer Instruktion aus eigenem Programmspeicher
➜ Laden derselben Daten aus dem Datenspeicher
➜ Anwendung verschiedener Instruktionen auf dasselbe Datum
e 13
Prozessor 1
Programmspeicher 1
.
.
.
.
.
.
Prozessor n
Programmspeicher n
Datenspeicher
Slide 15
Daten
speicher
Prozessor 1
Programmspeicher 1
..
.
..
.
Prozessor n
Programmspeicher n
MIMD ist das z.Zt. populärste Parallelrechnermodell.
Die meisten Parallelrechner sind MIMD-Architekturen,
bzw. Hybride, z.B.: MIMD-Maschinen mit SIMD-Knoten
Keine der gegenwärtigen Architekturen entspricht genau
dem MISD-Modell ⇒ bisher keine praktische Bedeutung
F LYNNSCHE K LASSIFIKATION : SIMD
V ERGLEICH : SIMD
Verarbeitungsschritt:
➜ Laden derselben Instruktion aus (globalem) Programmspeicher
➜ Laden separater Daten aus (gemeinsamem oder verteiltem)
Datenspeicher
➜ Synchrone Ausführung der Instruktion auf allen Daten
➜ Beispielanwendung: Seismologie
e 14
speicher
.
..
Slide 16
➜ SIMD-Rechner benötigen spezialisierte Prozessoren
Mehrere realisierte SIMD-Rechner: z.B. Connection Machine
(bis ca. 65K Prozessoren), MasPar, etc. bis zur Mitte der 90er
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
• Nachteile SIMD:
➜ Streng synchrone Abarbeitung bremst die Geschwindigkeit
⇒ Statement if (b==0) c=a; else c=a/b;
benötigt zur Ausführung zwei Schritte:
(1) Ein Teil der Prozessoren berechnet c=a;
(2) Anderer Teil berechnet c=a/b.
Programmspeicher
Prozessor n
c
2008
MIMD
• Vorteil SIMD: nur ein Kontrollfluß
=⇒ einfach zu programmieren, da alle Prozessoren
gleichzeitig nur ein Kommando ausführen
(oder setzen durch Maskierung aus)
Prozessor 1
Daten
VS .
7
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
8
e 17
M ODERNE G RAFIKKAR TEN
R ENAISSANCE
VON
ALS
C OPROZESSOR
Moderne GPUs verfügen über große Anzahl Shader Einheiten
(=SIMD Prozessoren)
Idee: Ein Hauptprogramm läuft auf der CPU, parallele
Berechnungen werden auf die GPU ausgelagert
SIMD
Zwei Beispiele für moderne SIMD-Rechner:
Slide 19
➜ PlayStation 3 von Sony!
Verwendet den Cell-Prozessor von IBM
➜ Programmierung z.B. mittels CUDA (Compute Unified Device
Architecture) von NVIDIA
➜ CUDA ermöglicht Threadprogrammierung auf GPU
➜ Moderne Grafikkarten (GPUs) als SIMD Coprozessor
➜ Programmierer definiert Kernel, z.B.
c[threadID]=a[threadID]/b[threadID]
➜ CUDA erzeugt für N Datenelemente N Threads
➜ Threads führen Kernel auf den Shader Einheiten gleichzeitig aus
C ELL -P ROZESSOR
VON
IBM
B EISPIEL : N VIDIA G E F ORCE 8800 GTX
Hohe Leistung durch 8 Synergistic Processor Elements (SPEs) erreicht:
➜ SPE – vollständiger SIMD-Processor mit 128 Registern je 128 Bit
➜ 4 Floating-point Units + 4 Integer Units, insg. 32 GFlops/GOps
➜ Peak Performance des Prozessors: 32 X 8 SPEs = 256 GFLOPS
➜ Die Parallelisierung für PPEs wird vom Compiler gemacht,
Prozessor selbst ändert die Reihenfolge der Instruktionen nicht.
➜ 128 Shader Einheiten mit je 1,35 GHz
➜ Peak Performance: 518 GFLOPS
➜ 768 MB Grafikspeicher
Slide 20
e 18
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
9
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
10
e 21
K LASSIFIKATION
NACH DER
O RGANISATION
DES
S PEICHERS
R ECHNER
➀ Physisch (aus der Sicht des Systemarchitekten) :
MIT PHYSISCH VER TEILTEM
S PEICHER II
P ROGRAMMIERMODELL :
Parallele und verteilte
MIMD-Rechnersysteme
➜ Entspricht dem physischen Aufbau
➜ Expliziter Nachrichtenaustausch (message passing)
über das Verbindungsnetzwerk
➜ Komplementäre Sende- und Empfangsbefehle (Send – Receive)
Rechner mit
virtuell (durch Hardware)
gemeinsamem Speicher
Multicomputer
Speicher ist
physisch verteilt
Multiprozessoren
Speicher ist
physisch gemeinsam
Slide 23
• Sendebefehl: PA sendet Nachricht m an PB
• Empfangsbefehl: PB empfängt Nachricht von PA in Puffer b
und bearbeitet den Puffer anschließend
➁ Logisch (aus der Sicht des Programmierers) :
H ERAUSFORDERUNG F ÜR P ROGRAMMIERER : Das Programmieren vom
expliziten Nachrichtenaustausch ist aufwendig und fehleranfällig,
➜ verteilter Adreßraum
➜ gemeinsamer Adreßraum
insb. müssen einzelne Sende- und Empfangsbefehle aufeinander
abgestimmt werden. Details dazu – später.
Physische und logische Sicht sind zueinander orthogonal !
R ECHNER
MIT PHYSISCH VER TEILTEM
S PEICHER I
H ISTORISCHE E NTWICKLUNG
AUFBAU :
VON VER TEILTEM
S PEICHER I
P UNKT- ZU -P UNKT V ERBINDUNG ( IN ERSTEN PARALLELRECHNERN ):
➜ Mehrere Recheneinheiten (Knoten) bestehend aus:
Prozessor, lokalem bzw. privatem Speicher, I/O
➜ Verbindungsnetzwerk, das die Knoten durch
physische Leitungen verbindet
Verbindungsnetzwerk
e 22
P = Prozessor
Slide 24
➜ Ein Knoten ist mit einer festen Menge von anderen Knoten
durch physische Leitungen (Links) verbunden
➜ Kommunikation nur mit direkten Nachbarn, entfernte
Kommunikation durch die Nachbar-Verbindungen realisiert
➜ Gleichzeitiges Senden und Empfangen evtl. möglich
➜ Die Kommunikation wird vom Programmierer explizit organisiert
M = lokaler Speicher
P
P
M
M
...
P
M
Computer with distributed memory
and a hypercube network
DATENSPEICHERUNG :
➜ Speicherung und direkter Zugriff auf lokalen Speicher
➜ Zugriff auf Speicher anderer Knoten nur über das Netzwerk, mit
“Einverständnis” des Eigentümers
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
11
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
12
E NTWICKLUNG
VON VER TEILTEM
S PEICHER II: DMA-C ONTROLLER
R ECHNER
➜ DMA = direct memory access
➜ Direkter Datentransfer zwischen lokalem Speicher
und I/O-Anschluß: entkoppelt Kommunikation vom Prozessor
➜ Kommunikation zwischen Nachbar-Knoten ist nicht-blockierend:
➜ mehrere Prozessoren
➜ gemeinsamer bzw. globaler Speicher,
evtl. in Speichermodulen aufgeteilt, siehe b)
➜ Verbindungsnetzwerk, das die Prozessoren und gemeinsamen
Speicher verbindet
Slide 27
➜ Entfernte Kommunikation wird durch Software über
Nachbar-Links aufgebaut und dauert relativ lange
a)
b)
P
. . .
P
.. .
M
P
E NTWICKLUNG
DMA
M
M
VON VER TEILTEM
P
Gemeinsamer Speicher
S PEICHER III: H ARDWARE -R OUTER
R ECHNER
➜ Entfernte Kommunikation wird von Routern (einer pro Knoten)
realisiert, was die Zwischenknoten zusätzlich entlastet
MIT PHYSISCH GEMEINSAMEM
. . .
M
Speichermodule
S PEICHER II
P ROGRAMMIERMODELL :
➜ Folge: Entfernungen im Netzerk spielen immer geringere Rolle
➜ Gemeinsame Variablen (shared variables)
➜ Router und Leitungen bilden das eigentliche Netzwerk
➜ Verwendung von Multithreading: mehrere leichtgewichtige
Prozesse arbeiten gleichzeitig (mehr dazu später)
➜ Aufgaben des Routers: Pipelining von Nachrichten,
Vermeidung von Konflikten und Verklemmungen im Netz
➜ So werden hierarchische Systeme (Cluster ) aufgebaut
e 26
P
Verbindungsnetzwerk
Verbindungsnetzwerk
DMA
. . .
P
Parallelrechner mit
DMA−Verbindungen zum Netzwerk
Verbindungsnetzwerk
S PEICHER I
AUFBAU :
• Sender initiiert die Kommunikation (und arbeitet weiter)
• Die Nachricht wird vom DMA im Empfänger gepuffert
• Empfänger entnimmt die Nachricht aus dem Puffer
e 25
MIT PHYSISCH GEMEINSAMEM
Slide 28
➜ Prozessoren greifen auf gemeinsamen Speicher zu
⇒ Lese- und Schreibkonflikte möglich
B EWER TUNG :
N
N
R
R
N
R
R = Router
R
N = Knoten bestehend aus
Prozessor und
lokalem Speicher
N
N
N
R
R
c
2008
R
N
R
BY
P
N
N
R
..
+ relativ einfache Programmierung (Diskussionsfrage, da Konflikte
und Synchronisierungsprobleme möglich)
M
...
...
Router
externe
Eingabekanaele
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
+ gute Speicherausnutzung: keine Datenreplizierung nötig
..
.
– Speicherzugriffe aller Prozessoren erfolgen über ein Netzwerk:
⇒ hohe Hardware-Anforderung
⇒ Skalierbarkeit/Erweiterbarkeit des Systems problematisch
externe
Ausgabekanaele
13
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
14
SMP –
SYMMETRISCHE
R ECHNER
AUFBAU :
➜ Speicherzugriff über einen Bus (potentieller Flaschenhals)
➜ Kein zusätzlicher privater Speicher, evtl. Prozessor-Caches
P1
P2
. . .
S PEICHER
MIT VIR TUELL GEMEINSAMEM
➜ Physisch: verteilter Speicher, i.d.R. hierarchisch
➜ Logisch: gemeinsamer Adreßraum durch Kohärenzprotokolle
(mehr dazu später)
➜ Unterschiedliche Speicherzugriffszeiten
in Abhängigkeit von der Speicheradresse
➜ Bezeichnung: NUMA-Maschinen = Non-Uniform Memory Access
“Symmetrisch” bedeutet:
Alle Prozessoren haben gleiche Funktionalität und gleiche
Sicht auf den Gesamtspeicher, insb. gleiche Zugriffsdauer
e 29
e 30
M ULTIPROZESSOREN I
Slide 31
p
P3
p
1
...
2
p
n
schnell
M1
Cache
M2
Mn
Cache
Cache
langsam
Bus
Verbindungsnetzwerk
Speicher
SMP –
SYMMETRISCHE
M ULTIPROZESSOREN II
M ETHODEN
• Quasi Industrie-Standard seit mehr als 20 Jahren
für Hochleistungsserver, z.B. bei Großbanken.
Slide 32
• Werden auch als UMA-Maschinen bezeichnet
UMA = Uniform Memory Access
• Beispiele: SUN Enterprise und SGI Challenge Systeme
• Relativ niedrige Anzahl von Prozessoren wegen
Skalierbarkeit (Flaschenhals s.o.!), i.d.R.: bis 30-60
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
R EDUKTION
DER
S PEICHERZUGRIFFSZEITEN
➜ Multithreading:
jeder physische Prozessor simuliert eine feste Anzahl
von virtuellen Prozessoren (abwechselnd)
⇒ verbirgt die Latenz der Speicherzugriffe
E INSATZ VON SMP S :
c
2008
ZUR
➜ Cache:
kleiner, sehr schneller Speicher zwischen Prozessor und
Hauptspeicher; mehr dazu nächste Vorlesung
⇒ Reduktion der transportierten Daten durch Speicherung
häufig genutzter Daten im Cache
➜ Beachte: Cache 6= Cash :–)
es wird jedoch manchmal Zeichen $ für Cache verwendet.
15
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
16
CC-NUMA
WAS
HABEN WIR HEUTE GELERNT
➜ CC-NUMA – Cache-Coherent NUMA (siehe Bild)
➜ Bereits im Prozessor gibt es 4 Ebenen der Parallelität
➜ Der Cache kann Daten aus lokalem und aus virtuell
gemeinsamem Speicher aufnehmen
➜ Viele Ideen (Pipelining, Multithreading, etc.) sind an mehreren
Ebenen der Parallelität einsetzbar
➜ Die “Richtigkeit” von Daten (Cache-Kohärenz) wird von
Hardware gewährleistet
➜ Moderne Prozessoren sind i.d.R. super-pipelined, sowie
superscalar oder VLIW
➜ Beispiele: SGI Origin 2000, Cray T3E
Slide 35
e 33
P1
P2
C1
C2
...
Pn
➜ Speicher kann gemeinsam, verteilt oder virtuell gemeinsam sein
Cn
➜ DMA und Router befreien den Programmierer von expliziter
Kommunikations-Organisation
M2
M1
➜ Beim (virtuell) gemeinsamen Speicher spielt die Daten-Kohärenz
eine entscheidende Rolle
Mn
Verbindungsnetzwerk
NC-NUMA
UND
➜ Flynnsche Klassifizierung unterscheidet 4 Architekturklassen: SISD,
MISD, SIMD, MIMD
Nächste Vorlesungen: Caches, Kohärenz, Konsistenz, etc.
COMA
➜ NC-NUMA = Non-Coherent NUMA:
Hardware gewährleistet keine Kohärenz, deshalb enthält der
Cache nur Daten der lokalen Speicher oder Variablen, die nur
gelesen werden können
➜ Beispiel: Cray T3D – Vorgänger von Cray T3E
➜ COMA = Cache Only Memory Access (z.B. KSR 1/2):
der ganze Speicher besteht aus individuellen Caches
e 34
Prozessor
P1
P2
Cache
C1
C2
. . .
Pn
Cn
Verbindungsnetzwerk
➜ Dynamische Speicherzuordnung, hoher Hardwareaufwand
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
17
c
2008
BY
S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 2
18
Herunterladen