La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Blue Gene, présentation générale

Présentations similaires


Présentation au sujet: "Blue Gene, présentation générale"— Transcription de la présentation:

1 Blue Gene, présentation générale
François BOTHOREL- Architecte HPC

2 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

3 La ligne de produits BlueGene:
Blue Gene/P PPC 850MHz 3+ PF Blue Gene/Q Power Multi-Core 20+ PF Blue Gene/L PPC 700MHz 360+ TF Blue Gene /P is the second generation Blue Gene, following IBM’s successful Blue Gene/L. The third generation of Blue Gene is Blue Gene/Q, whish is targeted for delivery in 2010, with a target of 10’s of PetaFLOPS. 2004 2007 2010

4 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é

5 BG/L : vue d’ensemble 64 Racks, 64x32x32 32 Node Cards 180/360 TF/s
System BG/L : vue d’ensemble 64 Racks, 64x32x32 Rack 32 Node Cards 2 midplanes Node Card 180/360 TF/s 64 TB (32 chips 4x4x2) 16 compute, 0-2 IO cards 2.8/5.6 TF/s 1 TB Compute Card 2 chips, 1x2x1 90/180 GF/s 32 GB Chip 2 processors 5.6/11.2 GF/s 1.0 GB 2.8/5.6 GF/s 4 MB

6 Compute Card : 2 noeuds Metral 4000 connector (180 pins)
Heatsinks designed for 15W 54 mm (2.125”) 206 mm (8.125”) wide, 14 layers 1GB DDR

7 32- way (4x4x2) node card Ethernet-JTAG FPGA 16 compute cards
Midplane torus, tree, barrier, clock, Ethernet service port connects 16 compute cards Ethernet-JTAG FPGA DC-DC converters 2 optional IO cards 32- way (4x4x2) node card Gb Ethernet connectors through tailstock Latching and retention

8 Rack de Calcul, vue réelle
Hot Air Cold Air

9 Blue Gene/P The system scales to 256 racks achieving 3.56 PF/s peak
up to 256 racks Cabled 32 Node Cards up to 64x10 GigE I/O links Quad-Core PowerPC System-on-Chip (SoC) up to 3.56 PF/s 512 or 1024 TB 32 Compute Cards up to 2 I/O cards Node Card 14 TF/s 2 or 4 TB Compute Card This is the basic schematic design of the Blue Gene /P solution. Starting with the POWER PC 450 chip on the bottom left, with it’s system on a chip, which includes 5 network connections into the chip, to it’s fully implemented rack design, with it’s classic angled plenum, designed to maximize airflow across the chips in the rack. The compute card is a complete 4 way SMP server, with all memory and processing necessary. 32 Compute cards are installed into a node card, which is then installed into the rack. With 32 node cards, each rack contains way processors, with a total of way SMP’s or 4096 processors, for a total of 14 TeraFLOPS’s per rack. Racks are then cabled together to for the integrated network fabric. 1 chip, 20 DRAMs The system scales to 256 racks achieving 3.56 PF/s peak Chip 435 GF/s 64 or 128 GB 4 processors 13.6 GF/s 2 or 4 GB DDR2 13.6 GF/s 8 MB EDRAM

10 Les éléments d’un système Blue Gene
Blue Gene itself, is a stateless system, that depends on front ends and service processors to make a complete system. This model makes for a much more simplified support structure and reduced costs when you look at larger systems. Host System Service Node and Front End Nodes SuSE SLES9/10, HPC SW Stack, File Servers, Storage Subsystem, XLF/C Compilers, DB2 Blue Gene Rack(s) Hardware/Software

11 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

12 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

13 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)

14 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

15 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)

16 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 )

17 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 Barrier Compute and I/O nodes Low latency barrier across system (< 1usec for 72 rack) Used to synchronize timebases 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

18 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

19 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

20 Mode virtuel VS Mode coprocesseur
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

