BlueGene
Seminarvortrag WS 2004/05Sven Kapferer
Lehrstuhl für RechnerarchitekturUniversität Mannheim
BlueGene Folie 207.12.2004
Gliederung
EinführungMotivationVergleich mit anderen Architekturen
Architektur des BlueGeneHierarchische ÜbersichtVerbindungsnetzwerkeRouting und Flusskontrolle
BetriebssystemZukunft
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!
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
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]
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
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
BlueGene Folie 807.12.2004
Compute ASIC (2)
Quelle: IBM [2], Präsentation 3
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
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
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
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
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
BlueGene Folie 1407.12.2004
Link BoardMidplane (540 Pins)
Link ASIC
Ethernet-> JTAG FPGA
Quelle: IBM [2], Präsentation 3
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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)
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
BlueGene Folie 3307.12.2004
BlueGene/L
Quelle: IBM [8]