Rechnerarchitektur - ti.informatik.uni-frankfurt.de · 2 Seite 3 Johann Wolfgang...

24
1 Seite 1 Johann Wolfgang Goethe-Universität Technische Informatik Rechnerarchitektur, WS 2003/2004 Klaus Waldschmidt © Teil 17 Parallelarchitekturen Johann Wolfgang Goethe-Universität Technische Informatik Rechnerarchitektur, WS 2003/2004 Klaus Waldschmidt © Teil 17 Parallelarchitekturen Rechnerarchitektur Vorlesungsbegleitende Unterlagen WS 2003/2004 Klaus Waldschmidt Teil 17 Parallelarchitekturen Seite 2 Johann Wolfgang Goethe-Universität Technische Informatik Rechnerarchitektur, WS 2003/2004 Klaus Waldschmidt © Teil 17 Parallelarchitekturen Klassifikation nach Flynn (1972) SISD (single instruction, single data stream) Rechner mit einfachem Befehls- und Datenstrom MISD (multiple instruction, single data stream) Rechner mit mehrfachem Befehls- und einfachem Datenstrom SIMD (single instruction, multiple data stream) Rechner mit einfachem Befehls- und mehrfachem Datenstrom MIMD (multiple instruction, multiple data stream) Rechner mit mehrfachem Befehls- und mehrfachem Datenstrom Johann Wolfgang Goethe-Universität Technische Informatik Rechnerarchitektur, WS 2003/2004 Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Transcript of Rechnerarchitektur - ti.informatik.uni-frankfurt.de · 2 Seite 3 Johann Wolfgang...

1

Seite 1

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

RechnerarchitekturVorlesungsbegleitende Unterlagen

WS 2003/2004

Klaus Waldschmidt

Teil 17

Parallelarchitekturen

Seite 2

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Klassifikation nach Flynn (1972)

SISD (single instruction, single data stream)

Rechner mit einfachem Befehls- und Datenstrom

MISD (multiple instruction, single data stream)

Rechner mit mehrfachem Befehls- und einfachem Datenstrom

SIMD (single instruction, multiple data stream)

Rechner mit einfachem Befehls- und mehrfachem Datenstrom

MIMD (multiple instruction, multiple data stream)

Rechner mit mehrfachem Befehls- und mehrfachem Datenstrom

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

2

Seite 3

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Einteilung von Rechnerstrukturen nach der Flynnschen Klassifikation

Klasse Strukturen

SISD Sequentielle Rechner ( von-Neumann-Struktur oder Harvard-Struktur )

SIMD Arrays von Rechenelementen; Vektormaschinen;Feldrechner

MISD ---

MIMD Rechner mit mehreren Prozessoren( Multiprozessor-Systeme der verschiedenstenArchitekturformen )

Seite 4

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

CU: control unit SM: shared memoryPE: processing unit IS: instruction streamMM: memory module DS: data stream

(a) SISD computer

PECU MM

IS

DSIS

PE1

PE2

PEn

IS

. . .

(b) SIMD computer

IS

DS1

DSn

DS2

CU

MM1

MM2

MMm

. . .SM

3

Seite 5

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

(c) MISD computer

(d) MIMD computer

. . .

. . .

. . .PEn DS

DS

SM

CU1

CUn

CU2

IS1

IS2

ISn

IS1IS2ISn

IS1

IS2

ISn

. . .

. . . . .

.

PE1

PE2

PEn

DS1

DS2

DSn

CU1

CU2

CUn

IS2

IS1

ISn

ISn

IS2

IS1IS1

IS2

ISn

. . .

MM1

MM2

MMm

SM

. . .MM1 MM2 MMm

PE2

PE1

Seite 6

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Taxonomie von Parallelrechnerarchitekturen

Parallelrechner

Datenstruktur-Typen

Skalar-Typen

Datenstruktur-Parallelität

Programm-Parallelität

SPMDDatenparallel

VektorisierungNachrichten

orientiertGemeinsamer

Speicher

MIMD/SIMDSIMD MIMD Datenfluß

Array vonRechenelem.

Pipelinie(Syst. Array)

Multipipeline Multi-Prozessor

Speicherkopplung(Systeme mit

gemeinsamemSpeicher)

Speicherkopplung(Systeme mit

verteiltemSpeicher)

Nachrichtenaustausch(Systeme mit

verteiltem Speicher)

Kriterien

Art der Datentypen

Art derParallelität

