Überblick - informatik.uni

Werbung
Überblick
zEinleitung
yLit., Motivation, Geschichte, v.NeumannModell, VHDL
zBefehlsschnittstelle
zMikroarchitektur
zSpeicherarchitektur
zEin-/Ausgabe
zMultiprozessorsysteme, ...
Kap.6
Multiprozessorsysteme
Einsatz der zusätzlich verfügbaren
Chipfläche
z Parallelität auf Bitebene: bis etwa 1985
y Kombinatorische Addierer und Multiplizierer,
Multiplizierer etc.
y → wachsende Wortbreite auf 64 Bit
z Parallelität auf Instruktionsebene: 1985 bis heute
y Pipelining der Instruktionsverarbeitung
y Mehrere Funktionseinheiten (→ superskalare Prozessoren)
bei mehr als 4 Funktionseinheiten verhindern Datenabhängigkeiten
oft eine effiziente Ausnutzung
z Integration von Caches und Hauptspeicher auf die Chipfläche: 1990
bis heute
y Zur Verringerung der mittleren Zugriffszeiten
y → DEC Alpha 21164: 77% der Fläche für Caches
z Parallelität auf Prozessorebene: Perspektive
Performanz von Rechnern lässt sich durch
Parallelverarbeitung
steigern.
z Parallelverarbeitung erfolgt bei
y Verteilten Systemen
Diese bestehen aus mehreren Prozessoren ohne gemeinsamen
Speicher. Jeder Prozessor hat einen eigenen Speicher (local memory).
Die Prozessoren tauschen Daten durch Nachrichten aus.
Nachteil: Evtl. hoher Aufwand für Nachrichtenaustausch.
y Parallelrechnern
Diese bestehen ebenfalls aus mehreren Prozessoren und haben einen
gemeinsamen Speicher (shared memory). Die Kommunikation erfolgt
über den gemeinsamen Speicher.
Nachteil: Evtl. Performanz-Probleme, wenn viele Prozessoren
gleichzeitig auf den Speicher zugreifen wollen.
Architektur von
verteilten/parallelen Systemen
z Systeme mit Verbindungsnetzwerk und lokalem
Speicher
M1
M2
M3
M4
Cache
Cache
Cache
Cache
P1
P2
P3
P4
Verbindungsnetzwerk
y Zugriff auf fremden lokalen Speicher nicht möglich
y Kommunikation durch Austausch von Nachrichten
y gute physikalische Skalierbarkeit
Architektur von
verteilten/parallelen Systemen ff
z Symmetrische Multiprozessoren (SMP)
y gemeinsamer nichtverteilter Speicher
P1
P2
P3
P4
Cache
Cache
Cache
Cache
y
y
y
y
Speicher
meist busbasiert mit physikalisch gemeinsamem Speicher
Reduktion der Speicherzugriffslatenz durch lokale Caches
Problem:
Problem Cache-Kohärenz
Beispiele:
Beispiele SGI Challenge, Sun Enterprise
Architektur von
verteilten/parallelen Systemen ff
z Verteilter gemeinsamer Speicher
y lokale Speichermodule
y gemeinsamer Adressraum
P1
P2
M1
P3
M2
Verbindungsnetzwerk
P4
M3
M4
Beispiel:
Beispiel
Cray T3D
Architektur von
verteilten/parallelen Systemen ff
z Verteilter gemeinsamer Speicher mit lokalem Cache
y lokale Speichermodule
y gemeinsamer Adressraum
y Zugriff der Prozessoren über prozessor-eigenen Cache
P1
P2
P3
P4
Cache
Cache
Cache
Cache
M1
M2
Verbindungsnetzwerk
M3
M4
Beispiele:
Beispiele
HP Convex SPP
Unterteilung von
paralleln/verteilten Systemen
nach dem verwendeten Speichermodell:
y verteilter Speicher, getrennte Adressräume
y verteilter Speicher, gemeinsamer Adressraum
y Nichtverteilter Speicher, gemeinsamer Adressraum
nach der Homogenität der Prozessoren
y homogene Parallelrechner:
Parallelrechner alle Prozessoren sind gleich
y heterogene Parallelrechner:
Parallelrechner Prozessoren dürfen sich
hardwaremäßig unterscheiden
Nach der Hierarchie zwischen den Prozessoren
y symmetrische Parallelrechner:
Parallelrechner die Prozessoren sind bzgl. ihrer
Rolle im System untereinander austauschbar
y nichtsymmetrische Parallelrechner:
Parallelrechner es gibt Masters und Slaves
Nach der Eigenständigkeit der Prozessoren
y lose gekoppelte Parallelrechner:
Parallelrechner Netzwerk von eigenständigen
Rechnern
y eng gekoppelte Parallelrechner:
Parallelrechner physikalisch ein Rechner
Bsp.: Flynn's Schema ´66
z Einteilung von Rechnern in Klassen:
y SISD (Single Instruction stream, Single Data stream)
→ Personal Computer
y SIMD (Single Instruction stream, Multiple Data streams)
→ Vektorrechner, wie Illiac IV (1972, 64 Knoten), CM-2 (1987, 65536
Knoten) Die gleiche Instruktion wird parallel auf einen Vektor von
Daten angewendet.
y MISD (Multiple Instruction streams, Single Data stream)
Mehrere Anweisungen parallel.
y MIMD (Multiple Instruction streams, Multiple Data streams)
→ INMOS Transputer, CONVEX SPP, CRAY T3D/T3E, IBM SP2
Verbindungsstrukturen
z Der Kommunikationsaufwand zwischen den Prozessoren ist
einer der Hauptpunkte für die Leistung des parallelen/verteilten
Systems.
⇒ nicht jedes Problem ist für Parallelisierung geeignet.
z Verschiedene Kommunikationsstrukturen unterscheiden sich
hinsichtlich ihrer Kosten und ihrer Leistung.
Beispiel:
Vollständiger
Verbindungsgraph
Modellierung von Verbindungen
z Modellierung: Die Topologie eines Parallelrechners wird durch einen
abstrakten Graphen G=(V,E) dargestellt, mit
y V = { 1, ... , n } Menge der Knoten, d.h. der Prozessoren
y E ⊆ { {a,b}; a,b ∈ V }, die Menge der Kanten, d.h. der Verbindungen
z Charakteristika einer Verbindungsstruktur
y Durchmesser(G) = max v,w∈V { Länge des kürzesten Pfades von v nach
w}
y Grad(G) = max v∈V | { w ∈ V; {v,w} ∈ E } |
y Anzahl der physikalischen Verbindungen (G) = | E |
Verbindungsstrukturen
z Vollständiger Verbindungsgraph
Zu teuer wegen dem großen Fanout
n
n
n
Durchmesser = 1
Grad = n-1
|Verbindungen| = n(n-1)/2, keine „Kollisionen“
Verbindungsstrukturen ff
z Stern
n
n
n
Durchmesser = 2
Grad = n-1
|Verbindungen| = n-1,
Verbindungsstrukturen ff
z Bus
Topologie versagt bei den heutigen Technologien bei
großem Datentransfer zwischen den Prozessoren
n
n
Ein Bus lässt sich als Stern modellieren, wobei der zentrale Knoten
aber kein Prozessor ist, sondern der zentrale Bus.
Gleiches „Flaschenhalsproblem“ wie bei Stern.
Beispiel für Bustopologie: Ethernet
Charakteristika
z
z
z
z
z
Bus-Topologie
10 - 100 Mbit / Sekunde
Paket-Versand mit Paketgrößen von 64-1518 Bytes
Nicht abhörsicher: alle hören mit !
(Lokales) Rechnernetz über eine Bridge mit der Außenwelt
verbunden,
die die Nachrichten filtert und verstärkt
Übertragungsvorgang
z Nachrichten werden in Pakete fester Länge zerteilt. Jedes Paket
enthält Headerinformation mit Zieladresse und Sequenznummer
z Jeder Rechner horcht am Bus und empfängt die Pakete, die seine
Adresse tragen
z Kollisionen von mehreren Sendern werden erkannt.
z Falls Kollision, dann später erneuter Sendeversuch
Verbindungsstrukturen ff
z Ring
Beispiel für Ring: Token-Ring
Es kreist ein sogenanntes Token
(spezielles Paket).
Ein Rechner darf nur dann senden, wenn
er das Token besitzt.
n
n
n
Durchmesser = n/2
Grad = 2
|Verbindungen| = n,
Beispiel für Ringtopologie: CDDI/FDDIRing
[Copper / Fiber Distributed Data Interconnect]
Charakteristika
z Ring-Topologie
z Besteht aus zwei gegenläufigen Ringen
→ Fehlertolerantes Netz
z ... ansonsten wie beim Token-Ring
CDDI/FDDI-Ring ist fehlertolerant !
Verbindungsstrukturen ff
z Stern
HUB
n
n
n
Durchmesser = 2
Grad = 1
|Verbindungen| = n,
Verbindungsstrukturen ff
z MESH (torusähnliches Gitter)
Typischer Vertreter war das Transputer-Netz von INMOS
n
n
n
Durchmesser = n1/2
Grad = 4
|Verbindungen| = 2n
Verbindungsstrukturen ff
z Hypercube (d-dimensionaler Würfel)
Nicht verwendbar, da Grad zu hoch
n
n
n
Durchmesser = log n
Grad = log n
|Verbindungen| = (n log n) / 2, in der Regel keine Wartezeiten
Verbindungsstrukturen ff
z Cube Connected Cycle (CCC)
n
n
n
Durchmesser ≈ 2 log n
Grad = 3
|Verbindungen| = 3n / 2, in der Regel keine Wartezeiten
Verbindungsstrukturen ff
z Crossbar Switch
meist verwendete Struktur bei
Parallelrechnern mit gemeinsamen
"nichtverteilten" Speicher
S0 S1 S2 S3 S4 S5 S6 S7
CPU 0
CPU 1
CPU 2
CPU 3
CPU 4
CPU 5
CPU 6
CPU 7
keine
Verbindung
Nachteil: n⋅m Crosspoints
Verbindung
entspricht
Verbindungsstrukturen ff
z Omega Netzwerk (als Alternative zum Crossbar Scwitch)
P
R
O
Z
E
S
S
O
R
E
N
000
1A
2A
3A
001
000
001
010
010
1B
2B
3B
011
011
100
100
1C
2C
3C
101
101
110
110
111
1D
2D
3D
S
P
E
I
C
H
E
R
111
... besitzt nur n/2 log n Schalter
Verbindungsstrukturen ff
z Omega Netzwerk
y der obere Ausgang eines Schalters ist der 0-Ausgang
y der untere Ausgang eines Schalters ist der 1-Ausgang
y ein Schalter der Stufe i schaltet gemäß dem i-ten Bit der
Zieladresse
P
R
O
Z
E
S
S
O
R
E
N
000
1A
2A
3A
000
001
001
010
010
1B
2B
3B
011
011
100
100
1C
2C
3C
101
101
110
110
111
1D
2D
3D
111
S
P
E
I
C
H
E
R
Verbindungsstrukturen ff
z Omega Netzwerk
y nicht jede Kommunikation ist gleichzeitig möglich, auch wenn alle
Zieladressen paarweise verschieden sind (blocking network)
network
P
R
O
Z
E
S
S
O
R
E
N
000
1A
2A
3A
000
001
001
010
010
1B
2B
3B
011
011
100
100
1C
2C
3C
101
101
110
110
111
1D
2D
3D
111
S
P
E
I
C
H
E
R
Local and Wide Area Networks
Token Ring
4 Mbit/s
Subnet
(Telekom)
B-ISDN
34 Mbit/s
155 Mbit/s
4 Mbit/s
2 Mbit/s
Token Ring
Token Ring
10 Mbps
4Mbps
Ethernet
z Lokale Netze (LAN):
LAN Netze mit Ausdehnung von wenigen 100 Metern zur
Verbindung der Rechner einer Abteilung oder einer kleineren Firma
z Weitverkehrsnetze (WAN):
WAN zur weltweiten Verbindung über Datennetze
der Post bzw. private / kommerzielle Satellitenverbindungen
Vermittlungsarten
z Paket-vermittelnde Vermittlung
y Nachricht wird in ein oder mehrere Pakete verpackt
y Jedes der Pakete enthält die Adresse des Empfängers
y Es wird kein Pfad vom Sender zum Empfänger freigeschaltet
y Das Paket wird in Abhängigkeit der Empfängeradresse immer nur zu
einem direkten Nachbarn geschickt.
z Leitungsvermittelnde Vermittlung
y Es wird im Netzwerk ein Pfad vom Sender zum Empfänger geschaltet,
über den alle Nachrichten geschickt werden (Bsp: Telefonverbindung)
Leitungsvermittelnde Vermittlung
Sender11
Sender
Empfänger11
Empfänger
Sender22
Sender
Empfänger22
Empfänger
Sender33
Sender
Empfänger33
Empfänger
Ú Schnelle Übertragung großer Datenmengen
Ø Geschalteter Pfad blockiert andere Verbindungen
Paket-vermittelnde Vermittlung
Sender11
Sender
Empfänger11
Empfänger
Sender22
Sender
Empfänger22
Empfänger
Sender33
Sender
Empfänger33
Empfänger
Ú Keine Verbindung muss lange warten
Ø Unterbrechungen während einer Übertragung möglich
Kommunikationskontrolle
z deterministische Kontrolle
der Weg eines jeden Pakets ist reproduzierbar
z randomisierte Kontrolle
an bestimmten Stellen des Algorithmus werden zufällige
Entscheidungen getroffen
Beispiel: Valiant-Paradigma
u Route zu einer zufälligen Zwischenadresse
u Route dann erst zum Ziel
Herunterladen