Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von...

10
High Performance Computing, SS 2004 A. Strey, Universität Ulm Kapitel 2 : Architekturen für HPC 38 Symmetrischer Multiprozessor (SMP) Motivation: – ein globaler Adressraum für mehrere Prozesse P i Prozesse P i haben gemeinsame Daten („shared variables“) private Daten („private variables“) gemeinsamen oder individuellen Code privates Stack-Segment – Prozeß-Kommunikation über gemeinsame Variablen – Prozeß-Synchronisation über atomare Operationen (Test&Set, Semaphore) statt Prozesse auch Threads mit gemeinsamem Adressraum möglich High Performance Computing, SS 2004 A. Strey, Universität Ulm Kapitel 2 : Architekturen für HPC 39 Symmetrischer Multiprozessor (Forts.) Hardware eines SMP: eine oder mehrere Speichermodule M i können auf verschiedene Arten mit mehreren identischen CPU P j gekoppelt werden: Unterschiede in Speicherbandbreite und Skalierbarkeit Symmetrie: Zugriffszeit von P j auf M i ist für alle i und j identisch (daher auch als UMA = „Uniform Memory AccessArchitektur bezeichnet)

Transcript of Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von...

Page 1: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC38

Symmetrischer Multiprozessor (SMP)• Motivation:

– ein globaler Adressraum für mehrere Prozesse Pi

– Prozesse Pi haben• gemeinsame Daten („shared variables“)• private Daten („private variables“)• gemeinsamen oder individuellen Code• privates Stack-Segment

– Prozeß-Kommunikation über gemeinsame Variablen

– Prozeß-Synchronisation über atomareOperationen (Test&Set, Semaphore)

– statt Prozesse auch Threads mitgemeinsamem Adressraum möglich

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC39

Symmetrischer Multiprozessor (Forts.)• Hardware eines SMP:

– eine oder mehrere Speichermodule Mi können auf verschiedene Arten mit mehreren identischen CPU Pj gekoppelt werden:

– Unterschiede in Speicherbandbreite und Skalierbarkeit– Symmetrie: Zugriffszeit von Pj auf Mi ist für alle i und j identisch

(daher auch als UMA = „Uniform Memory Access“ Architektur bezeichnet)

Page 2: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC40

Symmetrischer Multiprozessor (Forts.)• großes Problem in SMPs: Kohärenz der Caches

– Kopien einer Speicherstelle können sich in den lokalen Caches Cimehrerer Prozessoren Pi befinden

– Was passiert, wenn ein Prozessor den Inhalt einer Kopie verändert ?Beispiel: SMPmit 4 CPUs und1 Speichermodul

Inkonsistenzzwischen Ci und M

– zudem unterschiedliches Verhalten in Abhängigkeit von Cache-Strategie „Write Through“ (sofortiges Durchschreiben in Hauptspeicher) oder„Write Back“ (Zurückschreiben erst bei Ersetzung der Zeile im Cache)

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC41

Symmetrischer Multiprozessor (Forts.)• Techniken zum Erreichen von Cache-Kohärenz

1) Bus Snooping (bei „Write Through“ Caches)alle Cache-Kontroller hören auf dem Bus mit („Snooping“), auf welchen Adressen a Schreibvorgänge erfolgenbefindet sich Kopie des Inhalts von Adresse a im lokalen Cache, kann der Cache-Controller die Kopie invalidieren oder aktualisiereni.a. für komplette Cache-Zeilen implementiert

2) MESI Bus-Protokoll (bei „Write Back“ Caches)jede Cache-Zeile hat Status-Bits für 4 Zustände: M = „Modified“ (Zeile lokal verändert)E = „Exclusive“ (Zeile unverändert und nur in diesem Cache)S = „Shared“ (Kopien der Zeile auch in anderen Caches)I = „Invalid“ (Zeile ungültig)

Schreiben in Zeile mit S=1 nur nach Invalidierung aller Kopien; Lesen einer Zeile erfolgt aus einem Cache mit M=1 bzw. aus Speicher

Page 3: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC42

Beispiel 1: Intel Quad Pack• typischer, früherer SMP zum Einsatz als „entry-level“ Server

– multiprozessorfähigePentium Pro CPUs(Hardwareunterstützungfür MESI-Protokoll)

– interner P-Pro Bus mitmax. Busbandbreite von 528 MByte/s

– bis zu 4 CPUs(256 kByte L2 Cache,P-Pro Bus-Interface)

– bis zu 4 Speicher-Module

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC43

Beispiel 2: Sun Fire 6800• typischer SMP zum Einsatz als „high-end“ Server

– je CPU-Board:4 UltraSparc III CPUsmax. 32 GByte RAM

– bis zu 6 Boards(max. 24 CPUs undmax. 192 GByte RAM)

– Crossbar-basiertesFireplane Netzwerk (256-Bit Daten, 41-Bit Adressen, 150 MHz)

