BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... ·...

33
BlueGene Seminarvortrag WS 2004/05 Sven Kapferer Lehrstuhl für Rechnerarchitektur Universität Mannheim

Transcript of BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... ·...

Page 1: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene

Seminarvortrag WS 2004/05Sven Kapferer

Lehrstuhl für RechnerarchitekturUniversität Mannheim

Page 2: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 207.12.2004

Gliederung

EinführungMotivationVergleich mit anderen Architekturen

Architektur des BlueGeneHierarchische ÜbersichtVerbindungsnetzwerkeRouting und Flusskontrolle

BetriebssystemZukunft

Page 3: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 307.12.2004

Motivation

Die einzige Möglichkeit TFlops zu erreichen, ist die Ausnutzung massiver ParallelitätCluster werden zunehmend durch Leistungs-aufnahme und Platzbedarf eingeschränktSpeicherzugriffszeiten und Taktgeschwindig-keiten gehen immer mehr auseinanderSkalierbarkeit auf >100.000 Knoten

Es wird ein anderer Ansatz benötigt!

Page 4: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 407.12.2004

Lösung in BG/LGroße Anzahl Knoten mit geringer Taktrate

Geringe LeistungsaufnahmeDurch SoC alle Funktionen auf einem ASIC (geringe Latenz und hohe Bandbreite)Geringerer Preis / GFlop als vergleichbare Systeme

Top500 System CPUs Rpeak (GFlops) Rmax (GFlops) Rmax : Rpeak (in %)

#1

#2

#3

#8

70720

#15

51870

77%

85%

87,5%

71,3%

35860

11680

75,5%8655

32768

10160

5120

8192

4096

BlueGene/L Beta-System (IBM) 91750

Columbia (SGI) 60960

Earth Simulator (NEC) 40960

BlueGene Prototyp @ 500 MHz (IBM) 16384

BlueGene Prototyp @ 700 MHz (IBM) 11469

www.top500.org

Page 5: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 507.12.2004

ÜbersichtBlueGene/L Earth

Simulator

40 TFlops

10 TByte

~3250m2

8 MW

640 à 8 CPUs

500 MHz

Stern

Maximalleistung 180 / 360 TFlops

Speicherausbau 16 TByte

Fläche ~230m2

Leistungsaufnahme 1,5 MW

Knoten 64k Dualcore-prozessoren

Taktgeschwindigkeit 700 MHz

Verbindungsnetzwerke Torus, Tree, Barrier

Quelle: IBM [8]

Page 6: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 607.12.2004

Blue Gene/L Aufbau

Quelle: IBM [1]

Chip(2 processors)

Compute Card(2 chips, 2x1x1)

Node Board(32 chips, 4x4x2)

16 Compute Cards

System(64 cabinets, 64x32x32)

Cabinet(32 Node boards, 8x8x16)

2.8/5.6 GF/s4 MB

5.6/11.2 GF/s0.5 GB DDR

90/180 GF/s8 GB DDR

2.9/5.7 TF/s256 GB DDR

180/360 TF/s16 TB DDR

Compute ASIC (2 processors)

Compute Card (2 chips)

Node Board(32 chips)

16 Compute Cards

Cabinet(32 Node Boards)

System(64 Cabinets)

Quelle: IBM [2], Präsentation 3

Page 7: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 707.12.2004

Compute ASIC (1)

PLB (4:1)

“Double FPU”

Ethernet Gbit

JTAGAccess

144 bit wide DDR256/512MB

JTAG

Gbit Ethernet

440 CPU

440 CPUI/O proc

L2

L2

MultiportedSharedSRAM Buffer

Torus

DDR Control with ECC

SharedL3 directoryfor EDRAM

Includes ECC

4MB EDRAM

L3 CacheorMemory

6 out and6 in, each at 1.4 Gbit/s link

256

256

1024+144 ECC256

128

128

32k/32k L1

32k/32k L1

“Double FPU”

256

snoop

Tree

