IBM Systems and Technology Group © 2007 IBM Corporation Blue Gene, présentation générale...
-
Upload
berenger-madec -
Category
Documents
-
view
105 -
download
2
Transcript of IBM Systems and Technology Group © 2007 IBM Corporation Blue Gene, présentation générale...
IBM Systems and Technology Group
© 2007 IBM Corporation
Blue Gene, présentation générale
François BOTHOREL- Architecte HPC
IBM Systems and Technology Group
© 2007 IBM Corporation
Motivations du projet Blue Gene
Répondre aux limites des clusters traditionnels en termes de performance/consommation/administration/complexité/fiabilité
On constate qu’un grand nombre d’applications scientifiques tirent partie d’un grand nombre de processeur
Construire un système capable d’évoluer jusqu’à > 100k processeurs
– avec des processeurs faible consommation
– le plus dense possible incluant la mémoire et les réseaux
– Un rapport calcul/communication constant
Finalement, l’idée est simple
IBM Systems and Technology Group
© 2007 IBM Corporation
La ligne de produits BlueGene:
2004 20102007
Blue Gene/PPPC 450 @ 850MHz
3+ PF
Blue Gene/QPower Multi-Core
20+ PF
Blue Gene/LPPC 440 @ 700MHz
360+ TF
IBM Systems and Technology Group
© 2007 IBM Corporation
Principes de base BG/L Système massivement parallèle : un très
grand nombre de noeuds
– Basse consommation, pour une meilleure densité (25W / Noeud)
– Haute performance unitaire en calculs flottants
– Technologie “system on a chip” (intégration)
Interconnexion des noeuds selon un tore 3D
– Facilité de construction des configurations étendues (chaque noeud à 6 voisins)
– Les I/O et opérations globales se font sur des réseaux auxiliaires
Les applications se font selon un modèle SPMD (passage de message)
– Un processus par noeud
– Temps système diminué
IBM Systems and Technology Group
© 2007 IBM Corporation
BG/L : vue d’ensemble
2.8/5.6 GF/s4 MB
2 processors
2 chips, 1x2x1
5.6/11.2 GF/s1.0 GB
(32 chips 4x4x2)16 compute, 0-2 IO cards
90/180 GF/s32 GB
32 Node Cards
2.8/5.6 TF/s1 TB
64 Racks, 64x32x32
180/360 TF/s64 TB
Rack
System
Node Card
Compute Card
Chip
2 midplanes
IBM Systems and Technology Group
© 2007 IBM Corporation
Compute Card : 2 noeuds
1GB DDR
Heatsinks designed for 15W
54 mm (2.125”)
206 mm (8.125”) wide, 14 layers
Metral 4000 connector (180 pins)
IBM Systems and Technology Group
© 2007 IBM Corporation
32- way (4x4x2) node card
DC-DC converters
Gb Ethernet connectors through tailstock
Latching and retention
Midplane torus, tree, barrier, clock, Ethernet service port connects
16 compute cards
2 optional IO cards
Ethernet-JTAG FPGA
IBM Systems and Technology Group
© 2007 IBM Corporation
Rack de Calcul, vue réelle
Hot Air
Cold Air
IBM Systems and Technology Group
© 2007 IBM Corporation
Blue Gene/P
13.6 GF/s8 MB EDRAM
4 processors
1 chip, 20 DRAMs
13.6 GF/s2 or 4 GB DDR2
32 Node Cardsup to 64x10 GigE
I/O links
14 TF/s2 or 4 TB
up to 3.56 PF/s512 or 1024 TB
CabledRack
System
Compute Card
Chip 435 GF/s64 or 128 GB
32 Compute Cards up to 2 I/O cards
Node Card
The system scales to 256 racks achieving 3.56 PF/s peak
Quad-Core PowerPCSystem-on-Chip
(SoC)
up to 256 racks
IBM Systems and Technology Group
© 2007 IBM Corporation
Les éléments d’un système Blue Gene
Blue Gene Rack(s)Hardware/Software
Host SystemService Node and Front End Nodes
SuSE SLES9/10, HPC SW Stack,File Servers, Storage Subsystem,
XLF/C Compilers, DB2
IBM Systems and Technology Group
© 2007 IBM Corporation
Architecture générale d’un système Blue Gene
Les racks de BG/L sont intégrés dans un cluster plus général
Ce cluster est généralement composé
– D’un ou plusieurs serveurs frontaux
– D’un serveur de « service »
– De serveurs de fichiers
– De baies de stockage
Ce cluster est un cluster de gestion qui permet :
– De contrôler les racks de calcul
– De fournir un système de fichier aux racks
– De soumettre des travaux aux racks de calcul
Racks Blue Gene
IBM Systems and Technology Group
© 2007 IBM Corporation
Organisation hiérarchique
Nœud de service : management du système de manière transparente à l’utilisateur
Nœuds I/O : fournissent un panel de services plus complets comme les sockets, la gestion des fichiers…tourne sous Linux
Nœuds de calcul : dédiés aux processus utilisateurs, micro noyau CNK
Blue Gene
IBM Systems and Technology Group
© 2007 IBM Corporation
Nœud de base du BG/L
1 nœud de base = 1 chip + 1 GB de mémoire ( BG/P: 2 ou 4 GB)
2 CPU par nœud (BG/P: 4 CPU)
Chaque CPU possède une unité SIMD ( 2 FMA/cycle)
2 types de nœud : I/O et calcul (ratio de 1:16 à 1:128 selon config), diffèrent par l’OS tourné
Réseaux intégrés
Pas de pagination
Kernel de calcul simplifié pour les nœuds de calcul et Linux pour les nœuds I/O
Pas de SMP ni cohérence de cache, 1 processus/ processeur (BG/P: le nœud de base dispose d’une cohérence mémoire SMP)
IBM Systems and Technology Group
© 2007 IBM Corporation
Les réseaux (1/3) : Tore 3D
Relie tous les noeuds de calcul, pas les noeuds d’I/O
Communication avec les voisins
– Point à Point
Routage Hardware
Bande passante : 2.1 GB/s par noeud
4 µs de latence entre proches voisins pour un saut (hop) avec MPI, 10 µs au plus loin
IBM Systems and Technology Group
© 2007 IBM Corporation
Les réseaux (2/3) : Global Tree (Arbre)
Relie les noeuds de calcul aux noeuds I/O
Dorsale de communication pour les applications I/O, sockets…
Opérations arithmétiques implémentées
Dorsale de communication spécialisée pour le calcul :
– One to All Broadcast, All to All,
– Opérations de réduction sur les noeuds de calcul
700MB/s de bande passante
Latence : 5 µs (Round Trip Worst Case)
IBM Systems and Technology Group
© 2007 IBM Corporation
Les réseaux (3/3) : Autres Réseau de contrôle
– Permet l’accès du nœud de service aux nœuds I/O et calcul
– Debug,monitoring…
Ethernet
– Uniquement actif dans les nœuds d’I/O
– Permet aux applications de communiquer avec l’extérieur (I/O, contrôle, interaction utilisateurs)
Global Barrier & Interrupt (basse latence)
– Permet d’implémenter le « MPI_Barrier »
– Relie tous les nœuds de calcul et I/O
– Latence de la boucle 1,3 µs (65536 nœuds )
IBM Systems and Technology Group
© 2007 IBM Corporation
Les réseaux du Blue Gene/P
– Torus• Compute nodes only• Direct access by app• DMA
– Collective• Compute and I/O node attached• 16 routes allow multiple network
configurations to be formed• Contains an ALU for collective
operation offload• Direct access by app
– Barrier• Compute and I/O nodes• Low latency barrier across system
(< 1usec for 72 rack)• Used to synchronize timebases• Direct access by app
– 10Gb Functional Ethernet
• I/O nodes only
– 1Gb Private Control Ethernet
• Provides JTAG, i2c, etc, access to hardware. Accessible only from Service Node system
– Clock network
• Single clock source for all racks
IBM Systems and Technology Group
© 2007 IBM Corporation
Le hardware, du point de vue programmeur Deux CPUs par chip (BG/P : 4 CPU)
Chaque CPU peut effectuer 2 multiply/adds flottants
32 x 64-bit double FP Registers
La fréquence des CPUs est de 700 MHz (relativement lent, mais équilibré avec la mémoire, contrôleur mémoire intégré…) (BG/P: 850 MHz)
Adressage mémoire 32 bits
La performance crête est de 5.6 GFlops par noeud. (BG/P: 13.6 GFlops)
Mémoire intégrée : L1 (32KB) , L2 (4KB, prefetch), L3 ( 4MB) (BG/P 8MB)
Tore 3D– Point to point: MPI_ISEND, MPI_IRECV
Global combine/broadcast tree network– Collectives: MPI_GATHER, MPI_SCATTER
Barrier/Interrupt– Synchronisation : MPI_BARRIER
IBM Systems and Technology Group
© 2007 IBM Corporation
2 façons d’utiliser le hardware
Mode virtuel
– CPU0 et CPU1 gère des taches indépendantes « virtuelles »
– Chacun effectue ses calculs et sa communication
– Le calcul et la communication ne se recouvrent pas
– Performance de 5.6 Gflops
Mode coprocesseur
– CPU0 gère le calcul
– CPU1 gère les communications
– La communication recouvre le calcul
– Performance crête de 5.6/2=2.8 Gflops
CPU0
CPU1
CPU0
CPU1
IBM Systems and Technology Group
© 2007 IBM Corporation
Mode virtuel VS Mode coprocesseur
Virtuel
– Le double de puissance
– Mais pas le double de performances :
• Moitié moins de mémoire (512 MB / CPU)• Moitié moins de cache L3• Moitié moins de bande passante réseau• Le CPU se charge du calcul ET des communications
Coprocesseur
– Seulement 1 CPU dispo pour exécuter le code utilisateur
– Mais toute la mémoire a disposition ( 1GB)
– L’autre CPU décharge la communication
– Uniquement bénéfique lors de l’utilisation de communications point à point
IBM Systems and Technology Group
© 2007 IBM Corporation
Quad ModePreviously called Virtual Node
Mode
All four cores run one MPI process each
No threading
Memory / MPI process = ¼ node memory
MPI programming model
Dual ModeTwo cores run one MPI
process each
Each process may spawn one thread on core not used by other process
Memory / MPI process = ½ node memory
Hybrid MPI/OpenMP programming model
SMP ModeOne core runs one MPI
process
Process may spawn threads on each of the other cores
Memory / MPI process = full node memory
Hybrid MPI/OpenMP programming model
M
P
M
P
M
P
Memory address space
M
Co
re 0
P
Application
Co
re 1
Co
re 2
Co
re 3
Application
M
P
T
M
P
TCo
re 0
Co
re 1
Co
re 2
Co
re 3
Memory address space
CPU2 CPU3
Application
M
P
T T TCo
re 0
Co
re 1
Co
re 2
Co
re 3
Memory address space
Blue Gene/P job modes allow flexible use of node resources
IBM Systems and Technology Group
© 2007 IBM Corporation
Environnement logiciel
IBM Systems and Technology Group
© 2007 IBM Corporation
Les points forts du BG
Une exploitation totalement centralisée: tout se passe sur le nœud de service
Les partitions de calcul démarrent à chaque nouveau calcul: pas d’effet induit d’un calcul sur les suivants
Un environnement de programmation standard
– Linux complet sur les nœuds frontaux
– Un micro noyau (CNK) sur les nœuds de calcul qui fournit une compatibilité Linux et POSIX
Le temps de calcul est très stable (pas d’interférence du système d’exploitation)
Le système BG/L à LLNL) démarre en moins de 15 min
Le temps de démarrage d’un job n’est que de quelques secondes, même sur des milliers de processeurs
IBM Systems and Technology Group
© 2007 IBM Corporation
Environnement software simple et familier Modèle de programmation SPMD, Fortran, C, C++ avec MPI
– Compilateurs GNU et IBM (supportent la SIMDization)
– Support total des langages
Environnement de développement Linux, avec implémentation de la plupart des appels systèmes POSIX
– Les compilations et autres, s’exécutent sur les frontaux Linux
– Les utilisateurs compilent, débuguent et soumettent les jobs depuis les frontaux
Pas de jobs concurrents au sein d’une même partition de calcul, un processus par processeur
Mémoire virtuelle = mémoire physique
Débuggeurs moniteurs hardware, outils de traces
IBM Systems and Technology Group
© 2007 IBM Corporation
Outils HPC sur Blue Gene Compilateurs XL
– Options spécifiques BlueGene –qarch=440d
LoadLeveler– Meme api– Backfilling pour une meilleure
utilisation du système
GPFS– Système de fichier haute
performances– Tourne sur les I/O nodes et les
serveurs
ESSL/MASSv– Librairies IBM optimisées pour tirer
partie du PPC440 (double FPU)– Librairie statique pour applications 32
bits : Maths, FFT– Interfaçage en C, C++, FORTRAN
Outils haute performance– HPC Toolkit
MPI– Basé sur MPICH2– Optimisé pour BG, compatible MPI
1.2
Compilateurs GNU– Optimisés BG– C,C++
Librairies scientifiques GNU– FFTW– Lapack, Scalapack, BLAS– …
IBM Systems and Technology Group
© 2007 IBM Corporation
Outils HPC sur Blue Gene Systèmes de fichiers
Lustre at LLNL, PVFS2 at ANL
Gestionnaires de travauxSLURM at LLNL, Cobalt at ANLCondor HTC (porting for BG/P)
Parallel DebuggerEtnus TotalView (for BG/L as of now, porting for BG/P)Allinea DDT and OPT (porting for BG/P)
BibliothèquesFFT Library - Tuned functions by TU-ViennaVNI (porting for BG/P)
Outils de performanceHPC Toolkit: MP_Profiler, Xprofiler, HPM, PeekPerf, PAPITau, Paraver, Kojak
IBM Systems and Technology Group
© 2007 IBM Corporation
MPI
Single Program Multiple Data
Librairie la plus utilisée pour la programmation parallèle (C/C++, FORTRAN)
Implémente le modèle par passage de message : une collection de processus communiquant par des messages
www.idris.fr/su/Parrallele/Pages_generale.html
http://www.llnl.gov/computing/tutorials/mpi_performance/#Protocols
Network
0 1 2 3
memory
process
IBM Systems and Technology Group
© 2007 IBM Corporation
MPI sur Blue Gene
Implémentation MPI standard basées sur MPICH2 d’Argonne
BlueGene/L MPI est conforme au standard MPI 1.2 :
– Pas de communication one-sided (BG/L)
– Pas de spawn des processus
– Support le modèle de threads MPI_THREAD_SINGLE
– MPI/IO fonctionne
Tirer le meilleur parti de l’implémentation MPI Blue Gene est plus difficile (schéma de communication)
– Grande échelle
– Réseaux particuliers (privilégier les communications globales)
– Gestion des I/O
IBM Systems and Technology Group
© 2007 IBM Corporation
MPI : Software model
MPICH2 PMIcollectivespt2pt datatype topo
CH3
socket
MM
simple
uniprocessorMessage passing
mpd
MessageLayer
bgl
torus tree GI bgltorus
TorusDevice
TreeDevice
GIDevice
CIOProtocol
PacketLayer
Abstract Device Interface
“glue”
IBM Systems and Technology Group
© 2007 IBM Corporation
GPFS sur Blue Gene
3 niveaux
– Premier niveau constitué des I/O nodes, qui sont des clients GPFS
– Second niveau est constitué d’un cluster de serveurs GPFS
– Troisième niveau constitué par les disques
La connexion entre le premier et le second niveau est en Ethernet
La connexion entre le second et le troisième tiers est en Fibre Channel
DISK DISKDISK DISK
I/O I/O I/O I/O I/O I/O I/O I/O I/O
Ethernet fabric
NSD NSD NSD NSD NSD
SAN fabric
IBM Systems and Technology Group
© 2007 IBM Corporation
LoadLeveler
L’utilisateur soumet un job depuis un des frontaux
La commande « llsubmit » contacte le « Central Manager » pour placer le job dans la file d’attente
Le « Scheduler » rappatrie la liste des jobs pour appliquer les règles d’ordonnancement
Le « Scheduler » utilise le CMCS pour créer une partition et demande au « Central Manager » de démarrer le job
Le « Central Manager » contact le démon « Startd » sur le frontal pour lancer mpirun
mpirun contact le CMCS pour lancer le job sur la parition et reste actif sur le frontal pour agir comme un proxy
CentralManager
Startd
llsubmit
Scheduler
CMCS
mpirun
Service node Front-end node
IBM Systems and Technology Group
© 2007 IBM Corporation
Blue Gene : Les applications
IBM Systems and Technology Group
© 2007 IBM Corporation
Physics – Materials ScienceMolecular Dynamics
Environment and Climate Modeling Life Sciences: Sequencing
BiologicalModeling – Brain Science
Computational Fluid Dynamics
Life Sciences: In-Silico Trials, Drug Discovery
Financial ModelingStreaming Data Analysis
Geophysical Data ProcessingUpstream Petroleum
Why and for What is Blue Gene used? Improve understanding – significantly larger scale, more complex and higher resolution
models; new science applications Multiscale and multiphysics – From atoms to mega-structures; coupled applications Shorter time to solution – Answers from months to minutes
IBM Systems and Technology Group
© 2007 IBM Corporation
What is driving the need for Petascale computing in Environment and Geosciences?
Example Petascale Challenges:Example Petascale Challenges:
ClimateClimate
5 years/day at 10km resolution, global scale (mesoscale structure)
WeatherWeather
1 day/hour at 5km resolution, global scale
1 day/hour at 1km resolution, continental scale (thunderstorms)
2 hours/day at 10m resolution, local scale (tornadoes)
OceanographyOceanography 40 years/month at 10km resolution, global scale (eddy scale with biology)
HydrologyHydrology 10 years/week at 1km resolution, large basin scale
SpaceSpace WeatherWeather Coronal Mass Ejections (CME) faster than real-time (coronal B-field fine structure)
EarthEarth SystemSystem ScienceScience Model coupling across multiple scales and domains
IBM Systems and Technology Group
© 2007 IBM Corporation
Classified Defense and Scientific Research
Physics: GFMC , GTC, Nimrod, QCD-IBM, QMC, SPHOT, RXMD, GENE
Astro Physics: Capreole, CubePM, Flash, Enzo
High-Res Atmospheric/Ocean, Weather & Climate: XHIRLAM, POP, HOMME, WRF
Material Science: FDTD Nanophotonics, ParaDis, LSMS
Bio Sciences
Classical Molecular Dynamics: DL-POLY, Blue Matter, SPaSM, ddCMD, MDCASK, Grasp, LAMMPS, Amber (8 and 9), NAMD, Rosetta
Quantum Chemistry: CASTEP, GAMESS, CPMD, FEQMD, Qbox, CPV, Divcon Discovery Suite, VASP
BioInformatics: GigTigs, PaCE, mpiBlast, FASTA/Smith-Waterman, HMMER
Medical: PNEO, Blue Brain, GNS, Immunetrics, SPLIT
MCAD/CAE
CFD: CDP, PETSc-FUN3D, PPanel, AVBP, Code_Saturne, NEKTON, DNS, SAGE, Miranda, Raptor, Overflow-2, FUN3D, Ludwig, NEK5000, NSU3D
CAE/Crash: ADVC
Petroleum/Seismic: AWM, PSTM/PSDM/Ray Tracer, MOSRP, Hercules
Other
CAE/EDA: EMF3
Petroleum
Petroleum/Reservoir: IPARS
Other/Supply Chain: MIPO/SmartOps
Lbraries, Tools, Benchmarks
Libraries: PETSc, ATLAS/BLAS/LAPACK, ESSL, Scalapack, Global Arrays, FFTW
Tools: PBS Pro, Accelerant, Lustre, GPFS, HPC Toolkit, LoadLeveler, KOJAK, LSF, TotalView, TAU/KTAU, Condor-HTC
Benchmarks: GUPS, HPL-Linpack, HPC Challenge, Sweep3D, SPPM, UMT2K
*NOTE: Scalable in our list are codes that scale at least to 512 nodes (1/2 rack of BG). These are either published results or the code owners allowed IBM to talk about their results on the BG/L systems.
Examples of Applications Enabled & Scalable* on BG/LLatest list: http://www.ibm.com/servers/deepcomputing/bluegene/siapps.html
IBM Systems and Technology Group
© 2007 IBM Corporation
Applications ported to BG/L will run on BG/P after recompileApplications ported to BG/L will run on BG/P after recompile
General performance improvement of 2.4 going from BG/L to BG/P
Some applications have ratio >2.4 due to “superscaling
SMP mode with 4 threads on BG/P can achieve better performance than BG/L nodes
Classified Defense and Scientific Research
Physics: DSTASR, SPHOT, ICEPIC, GENE, QCD-IBM, MiLC
Astro Physics: Flash
High-Res Atmospheric/Ocean, Weather & Climate: BOM, HOMME, NLOM/HYCOM, POP, WRF, HYCOM
Material Science: PARATEC
Bio Sciences
Classical Molecular Dynamics: LAMMPS, NAMD, Amber9
Quantum Chemistry: CPMD, DALTON, GAMESS
Docking: DOCK6
Bio Informatics: HMMER, PBPI
MCAD/CAE
CFD: AVUS, CTH, NECK5000, Overflow2, Raptor, StarCD
Libraries and Tools
Libraries: ESSL, IMSL, LoadLeveler
Tools: TotalView, Allinea, VNI
Benchmarks: HPC Challenge, HPL-Linpack, MPP Test, NAS, OOCORE, PALLAS, SPPM, Stream, UMT2K, NAS Serial, NAS OpenMP, NAS Parallel,
* NOTE: These are either published results, published benchmarks, or the code owners allowed IBM to talk about their porting status. Many other applications are currently being ported over and tested.
Examples of Applications Ported to BG/P*Latest list: http://www.ibm.com/servers/deepcomputing/bluegene/siapps.html