Programmier-modell

Kontroll-Struktur

Prozessor-Struktur

Kommunikations-Struktur

4

Seite 7

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Architektur eines Vektorrechners

Hauptspeicher

Instruktions-hole-

einheit

Instruktions-puffer

Instruktions-ausgabe

Skalar-kontrolleinheit

Skalar-lade/speicher-

einheit

SkalarRegister

Skalar-verarbeitungs-

einheit

Vektor-kontrolleinheit

Vektor-Lade/speicher-

einheit

Vektor-

Register

Vektor-verarbeitungs-

pipeline

Vektor-verarbeitungs-

pipeline

Skalareinheit Vektoreinheit

Seite 8

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Programm-speicher

Instruktions-hole-

einheit

Instruktions-ausgabe

Maskier-einheit

PE PE PE PE

VN

Datenpfad VN Verbindungsnetzwerk

Instruktionspfad PE Processing element

PE

Skalar-kontrolleinheit

Maskier-einheit

SkalarRegister

Skalar-verarbeitungs-

einheit

SpeicherVN

kontroll-einheit

Instruktion Maske

Architektur eines Feldrechners

5

Seite 9

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Architektur eines systolischen Arrays

Eingabe (Befehle und/oder Operanden)

D I C

B I´ C´

D I C´PE5

D I C´PE9

A´´ I C´PE2

D C´J PE4 JA´

D C´J PE3 J´

B´I´

I C´PE1 J

B I´

I C´PE6

B I´

D I C´PE8

D I C´13

A´ I C

I´ C´

D JA´

I´ C´

A´ I CJ b

I´ C´

D I C´J J´

B

D I C´J J´A

I C´JB

Ausgabe(Rechenergebnis)

Seite 10

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

MIMD-Architekturen

Programmiermodell Behandlung der Kommunikationslatenz

Nachrichtenorientiert globaler Adressraum Latenz minimieren Latenz verstecken

Multi-threaded

Architecture

MehrfädigeArchitektur

Eigenschaften:Speicherzugriff:

lokal und entferntGranularität:

fein oder mittelSkalierbarkeit:

gutWorking Sets:nicht genutzt

VirtualShared Memory

Architecture

Architektur mit virtuellgeme. Speicher

Eigenschaften:Speicherzugriff:

nur lokalGranularität:

grobSkalierbarkeit:

gutWorking Sets:

genutzt, im lok. Sp.

DistributedShared Memory

Architecture

Architektur mit verteil-tem gem. Speicher

Eigenschaften:Speicherzugriff:

lokal und entferntGranularität:

feinSkalierbarkeit:

mittelWorking Sets:

genutzt, im Cache

MultiprocessorSystem with

Central Memory

Multiprozessor mitzentralem Speicher

Eigenschaften:Speicherzugriff:

zentralGranularität:

feinSkalierbarkeit:

schlechtWorking Sets:nicht genutzt

DistributedMemory

Architecture

Architekturen mitverteiltem Speicher

Eigenschaften:Speicherzugriff:

nur lokalGranularität:

grobSkalierbarkeit:

sehr gutWorking Sets:nicht genutzt

6

Seite 11

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

physikalische Speicheranordnungphysikalische Speicheranordnung

AdressraumAdressraum ProgrammiermodellProgrammiermodell

KommunikationsstrukturKommunikationsstruktur SynchronisationSynchronisation

LatenzbehandlungLatenzbehandlung

gemeinsamer Speicher verteilter Speicher

global, gemeinsam lokal, privat globaler Adressraum Nachrichtenorientiert

Speicherkopplung Nachrichtenaustausch Gemeinsame Variablen synchronisierendeSemaphoren Nachrichten

verstecken minimieren

Merkmale von MIMD-Architekturen

Seite 12

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Mg

Globale Architektur von MIMD-Parallelrechnern Eigenschaften

Mg Mg Mg

VN

P P P P

central memoryMultiprozessor

Mischformen

„message based“Multiprozessor

VN

P P P P

Effizient nur für eine geringe Anzahl von P.VN mit hoher Bandbreitenotwendig.Kommunikation durch gemeinsame Variablen.Synchronisation durchKritische Bereiche.

Sehr hohe Anzahl von P möglich.VN mit geringerer Bandbreitemöglich.Kommunikation durch Datentransport von Objekten.Synchronisation durchBotschaftenaustausch.Mp Mp Mp Mp

7

Seite 13

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