3 out and3 in, each at 2.8 Gbit/s link

GlobalInterrupt

4 global barriers orinterrupts

128

2kB

2kB

2.7 GB/s11 GB/s

11 GB/s

22 GB/s

5.5 GB/s

5.5 GB/s

Quelle: IBM [2], Präsentation 3

Page 8: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 807.12.2004

Compute ASIC (2)

Quelle: IBM [2], Präsentation 3

Page 9: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 907.12.2004

Blue Gene/L Aufbau

Quelle: IBM [1]

Chip(2 processors)

Compute Card(2 chips, 2x1x1)

Node Board(32 chips, 4x4x2)

16 Compute Cards

System(64 cabinets, 64x32x32)

Cabinet(32 Node boards, 8x8x16)

2.8/5.6 GF/s4 MB

5.6/11.2 GF/s0.5 GB DDR

90/180 GF/s8 GB DDR

2.9/5.7 TF/s256 GB DDR

180/360 TF/s16 TB DDR

Compute ASIC (2 processors)

Compute Card (2 chips)

Node Board(32 chips)

16 Compute Cards

Cabinet(32 Node Boards)

System(64 Cabinets)

Quelle: IBM [2], Präsentation 3

Page 10: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1007.12.2004

Compute / I/O Card

2 Knoten pro Compute Card54mm hoch,206mm breit14 Layer9x512Mbit RAM je Knoten

Quelle: IBM [2], Präsentation 3

Page 11: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1107.12.2004

Blue Gene/L Aufbau

Quelle: IBM [1]

Chip(2 processors)

Compute Card(2 chips, 2x1x1)

Node Board(32 chips, 4x4x2)

16 Compute Cards

System(64 cabinets, 64x32x32)

Cabinet(32 Node boards, 8x8x16)

2.8/5.6 GF/s4 MB

5.6/11.2 GF/s0.5 GB DDR

90/180 GF/s8 GB DDR

2.9/5.7 TF/s256 GB DDR

180/360 TF/s16 TB DDR

Compute ASIC (2 processors)

Compute Card (2 chips)

Node Board(32 chips)

16 Compute Cards

Cabinet(32 Node Boards)

System(64 Cabinets)

Quelle: IBM [2], Präsentation 3

Page 12: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1207.12.2004

Spannungswandler

Node Board

Gbit Ethernet

2 optionale I/O Karten

16 Compute Cards

Midplane (450 Pins):

Torus, Tree, Barrier, Clock, Ethernet Service Port

Ethernet – JTAG FPGA

Quelle: IBM [2], Präsentation 3

Page 13: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1307.12.2004

Blue Gene/L Aufbau

Quelle: IBM [1]

Chip(2 processors)

Compute Card(2 chips, 2x1x1)

Node Board(32 chips, 4x4x2)

16 Compute Cards

System(64 cabinets, 64x32x32)

Cabinet(32 Node boards, 8x8x16)

2.8/5.6 GF/s4 MB

5.6/11.2 GF/s0.5 GB DDR

90/180 GF/s8 GB DDR

2.9/5.7 TF/s256 GB DDR

180/360 TF/s16 TB DDR

Compute ASIC (2 processors)

Compute Card (2 chips)

Node Board(32 chips)

16 Compute Cards

Cabinet(32 Node Boards)

System(64 Cabinets)

Quelle: IBM [2], Präsentation 3

Page 14: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1407.12.2004

Link BoardMidplane (540 Pins)

Link ASIC

Ethernet-> JTAG FPGA

Quelle: IBM [2], Präsentation 3

Page 15: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1507.12.2004

BlueGene Networks3D Torus für Point-to-point

Global Tree für globale OperationenGlobal Barriers & Interrupts

Gbit Ethernet für Datei I/O und Host InterfaceControl Network für Booten, Überwachung und Diagnostik

Page 16: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1607.12.2004

Torus Netzwerk (1)

BG/L wird als 64x32x32 Torus ausgeliefertKann an den Midplanes partitioniert werdenTorus hat viele Vorteile:

