Architektur paralleler Plattformen - Informatik · computer.pdf . V. Verbindungsnetzwerke...

Preview:

Citation preview

Architektur paralleler Plattformen

Freie Universität Berlin

Fachbereich Informatik

Wintersemester 2012/2013

Proseminar Parallele Programmierung

Mirco Semper, Marco Gester

Datum: 31.10.12

Inhalt

I. Überblick über die Prozessorentwicklung

II. Parallelität innerhalb eines Prozessorkerns

III. Klassifizierung von Parallelrechnern

IV. Speicherorganisation

V. Verbindungsnetzwerke

Architektur paralleler Plattformen Teil 1 31.10.12

I. ÜBERBLICK PROZESSORENTWICKLUNG

Architektur paralleler Plattformen

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

- Zu Beginn Steigerung der Leistung primär über Taktrate

- Parallel dazu Verbesserung der Architektur und Steigerung der Transistorzahl

Quelle: http://njtechreviews.com/wp-content/uploads/2011/09/varian-moores-law-graph.gif

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

- Ab 2005 Mehrkernprozessoren im privaten Bereich

Quelle: http://images.bit-tech.net/content_images/2011/01/intel-sandy-bridge-review/sandy-bridge-die-map.jpg

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

Paralellität auf Bitebene

- Steigerung ab 1986 auf 32 bit, ab Mitte der 90er 64 bit

Gründe: genauere Floating Point Operationen möglich

größerer Ansprechbarer Adressraum

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

Parallelität durch Pipelining

- Aufteilung der Verarbeitung einer Instruktion in verschiedene Teile

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

Parallelität durch mehrere Funktionseinheiten

- Es werden mehrere ALUs, FPUs und andere verbaut

- Entwicklung sind Grenzen gesetzt, da hoher Scheduling Aufwand

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

I. Überblick Prozessorentwicklung

Parallelität auf Prozess und Threadebene

- Echte Mehrkern Prozessoren

Jeder Kern ist vollständige CPU und beinhaltet alle zuvor besprochenen Prinzipien

Architektur paralleler Plattformen Teil 1 31.10.12

II. PARALLELITÄT INNERHALB EINES PROZESSORKERNS

Architektur paralleler Plattformen

Architektur paralleler Plattformen Teil 1 31.10.12

II. Parallelität innerhalb eines Prozessorkerns

VLIW (very long instruction word) Prozessoren

- statisches Scheduling

- Programmablauf schon vom Compiler festgelegt

- wichtigstes Beispiel: IA64 Archtektur in Itanium Serverprozessoren

Quelle:

http://cdn.slashgear.com/wp-content/uploads/2012/01/intel_itanium_2.jpg

Architektur paralleler Plattformen Teil 1 31.10.12

II. Parallelität innerhalb eines Prozessorkerns

Superskalare Prozessoren

- mehrere Instruktionen pro Zyklus

- dynamisches Scheduling

- Sicherstellung, dass Instruktionen in der richtigen Reihenfolge fertig werden

Architektur paralleler Plattformen Teil 1 31.10.12

II. Parallelität innerhalb eines Prozessorkerns

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

KLASSIFIZIERUNG VON PARALLELRECHNERN

Architektur paralleler Plattformen

Architektur paralleler Plattformen Teil 1 31.10.12

III. Klassifizierung von Parallelrechnern

Allgemeine Definition:

Ein Parallelrechner ist eine Ansammlung von Berechnungseinheiten (Prozessoren), die durch koordinierte Zusammenarbeit große Probleme schnell lösen können

Eine Klassifizierung nach wichtigen Charakteristika:

Flynsche Klassifizierung

Architektur paralleler Plattformen Teil 1 31.10.12

III. Klassifizierung von Parallelrechnern

SISD (single instruction single data)

- klassischer von Neumann-Rechner

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

III. Klassifizierung von Parallelrechnern

MISD (multiple instruction single data)

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

III. Klassifizierung von Parallelrechnern

SIMD (single instruction multiple data)

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

III. Klassifizierung von Parallelrechnern

MIMD (multiple instruction multiple data)

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

IV. SPEICHERORGANISATION Architektur paralleler Plattformen

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Architektur paralleler Plattformen Teil 1 31.10.12

