380 likes | 482 Views
Architectures of parallel computers. Parallel Programming and Parallel Algorithms. Agenda. Motivation Grundinformationen Flynn‘s Taxonomy: Idee TOP500 Drei parallele Computer-Architekturen Processor Array Multiprocessors Multicomputers Flynn‘s Taxonomy: Einordnung Ausblick. 1. Agenda.
E N D
Architectures of parallel computers Parallel Programming and ParallelAlgorithms
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick 1
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Notwendigkeit • Wissenschaftlicher Bereich: • Erste parallele Rechner in den 1960er • Universitäten, Wissenschaftliche Labore, Militär • Simulationen (Klima, Flugzeuge und Windtunnel, Nuklear-Waffen…) • Hoch komplizierte Berechnungen • Supercomputer • Privater Bereich: • Dual-Core, Quad-Core Prozessoren 2
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Flynn’s Taxonomy Klassifikation von Rechnerstrukturen: Data Stream Single Multiple SISD SIMD Single Instruction stream MISD MIMD Multiple 3
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
TOP500 • Idee: Liste der 500 schnellsten Computersysteme der Welt • Verfasser: Organisation TOP500 • Universitäten Mannheim • University of Tennessee • National Research Scientific Computing Center • Erstellung: Seit 2003; zweimal pro Jahr • Messung: Linpack-Benchmarking • Programmbibliothek zum Lösen von linearen Gleichungssystemen • Angabe der Ergebnisse in Gleitkommaoperationen pro Sekunde (FLOPS) • Website: http://www.top500.org 4
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Processor Arrays – Aufbau Front-end computer CPU Memory I/O processors I/O devices Processor Array Scalar memory bus Instruction broadcast bus Global result bus P P P P P M M M M M Interconnection network Parallel I/O devices Quelle: Quinn 04 5
Processor Array - Bewertung • Vorteile: • Skalierbarkeit (hoch) • Einzelne Prozesse sind unabhängig • Nachteile: • Skalierbarkeit (runter) • Keine bzw. ineffiziente Ausführung bei parallelem Code • Gewöhnlich Single-User Syteme • Verlust eines Vorteils: • Kosten der Control Units ist stark gesunken 5
Processor Array & Flynn’s Taxonomy Data Stream Single Multiple SISD SIMD Single Processor arrays Instruction stream MISD MIMD Multiple 6
Processor Array & TOP500 • Bekanntes System: Earth Simulator • Ermöglicht die Simulation des Erdklimas • Über 2 Jahre Nr. 1 der TOP500 (2002-2004) • 35,86 Terapflops; 5120 Prozessoren • Heutige Situation: • Nur noch ein System in den TOP500, welches auf diesem Ansatz basiert 7
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Multiprocessors • Gemeinsamer Adressraum: Die gleiche Adresse zwei verschiedener CPUs bezieht sich auf die selbe Stelle im Speicher • 2 Arten • UMA Multiprocessors (Uniform Memory Architecture) • Ein zentraler Speicher für alle Prozessoren • Einheitliche Zugriffszeiten • NUMA Multiprocessors (Non-Uniform Memory Architecture) • Jeder Prozessor besitzt eigenen Speicher • Unterschiedliche Zugriffszeiten 8
UMA Multiprocessor - Aufbau CPU CPU CPU CPU Cache memory Cache memory Cache memory Cache memory Bus Primary memory I/O devices Quelle: Quinn 04 9
UMA Multiprocessor - Bewertung • Weitere Bezeichnungen: • centralized multiprocessor • symmetric multiprocessor (SMP) • Vorteile: • 1 Bus => Keine Netzwerkverbindung notwendig • Jeder Prozessor hat eigenen Cache => schnelle Zugriffszeiten • Nachteile: • 1 Bus => schlechte Skalierbarkeit (Flaschenhals) • Cache-Inkohärenz 9
UMA-Multiprocessors & Cache - Inkohärenz CPU P1 CPU P2 CPU P1 CPU P2 CPU P1 CPU P2 Cache memory Cache memory Cache memory Cache memory Cache memory Cache memory X X Y X Bus Bus Bus Primary memory Primary memory Primary memory X Y X 10
UMA-Multiprocessors & Cache - Inkohärenz Cache Kohähernz durch Snooping: • Jeder Prozessor “schnüffelt” konstant am Bus • Vergleicht Information mit eigenem Cache • Reagiert entsprechend der Snoop-Logik (Lese- und Schreibzugriffsrechte) 11
NUMA Multiprocessors: Aufbau CPU CPU CPU Cache memory Cache memory Cache memory Memory I/O devices Memory I/O devices Memory I/O devices Interconnection network Quelle: Quinn 04 12
NUMA Multiprocessors: Bewertung • Vorteile: • Skalierbarkeit • Meist kürzere Zugriffszeit als bei UMA • Nachteile: • Kosten • Cache-Inkohärenz 12
NUMA-Multiprocessors & Cache - Inkohärenz Directory-based coherence: • Directory = Liste mit jeweiligem Status aller gecachten Blöcke • Bei jeder Anfrage eines Prozessors wird der Status überprüft • Reaktion entsprechend des Protokols (Lese- und Schreibzugriffe) 13
Multiprocessors & Flynn’s Taxonomy Data Stream Single Multiple SISD SIMD Processor arrays Single Instruction stream MISD MIMD Multiple Multiprocessors 14
Multiprocessors & TOP500 • UMA: • Keine Berücksichtigung dieser Architektur beim Bau von Supercomputern (schlechte Skalierbarkeit) • Häufiger Einsatz dieser Technik in PCs (Multi-Core Prozessoren) • NUMA: • Bsp.: SGI HLRB-II-Altix 4700 • Platz 82 in Nov. 2009 • 62 Teraflops; 9728 CPUs 15
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Multicomputers • Verteilter Adressraum: Die gleiche Adresse zwei verschiedener CPUs bezieht sich auf verschiedene Stellen in unterschiedlichen Speichern • 2 Arten • Asymmetrisch • Symmetrisch 16
Asymmetrical Multicomputers - Aufbau Multicomputer User Computer Interconnection network Computer Internet Front-end computer Computer File server Computer Quelle: Quinn 04 17
Asymmetrical Multicomputers - Bewertung • Vorteile: • Einfacher Aufbau • Keine Cache-Inkohärenz • Nur Front-End Computer benötigt volle Funktionalität • Nachteile: • Front-End Computer ist Flaschenhals • Bei Ausfall des Front-End Computers fällt das ganze System aus • Die Back-End Computer können nicht direkt mit dem User kommunizieren 17
Symmetrical Multicomputers - Aufbau Multicomputer User Computer Computer Computer Interconnection network Internet File server Computer Computer Quelle: Quinn 04 18
Symmetrical Multicomputers - Bewertung • Vorteile: • Keine Cache-Inkohärenz • Keine Abhängigkeit von einem Front-End Computer • Alle Computer können mit dem User kommunizieren • Nachteile: • Alle Computer brauchen volle Funktionalität • Komplexe Struktur (Vision eines Einzelcomputers, Balance der Auslastung) 18
Multicomputers & Flynn’s Taxonomy Data Stream Single Multiple SISD SIMD Processor arrays Single Instruction stream MISD MIMD Multiprocessors Multiple Multicomputers 19
Multicomputers & TOP500 • Fast alle Systeme in den TOP500 sind Multicomputer • Schnellste Computer der Welt (Stand Nov. 2009): Cray XT5-HE Opteron Six Core 2.6 GHz • 1,75 Petaflops; 224162 CPUs 20
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Flynn’s Taxonomy Data Stream Single Multiple SISD SIMD Single Processor arrays Uniprocessor Instruction stream MISD MIMD Multiple Multiprocessors Multicomputers Systolic arrays 21
Agenda • Motivation • Grundinformationen • Flynn‘s Taxonomy: Idee • TOP500 • Drei parallele Computer-Architekturen • Processor Array • Multiprocessors • Multicomputers • Flynn‘s Taxonomy: Einordnung • Ausblick
Ausblick • “Moore’s law” stark vereinfacht: “Computer chips get twice as fast every year or two”. • Entspricht nicht ganz der Realität • Prinzip gilt noch immer • Trend ist und bleibt paralelles Rechnen • Hauptsächlich MIMD Systeme • Technischer Fortschritt senkt Kosten => Technik auch im PC 22