VN

Prozessor Prozessor Prozessor Prozessor

Speicher-modul

Speicher-modul

Speicher-modul

Speicher-modul

UMA-Architektur (Tanzsaal-Modell)

Haupt-speicher

UMA � Uniform Memory Access

Seite 14

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

P ProzessorM SpeicherVN VerbindungsnetzwerkC Cache, resp. Cachehierarchie

VN VN

P

M M

P

globalerZugriff

lokalerZugriff

C CC

P PP

M M M

globalerZugriff

NUMA-Architekturformen

NUMA � Non Uniform Memory Access

CCNUMA � Cache Coherent Non Uniform Memory Access

In diesem Fall wird einKohärenzprotokoll berück-sichtigt (z.B. MESI).

8

Seite 15

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

COMA-Architektur

P ProzessorD DirectoryVN VerbindungsnetzwerkC Cache

VN

P

D

P

D

P

D…

C C C

COMA � Cache Only Memory Architeture

Cache und Directory bilden ein sog. Attraction Memory.Alle Caches bilden den gemeinsamen Hauptspeicher.

Seite 16

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Parallelrechner mit verteiltem Speicher

VN

Rechner-knoten

Rechner-knoten

Rechner-knoten

Botschaften-austausch

…VNI VNI VNI

P

M

P P

MM

nur lokale

Zugriffe

9

Seite 17

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

gemeinsameVariable

gemeinsamer Adressraum

Prozess BProzess A

Botschaftenaustausch

Prozess A Prozess B

lokaler Adressraum lokaler Adressraum

Botschaft

Kommunikation in Parallelrechnern

gemeinsameVariable

Seite 18

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Verbindungsstrukturen

Beurteilungskriterien, Unterscheidungsmerkmale u. Klassifikation

Das Verbindungsnetz ist das Medium, über das die Kommunikation der Prozessoren untereinander und der Zugriff auf gemein-same Ressourcen abgewickelt werden.

Beurteilungskriterien:

• Komplexität• Durchmesser• Regelmäßigkeit• Blockierungseigenschaft• Erweiterbarkeit• Skalierbarkeit• Ausfalltoleranz• Wegefindung

Systematik

Die Einteilung der Verbindungsnetz-werke wird nach folgenden Kriterien vorgenommen:

1. Topologie2. Verbindungsarten3. Steuerung des Verbindungs-

aufbaues4. Arbeitsweise

Die Topologie spielt die herausragendeRolle, da sie die Skalierbarkeit wesentlich mitbestimmt.

10

Seite 19

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

In Monoprozessoren und in Parallel-rechnern wird das Verbindungsnetz-werk häufig abstrakt als black boxdargestellt. Es ist jedoch häufig sowohlinnerhalb eines Prozessors als auchin Parallelrechnern höherer Granularitätdie entscheidende architekturelleHardwareressource.

Verbindungsnetzwerke dienen demTransport von Daten und Botschaften zwischen den Modulen innerhalb einesProzessors als auch zwischen Pro-zessoren.

Innerhalb von SIMD-Architekturen findet manVerbindungsnetzwerke zur Ankopplung vonSpeichern und zur Konfiguration von Mehr-fachpipelines.

In MIMD-Architekturen dienen sie zur Kommunikation zwischen Prozessen aufden Prozessoren.

Seite 20

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

regulär irregulär

statisch dynamisch

1dim 2dim 3dim einstufig mehrstufig

vollst. Vernetzung Hypercube Bus Crossbar Banyan ... Delta

Topologie

Klassifikation von Verbindungsnetzwerken

11

Seite 21

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Arbeitsweise von Verbindungsnetzwerken

Verbindungsart Verbindungsaufbau

Leitungsvermittlung Paketvermittlung verteilt zentral

Arbeitsweise

synchron gemischt asynchron

Seite 22

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Wegfindung

Adreßspezifikation Wegewahl Flußsteuerung

zielbasiert quellenbasiert deterministisch adaptiv Virtual Store-and- Worm-cut-through forward hole

x-y-Routing e-cube-oder Routing

x-y-z-Routing

Methoden der Wegfindung

12

Seite 23

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Direkte Netze (statische Netze, einstufige Netze)

In einem direkten Netz besitzt jedes PE eine Anzahl fester Leitungen zu benach-barten PEs, entlang derer Nachrichten unmittelbar von PE zu PE gesendet werden können. Das Netz beschränkt sich somit auf Verbindungsleitungen; Vermittlungsfunktionen werden durch die PEs selbst ausgeübt, indem Nach-richten entlang der existierenden Leitung gesendet werden.