– MOESI-Protokoll(MESI mit zusätzlichem„Owned“-Zustand)

– Netzwerk aus Adress-Routern zur schnellen Replikation von Adressen(max. 15 Takte) und 10 10 Crossbar-Switches zum Transport der Daten

Page 4: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC44

Beispiel 2: SunFire 6800 (Forts.)• Architektur eines

CPU-Boards:– zwei interne SMPs

aus jeweils zwei CPUs mit maximal8 GByte Speicher

– Speicherbandbreite von 2.4 GByte/s (128 Bit Daten)

– Netzwerkbandbreite von 4.8 GByte/s (256 Bit Daten)

– Speicherzugriffszeit: 200 ns (lokal) 240 ns (remote)

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC45

Beispiel 2: SunFire 6800 (Forts.)• Architektur eines

I/O-Boards:– PCI-Bus – 2 PCI-Controller:

drei 33 MHz Slots, ein 66 MHz Slot

– Netzwerkband-breite: 2.4 GByte/s

• Bandbreiten:– Fireplane-Netzwerk: max. 9,6 GByte/s (150 Mill. Adressen/s 256 Bit)– SunFire 6800: max. Systembandbreite von 67,2 GByte/s– SunFire 15000: bis zu 106 Prozessoren, 18 18 Fireplane-Crossbar und

max. Systembandbreite von 172,8 GByte/s

Page 5: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC46

Beispiel 3: HP Integrity rx4640-8 Server• Architektur:

– zwei Itanium 2CPUs auf einemmx2 Modul(mit gemeinsamen32 MB L4 Cache)

– bis zu vier mx2 Module möglich

– MESI-Protokoll(mit ISA Support)

– max. 64 GByteSpeicher

– zx1 Chipset gestattet6.4 GByte/s Systembus-Bandbreite 12.8 GByte/s Speicher-Bandbreite in 2 Kanälen4.0 GByte/s E/A-Bandbreiteauf 6 E/A-Kanälen

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC47

Distributed Memory Computer (DMC)• parallele Systeme mit verteiltem Speicher: jeder Prozessor

kann nur auf seinen lokalen Adressraum zugreifen • Kopplung mehrerer Prozessoren über E/A-Schnittstellen und

Verbindungsnetzwerk, nicht über Speicher• Kommunikation zwischen Prozessoren durch Nachrichten-

austausch („message passing“)– zwei elementare Operationen:

send(data, target-addr, send-tag)recv(data, src-addr, recv-tag)

– Kommunikation kommt zustande, wenn Adressen übereinstimmen undzusätzlich send-tag=recv-tag gilt

– blockierendes / nicht blockierendes Senden möglich– weitere Kommunikationsprimitive aus Bibliothek

• Ziel: skalierbare Systemarchitektur (bzgl. Kosten und Leistung)

Page 6: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC48

Distributed Memory Computer (Forts.)• Transport von Nachrichten erfolgt in Paketen, die aus Header

(mit Zieladresse, Länge, ... ) und Daten bestehen• ein Routing-Algorithmus bestimmt den Pfad vom Sende-

knoten zum Zielknoten– abhängig von Topologie des Verbindungsnetzwerks– sowohl für statische als auch für dynamische (mehrstufige) Netzwerke– minimal (bestimmt kürzesten Pfad) oder nichtminimal– determinstisch (eindeutiger Pfad) oder adaptiv (lastabhängiger Pfad)– Beispiel: dimensionsgeordnetes Routing bei k-dim Gitter, k-dim. Torus

und Hyperkubus– Probleme: Überlast von Verbindungen oder Knoten, Deadlocks

• die Routing-Strategie legt fest, wie eine Nachricht auf dem vom Routing-Algorithmus bestimmten Pfad transportiert wird

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC49

Distributed Memory Computer (Forts.)• zwei Routing-Strategien für paketorientierte Übertragung:

1) „Store and Forward“– jeder Zwischenknoten speichert zunächst das gesamte Paket („Store“),

bevor er es weiterleitet („Forward“)– Übertragungszeit bei Paketen mit m Byte und h Knoten im Pfad („hops“):

t = tstartup + h troute + h m ttransfermit tstartup = Zeit zur Initialisierung, troute = Zeit zur Ermittlung des Folgeknotens und ttransfer = Transportzeit je Byte über einen Netzwerkpfad

2) „Cut Through“pipelineartiger Transport der Bytes eines Paketes durch das Netzwerk: sofortige Weiterleitung nach Empfang und Analyse des Headers

– Übertragungszeit bei Paketen mit m Byte (davon mH Byte für Header):t = tstartup + h (mH ttransfer + troute ) + (m – mH) ttransfer

– bei Kollision entweder Zwischenspeicherung in einem Knoten („CutThrough“) oder Einfrieren der Pipeline („Wormhole Routing“)

Page 7: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC50

Distributed Memory Computer (Forts.)• DMCs der 1. Generation (1980 bis ca. 1990)

