Architektur paralleler Plattformen
Freie Universität Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12
Architektur paralleler Plattformen Freie Universitt Berlin - - PowerPoint PPT Presentation
Architektur paralleler Plattformen Freie Universitt Berlin Fachbereich Informatik Wintersemester 2012/2013 Proseminar Parallele Programmierung Mirco Semper, Marco Gester Datum: 31.10.12 Inhalt I. berblick ber die Prozessorentwicklung
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
V. Verbindungsnetzwerke
Architektur paralleler Plattformen Teil 1 31.10.12
Architektur paralleler Plattformen
Architektur paralleler Plattformen Teil 1 31.10.12
Transistorzahl
Quelle: http://njtechreviews.com/wp-content/uploads/2011/09/varian-moores-law-graph.gif Architektur paralleler Plattformen Teil 1 31.10.12
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
Paralellität auf Bitebene
Gründe: genauere Floating Point Operationen möglich größerer Ansprechbarer Adressraum
Architektur paralleler Plattformen Teil 1 31.10.12
Parallelität durch Pipelining
Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0
Architektur paralleler Plattformen Teil 1 31.10.12
Parallelität durch mehrere Funktionseinheiten
Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
Parallelität auf Prozess und Threadebene
Jeder Kern ist vollständige CPU und beinhaltet alle zuvor besprochenen Prinzipien
Architektur paralleler Plattformen Teil 1 31.10.12
Architektur paralleler Plattformen
Architektur paralleler Plattformen Teil 1 31.10.12
Prozessorkerns
VLIW (very long instruction word) Prozessoren
Quelle: http://cdn.slashgear.com/wp-content/uploads/2012/01/intel_itanium_2.jpg Architektur paralleler Plattformen Teil 1 31.10.12
Prozessorkerns
Superskalare Prozessoren
fertig werden
Architektur paralleler Plattformen Teil 1 31.10.12
Prozessorkerns
Architektur paralleler Plattformen Teil 1 31.10.12 Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0
Architektur paralleler Plattformen
Architektur paralleler Plattformen Teil 1 31.10.12
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
SISD (single instruction single data)
Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
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
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
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
Architektur paralleler Plattformen
Architektur paralleler Plattformen Teil 1 31.10.12
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/Ueber blick.pdf
Rechner mit physikalisch verteiltem Speicher(Multicomputersysteme)
Architektur paralleler Plattformen Teil 1 31.10.12
Prozessor IO Speicher
Verbindungsnetzwerk
Knoten A Prozessor IO Speicher Knoten B
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
Architektur paralleler Plattformen Teil 1 31.10.12
Architektur verteilter Speicher
Quelle: Parallele Programmierung, s.22 Abb. 2.5b Autoren: T. Rauber & G.Rünger
Architektur verteilter Speicher
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
Architektur verteilter Speicher
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: Parallele Programmierung, s.22 Abb. 2.5e Autoren: T. Rauber & G.Rünger
Vor-/Nachteile verteilter Speicher Vorteile: Nachteile:
Protokoll
Architektur paralleler Plattformen Teil 1 31.10.12
Vertreter Multicomputer
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
Rechner mit physikalische gemeinsamem Speicher
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
Symmetrische Multiprozessoren (SMP)
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: Parallele Programmierung, s.28 Abb. 2.7a Autoren: T. Rauber & G.Rünger
Symmetrische Multiprozessoren (SMP)
Architektur paralleler Plattformen Teil 1 31.10.12
Vor-/Nachteile gemeinsamer Speicher Vorteile: Nachteile:
Skalierbarkeit
zu Implementieren
Architektur paralleler Plattformen Teil 1 31.10.12
Reduktion von Speicherzugriffzeiten
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.kreissl.info/ra_04.php
Caches
Architektur paralleler Plattformen Teil 1 31.10.12
Multithreading
Architektur paralleler Plattformen Teil 1 31.10.12
Fine Grained Threading
Zyklus
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.slcentral.com/articles/01/6/multithreading/page7.php
Coarse Grained Threading
Verzögerung
Threads
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.slcentral.com/articles/01/6/multithreading/page6.php
SMT/Hyperthreading
können alle Resourcen nutzen
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.slcentral.com/articles/01/6/multithreading/page8.php
Hyperthreading (Intel)
gesamten Chipfläche
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.hartware.net/review_266_2.html
Ablauf: 1.Beide logische Prozessoren sind IDLE 2.Thread 1 starten
4.Beide Threads werden beendet bevor neue geladen werden
Architektur paralleler Plattformen Teil 1 31.10.12
Vor-/Nachteile Hyperthreading Vorteile: Nachteile:
Kernel
Architektur paralleler Plattformen Teil 1 31.10.12
Architektur paralleler Plattformen
Architektur paralleler Plattformen Teil 1 31.10.12
bindungsnetzwerke
bindungsnetzwerke
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.ehrensenf.com/linktipps/schoener-kabelsalat
Bewertungskriterien für statische Netzwerke
Architektur paralleler Plattformen Teil 1 31.10.12
Durchmesser
Architektur paralleler Plattformen Teil 1 31.10.12
Durchmesser Beispiel
Architektur paralleler Plattformen Teil 1 31.10.12
1 2 3 4 5 6 7 8 9 δ= δ(u,v) = 4
Grad
Architektur paralleler Plattformen Teil 1 31.10.12
Grad Beispiel:
Architektur paralleler Plattformen Teil 1 31.10.12
1 2 3 4 5 6 7 8 9 g(G)=4
Bisektionsbandbreite
Architektur paralleler Plattformen Teil 1 31.10.12
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
Knotenkonnektivität
Architektur paralleler Plattformen Teil 1 31.10.12
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
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
Anforderungen:
Architektur paralleler Plattformen Teil 1 31.10.12
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
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
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
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
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
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
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
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
K-Computer
Schränke
Verbindungsnetzwerk aus
Architektur paralleler Plattformen Teil 1 31.10.12
Quelle: http://www.n-tv.de/technik/Japan-hat-schnellsten-Rechner- article3619016.html
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
Einbettung
Verbindungsnetzwerkes auf die Knoten eines Zielnetzwerkes mit einer anderen Topologie
Einbettung Ausdehnung 1 = perfekt
Architektur paralleler Plattformen Teil 1 31.10.12
Beispiel 1: Einbettung eines Rings in einen k-dimensionalen Würfel
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
RGC(k) resultiert durch Umkehrung der zweiten Folge und Konkatenation.
Architektur paralleler Plattformen Teil 1 31.10.12
Beispiel 1: Einbettung eines Rings in einen k-dimensionalen Würfel
Architektur paralleler Plattformen Teil 1 31.10.12
Beispiel 2: 2-dimensionales Gitter in k-dimensionales Würfel
Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
Dynamische Verbindungsnetzwerke
angeschlossen
hergestellt
Architektur paralleler Plattformen Teil 1 31.10.12
Dynamische Verbindungsnetzwerke Busnetzwerke
Datenmengen zu transportieren
Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
Dynamische Verbindungsnetzwerke Crossbar-Netzwerke
Quelle: http://en.wikipedia.org/wiki/File:Crossbar-hy1.jpg Architektur paralleler Plattformen Teil 1 31.10.12
Dynamische Verbindungsnetzwerke Mehrstufige Schaltnetzwerke
bei direkten Verbindungsnetzwerken
Quelle:Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
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
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
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
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