Hohe Bandbreite zum NachbarKeine langen KabelKein separater SwitchBei 64k Knoten kann jeder Knoten in maximal 64 Schritten erreicht werden

Page 17: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1707.12.2004

Torus Netzwerk (2)

175 MB/s Bandbreite unidirektional, insgesamt 2,1 GB/s pro KnotenAufgrund von pin constraints bitserielle ÜbertragungHardwarelatenz pro Knoten liegt bei etwa 69 nsEin Single-Bit Fehler etwa alle 33 Stunden (erkennbar durch CRC)

Automatische Retransmission in HardwareKeine signifikante Beeinflussung der Performance

Page 18: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1807.12.2004

Routing (1)Statisch und dynamischVirtual cut-through SwitchingPaketgröße zwischen 32 und 256 Bytes in Schritten von 32 Bytes

ZielVirtual ChannelGröße des PaketsRouting Informationen

8B 24 - 248B 4B

Header Nutzdaten CRC

Allgemeiner Paketaufbau

Page 19: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 1907.12.2004

Routing (2)

Header enthält 6 „hint bits“, welche die möglichen Routingrichtungen anzeigen

Bei Erreichen des Ziels in einer Dimension wird das entsprechende Bit auf 0 gesetztInitialisierung durch Hardware oder SoftwareRouting nur mit „hint bits“ und VCsUmlaufen toter Knoten nur durch SoftwareeingriffAdaptives Routing abhängig von Linkauslastung

Routing nur nach x+ und y- möglich1 0 0 1 0 0

x-Richtung y-Richtung z-Richtung

Page 20: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2007.12.2004

Routing (3)Tori mit dynamischem Routing können blockierenBlueGene vermeidet Deadlocks durch Implementierung von „Bubble flow control“Hinzufügen von Virtual Channels verursacht keine Deadlocks

Page 21: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2107.12.2004

Virtual ChannelVirtual Channel verringern „head-of-line“ blocking 4 Virtual Channel in BlueGene à 1KB Puffer (min. 4 Pakete)

2 dynamische VC1 bubble VC zur Vermeidung von Deadlocks1 high-priority VC für Systemnachrichten

Sind alle möglichen Kombinationen von VC / Richtung belegt, verzichtet das Paket auf Anforderung eines KanalsJe nach Auslastung des VC und Priorität fällt die Entscheidung, welches Paket einen Ausganskanal anfordern darf

Page 22: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2207.12.2004

Crossbar

Input

Output

2

Input

Output

2

Input

Output

2

Input

Output

Input

Output

Input

Output

2

2

2

19x6

Crossbar

Local Injection

Local Reception

7

2 (each)

2 (each)

Link +X Link +Y

Link -X Link +Z

Link +Y Link -Z

Page 23: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2307.12.2004

Global Tree

2,8 Gbit pro LinkPoint-to-point oder combining modeIntegrierte ALU

Bitweise Verknüpfung, wie z.B. XOROperationen auf Integer, wie z.B. ADD, MAXGlobale Summe über 64k Knoten <2,5 µs

2 Virtual Channel

Optionaler I/O Knoten

Page 24: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2407.12.2004

Global Barrier

4 unabhängige Barriers oder Interruptkanäle, die mit AND bzw. OR verknüpft werden könnenPartitionierung wie bei Torus1,5 µs für globale Barriere über 64k KnotenPhysikalisch getrennt vom Global Tree

Page 25: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2507.12.2004

Gbit Ethernet

Funktionalität in allen Knoten vorhandenNur in I/O Knoten benutztAndere Knoten greifen über den Baum auf Ethernet zu

I/O Knoten sind Blätter im Baum

I/O Node

Gbit Ethernet

Page 26: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2607.12.2004

Control Network

Direkter Zugriff auf alle Knoten inklusive aller RessourcenAuslesen von StatusregisternKonfiguration der KnotenDebugmöglichkeit

100 Mbit Ethernet

Compute Nodes