Da in direkten Netzen nur eine Stufe von Verbindungsleitungen existiert, wird in vielen Arbeiten die Bezeichnung einstu-fige Netze genutzt.

Benutzt wird auch gerne der Begriffstatische Netze, da die Verbindung zwischen Paaren von PEs ohne Möglichkeit der Rekonfiguration erfolgt.

Seite 24

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Topologie direkter Netze

Ring

Gitter

Kette

Chordaler Ring

13

Seite 25

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

2D-Torus Gitter mit achtNachbarknoten

Stern Baum

Seite 26

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Petersen-Netz vollständige Vermaschung

Cube 3D-Torus

14

Seite 27

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Pyramide(dreistufig)

Cube connected cycles Netz (CCC)

Seite 28

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Hypercube

Hypercube

Hypercube als Bild einer BooleschenFunktion mit vier Literalen

15

Seite 29

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Verbindungsfunktionen

Topologische Verbindungsstrukturen direkterNetze können mittels Verbindungsfunktionenbeschrieben werden.

Verfügt ein Knoten Q eines Netzes über eineVerbindungsfunktion f(Q), so werden beimAusführen dieser Funktion Daten von Kno-ten Q zum Knoten D = f(Q) transferiert.

In einigen Netzen (z.B. Ring und Cube) istdie Verbindungsfunktion für alle Knoten gleich, in anderen Netzen (z.B. Baum)ist sie von Knoten zu Knoten unterschied-lich.

Seite 30

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Indirekte Netze, dynamische Netze, ein- oder mehrstufige indirekte Netze

Ein indirektes Netz führt die Vermittlungsauf-gaben mittels aktiver Koppelelemente eigen-ständig durch. In vielen indirekten Netzen istjedes PE nur über einen Ein- und einen Aus-gang mit dem Netz verbunden. Die Netze bedienen sich einer oder mehrerer Stufenvon Koppelelementen, in denen die Nach-richten durch das Netz geleitet werden.

Die Koppelelemente dieses Netzes habenim einfachsten Fall zwei Ein- und zwei Ausgänge und können zur Datenvermitt-lung die Zustände straight und exchangeannehmen.

Durch Hinzufügen der Zustände upperbroadcast und lower broadcast können Nachrichten von einem Eingang zu beiden Ausgängen vermittelt werden.

Da die Verbindungsstruktur durch die Koppelelemente verändert und somitden jeweiligen Eigenschaften angepasstwerden kann, wird oft der Begriff „dynamische“ Netze genutzt, im Gegen-satz zu den direkten „statischen“ Netzen.

Indirekte Netze unterscheiden sich in der Komplexität, Größe und Funktionalität der Koppelelemente, der Anzahl der Stufen und der Struktur der Leitungsführungzwischen den Stufen.

16

Seite 31

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Q1 Q1

Q1 Q1

O1

O2

I1 I2

Q11 Q21

Q12 Q22

O1

O2

I1 I2I1 I2 I3

Q1 Q2 Q3

O1 O1´

2 x 2 Crossbar Shuffle Bus

Grundstrukturen der dynamischen Netze sind der 2 x 2 Crossbar, das Shuffle und der Bus.Sie stellen einstufige Netze dar.

Schaltelement

Ausgangsknoten(readport)

I - Eingangssignale

O - Ausgangssignale

Q - Steuersignale

Seite 32

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Einstufige Shuffle-Exchange Netz

Das Shuffle dient als Grundstruktur für den Aufbau mehrstufiger Verbindungsnetzwerke.

Verbindungsnetz 2 x 2 Koppelelement (Shuffle)01

23

45

67

01

23

45

67

Koppelelement

Straight Exchange

Lower UpperBroadcast Broadcast

Die Shuffle-Funktion wird von den Verbin-dungsleitungen ausgeführt. Ein 2x2-Koppelelement kann die Daten entwedergeradeaus (Straight) vermitteln oder aus-tauschen (Exchange). Um die Daten von

von einer Quelle zu einer Senke zu transportierensind üblicherweise mehrere Durchläufe (maximal�log2n�) durch das Netz notwendig (rezirkulierendesNetz).Einstufige Shuffle-Exchange Netze werden für Durchschalte- und Paketvermittlung verwendet.