Speicherorganisation in Verteilten/Parallelen Systemen

Quelle: http://www.fbi.h-da.de/~a.schuette/Vorlesungen/VerteilteSysteme/Skript/1_Ueberblick/Ueberblick.pdf

IV. Speicherorganisation

Rechner mit physikalisch verteiltem Speicher(Multicomputersysteme)

-DMM(Distributed Memory Machine)

Architektur paralleler Plattformen Teil 1 31.10.12

Prozessor

IO

Speicher

Verbindungsnetzwerk

Knoten A

Prozessor

IO

Speicher

Knoten B

IV. Speicherorganisation

Architektur paralleler Plattformen Teil 1 31.10.12

Prozessor

IO

Speicher

Knoten A

Prozessor

IO

Speicher

Knoten B

Sendebefehl

Empfangs- befehl:

Prozessor- Zugriff Speicherort

Kommunikation

IV. Speicherorganisation

Architektur paralleler Plattformen Teil 1 31.10.12

Architektur verteilter Speicher -Kommunikation Punkt-zu-Punkt Verbindung -Puffer

Quelle: Parallele Programmierung, s.22 Abb. 2.5b Autoren: T. Rauber & G.Rünger

IV. Speicherorganisation

Architektur verteilter Speicher

-DMA(Direct Memory Access)

-Lange Kommunikationswege

mithilfe von Software

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.22 Abb. 2.5c Autoren: T. Rauber & G.Rünger

IV. Speicherorganisation

Architektur verteilter Speicher

-verbesserte Kommunikationszeit

-pro I/O Kanal maximal eine Nachricht

-Pipelining der Nachrichten

-Vermeidung von Deadlocks

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.22 Abb. 2.5e Autoren: T. Rauber & G.Rünger

IV. Speicherorganisation

Vor-/Nachteile verteilter Speicher

Vorteile: Nachteile:

-Skalierbarkeit -Latenz

-Kosteneffektivität -Lokalisierung der Daten

-kein Cache Kohärenz

Protokoll

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Vertreter Multicomputer

-Cluster

-Supercomputer

-Verteilte Anwendungen übers Internet

Architektur paralleler Plattformen Teil 1 31.10.12

Quellen: Bild1: http://serverservice.sytes.net/?tag=mysql-cluster Bild2: http://farm4.static.flickr.com/3367/3615660625_6844933ea1_o.jpg

IV. Speicherorganisation

Rechner mit physikalische gemeinsamem Speicher

- Globaler/gemeinsamer Speicher

- Load/Store

- Shared Variables

Architektur paralleler Plattformen Teil 1 31.10.12

Gemeinsamer Adressraum

Quelle: Parallele Programmierung, s.25 Abb. 2.6a und b Autoren: T. Rauber & G.Rünger

IV. Speicherorganisation

Symmetrische Multiprozessoren (SMP)

-Seit 1980

-Symmetrisch

-Zentraler Bus

-CPU Hopping

-virtual shared memory

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.28 Abb. 2.7a Autoren: T. Rauber & G.Rünger

IV. Speicherorganisation

Symmetrische Multiprozessoren (SMP)

- UMA (Uniform Memory Access)

- NUMA(Non Uniform Memory Access)

- CC –NUMA (Cache Coherent NUMA)

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Vor-/Nachteile gemeinsamer Speicher

Vorteile: Nachteile:

-Einfache Programmierung -Keine/schlechte Skalierbarkeit

-Kommunikation -Viele Cpu‘s sind schwierig

zu Implementieren

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Reduktion von Speicherzugriffzeiten

-Prozessorentwicklung

-Speicherentwicklung

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.kreissl.info/ra_04.php

IV. Speicherorganisation

Caches

-Zwischen Hauptspeicher und CPU

-Probleme bei Parallelität

-l1,l2 und l3 Caches

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Multithreading

-Virtuelle Prozessoren

-eigener PC und Registersatz pro virtuellem Kern

-Kontextwechsel

-Verzögerungszeit

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Fine Grained Threading

-Threadwechsel bei jedem

Zyklus

-Nutzt nicht alle Resourcen

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.slcentral.com/articles/01/6/multithreading/page7.php

