Vorlesung 9 2.7. EALE PAALLELECHNE UND DIE TOP500-LISTE c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 1
Vorlesung 9 2.7. EALE PAALLELECHNE UND DIE TOP500-LISTE Flynn sche Klassifikation (vgl. Vorlesung 2) unterscheidet 4 Architekturklassen: SISD, MISD, SIMD und MIMD. Wir befassen uns ausschließlich mit MIMD-Systemen, weil sie den zurzeitigen Markt beherrschen c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 1-A
Vorlesung 9 2.7. EALE PAALLELECHNE UND DIE TOP500-LISTE Flynn sche Klassifikation (vgl. Vorlesung 2) unterscheidet 4 Architekturklassen: SISD, MISD, SIMD und MIMD. Wir befassen uns ausschließlich mit MIMD-Systemen, weil sie den zurzeitigen Markt beherrschen Inhalt der Vorlesung: Allgemeines über den Overhead der Parallelität Wichtigste Klassen von MIMD-Parallelrechnern: MIMD mit Bussystemen (SMPs) MIMD mit gemeinsamem Adreßraum: UMA, NUMA, CC-NUMA, COMA MIMD mit verteiltem Adreßraum Top-500-Liste der schnellsten Höchstleistungsrechner der Welt c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 1-B
OVEHEAD DE PAALLELITÄ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: 100 75 100 75 Synchronization Busy-overhead Data-local Data-remote Busy-useful 50 50 Time (s) 25 Time (s) 25 p1 p2 p3 p4 c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 2
OVEHEAD DE PAALLELITÄT II Parallele Ausführungszeit (s. voriges Bild rechts) besteht aus: 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 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 c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 3
KLASSE DE SYMMETISCHEN MULTIPOZESSOEN (SMPS) Symmetrisch weil... c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 4
KLASSE DE SYMMETISCHEN MULTIPOZESSOEN (SMPS) Symmetrisch weil... alle Prozessoren identisch sind und die Speicherzugriffe bei allen Prozessoren gleich lange dauern c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 4-A
KLASSE DE SYMMETISCHEN MULTIPOZESSOEN (SMPS) Symmetrisch weil... alle Prozessoren identisch sind und die Speicherzugriffe bei allen Prozessoren gleich lange dauern Alle Prozessoren sitzen auf einem Bus elativ 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 c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 4-B
P $ $ 2 FALLSTUDIE SMP: SUN ENTEPISE 6000 P $ $ 2 Mem ctrl CPU/mem cards 100bT, SCSI SBUS SBUS SBUS 2 FiberChannel Bus interface/switch Bus interface I/O cards Gigaplane bus ( 256 data, 41 address, 83 MHz ) Bis zu 30 Ultra-SPAC-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) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 5
GEMEINSAME ADESSAUM: UMA MIT MULTITHEADING Idee: Kommunikationslatenz und andere Wartezeiten durch Kontextwechsel zu anderen Aktivitäten (Threads) auf demselben Prozessor zu verbergen Wachsender Abstand zwischen Prozessor- und Speicherleistung mehr Threads pro Prozessor nötig Kontextwechsel in Hardware spezielle Prozessoren nötig (kleine Stückzahlen, teuer) Herausforderung für Programmierer: nicht die Lokalität der Zugriffe, sondern genügend Parallelität zu identifizieren Keine Software-Unterstützung nötig Ist dynamisch, d.h. gut für unvorhersehbare Situationen (Cache-Misses etc.) Zwei Arten Grobkörniger und Feinkörniger Kontextwechsel: Grob: Wechsel erst nach Bedarf Fein: Wechsel in jedem Taktzyklus c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 6
Thread A Thread B Thread C Thread D GOBKÖNIGE KONTEXTWECHSEL 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 c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 7
GOBKÖNIGE KONTEXTWECHSEL 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 Thread A Thread B Thread C Thread D Busy cycle from threads A-D, respectively Context switch overhead Idle (stall) cycle... = = Abbreviation for four context switch cycles Pipeline latency Memory latency Four context switch cycles......... c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 7-A
FEINKÖNIGE KONTEXTWECHSEL Feinkörniger Kontextwechsel: interleaved multithreading Nach jeder Instruktion wird aus einem Thread-Pool gewählt Es gibt keinen Kontextswitch-Overhead wie beim grobkörnigen Thread A Thread B Memory latency Memory latency Thread D Thread E Memory latency Pipeline latency Thread C Thread F c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 8
FEINKÖNIGE KONTEXTWECHSEL Feinkörniger Kontextwechsel: interleaved multithreading Nach jeder Instruktion wird aus einem Thread-Pool gewählt Es gibt keinen Kontextswitch-Overhead wie beim grobkörnigen Thread A Thread B Memory latency Memory latency Thread D Thread E Memory latency Pipeline latency Thread C Memory latency Thread F Pipeline latency Busy cycles from threads A F, respectively Idle (stall) cycle c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 8-A
FALLSTUDIE MULTITHEADED-ACHITEKTU Tera MTA Prozessor unterstützt 128 aktive Threads in Hardware Interleaved Multithreading VLIW-Prozessor =... c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 9
FALLSTUDIE MULTITHEADED-ACHITEKTU Tera MTA Prozessor unterstützt 128 aktive Threads in Hardware Interleaved Multithreading VLIW-Prozessor =... mehrere FUs mit statischem Scheduling c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 9-A
FALLSTUDIE MULTITHEADED-ACHITEKTU Tera MTA Prozessor unterstützt 128 aktive Threads in Hardware Interleaved Multithreading VLIW-Prozessor =... mehrere FUs mit statischem Scheduling Verbindungstopologie: 3D-Torus Keine Caches bis zu 8 ausstehende Speicherzugriffe je Thread erlaubt Sehr spezielle Prozessoren Der Programmierer oder der Compiler muß viele Threads im Programm produzieren c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 9-B
Gemeinsamer Adreßraum: NUMA (Non-Uniform Memory Access) Physikalisch sind die Speichermodule auf die Knoten verteilt Die Zugriffszeit hängt vom zugreifenden Prozessor und von der zugegriffenen Speicheradresse ab Logisch sind alle Speichermodule für alle Prozessoren direkt zugreifbar, ohne Mitwirken des Inhaber-Prozessors Cache-Kohärenz wird nicht in Hardware unterstützt nur lokale Daten sind cacheable Beispiel: Cray T3E c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 10
FALLSTUDIE NUMA: CAY T3E Konfigurationen mit 16 bis 192 Prozessoren sind üblich Ein Knoten beinhaltet: Prozessor, Kontrollchip, lokalen Speicher, Netzwerk-Interface c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 11
FALLSTUDIE NUMA: CAY T3E Konfigurationen mit 16 bis 192 Prozessoren sind üblich Ein Knoten beinhaltet: Prozessor, Kontrollchip, lokalen Speicher, Netzwerk-Interface Caches: 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?) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 11-A
FALLSTUDIE NUMA: CAY T3E AUFBAU External I/O P $ Mem Mem ctrl and NI X Switch Y Z c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 12
CC-NUMA CC-NUMA = cache-coherent non-uniform memory access Cache-Kohärenz wird per Hardware sichergestellt Erste CC-NUMA Maschine war DASH in Stanford (1992) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 13
CC-NUMA CC-NUMA = cache-coherent non-uniform memory access Cache-Kohärenz wird per Hardware sichergestellt Erste CC-NUMA Maschine war DASH in Stanford (1992) FALLSTUDIE SGI OIGIN 2000: Bis zu 1024 Prozessoren Knoten = zwei Prozessoren, bis zu 4 GB Speicher, ein Cache-Controller, sowie outer ( im Bild) Topologie bis zu 16 Knoten Hypercube; danach Fattree mit Meta-outers c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 13-A
SGI OIGIN 2000: GÖSSEE TOPLOGIEN M M M M M M M M c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 14
ECHNE MIT VE TEILTEM ADESSAUM Anwendungsgebiet: überwiegend wissenschaftlich-technische Simulationen (Wettervorhersage, Crash-Verhalten, GAUs, etc.) + : Gutes Preis-Leistungs-Verhältnis, Skalierbarkeit : Wegen verteiltem Adreßraum aufwendiges Programmieren c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 15
ECHNE MIT VE TEILTEM ADESSAUM Anwendungsgebiet: überwiegend wissenschaftlich-technische Simulationen (Wettervorhersage, Crash-Verhalten, GAUs, etc.) + : Gutes Preis-Leistungs-Verhältnis, Skalierbarkeit : Wegen verteiltem Adreßraum aufwendiges Programmieren Fallstudie: IBM SP2 SP2 = Scalable Power, mit superscalaren Prozessoren (d.h. mehrere FUs mit dynamischem Scheduling) Weiterentwicklung von SP2: mit SMP-Knoten je 4/8 Prozessoren ASCI Blue, sowie SP3 mit Power3-Prozessoren Topologie, outing und Switching: Einzelne Switches sind Crossbars Quellenbasiertes, tabellengetriebenes outing Paketbasiertes, cut-through Switching Pakete bis 255 Byte lang, Phit = 1 Byte, Flit = 2 Byte c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 15-A
CLUSTEMASCHINEN UND WOKSTATIONNETZE Cluster = Ansammlung (fast) eigenständiger echner, verbunden über ein Netzwerk Netze: ursprünglich LAN oder WAN, langsam Anwendungsgebiete: Server, Webserver Aktuell: schnellere Netze wie ATM, Myrinet, SCI, etc. Cluster können sowohl zu (CC-)NUMA, als auch zu Maschinen mit verteiltem Adressraum gehören An der WWU ist zurzeit ein vorläufiger Cluster mit 20 Knoten (je 8 Kerne und 32 GB AM) vorhanden. In der endgültigen Konfiguration wird der Cluster 220 Knoten (insgesamt 1856 Kerne und ca. 6 TB AM) enthalten c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 16
DIE TOP 500 LISTE Wird seit 1993 erstellt Leistungskriterium Performance in Mflops auf Linpack, d.h. Lineares Gleichungssystem Ax = b mit vollbesetzter Matrix c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 17
DIE TOP 500 LISTE 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 echenzeit brauchte, hat später soviel Zeit verbraucht: 1992-1 Monat 1997-4 Stunden 2000-1 Stunde heute - wenige Minuten c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 17-A
DIE TOP 500 LISTE 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 echenzeit brauchte, hat später soviel Zeit verbraucht: 1992-1 Monat 1997-4 Stunden 2000-1 Stunde heute - wenige Minuten Probleme mit Linpack als Kriterium: einige kommerzielle Systeme (z.b. DB-Systeme) kein Interesse an Gflops; neue Architekturen sind oft nicht dafür entwickelt c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 17-B
max : Maximal gemessene LINPACK Performance (in Teraflops) peak : Theoretische Höchst-Performance (in Teraflops) Power: Stromverbrauch (in KW) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 18
DIE SCHNELLSTEN SUPECOMPUTE Momentan stärkster echner: Sequoia Standort: Lawrence Livermore National Laboratory, CA, USA Hersteller: IBM, Modell: BlueGene/Q ca. 100 000 PowerPC-A2-Bluegene/Q-CPUs (je 18 Kerne, 1,6 GHz) Performance: 16,325 PFlops maximal (20,133 PFlops Peak) Hauptspeicher: 1,6PB (1,6 1024 5 Byte) Stromverbrauch: 7,89 MW ( Jahresverbrauch von 10 000 Haushalten); einer der energieeffizientesten(!) Supercomputer c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 19
DIE SCHNELLSTEN SUPECOMPUTE Stärkster echner im November 2010 (jetzt Platz 5): Tianhe-1A ( Milchstraße 1A ) Standort: National Supercomputing Center Tianjin, China Hersteller: National University of Defense Technology (NUDT), Modell: NUDT YH MPP Hybrider echner 14336 CPUs: Intel Xeon X5670 2,93GHz (86016 Kerne) 7168 GPUs: Nvidia Tesla M2050 (>3Mio. CUDA Cores) Performance: 2,566 PFlops maximal (4,701 PFlops Peak) Hauptspeicher: 229 376 GB Stromverbrauch: 4,04 MW ( Jahresverbrauch von 5 000 Haushalten) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 20
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 21
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 22
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 23
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 24
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 25
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 26
MPP - Massively Parallel Processors: Parallelrechner mit über mehreren tausend intern verbundenen Ausführungseinheiten Cluster: Ebenfalls verteilter Speicher, aber extern verbundene echeneinheiten, also über das Netzwerk/LAN, z. B. Myrinet oder InfiniBand c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 27
c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 28
Am 12. November 2012 wurde die Top500-Liste aktualisiert Platz 1: Titan im Oak idge National Laboratory (USA) 560.640 Prozessorkerne (299.008 Kerne in 18.688 Opteron-6274-Prozessoren, 261.632 GPU-Kerne in genauso vielen NVIDIA-K20x-Karten) 17,59 PFlops maximal (27,11 PFlops Peak) Zwei deutsche Supercomputer in der Top 10: Platz 5: Juqueen im Forschungszentrum Jülich, 393.216 Prozessorkerne, 4,14 PFlops (max) Juqueen ist schnellster Supercomputer Europas. Platz 6: SuperMUC des Leibniz-echenzentrums bei München, 147.456 Prozessorkerne, 2,90 PFlops (max) c 2010 BY SEGEI GOLATCH UNI MÜNSTE PAALLELE SYSTEME VOLESUNG 9 29