2.7. R EALE PARALLELRECHNER OVERHEAD UND DIE T OP 500-L ISTE DER PARALLELIT ÄT II ➜ Parallele Ausführungszeit (s. voriges Bild rechts) besteht aus: Flynn’sche Klassifikation (vgl. Vorlesung 2) unterscheidet 4 Architekturklassen: SISD, MISD, SIMD und MIMD. • Busy-useful: Ausführung der Operationen, die auch im seq. Programm ausgeführt werden • Busy-overhead: Ausführung von Operationen, die extra durch Parallelisierung entstanden sind Wir befassen uns ausschließlich mit MIMD-Systemen, weil sie den zurzeitigen Markt beherrschen • Data-local: Zugriffszeiten auf lokale Daten Slide 3 Inhalt der Vorlesung: ➜ Allgemeines über den Overhead der Parallelität • Data-remote: Zugriffszeiten auf Daten bei anderen Prozessoren/Speichermodulen • Synchronization: Warten auf andere Prozessoren ➜ Wichtigste Klassen von MIMD-Parallelrechnern: • MIMD mit Bussystemen (SMPs) • MIMD mit gemeinsamem Adreßraum: UMA, NUMA, CC-NUMA, COMA • MIMD mit verteiltem Adreßraum Synchronization Busy-overhead Data-local Data-remote Busy-useful ➜ Top-500-Liste der schnellsten Höchstleistungsrechner der Welt OVERHEAD DER PARALLELIT ÄT I ➜ Parallelrechner soll möglichst wenig Zeit mit unnötiger Arbeit (Overhead) verbringen ➜ Sequentielle Ausführungszeit (s. Bild links) besteht aus: Berechnungen und Speicherzugriffen ➜ Imaginäre Parallelausführung (rechts): verbraucht auf 4 Prozessoren mehr als 1/4 der Zeit wegen Overhead: Time (s) de 2 100 100 75 75 50 50 25 Time (s) de 1 Vorlesung 9 Synchronization Busy-overhead Data-local BY DER S YMMETRISCHEN M ULTIPROZESSOREN (SMP S ) ➜ “Symmetrisch” weil ... alle Prozessoren identisch sind und die Speicherzugriffe bei allen Prozessoren gleich lange dauern ➜ Alle Prozessoren sitzen auf einem Bus Slide 4 Data-remote Busy-useful ➜ Relativ kleine Anzahl von Prozessoren wg. Engpasses am Bus (schlechte Skalierbarkeit) ➜ Cache-Kohärenz ist einfach, z.B. Snooping mit MSI-Protokoll (s. vorige Vorlesungen) ➜ Überwiegend im Großserverbereich eingesetzt ➜ Aktuell: SMPs werden zunehmend als Knoten zum Aufbau größerer Systeme verwendet: sog. CluMPs (Clusters of Multi-Processors), “Constellations” 25 p1 c 2008 K LASSE p2 p3 S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 p4 1 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 2 FALLSTUDIE SMP: S UN E NTERPRISE 6000 G ROBK ÖRNIGER KONTEXTWECHSEL Mem ctrl Bus interface/switch ➜ Grobkörnig = block multithreading ➜ Kontextwechsel passiert erst bei einem Lange-Latenz-Ereignis (z.B. Cache-Miss mit Latenz 10 Taktzyklen) ➜ Miss festgestellt ⇒ mehrere nachstende Instruktionen müssen aus der Pipeline entfernt werden ⇒ contextswitch overhead 2 FiberChannel $2 SBUS $2 SBUS P $ SBUS P $ 100bT, SCSI CPU/mem cards Bus interface Slide 7 de 5 de 6 Thread A Busy cycle from threads A-D, respectively Thread B Context switch overhead I/O cards Gigaplane bus ( 256 data, 41 address, 83 MHz ) ➜ Bis zu 30 Ultra-SPARC-Prozessoren ➜ Auch Board-lokale Zugriffe laufen über den Bus (UMA = Uniform Memory Access) ➜ In jedem Prozessor: 16KB L1-Cache und 512KB L2-Cache ➜ Cache-Kohärenz: eine Variante des MSI-Protokolls ➜ Zugriff auf den Cache ist um ca. eine Größenordnung schneller als Zugriff über den Bus (40 ns vs. 300 ns) G EMEINSAMER A DRESSRAUM : UMA MIT Idle (stall) cycle Thread C Abbreviation for four = ... = context switch cycles Thread D Memory latency Pipeline latency Four context switch cycles ... M ULTITHREADING F EINK ÖRNIGER KONTEXTWECHSEL ➜ Wachsender Abstand zwischen Prozessor- und Speicherleistung ⇒ mehr Threads pro Prozessor nötig Memory latency Pipeline latency Thread D Thread A ➜ Kontextwechsel in Hardware ⇒ spezielle Prozessoren nötig (kleine Stückzahlen, teuer) Memory latency Memory latency Slide 8 ➜ Herausforderung für Programmierer: nicht die Lokalität der Zugriffe, sondern genügend Parallelität zu identifizieren Thread E Thread B Thread C ➜ Keine Software-Unterstützung nötig Thread F Memory latency ➜ Ist dynamisch, d.h. gut für unvorhersehbare Situationen (Cache-Misses etc.) Pipeline latency ➜ Zwei Arten – Grobkörniger und Feinkörniger Kontextwechsel: • Grob: Wechsel erst nach Bedarf • Fein: Wechsel in jedem Taktzyklus BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 ... ➜ Feinkörniger Kontextwechsel: interleaved multithreading ➜ Nach jeder Instruktion wird aus einem Thread-Pool gewählt ➜ Es gibt keinen Kontextswitch-Overhead wie beim grobkörnigen ➜ Idee: Kommunikationslatenz und andere Wartezeiten durch Kontextwechsel zu anderen Aktivitäten (Threads) auf demselben Prozessor zu verbergen c 2008 ... Busy cycles from threads A−F, respectively Idle (stall) cycle 3 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 4 de 9 e 10 FALLSTUDIE NUMA: C RAY T3E ➜ Konfigurationen mit 16 bis 192 Prozessoren sind üblich FALLSTUDIE M ULTITHREADED -A RCHITEKTUR – Tera MTA ➜ Ein Knoten beinhaltet: Prozessor, Kontrollchip, lokalen Speicher, Netzwerk-Interface ➜ Prozessor unterstützt 128 aktive Threads in Hardware ➜ Caches: ➜ Interleaved Multithreading ➜ VLIW-Prozessor = ... mehrere FUs mit statischem Scheduling Slide 11 ➜ Verbindungstopologie: 3D-Torus • Je ein 8K direct-mapped Instruktions- und Datencache • Ein 96K on-chip L2-Cache – drei-Wege-assoziativ, mit 64-Byte-Blöcken • In Caches können nur lokale Daten abgelegt werden (kein Hardware-Mechanismus für ihre Kohärenz) • Bei nicht-lokalem Zugriff von außen werden Daten im Cache als ungültig markiert ➜ Keine Caches ⇒ bis zu 8 ausstehende Speicherzugriffe je Thread erlaubt ➜ Sehr spezielle Prozessoren ➜ Der Programmierer oder der Compiler muß viele Threads im Programm produzieren • Alle lokalen Speicher sind zwar für alle Prozessoren zugänglich, ihre Zugehörigkeit sollte für effizientes Programmieren jedoch berücksichtigt werden ➜ Netztopologie: 3D-Torus (Knotengrad?) Gemeinsamer Adreßraum: NUMA (Non-Uniform Memory Access) FALLSTUDIE NUMA: C RAY T3E – AUFBAU ➜ Physikalisch sind die Speichermodule auf die Knoten verteilt ➜ Die Zugriffszeit hängt vom zugreifenden Prozessor und von der zugegriffenen Speicheradresse ab External I/O P ➜ Logisch sind alle Speichermodule für alle Prozessoren direkt zugreifbar, ohne Mitwirken des Inhaber-Prozessors Mem $ ➜ Cache-Kohärenz wird nicht in Hardware unterstützt ⇒ nur lokale Daten sind cacheable Mem ctrl and NI Slide 12 Beispiel: Cray T3E X Switch Y Z c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 5 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 6 e 13 CC-NUMA R ECHNER ➜ CC-NUMA = cache-coherent non-uniform memory access MIT VER TEILTEM A DRESSRAUM ➜ Cache-Kohärenz wird per Hardware sichergestellt ➜ Anwendungsgebiet: überwiegend wissenschaftlich-technische Simulationen (Wettervorhersage, Crash-Verhalten, GAUs, etc.) ➜ Erste CC-NUMA Maschine war DASH in Stanford (1992) ➜ + : Gutes Preis-Leistungs-Verhältnis, Skalierbarkeit ➜ – : Wegen verteiltem Adreßraum aufwendiges Programmieren FALLSTUDIE SGI O RIGIN 2000: Fallstudie: IBM SP2 ➜ Bis zu 1024 Prozessoren ➜ Knoten = zwei Prozessoren, bis zu 4 GB Speicher, ein Cache-Controller, sowie Router (“R” im Bild) R Topologie bis zu 16 Knoten – Hypercube; danach Fattree mit Meta-Routers Slide 15 ➜ Weiterentwicklung von SP2: mit SMP-Knoten je 4/8 Prozessoren ⇒ ASCI Blue, sowie SP3 mit Power3-Prozessoren R ➜ Topologie, Routing und Switching: R R R ➜ SP2 = Scalable Power, mit superscalaren Prozessoren (d.h. mehrere FUs mit dynamischem Scheduling) • Einzelne Switches sind Crossbars R • Quellenbasiertes, tabellengetriebenes Routing R • Paketbasiertes, cut-through Switching R • Pakete bis 255 Byte lang, Phit = 1 Byte, Flit = 2 Byte SGI O RIGIN 2000: G R ÖSSERE T OPLOGIEN R R R R R R R R R R R C LUSTERMASCHINEN R R R e 14 ➜ Netze: ursprünglich LAN oder WAN, langsam M Slide 16 M M M ➜ Cluster können sowohl zu (CC-)NUMA als auch zu Maschinen mit verteiltem Adressraum gehören M R R R R R c 2008 R R R R BY ➜ Anwendungsgebiete: Server, Webserver ➜ Aktuell: schnellere Netze wie ATM, Myrinet, SCI, etc. M R W ORKSTATIONNETZE ➜ Cluster = Ansammlung (fast) eigenständiger Rechner, verbunden über ein Netzwerk R M M UND R R ➜ An der WWU ist ein Cluster mit 96 Knoten vorhanden R R R S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 R R 7 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 8 D IE T OP 500 L ISTE D IE S CHNELLSTEN S UPERCOMPUTER ➜ Wird seit 1993 erstellt ➜ Momentan stärkster Rechner: ➜ Leistungskriterium – Performance in Mflops auf Linpack, d.h. Lineares Gleichungssystem Ax = b mit vollbesetzter Matrix • IBM LLNL Blue Gene/L (Livermore, USA) • 212992 Knoten mit je einem ASIC (App-Specific Integrated Circuit) = 2 PPC440 Prozessoren (> 130.000 CPUs) 596 Tflops ➜ Das Problem welches 1980 etwa 1 Jahr Rechenzeit brauchte, hat später soviel Zeit verbraucht: e 17 Slide 19 • 1992 - 1 Monat • 1997 - 4 Stunden • 197 Tonnen schwer, 119 Meilen optisches Kabel und 28 Meilen Kupferkabel, 890 qm Fläche (≈ 2 Basketballplätze). • 4.7 MW Stromverbrauch (≈ 4000 Haushalte) • 2000 - 1 Stunde ➜ Auch selbstgebaute Cluster dabei: • heute - wenige Minuten • darunter mit bestem Preis-Lestungsverhältnis MACH5 XServe, 2.0 GHz, Myrinet (COLSA Corporation, Alabama) auf Platz 69: 3072 Prozessoren, Rmax = 16180 Gflops ➜ Probleme mit Linpack als Kriterium: einige kommerzielle Systeme (z.B. DB-Systeme) – kein Interesse an Gflops; neue Architekturen sind oft nicht dafür entwickelt ... ... e 18 Slide 20 ... ... • Rm ax: Maximal gemessene LINPACK Performance (in Gflops) • Rp eak: Theoretische Höchst-Performance (in Gflops) c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 9 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 10 e 21 Slide 23 e 22 Slide 24 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 11 c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 12 e 25 e 26 • MPP - Massively Parallel Processors: Parallelrechner mit über mehreren tausend intern verbundenen Ausführungseinheiten • Cluster: Ebenfalls verteilter Speicher, aber extern verbundene Recheneinheiten, also über das Netzwerk/LAN, z. B. Myrinet oder InfiniBand c 2008 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 13