Q (unwahr) Q (wahr)

Q B Q B

17

Seite 33

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

01

23

45

67

01

23

45

67

p2 p1 p0

0 0 00 0 1

0 1 00 1 1

1 0 01 0 1

1 1 01 1 1

p2 p1 p0

0 0 00 0 1

0 1 00 1 1

1 0 01 0 1

1 1 01 1 1

p1 p0 p2

0 0 00 1 0

1 0 01 1 0

0 0 10 1 1

1 0 11 1 1

p1 p0 p2

0 0 10 1 1

1 0 11 1 1

0 0 00 1 0

1 0 01 1 0

shuffle exchange

Einstufiges Verbindungsnetz mit Shuffle und exchange Funktion der Koppelelemente

Seite 34

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Mehrstufige Netze mit Shuffle-Elementen

BayanBaseline

CubeDeltaFlip

Indirekt CubeOMEGA

Alle diese Netze sind nicht blockierungsfrei.Als Schaltelemente werden Shuffle-Koppel-elemente eingesetzt. Die Unterschiede zwischen den Netzen liegen in der Art derLeitungsführung zwischen den Koppel-elementen.

Bei n Ein-/Ausgängen werden log n Ebenenund n/2 ·log n Elementen benötigt.

18

Seite 35

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Durchschaltevermittelndes Netz

In einem durchschaltevermittelnden Netz wird vordem Datentransfer eine vollständige Verbindung zwischen Quelle und Senke aufgebaut, entlang der dann Daten transferiert werden. Dies kann aufunterschiedliche Weise geschehen; so kann der Verbindungsaufbau zum Beispiel durch eine zen-trale Steuerung erfolgen oder durch Versenden eines Vermittlungspaketes, das durch das Netztransferiert wird und dabei eine Verbindung aufbaut.

Paketvermittlung

In einem paketvermittelnden Netz wer-den Vermittlungsinformationen und Da-ten zu einem Paket zusammengefasst, das durch das Netz transferiert wird, ohne jedoch eine vollständige Verbin-dung aufzubauen. Im einfachsten Fall der Speichervermittlung wird ein Paket, das über mehrere Zwischenstufen ver-mittelt werden muss, in jeder dieser Stufen komplett zwischengepuffert(Store-and-Forward-Methode).

Schaltmethodiken

Es wird unterschieden in:

- Durchschaltevermittlung, Leitungsvermittlung

- Paketvermittlung

Seite 36

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Vermittlungsfunktion und Datentransport

Es wird unterschieden in:

- Verbindungsorientierte Kommunikation- Verbindungslose Kommunikation

Verbindungsorientierte Kommunikation

Bei der verbindungsorientierten Kommu-nikation wird eine Verbindung zwischen Quelle und Senke etabliert, die für die gesamte Dauer der Datenübertragunggenutzt wird. Die Verbindung kann in einem durchschaltevermittelnden Systemphysikalisch über eine feste Leitung be-stehen, oder sie kann in einem paketver-mittelnden System lediglich virtuell exis-tieren, indem die Pakete, aus denen dieNachricht besteht, stets über den glei-chen Kommunikationsweg geleitet werden.

Verbindungslose Kommunikation

Bei einer verbindungslosen Kommunikation wer-den Nachrichtenpakete über die jeweils günstig-sten Verbindungsleitungen gesendet, wobei keinbevorzugter Kommunikationsweg existiert. Dies ist nur in einem paketvermittelnden System mög-lich, in dem während des Datentransports auch Vermittlungsfunktionen ausgeübt werden. Bei durchschaltevermittelnden Systemen werden nach erfolgtem Verbindungsaufbau lediglich Nutzdaten transportiert. In Kommunikations-systemen herrscht die verbindungsorientierte Kommunikation vor, sowohl im klassischen analogen Telefonnetz als auch im modernen Breitbandnetz. Bei paketvermittelnden Parallel-rechnern wird je nach Netz auch die verbin-dungslose Kommunikation eingesetzt, (bei-spielsweise bei direkten Netzen mit adaptiver Wegsuche).

19

Seite 37

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Es wird unterschieden in:

- store-and-forward Strategie- worm-hole Strategie

Store-and-forward Strategie