IV. Speicherorganisation

Coarse Grained Threading

-Wechselt nur bei

Verzögerung

-Keine Verlangsamung des

Threads

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.slcentral.com/articles/01/6/multithreading/page6.php

IV. Speicherorganisation

SMT/Hyperthreading

-“Lücken“ füllen

-Alle Threads

können alle Resourcen

nutzen

- Intel pentium 4 ht, i5-2400, i7 serie

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.slcentral.com/articles/01/6/multithreading/page8.php

IV. Speicherorganisation

Hyperthreading (Intel)

-2 Logische Prozessoren

-Weniger als 5% der

gesamten Chipfläche

-replicated Resources

-partitioned Resources

-shared Resources

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.hartware.net/review_266_2.html

IV. Speicherorganisation

Ablauf:

1.Beide logische Prozessoren sind IDLE

2.Thread 1 starten

3. Thread 2 starten

4.Beide Threads werden beendet bevor neue geladen werden

Architektur paralleler Plattformen Teil 1 31.10.12

IV. Speicherorganisation

Vor-/Nachteile Hyperthreading

Vorteile: Nachteile:

-Chipfläche -Programmierung

-30% Leistungssteigerung -Verwaltungsaufwand der Kernel

Architektur paralleler Plattformen Teil 1 31.10.12

V. VERBINDUNGSNETZWERKE Architektur paralleler Plattformen

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

-Kommunikation

-Topologie

-Statische Ver-

bindungsnetzwerke

-Dynamische Ver-

bindungsnetzwerke

-Routingtechnik

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.ehrensenf.com/linktipps/schoener-kabelsalat

V. Verbindungsnetzwerke

Bewertungskriterien für statische Netzwerke

-Durchmesser

-Grad

-Bisektionsbandbreite

-Knoten- und Kantenkonnektivität

-Einbettung in andere Netzwerke

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Durchmesser

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Durchmesser Beispiel

Architektur paralleler Plattformen Teil 1 31.10.12

1 2 3

4 5 6

7 8 9

δ= δ(u,v) = 4

V. Verbindungsnetzwerke

Grad

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Grad Beispiel:

Architektur paralleler Plattformen Teil 1 31.10.12

1 2 3

4 5 6

7 8 9

g(G)=4

V. Verbindungsnetzwerke

Bisektionsbandbreite

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Bisektionsbandbreite Beispiel

Architektur paralleler Plattformen Teil 1 31.10.12

1 2 3

4 5 6

7 8 9

1 2

3

4

5 6

7

8 9

B(G)= 4

V. Verbindungsnetzwerke

Knotenkonnektivität

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Knotenkonnektivität Beispiel

Architektur paralleler Plattformen Teil 1 31.10.12

1 2 3

4 5 6

7 8 9

1 2 3

5 6

7 9

nc(G)=2

V. Verbindungsnetzwerke

Kantenkonnektivität

Architektur paralleler Plattformen Teil 1 31.10.12

Kantenkonnektivität Beispiel

Architektur paralleler Plattformen Teil 1 31.10.12

1 2 3

4 5 6

7 8 9

1 2 3

4 5 6

7 8 9

V. Verbindungsnetzwerke

Anforderungen:

-kleiner Durchmesser

-geringer Grad

-hohe Bisektionsbandbreite

-hohe Konnektivität

-Einbettung

-Skalierbarkeit

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Vollständiger Graph

Grad: n-1

Durchmesser: 1

Kantenkonnektivität: n-1

Bisektionsbandbreite: (n/2)²S

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9a Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

Lineares Feld

Grad: 2

Durchmesser: n-1

Kantenkonnektivität: 1

Bisektionsbandbreite: 1

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9b Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

Ring

Grad: 2

Durchmesser:

Kantenkonnektivität: 2

Bisektionsbandbreite: 2

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9c Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

d-dimensionaler Gitter

Grad: 2d

Durchmesser:

Kantenkonnektivität: d

Bisektionsbandbreite:

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9d Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

d-dimensionaler Torus

Grad: 2d

Durchmesser:

Kantenkonnektivität: 2d

Bisektionsbandbreite:

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9e Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

k-dimensionaler Hyperwürfel

Grad: log n

Durchmesser: log n

