M2R HP Arch
M2R HP Arch
Hautes Performances
Arnaud Legrand
Chargé de Recherches, CNRS/ID-IMAG
Jean-François Méhaut
Professeur, UJF/ID-IMAG
Objectifs
• Comprendre
Architecture matérielle et logicielle des grappes
et des grilles de calcul
Aspects fondamentaux et technologiques
Différents types d'application
1998
ASCI RED
1TFlop
10k Ppro@333
Nombre
2006 Xbox 360
de machines 64k-128k 1TFlop
32k-64k
300 16k-32k
8k-16k
1 GPU
4k-8k
250 2k-4k
1k-2k
200 513-1024
257-512
129-256
150 65-128
33-64
17-32
2006 AMD
100
5-8
9-16
Opteron
Nombre
50
1
2
3-4
de processeurs 3Gflop
0
19
19
19
19
19
19
19
20
20
20
20
20
20
20
93
94
95
96
97
98
99
00
01
02
03
04
05
06
Calcul hautes performances
Programmation des machines parallèles
Calcul hautes performances
Programmation des machines parallèles
BlueGene/L
1 PetaFlop =
200k 5Gflop CPU
LHCb
CERN
The Large Hadron Collider Project
4 detectors CMS
ATLAS
Storage capacity–
Raw recording rate 0.1 – 1 GBytes/sec
10 PetaBytes of disk
LHCb
Computing Power –
200,000 of today’s fastest PCs
CERN
Earthquake Hazard Assessment
2001 Gujarati (M 7.7) Earthquake, India
PC
Commutateur
Myrinet/BIP
81.6 Gflops (216 nodes) + top 500 (385) June 2001
http://clic.mandrakesoft.com
HP Cluster : 104 HPBi Itanium 2
Example Clusters: Berkeley NOW
◆ 100 Sun
UltraSparcs
200 disks
◆ Myrinet SAN
160 MB/s
◆ Fast comm.
AM, MPI, ...
◆ Ether/ATM
switched external
net
◆ Global OS
◆ Self Config
Motivation for using Clusters
Cache Cache
Coherency Cache Cache
Coherency
Unit Unit
Processor Processor
Bus d’intercommunication OS
• Programme séquentiel
N’y aurait-il pas des instructions indépendante qui pourraient être
exécutées en parallèle?
• Comment générer de l’ILP?
Pipe-line du processeur
Recouvrement d’exécution d’instructions
Limité par la divisibilité de l’instruction
Superscalaire
Plusieurs unités fonctionnelles
Limité par le parallélisme intrinsèque du programme seq.
• Comment accroître l’ILP?
Prédictions sur les branchements conditionnels
Réordonnancer les instructions (Out of Order Execution)
• Recherche
Domaines de l’Architecture-compilation
Processeur SuperScalaire
…
4 Unités fonctionnelles
Ordonnanceur Temps
Interruption, exception, appel système Retour d’interruption
• Objectifs
Mener plusieurs activités indépendantes au sein d’un
processus
Exploitation des architectures SMP
Améliorer l’utilisation du processeurs (context-switch)
• Exemples
Simulations
Serveurs de fichiers
Systèmes d’exploitation (!)
• Solution sans l’aide du multithreading
Automate à états finis implanté « à la main »
(sauvegardes d’états)
Les processus légers
• Principe
Détacher flot d’exécution et ressources
thread
ressources
Processeur SuperScalaire
…
Scheduler
Interruption, exception, appel système Retour d’interruption
Temps
Hyperthreading
Evolution des architectures de
processeurs
Phase 1: Processeurs Multithreadés
Temps
Défaut de cache Défaut de cache Appel Système
Phase 2: Processeurs Multithreads (1)
• Processeur TERA
Phase 2: Processeurs Multithreadés (2)
Temps
Temps
Architecture processeur Cray-TERA
Applications
1 2 3 4
Streams
Pipeline d’instructions en
cours d’exécution
Résumé
What is Alpha?
1. A microprocessor, a chip, a cpu: EV4, EV5, EV6, EV7, EV8 . . .
TANDEM
4. CPU for future Non-Stop Himalaya systems (EV7) NSK
Cancelled in Sept 2001
5. Designed and engineered by Compaq;
outsourced manufacturing (fabrication); Microelectronics
35
EV67
30.3 .18μm
30
EV6
25
.25μm
20 18.8
15.0
15 13.6
10.1
10
7.43
.35μm
5.18
5 2.95
I/O
• 21264 (EV68) core with enhancements
• Integrated L2 cache Mem0 Router Mem1
– 1.75 MB (ECC)
– 20 GB/s bandwidth
• Integrated memory controllers
N L2 Tag E
– Direct RAMbus (ECC)
– 12 GB/s bandwidth
L2 S
– Optional RAID in memory
• Integrated network interface WL2
– Direct processor-processor interconnects
– 4 links - 25.6 GB/s aggregate bandwidth
Data Data
– ECC (single error correct, double error detect) P EV68 Core P
– 3.2 GB/s I/O interface per processor 0 4
1 5
2 6
3 7
Alpha systems family
servers and
workstations
AlphaServer sc
Series
1000s
processor
s
gs320
32-way
gs160
AlphaServer gs80 16-way
AlphaServer es40, es45 8-wayAlphaServer gs series
ds10, ds10L, 1- 4 Processors
ds20E, ds20L
1- 2 Processors
Processeur Itanium2 ® Intel ®
◆Architecture Itanium2 :
4ème génération de processeurs 64 bits Intel : Itanium2
(Madison9M)
EPIC: Explicit Parallel Instruction Computing
Fréquence : 1.5 Ghz
Puissance crête : 6 Gflops/s
➙ 1500 MHz * 2 madd/cycle → 6 GFLOPS
◆Intel Itanium2 :
L1I : 16ko; 64o/line ; 4 way
L1D : write through; 16ko; 1/- cycle; 64o/line ; 4 way ;
(2ld&2st)/cycle
L2U : write back; 256ko; 5/6cycle; 128o/line; 8 way; (4ldf) |
(2ldf[p]&2stf)
L3U : write back; 4Mo; 12/13cycle; 128o/line ; 24 way ; 48Go/s
Memory Front Side Bus (FSB) : 128o/line ; 6.4 Go/s
Processeur Itanium2 ®
Intel ®
256 ko
1 ko 16 ko 4 Mo
L1D cache
Registers
16 Go/s 32 Go/s
Integer
128
L2U cache
L3U cache
16 Go/s
1 ko
Registers
32 Go/s
128 FP
16
Go/s Altix™:
5+1 cycles 145+ ns
12+1cycles
Processeur Itanium2 ® Intel ® : Roadmap
Silicon Process
180 nm 130 nm 90 nm
Single CPU Performance
Comparison
1600
1380 Alpha EV68
1400 1266 1.25GHz ES45
1173
1200 Alpha EV68 1 GHz
1000 960 ES45
850 839
790 Itanium 2 1GHz
800 679
rx5670
600
PA-RISC 8700 750
400 MHz
200 Sun Spac III
1.05Ghz
0
IBM Power4 1.3
SPECint2000 SPECfp2000
Ghz
peak peak
Problèmes des architectures UMA
Accès à la mémoire:
des niveaux de caches efficaces permettent d’économiser des références à la mémoire
pour les autres (non cachés), les accès concourants des processeurs à la mémoire partag
un goulot d’étranglement
Register Register
File Functio File Functio
nal nal
Unit Unit
mémoire (mult,
add)
(mult,
add)
Cache Cache Cache Cache
Coherenc Coherenc
y y
Unit Unit
Processor Processor
OS
Cette difficulté peut être levée avec les architectures à mémoire distr
Mémoire distribuée
Technologie de masse
la bande passante globale mémoire-processeur
est proportionnelle au nombre de processeurs
modèles d’exécution : SIMD, MIMD, SPMD
2 paradigmes de communications :
➙ Mémoire partagée : OpenMP (si adressage global), POSIX
Threads
➙ Mémoire distribuée : MPI, PVM, …
P P P P
M E/S M E/S M E/S M E/S Les noeuds individuels
Réseau d’interconnexion peuvent contenir plusieurs
M E/S M E/S M E/S M E/S processeurs connectés
P P P P entre eux par la même
technologie que le réseau.
Architecture à mémoire partagée distribuée
Register Register OS
File Function File Function
m al m al
émoi Unit émoi Unit
re (mult, re (mult,
Cache add) Cache add)
Cache Cache
Coherenc Coherenc
y y
Unit
Processor Unit
Processor
noeud noeud
interconnect
SGI ALTIX™ 350 : module de base
Mémoire
Mémoire
10.2Go/sec
Itanium® 2
S
H
FSB
U NUMAlink™ 4
Itanium 2 B 6.4Go/sec
Altix350 8 cpu
SGI ALTIX™ 350 : Topologies
A A A A
350
A 350
A 350 350
A A
350
A 350
A 350 350
A A
350
A 350
A 350 350
Route Route A A Route
350
A 350
A r r 350 350 r
A A
350 350 NL4 NL4 350 350 NL4
A A A A
350
A 350
A 350 350
A A
350
A 350
A 350 350
A A
350 350 350 350
NASA Ames Background
Origin 2000 256p Origin 2000 512p
Note that
ends are
looped back
(closed)
EV7 64P Latency
pset_create
default_pset
cpu 0 cpu 1 cpu 2 cpu 3 pset 2
pset_assign_cpu 2 1
default_pset pset 2
cpu 0 cpu 2 cpu 3 cpu 1
Processor Sets : example
default_pset
cpu 0 cpu 1 cpu 2
cpu 3
pset_create
default_pset
cpu 0 cpu 1 cpu 2 cpu 3 pset 2
pset_assign_cpu 2 1
default_pset pset 2
cpu 0 cpu 2 cpu 3 cpu 1
Using Processor sets
◆ Systèmes traditionnels
Linux
Microsoft Windows
MacOS
SUN Solaris
IBM AIX
◆ Single System Image
Virtualisation de l'architecture
Une seule image système pour gérer la grappe
What Next ??
Cluster 1
Scheduler
Master
Daemon
LAN/WAN
Submit
Graphical Cluster 3
Control
Execution
Daemon Scheduler
Clients
Master
Daemon
Cluster 2
Scheduler Submit
Graphical
Master Control
Execution
Daemon Daemon
Clients
Submit
Graphical
Control
Execution
Daemon
Clients
Introduction aux grilles
Globalisation des ressources
informatiques et des données
Contenu de la présentation
Grille informatique
Les types de grilles informatiques et leur déploiement
Quelques grands défis
ACI Globalisation des Ressources Informatiques et des Données (GRID)
Le concept de Grille
le réseau électrique :
Approche pour la distribution de la puissance électrique et la haute-tension
Le concept de Grille informatique
(GRID)
• Grille de données
Stockage distribué à grande échelle
• Grille de calcul
Agréger la puissance de calcul
* «A distributed system is a collection of independent computers that appear to the users of the
system as a single computer » Distributed Operating System. A. Tanenbaum, Prentice Hall, 1994
Modèles de déploiement
• Client-serveur Client Internet
Client
Centralisé ou Distribué Client Cache
Proxy
Client
• Pair-à-Pair (P2P)
Chaque pair est à la fois client et Client/ Internet
Client/ Serveur
serveur Client/
Serveur
Client/
Serveur
Distribution de la charge dans le Serveur
réseau Client/
serveur serveur
Client/
Information distribuée Serveur
Zone de congestion
Serveur
Client/
Serveur Client/
Client/ Serveur
Serveur
Modèle client/serveur pour les Grilles
d’information : Le cas des sites WEB
Moteur de
• Sans doute la première Recherche
Client
Modèle client/serveur pour les Grilles de
données : Le cas NAPSTER
• Principe
Des millions de PC en attente…
Utilisation des cycles processeurs inutilisés
(environ 47% en moyenne dans une
entreprise *) via un économiseur d’écran
• Exemples
SETI@HOME (ce n’est pas du P2P!)
Recherche de signaux extra-terrestres
33.79 Teraflop/s (à comparer aux 12.3
Teraflop/s de l’ordinateur le plus puissant au
monde au LLNL !)
DECRYPTHON
Etablir la carte des 500 000 protéines du vivant
RSA-155
Casser des codes cryptographiques
• Principe Client
Ré
C
• Exemples
po
ns
e
Netsolve (Univ. Tennessee)
(C
)
NINF (Univ. Tsukuba) Op(C, A, B)
S1 S3 S4
DIET (ENS-Lyon/INRIA) S2
• Principe Exemples
Utiliser un supercalculateur Globus
parallèle virtuel Légion
Faire exécuter ses applications sur
des ressources distantes Unicore
GRAM Allocateurs de
ressources “50 processeurs + stockage
de GLOBUS de 10:20 à 10:40 pm”
• Grille de données
Gnutella, Freenet
• Grille d’information:
Recherche décentralisée à la google
• Middleware et systèmes
Internet computing
Metacomputing
Vers un Grid-aware OS ?
Ré
C
multiples entre client et
po
ns
serveurs
e
Op2(C, A, B)
(C
)
Op1(C, A, B)
Sécurité dans les
transferts S1 S2 S3 S4
Modèle de déploiement
P2P
• Codes parallèles
Proc.
Application parallèle
Une grille de calcul est vue
comme un calculateur parallèle
virtuel (la genèse du Grid)
Mécanique des structures
Thermique Dynamique
Application de couplage
Vers une algorithmique des
grilles de calcul
• Programmer une grille de calcul comme un calculateur
parallèle virtuel
• Repenser l’algorithmique parallèle
Essentiellement conçu pour des architectures parallèles régulières
et à configuration statique
• Caractéristiques des grilles informatiques
Unité de calcul hétérogène
Non-prédictibilité des performances des réseaux
Aspect dynamique des ressources de calcul
• Problèmes et défis
Politique d’ordonnancement des calculs
Equilibrage dynamique par redistribution intensive des données
Recouvrement calcul/communication
Couplage de codes
• Utilisation des exécutifs conçus pour la programmation parallèle
Une grille de calcul est un calculateur parallèle virtuel,Mécanique
la des structures
programmation par échange de message s’impose…
Optique
Thermique
Dynamique
SAN LAN
process
process
process
process
process
WAN
process SAN
process process
process
process Visualisation
Grappe de PC Supercomputer
process
Code 2
Code 3
Une approche plus moderne
Dynamique
Composant SAN LAN
Composant parallèle
séquentiel
process
processus
processus
process processus
processus
Grappe de PC
WAN
SAN
middleware
process process
processus
processus
processus
processus Visualisation
Composant Grappe de PC Supercalculateur
séquentiel
Composant
parallèle
ACI GRID
GUSTO Testbed
Why “The Grid”?
wide-area
dissemination
tomographic reconstruction
DOE X-ray source grand challenge: ANL, USC/ISI, NIST, U.Chicago
Collaborative Engineering
◆ Manipulate shared virtual
space, with
Simulation components
Multiple flows: Control,
Text, Video, Audio,
Database, Simulation,
Tracking, Haptics,
Rendering
◆ Issues:
(un)reliable uni/multicast
Security
Reservation & QoS
Caltech
NCSA Exemplar
Origin ◆ Issues:
Maui
Resource discovery, scheduling
Argonne
SP
SP Configuration
Multiple comm methods
Message passing (MPI)
Scalability
Fault tolerance
Info service:
“10 GFlops, EOS data, location + selection
20 Mb/sec -- for 20 mins”
Metacomputing
Resource “What computers?” Directory
Broker “What speed?” Service
“20 Mb/sec” “When available?”
GRAM
Globus Resource
Allocation Managers “50 processors + storage
from 10:20 to 10:40 pm”
◆Security (GSI)
Applications
Grid Services
Nexus GRAM
cn=Ian
cn=Gregor
Physical Structure cn=Steve
cn=Warren hn=sp1.mcs.anl.gov
…
hn=spN.mcs.anl.gov