Bei der „store-and-forward“ Strategie werden die Pakete in jeder Vermittlungs-station vollständig zwischengespeichert. Die Adressinformation wird interpretiert und wenn der erforderliche Leitungsweg zur Verfügung steht, wird das Paket zurnächsten Vermittlungsstation weiterge-reicht. Die Vermittlung ist völlig dezentralund eine Flußkontrolle wird erst erforder-lich, wenn die Speicherkapazität der Ver-mittlungsstellen nicht mehr ausreicht.

PaketvermittlungWorm-hole Strategie

Bei der „worm-hole“ Strategie wird das Paket vom Sender in das VN eingespeist und sucht sich wie ein „Wurm“ den Weg durch die Ver-mittlungsstationen. In den Vermittlungsstellen ist nur ein minimaler Speicher vorhanden, der gerade ausreicht um den Kopf einer Nachricht aufzunehmen und die dort gespeicherte Adress-information zu interpretieren. Der Rest der Nachricht liegt dann in den davor benutzten Vermittlungsstellen und wird durch die auto-matische Flußkontrolle beim Weiterschalten desKopfes hinterher gezogen. Am Ende des Paketsbefindet sich eine Endemarkierung, die den Weg für weitere Pakete wieder freigibt. Die Vor-teile dieser Strategie, nämlich die geringe Spei-cherkapazität in den Vermittlungsstellen und derschnelle Weitertransport (Pipelining) durch dasNetzwerk, haben sie sehr bekannt gemacht.

Seite 38

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Nachrichtenkopf

Vermittlungsstelle

Verbindungskanal

„worm-hole“

Nachrichtenende Nachrichten-

pake

t

Vermittlungsstrategie bei der Paketvermittlung (worm-hole)

20

Seite 39

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Worm-hole-Routing

Beim Worm-hole-Routing erfolgt der Daten-transport über Zwischenschritte. Hierbeiwerden die Pakete in kleinere Komponen-ten, die Flits, aufgeteilt. Das erste Flit ent-hält die Verbindungsinformation, und in jeder Stufe wird auf dieser Basis die erfor-derliche Verbindung geschaltet. Nach Auf-bau der Verbindung erstrecken sich die Flits eines Paketes daher über mehrereStufen zwischen Quelle und Senke. Wenndas Paket länger als der aufgebaute Weg ist, wird eine vollst. Verbindung verfügbar, entlang derer weitere Flits schnell trans-portiert werden können.

Die wesentlichen Vorteile des Worm-hole-Routing sind die reduzierte Latenzzeit zwischen dem Absenden einer Nachrichtund dem Empfang an der Senke sowie die variable Paketlänge, die nicht durch Pufferplatz in einer Zwischenstufe be-schränkt wird. Ein Nachteil ist die Mög-lichkeit von Verklemmungen, wodurchNachrichten nie an ihr Ziel gelangenkönnen.

Seite 40

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Vor- und Nachteile des Worm-hole-Routing

Vorteile:

• reduzierte Latenzzeit zwischen Absendeneiner Nachricht und dem Empfang an derSenke

• variable Paketlängedie Paketlänge wird nicht durch Puffer-platz in einer Zwischenstufe beschränkt.

Nachteile:

• Möglichkeit von VerklemmungenNachrichten gelangen nie an ihr Ziel

Abhilfe schafft das Mad Postman Routing oder dasVirtual-Cut-Through Routing in paketvermittelndenNetzen.

21

Seite 41

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

PE A

Router A

PE B

Router B

PE C

Router C

Worm-hole-Routing

Es liegt eine geschaltete Verbindung zwischen den Prozessorelementen A und Cin einem durchgeschalteten Netz vor. Weitere Verbindungsanfragen können zu Konflikten führen.

Seite 42

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Virtual-Cut-Through-Routing

Das Virtual-Cut-Through Routing ist eineErweiterung des Worm-hole Routing fürpaketvermittelnde Netze. Pakete werdenüber das Netz transferiert und in jederStufe weitervermittelt. Ist ein Weg zurnächsten Stufe verfügbar, wird nicht aufdas Eintreffen des gesamten Paketes gewartet. Stattdessen werden die schonverfügbaren Flits schnellstmöglichweitergeleitet. Somit entspricht es demWorm-hole Routing bei dem ein Paket den gesamten Weg von der Quelle bis zur Senke belegen kann.

Ist jedoch keine Verbindungsleitung zur nächsten Stufe verfügbar, so muss der Transfer gestopptwerden. Hierzu existieren in den einzelnen Stu-fen des Netzes Pufferspeicher, die die Pufferungeines kompletten Paketes ermöglichen (Store-and Forward Routing). Das Paket wird weiterge-leitet, sobald eine freie Leitung zur nächstenStufe existiert.

