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
Architektur paralleler Plattformen I. ÜBERBLICK PROZESSORENTWICKLUNG 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
Architektur paralleler Plattformen II. PARALLELITÄT INNERHALB EINES PROZESSORKERNS 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 Quelle: Parallele Programmierung Rauber, Rünger ISBN 978-3-642-13603-0 Architektur paralleler Plattformen Teil 1 31.10.12
Architektur paralleler Plattformen KLASSIFIZIERUNG VON PARALLELRECHNERN 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
Architektur paralleler Plattformen IV. SPEICHERORGANISATION Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Speicherorganisation in Verteilten/Parallelen Systemen Quelle: http://www.fbi.h- da.de/~a.schuette/Vorlesungen/VerteilteSysteme/Skript/1_Ueberblick/Ueber blick.pdf Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Rechner mit physikalisch verteiltem Speicher(Multicomputersysteme) -DMM(Distributed Memory Machine) Knoten A Knoten B Prozessor Prozessor Speicher Speicher IO IO Verbindungsnetzwerk Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Kommunikation Knoten A Knoten B Prozessor Prozessor Sendebefehl Empfangs- Speicher Speicher befehl: IO Prozessor- IO Zugriff Speicherort Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Architektur verteilter Speicher -Kommunikation Punkt-zu-Punkt Verbindung -Puffer Quelle: Parallele Programmierung, s.22 Abb. 2.5b Autoren: T. Rauber & G.Rünger Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Architektur verteilter Speicher -DMA(Direct Memory Access) -Lange Kommunikationswege mithilfe von Software Quelle: Parallele Programmierung, s.22 Abb. 2.5c Autoren: T. Rauber & G.Rünger Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Architektur verteilter Speicher -verbesserte Kommunikationszeit -pro I/O Kanal maximal eine Nachricht -Pipelining der Nachrichten -Vermeidung von Deadlocks Quelle: Parallele Programmierung, s.22 Abb. 2.5e Autoren: T. Rauber & G.Rünger Architektur paralleler Plattformen Teil 1 31.10.12
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 Quellen: Bild1: http://serverservice.sytes.net/?tag=mysql-cluster Bild2: http://farm4.static.flickr.com/3367/3615660625_6844933ea1_o.jpg Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Rechner mit physikalische gemeinsamem Speicher - Globaler/gemeinsamer Speicher Gemeinsamer Adressraum - Load/Store - Shared Variables Quelle: Parallele Programmierung, s.25 Abb. 2.6a und b Autoren: T. Rauber & G.Rünger Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Symmetrische Multiprozessoren (SMP) -Seit 1980 -Symmetrisch -Zentraler Bus -CPU Hopping -virtual shared memory Quelle: Parallele Programmierung, s.28 Abb. 2.7a Autoren: T. Rauber & G.Rünger Architektur paralleler Plattformen Teil 1 31.10.12
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 Quelle: http://www.kreissl.info/ra_04.php Architektur paralleler Plattformen Teil 1 31.10.12
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 Quelle: http://www.slcentral.com/articles/01/6/multithreading/page7.php Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation Coarse Grained Threading -Wechselt nur bei Verzögerung -Keine Verlangsamung des Threads Quelle: http://www.slcentral.com/articles/01/6/multithreading/page6.php Architektur paralleler Plattformen Teil 1 31.10.12
IV. Speicherorganisation SMT/Hyperthreading - “Lücken“ füllen -Alle Threads können alle Resourcen nutzen - Intel pentium 4 ht, i5-2400, i7 serie Quelle: http://www.slcentral.com/articles/01/6/multithreading/page8.php Architektur paralleler Plattformen Teil 1 31.10.12
Recommend
More recommend