– Netzwerk-Topologie: Hyperkubus– Routing-Strategie „Store and Forward“– Verwendung nachbarschaftserhaltender Abbildungen von Datenfeldern

auf die Topologie des Rechners zur Minimierung der Kommunikation– i.a. CISC-Prozessoren– Beispiele: nCUBE/2 (1986), Intel iPSC/860 (1989)

• DMCs der 2. Generation (seit 1990)– Netwerktopologien: Gitter, Torus, mehrstufige Netzwerke– Routing-Strategie „Cut Through“– Übertragungszeit weitgehend unabhängig von Position des Quell- und des

Zielknotens– i.a. RISC-Prozessoren und separater Kommunikationsprozessor– Beispiele: Cray T3D (1993) und T3E (1996), IBM SP (1995)

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC51

Beispiel 1: Cray T3E• 1996 als Nachfolgemodell für

Cray T3D vorgestellt

• Architektur eines Rechenknoten:– 64-Bit RISC Prozessor DEC Alpha

21164 mit 300-600 MHz– Router-Chip mit 6 bidirektionalen

E/A-Kanälen von 500 MByte/s– 64 bis 512 MByte Speicher in

8 Speicherbänken

• je Board (Spezialentwicklung): – 4 Rechenknoten – 1 E/A-Knoten mit Verbindung zum

GigaRing E/A-Subsystem(bidirektional, 600 MByte/s je Richtung)

Page 8: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC52

Beispiel 1: Cray T3E (Forts.)• Netzwerk-Architektur:

– 3D-Torus mit 16-Bit Pfaden– Systeme von 16 Knoten (4 2 2)

bis zu 2048 Knoten (16 16 8)– deterministisches, dimensions-

geordnetes Routing– „Cut Through“ Routing-Strategie– physikalische, logische und virtuelle

Indizierung aller KnotenUnterstützung von Reserveknoten

und mehreren Partitionen– Bandbreite von 500 MByte/s je

Dimension und Richtung

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC53

Beispiel 2: IBM SP• Grundidee des IBM SP („Scalable POWERparallel System“):

Erreichen einer hohen Leistung durch Kopplung von Standard-Boards ausIBM Workstations mittels eines skalierbaren Netzwerks

• Architektur eines Rechenknoten:– superskalarer POWER2 (66 MHz, 1995), POWER3 (bis zu 450 MHz,

2001) oder POWER4 (bis zu 1.5 GHz, 2003) RISC-Prozessor (auch SMPs mit bis zu 32 Prozessoren je Knoten möglich)

– typisch 8 GByte, max. 1 TByte Speicher je Knoten– SP Switch Netzwerkkarte mit IBM PowerPC 740 (468 MHz Takt) als

Kommunikationsprozessor für DMA, Paket-Routing und Generierung/ Analyse von Paket-Headern

• Netzwerkarchitektur:– mehrstufiges SP Switch Netzwerk mit skalierbarer Bandbreite– Systeme von 4 bis 128 Knoten (ggf. auch bis zu max. 512 Knoten)– „Buffered Wormhole Routing“ als Routing-Strategie

Page 9: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC54

Beispiel 2: IBM SP (Forts.)• Aufbau eines SP Switches:

– je 8 Ein- und Ausgänge– interner 8 8 Crossbar– 8 Bit Datenleitungen

(Übertragung erfolgt in 2 Byte „Flits“,bzw. 4 Byte „Flits“ beim SP Switch2)

– Bandbreiten: 300 MByte/s (SP Switch, synchron)1 GByte/s (SP Switch2, asynchron)

– interne Warteschlange

• Aufbau eines Switchboards:– 8 SP Switches, als bidirektionale

4 4 Schalter genutzt– für 16 Knoten vorgesehen– 16 freie E/A Ports zum Anschluß

weiterer Switchboards

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC55

Beispiel 2: IBM SP (Forts.)• Aufbau eines

IBM SP mit 64 Knoten:

4 mögliche Pfade zwischen zwei beliebigen Knoten

Page 10: Symmetrischer Multiprozessor (SMP) · Erreichen einer hohen Leistung durch Kopplung von Standard-Boards aus IBM Workstations mittels eines skalierbaren Netzwerks • Architektur eines

High Performance Computing, SS 2004A. Strey, Universität Ulm

Kapitel 2 : Architekturen für HPC56

Beispiel 2: IBM SP (Forts.)• ASCI White (Lawrence Livermore National Laboratory, 2001):

– IBM SP System mit 512 Knoten, Leistung von 12.3 TFlop/s– 484 Rechenknoten, 16 E/A-Knoten, 8 Debug-Knoten, 4 Login-Knoten– je Knoten ein SMP aus 16 POWER3 RISC-Prozessoren (375 MHz) und

8 bis 16 GByte Speicher (insgesamt 8192 CPUs, 6 TByte Speicher)