Eine längere Wegblockierung kann nicht eintre-ten, weil gestoppte Pakete vollständig in denRoutern zwischengespeichert werden können.Jedoch ist die Paketlänge durch die Größe deskleinsten Puffers begrenzt.Wird diese Begrenzung nicht eingehalten, er-folgt ein Pufferüberlauf.

22

Seite 43

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Senke A

Senke B

Zugriffskonflikt am Netzausgang

Senke A

Senke B

Konflikt im Inneren des Netzes

Konflikte

Werden Nachrichten von zwei odermehr Quellen gleichzeitig zur selbenSenke gesendet, so resultiert ein Ausgangskonflikt und nur eine derNachrichten kann vermittelt werden. In vielen Netzen ergeben sich Kon-flikte auch innerhalb des Netzes, wenn Nachrichten zwar an unter-schiedliche Senken adressiert sind,intern streckenweise jedoch den-selben Weg benötigen.

Während interne Konflikte in blockie-rungsfreien oder rearrangierbarenNetzen vermieden werden können,sind Ausgangskonflikte verkehrsab-hängig und können daher durch topologische Maßnahmen nicht umgangen werden.

Quelle A

Quelle B

Quelle B

Quelle A

Seite 44

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Klassifizierung indirekter Netze

Indirekte Verbindungsnetze können einstufig(s = 1) oder mehrstufig (s > 1) sein. Beispielefür einstufige indirekte Netze sind dasCrossbar Netz und das einstufige Shuffle-Exchange Netz. Mehrstufige Netze werdenauch als Multistage Interconnection Net-works (MINs) bezeichnet.

Verbindungsnetze, in denen genau einWeg von jeder Quelle zu jeder Senkeexistiert, werden als indirekte Einpfad-netze bezeichnet. Existiert mehr als einWeg, so handelt es sich um indirekteMehrpfadnetze.

23

Seite 45

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Verhalten eines Crossbar Netzes

Das Crossbar Netz (such Kreuzschienen-verteiler oder Koppelvielfach) ermöglichtbeliebige blockierungsfreie Permutationen(auch Multicast und Broadcast) ohne Re-konfiguration. Der Verteiler besteht aushorizontalen und vertikalen Bussen.

0

1

2

3

3210

An jedem Kreuzungspunkt (Koppelpunkt)befindet sich ein Schalter durch den derhorizontale mit dem vertikalen Bus ver-bunden werden kann.

Crossbar mit 4 Ein- und Ausgängen

Koppelpunkt

Die eingezeichneten Verbindungen zeigen eine Permutation von Eingang kzu Ausgang (k+1)mod4.

Seite 46

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Einsatz von Crossbar Netzen

Dieses einstufige und indirekte Netz findetaufgrund der hohen Leistungsfähigkeit undder hohen Regularität in sehr schnellenSystemen und als Baustein mehrstufiger, hierarchischer großer Netze Verwendung.

Crossbar mit 4 Ein- und 6 Ausgängen

Die eingezeichneten Leitungen zeigen Multicast-Verbindungenvon Eingang 0 nach 0 und 3 sowie von Eingang 3 zu den Ausgängen 1, 2, 4 und 5.

Insgesamt sind jedoch E · A Schalter erforder-lich, so dass die Netzgröße aufgrund der hohenHardwarekomplexität und aus Kostengründenbegrenzt bleibt.

0

1

2

3

321 540

24

Seite 47

Johann Wolfgang Goethe-UniversitätTechnische Informatik Rechnerarchitektur, WS 2003/2004Klaus Waldschmidt © Teil 17 Parallelarchitekturen

Selbstroutendes paketvermittelndes Crossbar Netz

0

1

2

3

Steuerlogik Steuerung der Router

Ausgänge

Puffer

Ein

gäng

e

Eingangs-informationen

In einem selbstroutenden paketvermitteln-den Crossbar Netz wird ein am Eingang eintreffendes Datenpaket in einem Ein-gangspuffer zwischengespeichert.

Die Routinginformationen dieses Paketes werden an eine zentrale Steuerlogik weitergeleitet. Diese Steuerlogik entscheidet, welche Pakete aus dem Puffer im nächsten Schritt an die Ausgänge weiter-geleitet werden und löst somit die Ausgangskon-flikte auf.

3210