21 Quad Mode Dual Mode SMP Mode
Blue Gene/P job modes allow flexible use of node resources Quad Mode Previously called Virtual Node Mode All four cores run one MPI process each No threading Memory / MPI process = ¼ node memory MPI programming model Dual Mode Two 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 Mode One core runs one MPI process Process may spawn threads on each of the other cores Memory / MPI process = full node memory M P Memory address space Core 0 Application Core 1 Core 2 Core 3 Application M P T Core 0 Core 1 Core 2 Core 3 Memory address space CPU2 CPU3 Application M P T Core 0 Core 1 Core 2 Core 3 Memory address space Processes: A process is a piece code running on a computer. Every program running on a computer uses at least one process. Each process consists of an address space (the part of the memory where the process is running) and a flow of control (a way to know which piece of the program the processor is running at any instant). When several processes are running at the same time, each has its own address space and flow of control. Threads: Often a process needs to fork, or make a copy of itself, to create a child process. Like its parent process, the child process has its own address space and flow of control. A thread is like a child process, except all the threads associated with a given process share the same address space. The advantage of threads is that it takes much less CPU time to switch among threads than between processes, because there's no need to switch address spaces. In addition, because they share address space, threads in a process can communicate more easily with one another. The downside of threads is that programs using threads are harder to write and debug. Not all programming libraries are designed for use with threads. Thread-related bugs can also be more difficult to find.

22 Environnement logiciel

23 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 These are the Blue Gene highlights.

24 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

25 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

26 Outils HPC sur Blue Gene
Systèmes de fichiers Lustre at LLNL, PVFS2 at ANL Gestionnaires de travaux SLURM at LLNL, Cobalt at ANL Condor HTC (porting for BG/P) Parallel Debugger Etnus TotalView (for BG/L as of now, porting for BG/P) Allinea DDT and OPT (porting for BG/P) Bibliothèques FFT Library - Tuned functions by TU-Vienna VNI (porting for BG/P) Outils de performance HPC Toolkit: MP_Profiler, Xprofiler, HPM, PeekPerf, PAPI Tau, Paraver, Kojak

27 MPI 1 2 3 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 Network 1 2 3 memory process

28 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

29 Abstract Device Interface
MPI : Software model Message passing MPICH2 PMI pt2pt datatype topo collectives Abstract Device Interface torus tree GI simple uniprocessor mpd bgltorus CH3 MM bgl socket Message Layer “glue” Packet Layer Torus Device Tree Device GI Device CIO Protocol

30 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 I/O Ethernet fabric NSD SAN fabric

31 LoadLeveler Service node Front-end node
Central Manager Startd llsubmit Scheduler CMCS mpirun Service node Front-end node 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

32 Blue Gene : Les applications

33 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 Physics – Materials Science Molecular Dynamics Environment and Climate Modeling Life Sciences: Sequencing Biological Modeling – Brain Science Computational Fluid Dynamics Life Sciences: In-Silico Trials, Drug Discovery Financial Modeling Streaming Data Analysis Geophysical Data Processing Upstream Petroleum These are some of the application areas that Blue Gene has been used for. The later charts talk in detail about each of these areas. One common thread found across application areas is the need for our clients to simulate complete systems starting from a miniscule level to a larger level. Whether it’s modeling materials at an atomic level, and then growing that simulation to a larger usable size, such as a nuclear reactor, to modeling a petroleum reservoir from experimental microscopic data, to large scale petrophysics of the rock structure across hundreds of miles.

34 What is driving the need for Petascale computing in Environment and Geosciences?
Example Petascale Challenges: Climate 5 years/day at 10km resolution, global scale (mesoscale structure) Weather 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) Oceanography 40 years/month at 10km resolution, global scale (eddy scale with biology) Hydrology 10 years/week at 1km resolution, large basin scale Space Weather Coronal Mass Ejections (CME) faster than real-time (coronal B-field fine structure) Earth System Science Model coupling across multiple scales and domains

35 Examples of Applications Enabled & Scalable
Examples of Applications Enabled & Scalable* on BG/L Latest list: 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.

36 Examples of Applications Ported to BG/P. Latest list: http://www. ibm
Applications 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.


Télécharger ppt "Blue Gene, présentation générale"

Présentations similaires


Annonces Google