Ethernet-to-JTAG

I/O Node

Page 27: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2707.12.2004

VerfügbarkeitKomponente FIT pro Komponente Komponenten in BG/L FIT pro SystemEthernet 160 2806 450k

DRAM 5 599.040 2.995k

Compute / IO ASIC 20 66.560 1.331k

Link ASIC 10 3072 30k

Clock Chip 5 ~11000 50k

Nicht-redundante Netzteile

500 768 384k

Insgesamt 5247k

FIT = Ausfälle in ppm pro 1000 Betriebsstunden1 FIT = 0,168·10-6 Ausfälle/Woche bei 24h Betrieb

Page 28: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2807.12.2004

Betriebssystem

Compute Nodes spezifischer KernelKeine KontextwechselKann nur eine Anwendung mit 2 Threads ausführenKernel und Anwendung teilen sich den AdressraumDirekte Abbildung von Speicher in den Adressraum, keine TLB misses, keine Page FaultsErgänzt durch eine Laufzeitbibliothek für direkten Zugriff auf Torus und BaumAnwendung kann Ressourcen vollständig ausschöpfen

Page 29: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 2907.12.2004

Betriebssystem

I/O Nodes LinuxAusführen mehrerer ProzesseNur Systemsoftware, keine ApplikationenStellt über den Baum I/O Operationen zur Verfügung

Zugriff auf ein DateisystemSocketverbindungen zu anderen Systemen

Unterstützung im Debuggen von Applikationen auf Compute Nodes

Page 30: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 3007.12.2004

Datei I/O

Application

libc

CNK

BG/L ASIC

fscanf

readLinux

ciod

BG/L ASIC

NFS

IP

readread data

Tree

File Server

Ethernet

Page 31: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 3107.12.2004

Zukunft

IBM eServer BlueGene - 5.7 TFlop/s (11/2004)BlueGene/L: Anfang 2005 im Lawrence Livermore National LaboratoryBlueGene/P: Petaflop Generation (Ende 2006)BlueGene/Q: 3. Generation (etwa 2010)

Page 32: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 3207.12.2004

Quellenverzeichnis[1] M. Blumrich, D. Chen, P. Coteus, A. Gara, M. Giampapa, P. Heidelberger, S. Singh, B. Steinmacher-Burow, T. Takken, P. Vranas: “Design and Analysis of the BlueGene/L TorusInterconnection Network”http://domino.watson.ibm.com/library/cyberdig.nsf/papers/654C703D8F16D55285256DFE005329A4/$File/rc23025.pdf[2] Agenda and Presentations for BlueGene Briefing Day - February 6, 2004http://www.research.ibm.com/bluegene/briefing_day.html[3] The BlueGene/L Team: “An Overview of the BlueGene/L Supercomputer”http://sc-2002.org/paperpdfs/pap.pap207.pdf[4] V. Puente, R. Beivide, J.A. Gregorio, J.M. Prellezo, J. Duator, and C. Izu: “Adaptive Bubble Router: a Design to Improve Performance in Torus Networks”[5] Papers Presented at the BlueGene/L: Applications, Architecture and Software Workshop -Sparks, Nevada, October 2003http://www.llnl.gov/asci/platforms/bluegene/agenda.html#links[6] IBM Research BlueGene Project Pagehttp://www.research.ibm.com/bluegene[7] Gyan Bhanot, Dong Chen, Alan Gara and Pavlos Vranas: “The BlueGene/L Supercomputer”[8] IBM BlueGene/L Supercomputer project – Press Resourceshttp://domino.research.ibm.com/comm/pr.nsf/pages/rsc.bluegene_2004.html

Page 33: BlueGene - Heidelberg Universityra.ziti.uni-heidelberg.de/pages/student_work/seminar/ws... · 2017-09-08 · 07.12.2004 BlueGene Folie 3 Motivation Die einzige Möglichkeit TFlops

BlueGene Folie 3307.12.2004

BlueGene/L

Quelle: IBM [8]