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 3) 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 SIMDs sogut wie vom Markt verschwunden sind Slide 3 Inhalt der Vorlesung: ➜ Allgemeines über den Overhead der Parallelität ➜ Wichtigste Klassen von Parallelrechnern: • MIMD mit Bussystemen (SMPs) • MIMD mit gemeinsamem Adreßraum: UMA, NUMA, CC-NUMA, COMA • MIMD mit verteiltem Adreßraum • Data-local: Zugriffszeiten auf lokale Daten • Data-remote: Zugriffszeiten auf Daten bei anderen Prozessoren/Speichermodulen • Synchronization: Warten auf andere Prozessoren Synchronization Busy-overhead Data-local Data-remote Busy-useful ➜ Die Top-500-Liste der Höchstleistungsrechner der Welt OVERHEAD DER PARALLELIT ÄT I ➜ Parallelrechner soll mgl. 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 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 ➜ Relativ kleine Anzahl von Prozessoren wg. Engpasses am Bus (schlechte Skalierbarkeit) 100 75 75 50 50 ➜ Überwiegend im Großserverbereich eingesetzt 25 ➜ Aktuell: SMPs werden zunehmend als Knoten zum Aufbau größerer Systeme verwendet (sog. CluMPs, “Constellations”) 25 Synchronization Busy-overhead Data-local p1 c 2004 K LASSE 100 Time (s) de 1 Vorlesung 9 BY p2 p3 S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 Slide 4 Data-remote Busy-useful ➜ Cache-Kohärenz ist einfach, z.B. Snooping mit MSI-Protokoll (s. vorige Vorlesungen) p4 1 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 2 FALLSTUDIE SMP: S UN E NTERPRISE 6000 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 Mem ctrl SBUS $2 SBUS $2 SBUS P $ 100bT, SCSI P $ Bus interface I/O cards de 5 de 6 G ROBK ÖRNIGER KONTEXTWECHSEL CPU/mem cards Slide 7 Gigaplane bus ( 256 data, 41 address, 83 MHz ) MIT Busy cycle from threads A-D, respectively Thread B Context switch overhead Idle (stall) cycle Thread C ➜ 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 Thread A Abbreviation for four ... = context switch cycles = Thread D Memory latency Pipeline latency Four context switch cycles ... ➜ Feinkörniger Kontextwechsel: interleaved multithreading ➜ Nach jeder Instruktion wird aus einem Thread-Pool gewählt ➜ Es gibt keinen Kontextswitch-Overhead wie beim grobkörnigen ➜ 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 ➜ Keine Software-Unterstützung nötig Thread E Thread B Thread C ➜ Ist dynamisch, d.h. gut für unvorhersehbare Situationen (Cache-Misses etc.) Thread F Memory latency Pipeline latency ➜ Zwei Arten – Grobkörniger und Feinkörniger Kontextwechsel: • Grob: Wechsel erst nach Bedarf S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 Busy cycles from threads A−F, respectively Idle (stall) cycle • Fein: Wechsel in jedem Taktzyklus BY ... F EINK ÖRNIGER KONTEXTWECHSEL M ULTITHREADING ➜ Idee: Kommunikationslatenz und andere Wartezeiten durch Kontextwechsel verbergen c 2004 ... 3 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 4 de 9 e 10 FALLSTUDIE NUMA: C RAY T3E ➜ Eine 24-Knoten Cray T3E ist z.B. an der TU Berlin vorhanden 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 ➜ Keine Caches ⇒ bis zu 8 ausstehende Speicherzugriffe je Thread erlaubt ➜ Sehr spezielle Prozessoren ➜ Der Programmierer oder der Compiler muß viele Threads produzieren • 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 • 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 FALLSTUDIE NUMA: C RAY T3E – B ILD ➜ 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 Slide 12 Mem ctrl and NI Beispiel: Cray T3E X Switch Y Z c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 5 c 2004 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 R ➜ Topologie, Routing und Switching: R R • Einzelne Switches sind Crossbars R R ➜ SP2 = Scalable Power, mit superscalaren Prozessoren (d.h. mehrere FUs mit dynamischem Scheduling) • Quellenbasiertes, tabellengetriebenes Routing • 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 R R R C LUSTERMASCHINEN R M Slide 16 M M M R R R R c 2004 R R R R BY ➜ Anwendungsgebiete: Server, Webserver ➜ Cluster können sowohl zu (CC-)NUMA als auch zu Maschinen mit verteiltem Adressraum gehören M R ➜ Netze: ursprünglich LAN oder WAN, langsam ➜ 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 e 14 UND R R R R S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 R R 7 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 8 D IE T OP 500 L ISTE ➜ Wird seit 1993 erstellt ➜ Leistungskriterium – Performance in Mflops auf Linpack, d.h. Lineares Gleichungssystem Ax = b mit vollbesetzter Matrix ➜ Das Problem welches 1980 etwa 1 Jahr Rechenzeit brauchte, hat später soviel Zeit verbraucht: • 1992 - 1 Monat • 1997 - 4 Stunden • 2000 - 1 Stunde e 17 Slide 19 ➜ Momentan stärkster Rechner: Earth Simulator (Japan), 640 Knoten mit je 8 Vektorprozessoren. Kabellänge: 1800 Meilen, 4 Tennisplätze, 3 Stockwerke ➜ Auch selbstgebaute Cluster dabei, darunter mit bestem Preis-Lestungsverhältnis Virginia Tech auf Platz 3: 2200 Prozessoren, Rmax = 10280 Gflops ➜ Probleme mit Linpack: kommerzielle DB-Systeme – kein Interesse an Gflops; neue Architekturen sind nicht dazu entwickelt e 18 Slide 20 ... c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 9 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 10 e 21 Slide 23 e 22 Slide 24 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 11 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 12 e 25 e 26 c 2004 BY S ERGEI G ORLATCH · U NI M ÜNSTER · PARALLELE S YSTEME · VORLESUNG 9 13