380 likes | 485 Vues
This presentation explores the essential concepts of parallel computer architectures, focusing on parallel programming and algorithms. It covers Flynn's Taxonomy for classifying computer architectures—SISD, SIMD, MISD, and MIMD—and reviews the TOP500 list of the world's fastest supercomputers. Key architectures such as processor arrays, multiprocessors, and multicomputers are examined. The session will highlight the evolution of parallel computing, its applications, and future outlooks, providing a comprehensive understanding of the necessity for parallel processing in advanced computing challenges.
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