Kantenkonnektivität: log n

Bisektionsbandbreite: n/2

Hamming Distanz

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9f Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

k-dimensionales CCC-Netzwerk

Grad: 3

Durchmesser:

Kantenkonnektivität: 3

Bisektionsbandbreite:

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9ag Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

Vollständiger binärer Baum

Grad: 3

Durchmesser:

Kantenkonnektivität: 1

Bisektionsbandbreite: 1

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: Parallele Programmierung, s.38 Abb. 2.9h Autoren: T. Rauber & G.Rünger

V. Verbindungsnetzwerke

K-Computer

-Platz 2 Top 500(10,51 pf)

-88.162 Cpu in 672 Schränken

-Im November 2012 864

Schränke

-Zeichnet sich besonders duch sein 6D Mesh/Torus

Verbindungsnetzwerk aus

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.n-tv.de/technik/Japan-hat-schnellsten-Rechner-article3619016.html

V. Verbindungsnetzwerke

K-Computer Video:

http://www.fujitsu.com/global/about/tech/k/whatis/network/

Architektur paralleler Plattformen Teil 1 31.10.12

Quelle: http://www.fujitsu.com/downloads/TC/sc10/interconnect-of-k-computer.pdf

V. Verbindungsnetzwerke

Einbettung

- Einbettung ist eine Abbildung der Knoten eines Verbindungsnetzwerkes auf die Knoten eines Zielnetzwerkes mit einer anderen Topologie

- Ausdehnung (oder Streckungsgrad) ist ein Maß für die Güte der Einbettung

Ausdehnung 1 = perfekt

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Beispiel 1: Einbettung eines Rings in einen k-dimensionalen Würfel

- Methode:

Gespiegelter Gray-Code (RGC)

rekursive Definition:

Der k-bit Gray-Code wird aus dem (k-1)-Bit Gray-Code RGC(k-1) = (b1, …, bm) mit m= 2^k-1 konstruiert. Zur Konstruktion von RGC(k) wird RGC(k-1) dupliziert, vor jedes binäre Wort des Originals wird eine Null und vor jedes binäre Wort des Duplikats wird eine 1 gesetzt. Resultierende Folgen sind (0b1, …, 0bm) und (1b1, …, 1bm)

RGC(k) resultiert durch Umkehrung der zweiten Folge und Konkatenation.

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Beispiel 1: Einbettung eines Rings in einen k-dimensionalen Würfel

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Beispiel 2: 2-dimensionales Gitter in k-dimensionales Würfel

- Verallgemeinerung der vorherigen Einbettung

- Bildung von zwei Gray-Codes

- Damit Erstellung einer Matrix

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

- Kompenenten sind an Eingangs-/Ausgansport des Netzwerkes angeschlossen

- keine direkten Punkt zu Punkt Verbindungen

- nach Bedarf werden von aktiven Komponenten Verbindungen hergestellt

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

Busnetzwerke

- in jedem Computer zu finden

- Bus besteht meistens aus sehr vielen Leitung um große Datenmengen zu transportieren

- immer nur ein Datentransport gleichzeitig

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

Crossbar-Netzwerke

- Verbindungen durch Schalter

- sehr aufwendig

Quelle:

http://en.wikipedia.org/wiki/File:Crossbar-hy1.jpg

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

Mehrstufige Schaltnetzwerke

- aufgebaut aus mehreren Schichten aus Schaltern

- Ziel ist geringerer tatsächlicher Abstand zwischen Prozessoren als bei direkten Verbindungsnetzwerken

Quelle:Parallele

Programmierung Rauber,

Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

16x16 Omega Netzwerk 16x16 Butterfly Netzwerk

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

IBM RP3

Quelle: http://www.sciencephoto.com/image/349994/530wm/T4500119-IBM_scientist_stands_by_RP3_parallel_processor-SPL.jpg

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

16x16 Baseline Fattree für 16 Prozessoren

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

V. Verbindungsnetzwerke

Dynamische Verbindungsnetzwerke

3 dimensionales Benes-Netzwerk

Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0

Architektur paralleler Plattformen Teil 1 31.10.12

Architektur paralleler Plattformen Teil 1 31.10.12

Vielen Dank!

Recommended