380 likes | 489 Vues
This overview dives into the world of parallel computer architectures, emphasizing key concepts like Flynn's Taxonomy and the TOP500 list of the fastest computers. We explore three primary architectures: Processor Arrays, Multiprocessors, and Multicomputers. Key historical advancements from the 1960s, alongside their applications in scientific simulations and the private sector (such as dual-core and quad-core processors), illustrate the necessity of parallel programming today. The article concludes with an outlook on the future of these computing paradigms.
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