Vous êtes sur la page 1sur 55

Architecture des

Serveurs - Options

Octobre 2001
René J. Chevance

Contenu
 Parts de marché des serveurs
 Options d’architecture
 Couplage serré - SMP
 SMP à grand nombre de processeurs (CC-NUMA, COMA)
 Couplage lâche
 Clusters Unix, NT et Sysplex
 MPP
 Relation architecture des serveurs/SGBD
 Rapprochement des besoins, des options et comparaison des options
 Exemples
 Couplage serré - Multiprocesseur symétrique (SMP)
 SMP à nombre modéré de processeurs
 SMP à grand nombre de processeurs
 CC-NUMA
 COMA
 Couplage lâche - Clusters et MPP
 Conclusions et Perspectives
 Références et adresses utiles
 Compléments
 Réseaux de stations de travail
Page 2  Supercalculateur vectoriel NEC SX-5
© RJ Chevance

Page 1
Marché des serveurs
 Parts de marché 2000 pour les systèmes
moyen et haut de gamme (chiffres IDC)
Midrange Server ($100K to $1M) - 2000 Market $17.6B High End Server (>=$1M) - 2000 Market $11.4B
Source IDC Source IDC

Others IBM Others IBM


19% 29% 33% 33%

Sun
HP
20%
Sun 7%
Compaq
HP 19%
Compaq 8%
23%
9%

Page 3

© RJ Chevance

Parts de marché des systèmes d’exploitation


 Parts de marché des systèmes d’exploitation « serveur » et
évolution

Marché mondial des systèmes d'exploitation "serveur" en 2000


(Source IDC)
(Nombre de copies vendues)

Autres
2%
Unix
13%
Windows
Netware 41%
17%

Evolution des parts de marché mondial des


Linux systèmes d'exploitation "serveur" (Source IDC)
27% (Nombre de copies vendues)

50%
40% Windows
Linux
30%
Netware
20%
Unix
10% Autres
0%
Page 4 1998 1999 2000
© RJ Chevance

Page 2
Options d’architecture

Page 5

© RJ Chevance

Architecture des Serveurs

 Deux grandes familles :


 Couplage serré ou multiprocesseur
symétrique (SMP pour Symmetric
Multiprocessor))
 Couplage lâche
 Clusters
 Massively Parallel Processing (MPP)
 Comparaison
 Une autre vision des architectures
 Share Everything
 Shared Disks
 Share Nothing
Page 6

© RJ Chevance

Page 3
Couplage serré - SMP
Processeur Processeur Processeur

Liaison processeur/mémoire Applications


/entrées-sorties
Contrôleur
système Mémoire
Système(s) de
Middleware Gestion de Bases
Bus d ’entrées-sorties de Données

Système d’exploitation
Contrôleur E/S Contrôleur E/S

ou

Ressources matérielles
(processeurs, mémoire, contrôleurs
et périphériques)

a) Vision matérielle de l’architecture b) Vision logicielle de l’architecture


multiprocesseur symétrique multiprocesseur symétrique

Dans un SMP, tous les processeurs peuvent accéder à toutes les ressources du système
(mémoire, dispositifs d'entrées-sorties). Un SMP fonctionne sous le contrôle d'un seul
système d'exploitation, qui gère donc l'ensemble des ressources du système.
Page 7
Le modèle naturel de programmation est le partage de mémoire entre les processus.
© RJ Chevance

Modèles de traitement
 Modèles d ’exécution et de programmation

Mémoire
Mémoire partagée
partagée cohérente
cohérente
Mémoire Mémoire
partagée partagée
Processus
cohérente Passage cohérente
Processus de messages
Processus Processus

Processeur Processeur
Processeur Processeur Processeur Processeur Processeur
Processeur Processeur
Processeur Processeur
Processeur Processeur
Processus Processus Processus Processus Processus Processus
Processus Processus Processus Processus Processus Processus Processus

a) - Monoprocesseur b) - Multiprocesseur à couplage serré c) - Multiprocesseur à couplage lâche

Page 8

© RJ Chevance

Page 4
Couplage serré - Avantages et inconvénients
+ "Scalabilité" du système à un − Existence d’un point de
coût modéré; défaillance unique constitué par
+ Augmentation de performance le système d’exploitation (ainsi
que par des éléments matériels)
aisée: ajout d'une carte ou d'un
module processeur; − Les opérations de maintenance
+ Efficacité multiprocesseur: nécessitent, généralement, l’arrêt
du système
l'ajout d'un processeur augmente
la puissance (dans des limites − Limitation du nombre de
définies); processeurs du fait des conflits
+ Simplicité et efficacité du modèle d'accès au niveau matériel (bus)
et logiciel (système
de programmation
d'exploitation, SGBD, ….);
+ Transparence des applications:
− Complexité du matériel et du
les applications pour "mono-
processeur" s'exécutent sans logiciel pour les SMP à grand
changement mais seules les nombre de processeurs (CC-
applications "multi-threaded" NUMA);
tirent parti de l'architecture; − Adaptation et réglage coûteux du
+ Disponibilité: suite à la panne système d'exploitation;
d'un processeur, le système peut − Adaptation nécessaire des
re-démarrer avec les applications pour tirer profit de la
processeurs restants; performance disponible.
Page 9
+ Possibilité de partitionner le
© RJ Chevance système

Couplage lâche

Applications Applications

Proc. Système(s) de
Proc. Réseau
Proc. Middleware Gestion de Bases
d’interconnexion
de Données
Ctrl.
Mémoire
Syst.
Système d’exploitation
Système d’exploitation
Système d’exploitation
Système d’exploitation
Ctrl E/S Ctrl E/S

Contrôlé par sa propre Ensemble des ressources matérielles


copie du système
(processeurs, mémoire, contrôleurs
d ’exploitation
et périphériques)
a) Vision technique de l’architecture b) Vision système de l’architecture
à couplage faible à couplage faible

• Le système est constitué par l'interconnexion, au moyen d'une technologie de réseau local rapide,
d'un certain nombre de systèmes indépendants (appelés nœuds) , chacun de ces systèmes possède
ses propres ressources (processeurs, mémoire, entrées-sorties) et fonctionne sous le contrôle de sa
propre copie du système d'exploitation.
• C’est un couplage lâche car les nœuds ne partagent pas de mémoire (cas général).
• Différences par rapport à un système distribué : homogénéité des différents nœuds (fournisseur et système
Page 10 d’exploitation), proximité géographique et image système unique pour certaines ressources.
• Le mode naturel de communication des applications est le passage de messages.
© RJ Chevance

Page 5
Cluster et MPP
Cluster MPP
Système Système
Système Système
d'exploitation d'exploitation
d'exploitation d'exploitation
+ "clusterisation" + "clusterisation"
+ "clusterisation" + "clusterisation"

°°° °°°
CPU Mem CPU Mem
CPU Mem CPU Mem

Réseau d’interconnexion
standard Réseau d’interconnexion spécifique

Share Nothing
Packaging spécifique

Shared Disk
Deux options d'architecture Typiquement une seule option
Page 11
au niveau des disques d'architecture au niveau des disques
© RJ Chevance

Réseaux d’interconnexion

 Caractéristiques comparées

Débit
Latence Débit
Latence Débit

Latence

Débit
Latence

Nombre de nœuds Nombre de nœuds

a) - Cas du cluster (typique) b) - Cas du MPP (idéal)

Page 12

© RJ Chevance

Page 6
Clusters
 Ensemble de systèmes (noeuds) interconnectés
 Réseau d'interconnexion de technologie standard e.g.
Ethernet, FDDI, Fibre Channel
 Chacun de ces noeuds dispose de processeur(s), de mémoire,
de ressources locales d'entrées-sorties et dispose de sa
propre copie du système d'exploitation
 Système d'exploitation dérivé d'un système existant (e.g. VMS,
Unix, NT) avec :
 Vision de système unique (Single System Image ou SSI)
pour l'administrateur
 Accès transparent à certaines ressources dites
"clusterisées" quelque soit leur localisation (e.g. système
de fichiers, adresse IP unique pour le cluster, files des
travaux d'impression, lignes de communication,....)
(Single System Image - SSI- pour les utilisateurs)
 Concept introduit par Tandem (fin des années 70, objectif : FT)
et popularisé par DEC (1983, objectif : croissance)
Page 13

© RJ Chevance

Cluster(2)
+ Haute disponibilité intrinsèque − Efficacité multiprocesseur limitée
(indépendance des noeuds);
Implémentation aisée au niveau du
− Implique des modifications du
système d'exploitation pour le
matériel; fonctionnement en cluster (SSI
+ Compatibilité avec les systèmes difficile);
mono ou multiprocesseur au − Nécessite de modifier les applications
niveau des applications; pour pouvoir tirer profit de
l'augmentation de puissance procurée
+ Augmentation de performance par le cluster (i.e. capacité de
pour les SGBDs (OLTP s'il y a l'application à exploiter
peu d'interactions entre noeuds, simultanément plusieurs noeuds). En
DSS); pratique, seuls les SGBDs ont été
+ Intégration aisée de nouvelles
adaptés pour tirer profit de telles
architectures (e.g. Oracle Parallel
technologies (processeurs et Server Option);
nouvelles versions des systèmes − Standard de programmation des
d'exploitation); application parallèles émergents;
+ Partage transparent des − Limitation du nombre de systèmes
ressources "clusterisées ». interconnectés à quelques unités (de
l'ordre de la dizaine au maximum);
− Difficultés d'administration du cluster.

Page 14

© RJ Chevance

Page 7
Clusters Unix
 Des fonctionnalités similaires mais une grande
diversité d ’implémentations
 Des solutions spécifiques (DEC, HP, IBM, NCR,
Sun,...) dépendantes de chaque fournisseur
 Des solutions éprouvées
 La fonctionnalité de File System qui faisait
cruellement défaut sur les différents clusters Unix
(alors qu’elle était disponible que Vax Cluster
depuis 1983) commence à arriver (TruCluster de
Compaq, AIX, Solaris)
 Absence d'API et de SDK standard
 Pratiquement, seuls des fournisseurs de SGBD et
d’ERP ont adapté leurs produits aux clusters les
plus vendus sur le marché
Page 15

© RJ Chevance

Massively Parallel Processing - MPP


 Ensemble de noeuds interconnectés au moyen d'un réseau
spécialisé (minimisation de la latence, maximisation du
débit et "scalabilité")
 Packaging adapté au support d'un grand nombre de
noeuds et aux extensions du nombre de noeuds
 Grand nombre de noeuds potentiel (O(100) à O(1000),
pratiquement 10 - 100)
 Chaque noeud exécute sa propre copie du système
d'exploitation (cas général)
 Objectif : recherche de la performance au moyen du
parallélisme des applications
 Peu d'applications parallélisées en pratique (SGBD
essentiellement et calcul numérique intensif)
 Convergence de l'industrie vers le couplage de noeuds
SMP
 Pratiquement, élimination de la totalité des start-ups
Page 16

© RJ Chevance

Page 8
MPP(2)
+ Avantage coût/performance vis à − Efficacité limitée
vis des super-ordinateurs pour
les applications scientifiques
− Technologie émergente

+ Scalabilité en performance
− Réseau d'interconnexion
spécifique
limitée seulement par le degré de
parallélisation de l'application − Implique des modifications du
(i.e. le MPP n’a pas les système (e.g. SSI)
limitations en nombre de − Standard de programmation des
processeurs du SMP ou du application parallèles émergent
cluster) − Difficulté de développement des
+ Potentiel de haute performance applications « parallèles »
(à la fois Speedup et Scaleup) en
environnement transactionnel
− Difficultés d'administration du
système
(OLTP) et décisionnel (avec
SGBDs adaptés) − Nombre limité d'applications
adaptées à ce type d'architecture
+ Haute disponibilité (potentielle)

Page 17

© RJ Chevance

SMP, Cluster et MPP (1ère comparaison)


 Un système est un SMP si il a:
 plusieurs processeurs;
 une seule copie du système d'exploitation;
 une mémoire cohérente partagée.
 Un système est un Cluster si il a:
 plusieurs noeuds interconnectés (typiquement quelques unités à
une dizaine);
 une copie du système d'exploitation par noeud et un accès
transparent à certaines ressources;
 un système d'interconnexion "lâche" et standard (Ethernet, FDDI,
FCS) puisque l'objectif est d'autoriser la coexistence de générations
technologiques différentes au sein d'un même cluster.
 Un système est un MPP si il a:
 plusieurs noeuds interconnectés (typiquement plusieurs dizaines à
quelques centaines) au sein d'un packaging matériel spécifique
(permettant l'extension du nombre de noeuds);
 une copie du système d'exploitation par noeud;
 un système d'interconnexion "serré" puisque l'un des objectifs est
de fournir un support efficace aux communications au sein des
applications parallèles. Généralement, ce mécanisme
Page 18 d'interconnexion est spécifique et il présente des limitations dans la
co-existence de noeuds de générations technologiques différentes.
© RJ Chevance

Page 9
Relation architecture des serveurs/SGBD

Page 19

© RJ Chevance

Une autre vision des architectures

 Une autre vision de l'architecture en


relation avec le support des SGBD
Mem Mem

Mem Mem
Mem Mem
CPU Mem

CPU CPU

CPU CPU
CPU CPU

Mem

Share Everything Share Nothing Share Intermediate Memory Shared Disk


(SMP) (typique MPP) (e.g. IBM Sysplex, (certains clusters)
Page 20
Reflective Memory)
© RJ Chevance

Page 10
Relation SGBD - Architectures Share*
 Analogie entre les architectures Share Everything, Share Nothing
et Share Disk avec l'organisation de guichets de service
Note : D'après une idée de J Papadopoulo (Bull)

Clients
(Processus)

Guichets
(Processeurs/
systèmes)

Dossiers
(Données)

Page 21 Modèle Share Everything Modèle Share Disk Modèle Share Nothing
© RJ Chevance

Comparaison Share* pour support SGBD


S h are E v ery th in g S h a red D is k S h a re In te rm e d ia te S h a re N o th in g
M em o ry

+ S im p le p o u r + B o n n e fiab ilité et + B o n n e sc alab ilité (m ais + B o n n e fiab ilité e t


A p a rallélism e in te r- b o n n e d is p o n ib ilité q u i d ép en d d e d isp o n ib ilité
V re q u ê tes + B o n n e s ca la b ilité (10 0 l’im p lé m e n ta tio n d e la + T rès b o n n e s ca la b ilité
A + A ss ez s im p le p o u r le p ro c es se u rs e t p lu s) m é m o ire p arta g é e) (p lu s ieu rs c en tain e s d e
N p a rallélism e in tra -re q u ê te + F aib le co û t d u fa it d e la + F a ib le c o û t d u fait d e la p ro ce ss eu rs)
T + B o n n e u tilisa tio n d e s réu tilis atio n d e ré u tilis atio n d e + F a ib le c o û t d u fait d e la
A re ss o u rc es , é q u ilib rag e co m p o sa n ts s tan d ard c o m p o sa n ts sta n d ard ré u tilisa tio n d e
G d e c h arg e « n atu rel » + B o n é q u ilib rag e d e + B o n n e p e rfo rm an ce d u c o m p o s an ts sta n d a rd
E + C o m m u n ic atio n in te r- ch arg e (les d o n n é es à fo rt fait d es ta m p o n s p arta g é s
S p ro ce ss eu r effica ce (i.e. tau x d e p artag e e n le ctu re e t d e la c o m m u n ic atio n
u tilis atio n d e la m é m o ire p e u ve n t être rép liq u ées ) p ar m é m o ire p artag é e
p a rtag ée c o h é ren te)
+ S o lu tio n e n c o u rs d e
b a n a lis atio n en b as d e
g a m m e (4 à 8 p ro ces eu rs )

I - S ca lab ilité lim itée (d e 1 6 - In tera ctio n en tre le s - L e co û t d e l’ac cès à la - E q u ilib ra g e d e s ch a rg e s
N à 64 p ro ce ss eu rs) m a is n œ u d s p o u r la m é m o ire p arta g é e es t clé d iffic ile
C p e u t être éten d u e av ec sy n c h ro n isa tio n d e s p o u r la p erfo rm an c e d u - D iffic ile à ad m in istrer e t
O C C -N U M A m ise s à jo u r d es d o n n é es s ys tè m e à o p tim ise r d u fait d u
N - D isp o n ib ilité d u s ys tèm e - S a tu ra tio n d u rés ea u - M ém o ire p a rtag ée p a rtitio n n em en t d e s
V d iffic ile à as su re r d ’in terc o n n exio n p ar les s p é cifiq u e d o n n é es
E - S o lu tio n co û te u se p o u r tran sfe rts en tre n œ u d s et - L a fia b ilité et la - F o rte d é p e n d a n c e d e la
N u n g ra n d n o m b re d e d is q u es d isp o n ib ilité d u sy stè m e p e rfo rm an ce v is-à-v is d es
I p ro ce ss eu rs - C o û t d u m ain tie n t d e la ré clam en t u n e c o n ce p tio n c ara cté ris tiq u es d ré se au
E co h ére n c e d e co p ie s s p é cifiq u e d e la m é m o ire d ’in te rco n n e xio n
N m u ltip les (s i ré p lica tio n ) p arta g é e - C o û t d e la
T en p a rticu lie r e n c as d e - M o d è le d e p a rallélisa tio n , m ê m e
S m ise s à jo u r fré q u en tes p ro g ra m m a tio n ? p o u r d es req u ê tes
- le m éc an ism e - A b s en ce d e vo lo n té d e s im p le s
d ’in terc o n n exio n d es la p art d es fo u rn iss eu rs - C o û t d u m a in tien d e la
d is q u es lim ite le n o m b re d e S G B D stan d ard d e c o h é ren ce d e c o p ie s
d e n o eu d s s u p p o rte r d e s m u ltip le s (si rép lica tio n ),
p articu larités e n p artic u lier s i les m ise s
Page 22 a rch ite ctu rale s à jo u r so n t fréq u en tes

© RJ Chevance

Page 11
Offres SGBD et options d'architecture
Type Share Everything Shared Disk Share Nothing
d’architecture (SMP) (clusters et MPP) (clusters et MPP)

- IBM DB2 (Parallel


SGBD - IBM DB2 Edition)
- Informix - Informix Extended
- Oracle - Oracle Parallel Server Parallel Option
- SQL Server - SQL Server (en projet)
- Sybase - Sybase (en projet)
- Tandem ServerWare - Tandem ServerWare
SQL SQL
- Teradata - Teradata

Commentaires:

Share Disk (Oracle). Tout noeud doit pouvoir accéder à toutes les données. Les échanges de données
transitent par les disques.

Share Nothing. Informix et DB2 sont basées sur une architecture de type "Function Shipping" i.e. envoi
de la demande de fonction à exécuter au noeud ayant l'accès aux données.

Share Disk suppose que l'efficacité du réseau d'interconnexion entre les noeuds et les disques est
suffisante pour s'affranchir de la répartition des données.

Share Nothing repose sur l'hypothèse que les données sont réparties de façon telle que les débits d'E/S
et les capacités de traitement sont utilisées de façon optimale (rôle clé de l'administrateur système dans la
répartition).
Page 23

© RJ Chevance

Offres SGBD et options d'architecture(2)


 Les notions Share Everything, Shared Disks et Share Nothing
dépendent :
 de l’architecture du matériel;
 du système d’exploitation
 Par définition, un système d’exploitation pour SMP supporte
Share Everything
 En cas de couplage lâche, les options peuvent différer
 Exemple : un cluster de systèmes ayant une connexion avec les
disques de type SAN est de type Shared Disks au niveau du
matériel mais le système d’exploitation peut imposer une
architecture de type Share Nothing
 Il est toujours possible de simuler une option d ’architecture au
dessus d’une architecture matérielle et d’un système
d’exploitation ayant retenu une option différente :
 Shared Disk au dessus de Share Nothing : concept d’entrées-
sorties distantes
 Share Nothing au dessus de Shared Disks : partitionnement des
ressources
Page 24

© RJ Chevance

Page 12
Rapprochement des besoins, des options et
comparaison des options

Page 25

© RJ Chevance

Synthèse des caractéristiques des SMP, Clusters et MPP


C aractéristiques SMP Cluster MPP
Accélération (speed A cc ro is se m e n t A ccr o is se m en t A cc é lér atio n
up) ou Accroissem ent A c c élé r ation A c c élé ra tion A c c ro is s em e n t
(scale up)
É quilibrage de charge Im plic ite N éc es s ite l’in ter ven tion N éc es s ite l’in ter ve n tio n
d ’u n log ic iel d’u n lo gic ie l
H aute disponibilité T ypiq u e m en t n on O b jec tif princ ip a l P os s ible
(n’es t g én é ra le m e n t
p as u n ob jec tif)
Configuration im por- L im ité e s ur tec h n olog ie L im ité e p ar les c ar ac té- O bjec tif prin c ip al
d e c om m od ité , d es ris tiq u es du r és e au (r és ea u
tante (100 process eurs
tec h n olog ies s p éc ifi- d ’interc on n exio n (s ou - d’in te rc o nn e xion s p éc i-
et au-delà) q u es s on t r eq u is es ven t d e tec hn o lo g ie fiqu e)
p o ur d es c on figu ration s s ta n d ard )
im p orta ntes
Im age systèm e unique C om p lète L im ité e Lim itée
(p ar d éfinition )
P artage T ou t L im ité Lim ité
( y c om p ris la m é m o ire (typiq u e m en t le s d is - (typ iq u em e n t les
e t le s ys tè m e q u es et les c on n e xion s c on n e xio n s rés ea u )
d ’exp lo itatio n ) r és e au )
Program m ation P roc es s us u n iqu e ou P rog ra m m ation s p éc i- P r ogr am m a tio n s p éc i-
p r oc es s us m u ltiples e t fiq u e n éc es s aire d an s fiqu e n éc es s a ir e afin
thr ea ds p erm e ttan t la m es u re o ù l’o bjec tif d’exp loiter le p ar allé -
d ’exp lo iter le p a rallé- es t d ’exp lo iter le p a- lis m e
lis m e r allélis m e (élé m en t p lus c r uc ia l
qu e p ou r les c lus te rs )
Flexibilité pour T rès lim itée O ui Lim itée
l’intégration de tech-
nologies de généra-
tions différentes
Facilité de m aintenance L im ité e A is é e A is ée
(im pliq u e s ou ven t (n ’im p liq u e p as l’arr êt (n’im p liq u e p as l’a rrê t
l’ar r êt d e l’exp lo itatio n) d u s ys tèm e) du s ys tè m e)
Page 26

© RJ Chevance

Page 13
Critères de choix et architectures
B e soin M u ltipr oce ss e ur sy m é - C lu s ter M ac h in e s m as sivem en t
triqu e (S M P ) p ar allè le s (M P P )
D is p o n ib ilit é d e s
a p p lic a tio n s e t d e s ** * * *
o u tils d e d é v e lo p p e -
m ent
In té g r ité d e s d o n n é e s ** * * ** ** *
(D ép e n d d es S G B D e t (D ép e n d d es S G B D e t (D ép e n d d es S G B D e t
d es m o n ite u rs tr a n s ac - d es m o n ite u rs tr a n s ac - d es m o n it e u rs tr a n s ac -
tio n n e ls ) tio n n e ls ) tio n n e ls )
D is p o n ib ilit é ** * ** *
(E xis te n c e d e p o in ts d e (O b jec tif es s en tie l d e (N ’es t g é n é r ale m e n t
d éf ailla n c e u n iq u es ) l’arc h ite c tu r e ) p as u n o b jec tif)
P e rfo r m a n c e ** * ** **
(D an s les lim ites d e l a (D ép e n d d es c ar a c té- (D ép e n d d es c ar a c té-
c o n fig u r a b ilité ) ris tiq u es d e ris tiq u es d e
l’a p p lic a tio n ) l’a p p lic a tio n )
S c a la b ilit é ** * * *
(D an s les lim ites d e l a (D ép e n d d es c ar a c té- (D ép e n d d es c ar a c té-
c o n fig u r a b ilité ) ris tiq u es d e ris tiq u es d e
l’a p p lic a tio n ) l’a p p lic a tio n )
P r ix ** * ** *
(C on fig u r a tio n s p e tites (C oû t d u r és e a u
e t m o y e n n es ) d ’in te rc o n n e xio n e t
c ar ac tèr e n o va te u r)
S u p p o rt d u c lie n t- ** * ** **
s e rv e u r (A rc h itec tu r e m u ltis er - (A rc h itec tu r e m u ltis er -
ve u r) v e u r)
M a tu rité d e ** * ** *
l’a r c h it e c t u re (P lu s d e tr e n te a n s (P lu s d e q u in z e a n s (T ec h n o lo g ie é m e r-
d ’e xp é r i e n c e) d ’e xp é r ie n c e) g e n te )
P é re n n it é d e s in v e s - ** * ** *
tis s e m e n ts (L im ité e à u n e, vo ir e (P os s ib ilité d e m ixe r (T ec h n o lo g ie é m e r-
d e u x g é n é r a tio n s ) d iffér e n te s g é n é r a - g e n te )
tio n s )
Page 27

© RJ Chevance

SMP - Amélioration de la performance

 Quelques exemples d'accroissement de


performance en SMP
RM600 SNI (MIPS) SPECint_rate
25
Scalabilité Système d'exploitation + SGBD
5
Version i+1
20
4
Puissance relative

Puissance relative

15
3
Version i
10
2

5
1

0
0
0 5 10 15 20 25
Nombre de processeurs 1 2 3 4 5 6 7 8
Nombre de processeurs

Sans réelle signification Représentatif compte tenu de


compte tenu du caractère l'étalon utilisé.
non représentatif de l'étalon Montre l'incidence des modifications
du système et du logiciel de gestion
Page 28 de base de données (SGBD)
© RJ Chevance

Page 14
Exemple de scalabilité SMP
 Chiffres tirés de Large System Performance Report
d’IBM et portant sur la série S/390

12

10
CICS/DB2
8
IMS
6 Batch 1
Batch 2
4
Prog, Devt
2

0
1 2 3 4 5 6 7 8 9 10 11 12

Page 29

© RJ Chevance

Comparaison des performances


 Efficacité des SMP et des clusters pour le transactionnel
Efficacité comparée des SMP et Clusters - Etalon TPC-C
Janvier 2001

500000
Non cluster
400000
Cluster
tmpC

300000 2000 tmpC/proc


4000 tmpC/proc
200000 6000 tmpC/proc
8000 tmpC/proc
100000

0
0 50 100 150 200
Nombre de processeurs

• Les SMP sont plus efficaces que les clusters : communication par mémoire partagée, un seul SGBD
alors que dans les clusters les instances du SGBD doivent dialoguer et se synchroniser via le réseau
d’interconnexion. Les clusters ont un ratio de performance par processeur compris entre 2000 et 4000
tpmC par processeur alors que les SMP ont des ratios voisins ou supérieurs 8000 tpmC par processeur.
• Un SMP à 24 processeurs présente une efficacité surprenante. Les éléments pouvant expliquer cette
Page 30 différence peuvent se situer au niveau de la taille des caches (16 Mo de L2) et aussi par le fait qu’il s’agit
d’une version 64 bits du SGBD doté d’un réglage probablement très bien adapté du SGBD sur la plate-
© RJ Chevance forme système.

Page 15
Comparaison des performances (2)
 Tendance de la performance SMP et clusters
Tendance de la performance TPC-C pour SMP et Clusters
Janvier 2001

700000
tpm -CCluster = 610,43 x nb_proc1,3211
600000 Non cluster

500000 tpm -CSMP = 9320 x nb_proc0,7696


Cluster
400000
tpmC

300000 Tendance tpm-C(nb_proc)


SMP
200000 Tendance tpm-C(nb_proc)
100000 Cluster

0
0 50 100 150 200
Nombre de processeurs

Deux facteurs contribuent à la tendance :


• Scalabilité des architectures multiprocesseurs
• Augmentation de la taille de la base de données proportionnelle à la performance
du système
Manque d’information sur ce dernier point pour différencier l ’influence de ces facteurs

Page 31

© RJ Chevance

Comparaison des performances (3)


 Relation entre la puissance en transactionnel (TPC-C) et la
performance processeur théorique disponible (SPECint2000)

Relation TPC-C/puissance théorique


Janvier 2001
tpmC/(SPECint2000*nb_proc)

35
30
Alpha
25
PA
20
PowerPC
15
Intel
10
SPARC
5
0
0 10 20 30 40 50 60 70
Nombre de processeurs

• Interprétation délicate car différents SGBD sont mis en œuvre et de plus sous
différentes versions
• L’intensité de la compétition IA-32 dans la zone 4-8 processeurs favorise les progrès
• Les résultats PowerPC à 12 processeurs et à 24 processeurs montrent une très grande
efficacité.
• Les résultats pour les systèmes Sequent CC-NUMA à 32 et 64 processeurs n’ont pas été
Page 32
intégrés car ils n’ont pas été mis à jour depuis 1999 (et ils sont donc très en retrait).

© RJ Chevance

Page 16
Comparaison des performances (4)
 Variation de l’efficacité SMP et Cluster entre 1999 et
2001
Variation de l'efficacité tmpC/processeur 1999-2001

10000
9000
8000
tpmC/processeur

7000
SMP 2001
6000
Cluster 2001
5000
SMP 1999
4000
3000 Cluster 1999
2000
1000
0
0 20 40 60 80 100 120 140 160 180 200
Nombre de processeurs

• Deux facteurs majeurs expliquent cette tendance :


• Amélioration de la performance des processeurs ( x 2 tous les 22 mois en pratique)
Page 33
• Amélioration de la performance des SGBD
© RJ Chevance

Comparaison des performances (5)


 Demandes d’entrées-sorties en environnement TPC-C
Nombre d'Entrées-Sorties par seconde SMP et Cluster
TPC-C Janvier 2001

140,00
E/S par disque par seconde

120,00
100,00

80,00 #I/O/disk SMP


60,00 #I/O/disk Cluster

40,00

20,00
0,00
0 50 100 150 200 250
Nombre de proce sseurs

• Pour ce calcul, on fait l’hypothèse que chaque tpmC engendre une demande de 30 E/S et
l’on s’est servit du nombre de disques utilisés dans la configuration mesurée :
• Valeur moyenne aux environs de 80 E/S par seconde et par disque
• Deux systèmes montrent même des valeurs de l’ordre de 120 E/S par seconde et par
disque ce qui est voisin de la saturation
• Les configurations moyennes de clusters demandent moins d’entrées-sorties que les SMP
Page 34
• Compte tenu de la relative faible progression des performances des E/S, l’amélioration des
E/S est un point clé
© RJ Chevance

Page 17
Positionnement des options d’architecture

Scalabilité

MPP

Cluster
SMP

FT

Monoprocesseur

Disponibilité

Page 35

© RJ Chevance

Couplage serré
Multiprocesseur symétrique
(SMP - Symmetric MultiProcessor)

Exemples

Page 36

© RJ Chevance

Page 18
Caractéristiques « Haut de Gamme »
 La plupart des systèmes à grand nombre de
processeurs présentent des caractéristiques
communes telles que celles rencontrées
traditionnellement sur les systèmes propriétaires :
 Partitionnement des systèmes :
 Statique
 Dynamique
 Redondance de certains composants (ventilateurs,
alimentation électrique, processeurs)
 Livraison de systèmes avec le nombre maximal de
processeurs et « libération » des processeurs à la
demande
 Facturation fondée sur les processeurs réellement utilisés
 Échange de composants à chaud (« Hot Plug »)
 ….
Page 37

© RJ Chevance

Partitionnement des SMP


 Concept hérité des mainframes (répartition des
ressources entre plusieurs systèmes indépendants)

Cache Cache Cache Cache Cache Cache Cache Cache Cache

Proc. Proc. Proc. Proc. Proc. Proc. Proc. Proc. Proc.

Mémoire Mémoire Mémoire


Mémoire

Système de test de
Système de production nouvelles versions Système de développement
(système d’exploitation
Configuration physique du SMP et/ou applications)

Page 38

© RJ Chevance

Page 19
Architecture flexible SMP/Cluster

 Objectif :
 Adapter la configuration du système au
besoin des applications et non pas les
applications à l’architecture du système
 Approche : concept d’un SMP à grand
nombre de processeurs et mécanismes de
partitionnement du SMP en plusieurs SMP
indépendants
 Bénéfice : une seule architecture couvre une
plage étendue de besoin au prix d’une
conception un peu plus complexe
 Exemple de cette approche : CMP (Cellular
MultiProcessing) d’Unisys
Page 39

© RJ Chevance

SMP à nombre modéré de processeurs


(<= 8 processeurs)

Page 40

© RJ Chevance

Page 20
SMP - Intel SHV
 SMP à nombre modéré de processeurs
Pentium III Pentium III Pentium III Pentium III
Port d ’extension Xeon Xeon Xeon Xeon
≤2 Mo L2 ≤2 Mo L2 ≤2 Mo L2 ≤2 Mo L2

Bus 100 Mhz/800


Mo/s
RCG
Contrôleur mémoire RCG
et pont E/S MIOC Mémoire
100 Mhz MUX ≤8 Go
800 Mo/s MUX
266 Mo/s
MUX
PCI 32 bits 266 Mo/s
MUX
2 x 133 Mo/s PXB
PCI 32 bits

PCI 64 bits PXB


266 Mo/s
Itanium Itanium Itanium Itanium

Architecture SHV Pentium III


(Source Intel)
Pont vers
82460GX Mémoire
graphique

Architecture SHV Itanium


(Source Intel)
Pont PCI Pont PCI Pont PCI Pont PCI
Page 41 SHV = Standard High Volume
© RJ Chevance

SMP - Intel Profusion


 Extension de l’architecture SHV

Architecture Profusion
8 processeurs Pentium III
(Source Intel)

Page 42

© RJ Chevance

Page 21
SMP - Bull Escala
 Architecture de type cross-bar
 Architecture PowerScale, système Escala 8 processeurs
Power PC (Source Bull)
M M M M M M M M M M M M M M M M
E E E E E E E E E E E E E E E E
M M M M M M M M M M M M M M M M

256-bit (données)

Contrôle 64-bit (données)


Cross Bar Contrôleur
des E/S Mémoire

64-bit (données) 64-bit (données)


Bus d'adresses

PowerPC PowerPC PowerPC PowerPC PowerPC PowerPC PowerPC PowerPC


CPU CPU CPU CPU CPU CPU CPU CPU

Page 43

© RJ Chevance

SMP à grand nombre de processeurs


(>= 8 processeurs)

Page 44

© RJ Chevance

Page 22
SMP à grand nombre de processeurs
 Nécessité de répartir la mémoire et les processeurs
en plusieurs sous-ensembles
 Deux grandes familles en fonction du rapport des
temps d’accès aux mémoires (locales et distantes)
 UMA (Uniform Memory Access) ou proche de UMA
(Nearly UMA) si le rapport est inférieur à 2
 NUMA (Non Uniform Memory Access) si le rapport est
supérieur à 2. Avec le respect de la cohérence de cache,
les architectures à temps d’accès non uniforme sont
appelées CC-NUMA (Cache Coherent - Non Uniform
Memory Access)

Note : Il s’agit ici d’une règle empirique. On considère qu’avec un


rapport inférieur à 2, il n’est pas obligatoire que le système
d’exploitation soit notablement modifié pour tenir compte de
la localité.
Page 45

© RJ Chevance

Grands SMP - Compaq


 Compaq AlphaServer GS80

PCI CPU CPU CPU CPU

PCI CPU CPU CPU CPU


I/O SWITCH GP

PCI MEM MEM MEM MEM


I/O SWITCH GP

PCI Distribution
MEM MEM MEM MEM Board

PCI CPU CPU CPU CPU

QBB Quad Building Board 32 Go I/O SWITCH GP

PCI MEM MEM MEM MEM


System Box

GS80 : 8 processeurs, 64 Go, 12.8 Go/s, 56 slots PCI/3.2 Go/s

Page 46

© RJ Chevance

Page 23
Grands SMP - Compaq(2)
 Compaq AlphaServer GS160/GS320

PCI CPU CPU CPU CPU

I/O SWITCH GP

PCI MEM MEM MEM MEM

System Box 1

PCI CPU CPU CPU CPU GS160 :


I/O SWITCH GP
• 16 processeurs, 128 Go, 25.6 Go/s,
PCI MEM MEM MEM MEM 112 slots PCI/6.4 Go/s

Switch GS320 :
Hiérachique
• 32 processeurs, 256 Go, 51.2 Go/s,
PCI CPU CPU CPU CPU
224 slots PCI/12.8 Go/s

I/O SWITCH GP

PCI MEM MEM MEM MEM

System Box 2

PCI CPU CPU CPU CPU

I/O SWITCH GP

PCI MEM MEM MEM MEM


Page 47

© RJ Chevance

Grands SMP - Fujitsu


 PRIMEPOWER 800/1000/2000
 Systèmes allant jusqu’à :
 16 (modèle 800), 32 (modèle 1000) ou 128 (modèle 2000) processeurs SPARC64 GP (450
Mhz, 8 Mo cache L2)
 512 Go de mémoire
 192 cartes PCI
 Architecture de type hiérarchie de crossbars :
 L1 interne à la carte quadri-processeur
 L2 entre cartes et entre modules :
 3 parties : adresses, état des granules de cache, données
 8000 signaux au maximum (90 cm max, 225 Mhz)
 Latence mémoire : 300 ns à travers le crossbar de niveau 2 (!)
 Cohérence fondée sur le snooping
 Débit maximal de snooping = 57.6 Go/s
 Débit maximal de données = 81.9 Go/s
 Remplacement à chaud de différents éléments :
 Processeurs et Mémoires
 Cartes PCI
 Unités d’alimentation électrique
 Ventilateurs
 Cartes de contrôle système
 Disques
 Partitionnement dynamique (15 maximum)
Page 48

© RJ Chevance

Page 24
Grands SMP - Fujitsu(2)
 Illustration : PRIMEPOWER 2000

Cabinet
(32 proc.)
P
P
P
P
Jusqu’à 8 cartes
(32 processeurs) M L1
Crossbar
L2
PCI

L2 L2

L2 L2

Processeurs
Carte système
Mémoire
cartes PCI
Crossbar L1

Page 49

© RJ Chevance

IBM zSeries
 Évolution de la famille 360/370/390 (introduite en 1965) tout en préservant la
compatibilité. Trois modes de fonctionnement :
 24 bits
 31 bits
 64 bits
 Extension de l’espace d’adressage à 64 bits (z/Architecture) et augmentation de la
capacité de la mémoire physique au delà de 2 Go (ne nécessite plus l’Expanded Storage
pour étendre la capacité mémoire)
 Supporte différents systèmes d’exploitation :
 z/OS (64 bits)
 OS/390 (alias MVS)
 Linux
 zVM
 Accommodation :
 VM/ESA, VSE/ESA et TPF
 Possibilité de partitionner le système : LPAR (Logical Partitions, jusqu’à 15 partitions
logiques sur un serveur)
 Gestion des ressources :
 WLM : Worload manager
 IRD : Intelligent Resource Director
 Cluster avec Sysplex :
 Interne au système (entre LPARs) : ICF Internal Cluster Facility
 Externe (entre systèmes physiquement indépendants)
Page 50

© RJ Chevance

Page 25
IBM z/Series(2)
 Caractéristiques du z/900 :
 Intégrés sur un seul composant MCM (Multichip Module)
 Spécialisation fonctionnelle des processeurs :
 CP = Central Processing
 SAP = System Assist Processor
 ICF = Internal Coupling Facility
 IFL = Integrated Facility for Linux
 Au moins 1 processeur doit être désigné en tant que processeur de processeur de secours (susceptible de
remplacer un processeur défaillant)
 2 versions de MCM :
 20 processeurs :
 jusqu’à 16 processeurs d’application (CP);
 jusqu’à 8 (SAP)
 jusqu’à 15 (ICF)
 jusqu’à 15 (IFL)
 12 processeurs :
 jusqu’à 9 processeurs d’application (CP);
 jusqu’à 5 (SAP)
 jusqu’à 8 (ICF)
 jusqu’à 8 (IFL)
 Mise en service des processeurs sur demande (par logiciel), possibilité de facturation en fonction de
l’utilisation des ressources (WLC voir ci-après)
 5 à 64 Go de mémoire
 64 000 périphériques
 256 chemins d’entrée-sortie
 16 Go/s de bande passante d’entrée-sortie
 3 Go/s de bande passante réseau
 Haute disponibilité interne au système et au moyen du clustering (voir ci-après)
 Processeurs spécialisés de chiffrement (2 en standard, 16 additionnels)
Page 51

© RJ Chevance

IBM z/Series(3)
 Gestion des ressources
 Deux approches :
 WLM Workload Manager
 Fixation d’objectifs de temps de réponse (ex. 90% des
requêtes émanant de telle URL doivent être satisfaites en
moins de 1 seconde)
 WLM examine périodiquement l’état du système et peut
allouer des ressources (processeur, mémoire, E/S) à
d’autres partitions pour satisfaire les objectifs
 Intelligent Resource Director
 Optimisation, en fonction des priorités, de l’utilisation des
processeurs et des canaux d’E/S entre les systèmes
fonctionnant dans des partitions logiques (LPAR)
séparées
 Trois fonctions :
 Gestion des processeurs (LPAR CPU Management)
 Gestion dynamique des canaux d’entrée-sortie (Dynamic
Channel Path Management)
 Gestion prioritaire des demandes d’entrée-sortie (Channel
Subsystem Priority Queuing)
Page 52

© RJ Chevance

Page 26
IBM z/Series(4)

 Possibilité de cluster (Sysplex interne) :


 S’applique entre LPARs (systèmes indépendants)
 HiperSockets (futur)
 Communication entre les systèmes différents systèmes
supportés par un même serveur de communiquer de
façon efficace via TCP/IP (la communication est de fait
fondée sur l ’utilisation de la mémoire)
 Nouveau modèle de tarification du logiciel - WLC
- Worload License Charges (pour le logiciel)
 Modèle précédent fondé sur la capacité totale du
système
 Avec WLC, le prix est fonction de la capacité déclarée
par l’utilisateur - unité MSU (Measured Service Unit ~=
5,7 MIPS) :
 Autorise des dépassements de la capacité déclarée
 Possibilité de révision dynamique de capacité
Page 53

© RJ Chevance

IBM - Haute disponibilité

 Haute disponibilité (hors clustering intra ou


inter-serveur par Sysplex) :
 En l ’absence de données précises sur le z900, cet exposé
est fondé sur les caractéristiques de la génération
précédente G5
 Concept de processeur de secours susceptible de venir
remplacer un processeur défaillant
 Échange, en fonctionnement, des composants défaillants :
 Matériel
 Microcode
 Logiciel?
 Stratégie N+1 pour les modules d ’alimentation électrique
et les ventilateurs
 Reprise au niveau instruction en cas de défaillance du
processeur (voir ci-après)
Page 54

© RJ Chevance

Page 27
IBM - Haute disponibilité(2)
 Modèle d’exécution (S/390 G5 et G6) fondé sur :
 La notion de point de reprise au niveau instruction
 Le doublement, au sein même de l’unité de traitement, de la fonction
d’exécution avec comparaison pas à pas. En cas de divergence
possibilité de reprise :
 Sur le même processeur (ré-essai)
 Sur un processeur de secours (reprise)

Processeur Processeur
de secours
Unité Unité Unité Unité
de Cache de Reprise Reprise de Cache de
traitement traitement locale locale traitement traitement

Comparateur Comparateur

Registres Registres

Registres d ’état Registres d ’état

Rapport Ordre
d’erreur d’arrêt
Ordre de reprise
Module de
Page 55 surveillance

© RJ Chevance

Grands SMP - HP
 HP Superdome : Architecture de la cellule
ASIC
ASIC

PCI PCI

Contrôleur
E/S
ASIC
ASIC

PCI PCI

1.6 Go/s
Crossbar

Contrôleur
Mémoire de la
<= 16 Go cellule

6.4 Go/s
PA-8600

PA-8600

PA-8600

PA-8600

Page 56

© RJ Chevance

Page 28
Grands SMP - HP(2)
 HP Superdome : jusqu’à 64 processeurs

E/S E/S

Cellule Cellule
Débit Crossbar :

Crossbar

Crossbar
• 16 processeurs = 12.8 Go/s
• 32 processeurs = 25.6 Go/s
• 64 processeurs = 51.2 Go/s

Latence mémoire moyenne en charge :

Crossbar
• au sein de la cellule : 260 ns
Crossbar

• sur le même cossbar : 320 à 350 ns


• au sein d’un même cabinet : 395 ns
• entre cabinets : 415 ns

Backplane Backplane

Cabinet Cabinet

Page 57

© RJ Chevance

Grands SMP - HP(3)


 HP Superdome : Partitionnement
Hyperplex nPartitions Virtual Partitions PRM - HP-UX WLM

Partition HW avec Partition HW au sein Partition virtuelles au Partitionnement des


plusieurs nœuds d’un nœud sein d’une partition ressources
HW
• Isolation complète • Isolation HW par • Allocation dynamique
HW et SW cellule (n cellules) • Isolation SW des ressources en
• Images OS multiples • Isolation SW • Images OS multiples fonction des objectifs
complète (SLO = Service Level
• Images OS multiples Objectives)
• OS unique

Isolation Flexibilité

 Haute disponibilité
 N+1 et Hot Swap pour alimentation, ventilateurs,
cartes processeur et PCI

Page 58

© RJ Chevance

Page 29
Grands SMP - IBM AIX
 IBM RS/6000 Enterprise Server Model S80

Cache L2 8 Mo Cache L2 8 Mo

RS64 III RS64 III 4 cartes processeurs


450 Mhz 450 Mhz (6 processeurs par carte)

ACD Données

Contrôle bus
Adresses

Échange de données Adr.


Données
E/S
Mémoire Mémoire
Don.
256 Mo - 4 Go 256 Mo - 4 Go

Mémoire Mémoire
256 Mo - 4 Go 256 Mo - 4 Go

Page 59

© RJ Chevance PCI PCI PCI PCI

Grands SMP - IBM AIX(2)


 Haute disponibilité
 Redondance de type N+1 et échange à chaud
pour les éléments d’alimentation électrique et les
ventilateurs
 Disques Hot Plug
 Partitionnement :
 ???

Page 60

© RJ Chevance

Page 30
Grands SMP - Sun
 Sun Fire 3800-4800-6800 Servers
 Architecture de la carte de base
 Fondée sur UltraSPARC III
 <= 8 Mo de cache L2 (E cache)

Processor Memory
& E Cache 8 Go

2.4 Go/sec 2.4 Go/sec


4.8 Go/sec
Address Repeater CPU Data Switch
150 million
addresses/sec 2.4 Go/sec 2.4 Go/sec

Processor Memory
& E Cache 8 Go

Datapath
Controller

Processor Memory
& E Cache 8 Go

2.4 Go/sec 2.4 Go/sec

Board Data Switch CPU Data Switch


4.8 Go/sec 4.8 Go/sec
2.4 Go/sec 2.4 Go/sec

Processor Memory
& E Cache 8 Go
Page 61

© RJ Chevance

Grands SMP - Sun(2)


 Architecture du Sun Fire 6800 (24 processeurs)
 Cohérence fondée sur le snooping (diffusion des adresses)
 Temps d ’accès à la mémoire :
 180 ns local (carte)
 240 ns sur une autre carte
 Débit de données = 67.2 Go/s
 Hot plug :
 Cartes Processeur/Mémoire, Alimentation électrique, Ventilateurs, Disques, I/O, Cartes PCI, …
 Partitionnement dynamique du système (4 domaines sur le 6800)

CPU/ CPU/ CPU/


Memory Memory Memory
Board 4 Board 5 Board 6

I/O Assembly 4 Fireplane Address Router I/O Assembly 1

I/O Assembly 3 Fireplane Data Crossbar I/O Assembly 2

CPU/ CPU/ CPU/


Memory Memory Memory
Board 1 Board 2 Board 3

Page 62

© RJ Chevance

Page 31
Grands SMP - Sun(3)
 Sun Ultra Enterprise 10000

S-Bus
Gigaplane-XB Mémoire
<12.8 G octets/s
Liaison intercartes
XB-interconnect
(cross-bar données) Proc Proc Proc Proc
4 bus d'adresse
Cache Cache Cache Cache

Jusqu'à 16 cartes (64 processeurs)

Page 63
Concept de domaine :
Source Sun
© RJ Chevance Partitionnement du système "à la mainframe"

Grands SMP - Unisys


 Unisys CMP - Technologie de la plate-forme

CPU
CPU CPU SMP or Clusters
CPU
CPU
CPU
CPU TLC Single or Multiple OS’s
CPU
TL CPU
CPUC CPU1
166G
GB TLC CPU
IA32, IA64
CPU M
MS B
CPU SU
U CPU CPU
CPU CPU CPU
CPU TLC CPU Unisys CMOS
PCI CPU CPU
TLC PC
PCI I 16 G
CP
TLCU CPU MCP or OS2200
PCI MSUB CPU CPU
PC
PCI I TLC CPU CPU
CPU CPU
DIB PCI CPU
PC
PCI I 16 G DIB PCI
PCI MSUB PCI
PCI
PC
PCI I DIB PC
PCI 96 PCI slots
PCI I
DIB
16 G DIB PC
Shared Memory MSUB PCI
PCI I
DIB PCI
<=64 GBytes PC
PCI I I2O boards
Page 64 Open APIs
© RJ Chevance
Phased Implementation

Page 32
Grands SMP - Unisys(2)

CPU CPU CPU CPU CPU CPU CPU CPU


Sub-POD
2.67 GB/s MP Bus IA-32 Sub-POD
3.5 GB/s
800MB/s IA-64 Sub-POD
(Sustained)
2.1GB/s
(Each)
TLC TLC
SRAM's TLC Controller TLC Controller
TLC Controller SRAM's
TLC
TCT
TLC Controller
Controller TCTController
TLC
TCT
8/16 MB TCT 8/16 MB
16/32 TCT 16/32
MB ASIC ASIC MB
M T Pipe
1.6GB/s
2.1 GB/s
(Peak)
Crossbar
Crossbar
DIB Crossbar
Crossbar DIB

ASIC TCM M IO Pipe ASIC


ASIC
(800 MB/S)
M I Pipe
PCI Busses
1.6GB/s (264 MB/S
(Each) each)
MCA MDA
ASIC MSU1 MSU3 MSU4
ASIC
Page 65
MSU0
© RJ Chevance

Grands SMP - Unisys(3)

 Partitionnement flexible IMS

ncy Maximum ES Configuration


(C32X)
re MSU MSU MSU MSU

he
Co 20 GB/s
(1.6 GB/s ea.)

Crossbar Crossbar Crossbar Crossbar


Intraconnect Intraconnect Intraconnect Intraconnect
10-13.6 GB/s
(1.6-2.1GB/s ea.)
TLC TLC TLC TLC
TLC TLC TLC TLC TLC

m
lis
le
CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU CPU CPU
CPU CPU CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU

ral CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU CPU CPU
CPU CPU CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU CPU
CPU

Pa 5 GB/s (0.8 GB/s ea.) DIB DIB DIB DIB DIB DIB DIB DIB

Page 66

© RJ Chevance

Page 33
Architecture CC-NUMA
 Principe CC-NUMA
Module Module
Cache Cache
Mémoire
Mémoire Cache Mémoire
Mémoire Mémoire
Proc. Proc. Mémoire
Mémoire
Proc.

E/S i/f réseau E/S i/f réseau


E/S cohérent E/S cohérent
E/S
E/S
E/S
Réseau d'interconnexion cohérent E/S
E/S

Configuration physique Configuration logique équivalente

 NUMA Factor : Rapport des temps d'accès mémoire distante - mémoire locale.
 Plus le NUMA Factor est important, plus le logiciel doit tenir compte des
spécificités de l'architecture
 Adaptation nécessaire des logiciels (Systèmes d'exploitation, SGBDs,...) aux
caractéristiques de l'architecture CC-NUMA. Il doit tenir compte des propriétés
de localité :
 Affinité processus/module
 Allocation d'espace mémoire à un processus sur le module sur le lequel le
processus réside
Page 67  Rapatriement d'un processus sur le module sur lequel il résidait, .....
© RJ Chevance

Architecture CC-NUMA(2)
 IBM NUMA-Q (jusqu'à 256 processeurs Pentium)

Architecture du lien inter-modules (IQ-link)


Lien fondé sur le standard IEEE SCI (Scalable
Coherent Interface)
Module SMP dérivé du SHV d'Intel Protocole de cohérence inter-module fondé sur le
Pentium III mécanisme de répertoire (directory-based)

Page 68

© RJ Chevance

Page 34
Architecture CC-NUMA(3)
 IBM NUMA-Q Prochaine génération à base IA-64

IA64 BB IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB

Switched Interconnect Fabric


IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB

SAN Switch
IA64 BB
IA64 BB IA64 BB
IA64 BB
LAN/WAN/Web

IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB
IA64 BB IA64 BB
IA64 BB IA64 BB

Meta-visor

IA64 BB = IA64 Building Block = quadriprocesseur IA64 + mémoire + E/S


256 processeurs IA64 au maximum
Page 69

© RJ Chevance

SGI - Origin 3000 Series


 Architecture CC-NUMA (appelée NUMAflex) allant jusqu’à 512 processeurs à
base d’un module bi-processeur (architecture MIPS)
 Architecture du module de base et principe de l’architecture :

Possessor A Possessor B

Memory Hub I/O


and Chip Crossbar
Directory

Module 0 Module 1 Module 255

Scalable Interconnect Network : NUMAlink = 3.2 GB/sec.

 Réseau d’interconnexion cohérent - Topologie de type Hypercube (voir ci-après),


lien de type 1.6 Go/s bi-directionnel (CrayLink)
 Évolution prévue vers IA-64
 Migration de IRIX vers Linux (complété progressivement par des
caractéristiques de système « haut de gamme » implémentées sur IRIX)
Page 70
 Système pouvant être partitionné

© RJ Chevance
Ajout ou retrait de modules sans interrompre le fonctionnement du système

Page 35
SGI - Origin 3000 Series(2)
 Architecture physique modulaire à base de composants
(Bricks) :
 C-brick. Module processeur : 4 processeurs et jusqu’à 8 Go.
Dans le futur, C-brick fondée sur IA-64
 I-brick. Module d ’entrées-sorties : disque système (FC), 5 cartes
PCI « hot plug », CD-ROM, Ethernet (10/100), IEEE 1394, 2 USB, 2
liens Xtown2 (1.2 Go/s bi-directionnel) vers C-bricks
 P-brick. Module PCI additionnel 12 cartes « hot plug ». 2 liens
Xtown2 (1.2 Go/s bi-directionnel) vers C-bricks
 X-brick. Module d’extension des entrées-sorties permettant la re-
connexion des entrées-sorties des systèmes de la série Origin
2000 (4 cartes XIO)
 R-brick. Crossbar à 8 ports (1.6 Go/s bi-directionnel), 4 ports
pour la connexion avec des modules processeur (C-bricks) et les
autres pour l’extension du nombre de processeurs
 D-brick. Module disques (12 disques 36 Go puis 18 disques 73
Go) gérés en JBOD (Just a Bunch Of Disks) ou en RAID
 G-Brick. Extension graphique
 Power Bay. Jusqu’à 6 alimentations électriques « hot swap » en
Page 71
configuration N+1
© RJ Chevance

SGI - Origin 3000 Series(3)


 Technologie d ’interconnexion :
 2 puces ASIC spécifiques :
 Bedrock : crossbar à 8 entrées et 6 sorties (3.2Go/s) reliant au sein d’un module C-brick : les 2 processeurs, la
mémoire et les entrées-sorties;
 Router : crossbar à 6 ou 8 ports utilisé au sein des R-bricks
 Liaison entre les routeurs au moyen de câbles
 Topologie de type Hypercube (voir ci-après)
 Latences :
 Origin 3000. Un seul chiffre : pour 128 processeurs, le ratio entre le temps d’accès distant et local
est de 2.99
 Origin 2000 (génération précédente) :
 Mémoire locale = 310 ns
 2 modules (4 proc.) = 540 ns
 16 modules (32 proc.) = 773 ns
 64 modules (128 proc.) = 945 ns
 Protocole de cohérence dérivé de celui du projet DASH
 Algorithme de migration de page fondé sur des compteurs maintenus par le matériel
 Nouvelle instruction de synchronisation « Fetch and Increment » (fch-inc) pour éviter la
contention crée par le couple classique « Load Linked »/ »Store Conditional » (LL/SC).
 Exemple de débit en millions d’opérations par seconde sur Origin 2000 :
 1 processeur fch-inc = 4.0, LL/SC = 6.9
 4 processeurs fch-inc = 6.1, LL/SC = 0.84
 8 processeurs fch-inc = 10.0, LL/SC = 0.23
 16 processeurs fch-inc = 19.3, LL/SC = 0.12
Page 72  32 processeurs fch-inc = 23.0, LL/SC = 0.09
© RJ Chevance

Page 36
SGI - Origin 3000 Series(4)
 Topologie d’interconnexion Hypercube
M M

M R R M

M M M M
M

M R R M M R R
R M
M

M M
M
M R R M
M R R
R M
M
M M

M R R M M R R M

M M M M M
M
M R R M
M R R M
M M M M
M

M R R
R M
M

32 processeurs R M
M R

M M 64 processeurs
M R R M
Page 73
M M
© RJ Chevance M = Module bi-processeur

SGI - Origin 3000 Series(5)


 Topologie d’interconnexion Hypercube (suite)
M M M M

M R R M M R R M
M M
M M M
M

M R R
R M
M M R R
R M
M

M R R M M R R M

M M M M
M R R M M R R M

M M R R M M

128 processeurs
R R
« Hierachical Fat
Bristled Hypercube »
R R

R R M
M M M

M R R M M R R M
M M
M M M
M

M R R
R M
M M R R
R M
M

M R R M M R R M

M M M M
M R R M M R R M
Page 74 M
M M M
© RJ Chevance

Page 37
Architecture COMA
 COMA (Cache Only Memory Architecture)
 NUMA = Mapping fixe de l'adresse d'une ligne de mémoire sur la mémoire d'un
module
 COMA = pas de mapping fixe. L'ensemble de l'espace mémoire est traité comme un
cache.
 Dans l'architecture COMA, la mémoire de chaque module est gérée comme un
cache. Les données sont amenées en mémoire locale en fonction des besoins. Un
protocole de cohérence est mis en jeu entre les mémoires locales des différents
modules.
 Nombreux projets de recherche (FLASH, IACOMA, S3MP, DDM,....). A ce jour, une
seule tentative industrielle mais infructueuse = KSR Kendall Square Research.

Module Module
Cache Cache
Cache Cache
Cache

Mémoire Mémoire
Proc. Proc.
Proc. Proc. Cache
Proc.
(Mémoire)

E/S i/f réseau E/S i/f réseau


E/S E/S
cohérent cohérent E/S
E/S
E/S
E/S
Réseau d'interconnexion cohérent E/S
Page 75

© RJ Chevance Configuration physique Configuration logique équivalente

Synthèse SMP, CC-NUMA, COMA

Extraits MV Extraits MV
Extraits MV de 0 à N copies
de 0 à N copies Réseau d ’interconnexion
de 0 à N copies cohérents
cohérents supportant un protocole de
cohérents (protocole de (protocole de
(protocole de cohérence de cache
cohérence de cache ) cohérence de cache )
cohérence de cache )

Cache Cache Cache Cache Cache Cache


Extraits MV Cache Cache Cache Cache
1 ou 0 copie
cohérents Proc. Proc.
Proc. Proc. Proc. Proc. Proc. Proc. Proc. Proc.
(du fait de
l'unicité)
Mémoire Mémoire Mémoire Mémoire Mémoire

Mémoire
Virtuelle
(MV) Extraits MV
Extraits MV Extraits MV 0 ou 1 copie
Réalisation de 1 ou 0 copie 0 ou 1 copie
la mémoire cohérents
virtuelle (du fait de
l'unicité) Extraits MV
de 0 à N copies
cohérents
(protocole de cohérence de cache)

SMP "Classique" CC-NUMA COMA

Page 76

© RJ Chevance

Page 38
Couplage lâche
(clusters et MPP)

Exemples

Page 77

© RJ Chevance

Clusters

Page 78

© RJ Chevance

Page 39
Clusters - HACMP
 Cluster RS/6000 HACMP (High Availability
- Cluster MultiProcessing)
Charge de travail répartie

Bull Bull

Accès concurrents

DPX/20 DPX/20
Gestion du verrouillage
(Distributed Lock Management)
Serveur A Serveur B
Oracle Parallel Server Disque Disque Oracle Parallel Server
1 2

Page 79

© RJ Chevance

Clusters - HACMP(2)
 Architecture générale HACMP
Client Client Client

CLINFO CLINFO

CLINFO

Cluster Gestionnaire
du Cluster
Gestionnaire Agent SNMP
de verrous Cluster

 Architecture du gestionnaire du cluster src

dms
Gestionnaire du cluster
Configuration
du cluster gestionnaire
Contrôleur Gestionnaire
(odm) de verrous
du cluster d'évènements
(CC) (EM)
agent SNMP cluster
Couche d'interface réseau

Scripts d'évènements
NIM NIM NIM
Page 80
NIM : Network Interface Module
© RJ Chevance

Page 40
Clusters - HACMP(3)
 Modes de fonctionnement
Systèmes "clients" Systèmes "clients" Systèmes "clients" Systèmes "clients"

Serveur A Serveur B Serveur B Serveur A Serveur B Serveur A Serveur B


(primaire) (secours) Appli1
Appli1
Applications Applications Applications Appli3 Appli2
critiques non critiques Appli2
Appli3
critiques

(2) (1) (2)


(1)
A) - Recouvrement simple B) - Recouvrement mutuel
(Hot Standby ou Simple Failover) (Mutual Takeover)
Systèmes "clients"

Serveur A Serveur B Serveur C

Application i Application j Application k

SGBD SGBD SGBD

Base de données
(partagée)
Page 81
C) - Partage de charge
© RJ Chevance (Cluster MultiProcessing)

Clusters - TruCluster
 Exemple de configuration TruCluster
Software de Compaq

Page 82

© RJ Chevance

Page 41
Clusters - MSCS
 Architecture Microsoft Cluster Server (MSCS)
Outils de Gestion du Cluster

Cluster API DLL

RPC (Appel de Procédure à Distance)

Service Cluster
Gestionnaire global
des mises à jour
Gestionnaire
Base de données
Traitement Gestionnaire
des évènements du nœud

Gestionnaire Autres nœuds


du recouvrement Gestionnaire
de communication
Gestionnaire
DLL de ressources
Ressource
application

Moniteurs de
ressources Interface de gestion des ressources

DLL DLL DLL Application non


Ressource Ressource Ressource adaptée au cluster
Page 83 physique logique application
Application
adaptée au cluster
© RJ Chevance

Clusters - MSCS(2)
 Technologie de clustering de serveurs NT - Nom de code
Wolfpack MSCS (MicroSoft Cluster Service)
 Partenariat avec Compaq, Digital, HP, IBM, Intel, NCR et
Tandem "Early Adopters"
 Planning
 11/95 - 5/96 Open Process = Disclose interfaces and reviews
 4Q96 SDK Release = Kit de développement et spécifications
des APIs à destination des développeurs
 4Q96 Bêta Test = test, par des développeurs, sur les
systèmes des 6 "Early Adopters"
 1H97 Phase 1 première version limitée à 2 noeuds (pour les
6 "Early Adopters")
 2H97 Phase 1 Platform and Solution Expansion
 Août 1998 seconde version et extension de la fonctionnalité
 Windows 2000 Data Center
 Jusqu ’à 4 nœuds de 4 à 8 processeurs chacun
Page 84

© RJ Chevance

Page 42
Clusters - Exemples(5)
 Cluster à mémoire partagée IBM Sysplex
Données partagées au moyen de technologies de verrous et de caches

Distribution de la charge et communication par message


au moyen d'une technologie de queues

Coupling
Facility
Noeud Noeud
1-10 cpus 1-10 cpus

Sysplex Timer

Escon Director (switch) jusqu'à 32 noeuds


(possibilité de mêler des noeuds de
différentes technologies)

Données partagées

Page 85

© RJ Chevance

Clusters - Exemples(6)
 Fonctionnalité IBM Sysplex
 Éléments de base de la technologie Coupling Facility
 Cache Structure : mécanisme de cache et d'invalidation
 List Structure : partage de données organisées en liste
(e.g. implémentation de files d'attente, de status,...)
 Lock Structure

Overhead
 Partage de données
 IMS - Partage intensif de données
CMOS : 17% + 0.5% x (N-2)
 DB2 ECL : 26% + 0.5% x (N-2)
- Sans partage
 VSAM ~3%

 Traitement parallèle
 Batch : BatchPipes/MVS
 OLTP : CICS, IMS TM
 Gestion des travaux : WLM (WorkLoad Manger)
 Définition des objectifs de performance au niveau
du cluster (concept de "service policy")
Page 86
 Reporting (Resource Management Facility)
© RJ Chevance
 Administration

Page 43
Machines massivement parallèles
(Massively Parallel Processing)

Page 87

© RJ Chevance

MPP : Technologie d ’interconnexion


 La performance d'un MPP et sa scalabilité sont liées aux
propriétés du réseau d'interconnexion
 Caractérisation du réseau d'interconnexion
 Nombre de noeuds supportés
 Bande passante
 Bande passante totale bande passante d'un lien x nombre de
liens (représentativité?)
 "Bisection Bandwidth" (plus représentative)
 Pour un réseau symétrique : bande passante observée sur la coupe
"en deux" du système
 Pour un réseau dissymétrique : bande passante minimum observée
sur l'ensemble des coupes
 Latence (tant au niveau matériel qu'au niveau logiciel)
 Interface matériel/logiciel
 Bloquant ou non-bloquant
 Coût
 Résistance aux défaillances
Page 88  Standardisation?
© RJ Chevance

Page 44
MPP : Technologie d ’interconnexion (2)
Quelques topologies de réseaux d'interconnexion

Bus
Anneau
Complétement connecté

Cross bar (2 x 2)
Grille 2D
Hypercube(3)

Réseau Oméga
Hiérarchisé

Page 89

© RJ Chevance

MPP : Technologie d ’interconnexion (3)


Quelques caractéristiques de réseaux d'interconnexion

Performances et coûts relatifs de divers interconnects pour 64 noeuds d’après [HEN94]

Critères Bus Anneau Grille 2D Hypercube Entièrement


(6) connecté
Bande passante totale 1 64 112 192 2016
Bisection 1 2 8 32 1024
Ports par switch n.a. 3 5 7 64
Nombre total de liens 1 128 176 256 2080

[HEN94] John L. Hennessy, David A Patterson «Computer Organization and Design The
Hardware Software Interface»
Morgan Kaufmann San Mateo 1994

Caractéristiques de latence et bisection pour un réseau de type Hypercube de SGI [GAL97]


(niveau matériel)

Nombre de Latence Bisection


noeuds moyennne (GO/s)
(ns)
8 118 6.4
16 156 12.8
64 274 51.2
256 344 205.0
512 371 410.0

[GAL97] Mike Galles « Spider: A High Speed Network Interconnect)


Page 90
IEEE Micro January/February 1997 pp34-39

© RJ Chevance

Page 45
MPP : Technologie d ’interconnexion (4)

Quelques exemples de performance de l'interconnect au niveau "système"

Comparaison des latences pour un message court d’un noeud à un autre [GIL97]

Environnement Latence
(µs)
Memory Channel DEC (HW) 2.9
Memory Channel DEC(base) 5.4
Memory Channel DEC MPI 6.9
Memory Channel DEC PVM 8.0
Cray T3d MPI 37
IBM SP2 MPI 40
IBM SP2 PVM 54
Intel Paragon 54
Alpha Server @200 UDP/FDDI 82
Alpha Server @300 TCP/IP/FDDI 165
Alpha Server @300 TCP/IP/Enet 10 Mb/s 190
CM5 PVM 190

[GIL97] Richard Gillet, Rochard Kaufmann « Using the Memory Channel Network »
IEEE Micro January/February 1997 pp19-25

Page 91

© RJ Chevance

MPP : IBM SP2


IBM Scalable POWERparallel Systems SP2

RS/6000 RS/6000 - Jusqu'à 128 nœuds (8 armoires et 16 noeuds "thin",


8 nœuds "wide" ou 4 nœuds "high" au maximum par
RS/6000 RS/6000 armoire) - 512 nœuds sur demande spéciale

- Nœuds fondés sur les systèmes RS/6000, configurés


RS/6000 RS/6000
en tiroir et groupés en armoires (rack mount)
RS/6000 RS/6000 - Trois types de nœuds : High (SMP8 x 604 Escala),
Wide et Thin (nœuds monoprocesseur)
RS/6000 RS/6000
- Réseau d'interconnexion (High Performance Switch)
RS/6000 RS/6000 de type Oméga (cross bar 4 x 4)
Débit d'un lien 40 Mo/s x 2
RS/6000 RS/6000
- Applications de calcul numérique intensif
RS/6000 RS/6000 - Serveur de bases de données (Oracle Parallel Server) et
DB2 Parallel Edition
High Perf. Switch
- "LAN consolidation"

Page 92

© RJ Chevance

Page 46
NCR/Teradata Worldmark 5200
 Architecture (matérielle et logicielle) de type Share Nothing
fondée sur x86 et un interconnect intelligent (YNET).
Premier système livré en 1984
 Originellement, architecture logicielle spécifique : TOS
Teradata Operating System (16 bits) et Teradata DBMS
 Systèmes destinés essentiellement aux applications d'aide
à la décision et supportant des bases de données > 1 TB
 Actuellement, utilisation de solutions standards avec UNIX
et le DBMS Teradata (qui est aussi porté sur NT)
 Architecture matérielle fondée sur un "building block" de
type SMP
 nœud quadriprocesseur : 4 Xeon@450Mhz
 Supporte jusqu'à 512 nœuds, soit un maximum de 2048
processeurs
 Nouvel interconnect : BYNET

Page 93

© RJ Chevance

NCR/Teradata (2)

• BYNET
BYNET • Topologie de type BANYAN
BYNET
• Pour une liaison logique, deux types
de liaisons :
• parallèle 8 bits (10.4 MB/s)
Noeud Noeud Noeud Noeud Noeud Noeud Noeud Noeud "Forward Channel"
SMP SMP SMP SMP SMP SMP SMP SMP • sérielle (10.4 Mb/s)
"Back Channel"
• Carte contrôleur MCA, 2 liens par
carte, 2 contrôleurs par nœud.
Concept de channel program
• Support "monocast", "broadcast"
et "multicast"
• Deux types de protocole :
• Basic Link Manager (avec
acquitement du type
Disk Array "2 Phase Commit")
NCR WorldMark 5100M
Switch (8 x 8)
• BYNET Low Latency
Interface (service type
Connexions depuis les 64 transmetteurs

pli
datagramme)
Connexions vers les 64 récepteurs

• Bissection =
20.8 MB/s x nombre_de_noeuds
• Latence
• Switch = 673 ns
• Application/Application =
300 µs
•Services de base Message,
Channel, Group, Global
Semaphore, Merge et
Configuration qui permettent
l'implémentation de :
• la distribution des données
• contrôle des étapes de traitement
BYNET - Structure d'un BYNET redondant pour une configuration à 64 nœuds parallèle
Chaque nœuds a deux chemins BYNET vers chacun des autres nœuds du système • status et configuration
(Source NCR)
Page 94

© RJ Chevance

Page 47
NCR/Teradata (3)

 Évolution du réseau d ’interconnexion


 YNET réseau arborescent permettant de réaliser le tri des
tuples
tuples triés

YNET Le concept de réseau intelligent YNET


correspondait à un certain état de la technologie :
Access - processeurs lents
Module - petites mémoires
Processors

 BYNET ne "trie" plus, abstraction pour le parallélisme


VPROC (Virtual Process) et tri par VPROC
VPROC tuples triés

BYNET

AMP VPROCs

Page 95

© RJ Chevance

Conclusions et perspectives

Page 96

© RJ Chevance

Page 48
Architecture d ’application
 Développement du modèle à 3 niveaux

Cluster de SMP Base de données Troisième niveau

Ensemble de SMP Application


Application Second niveau
éventuellement Application
organisé en cluster

Poste de travail Premier niveau


PC Interface utilisateur

 Rappel des avantages


 Architecture adaptée à une approche COTS
 Sécurité du fait de l ’isolation des données
 Performance du fait de la limitation des échanges
 Scalabilité
 Intégration à Internet aisée
 Facilité de coopération avec d ’autres serveurs
Page 97
 Souplesse de la configuration matérielle
© RJ Chevance

Tendances
 Poursuite de la «commoditisation» :
 SMP à nombre modéré de processeurs (mais en augmentation)
 Intégration des aspects systèmes au sein des microprocesseurs
 Systèmes d ’exploitation
 Middleware
 Solutions de type cluster
 Architectures flexibles (SMP/Cluster) ? (leur succès dépendra du niveau de
prix)
 Standardisation de fait (réduction du nombre)
 Système d ’exploitation
 SGBD
 Middleware
 Logique de volumes
 Poursuite des phénomènes de concentration dans l ’industrie et
d’horizontalisation
 Focalisation sur les besoins des utilisateurs
 exemple : réduction du coût total de possession
 Deux logiques principales d ’évolution des produits, qui se superposent au cours de la
vie d’un produit :
 diminution de prix à performance constante
Page 98  performance accrue à coût fixe
© RJ Chevance

Page 49
Potentiel des technologies
 Cycle de vie classique des technologies

Potentiel de la technologie
Stabilisation avec quelques
Diminution fournisseurs
du nombre de
compétiteurs
Rachat de petites
Sociétés par des
Sociétés bien établies

Beaucoup de
(petits)
compétiteurs

Émergence Croissance Saturation

Temps
 Perception du potentiel des technologies
Perception du potentiel de la technologie

Pic des Plateau de


espérances productivité
Regain de
Creux confiance
de la vague de
Signal
désillusion
Page 99 technologique
Temps
© RJ Chevance

Base SMP extensible


 Intégration d ’aspects «système» au sein des
microprocesseurs
 Exemple
Liens vers E/S
et/ou
autres modules

1 n 1 n

Cache L2 Cache L2 Cache L2 Cache L2

Processeur Processeur Processeur Processeur

DRAM Contrôleur système Contrôleur système DRAM

DRAM Contrôleur système Contrôleur système DRAM

Processeur Processeur Processeur Processeur

Cache L2 Cache L2 Cache L2 Cache L2

1 n 1 n

Page 100 Liens vers E/S


et/ou
© RJ Chevance autres modules

Page 50
Puce multiprocesseur
 Exemple de structure système

DRAM DRAM DRAM DRAM


MPC MPC MPC MPC

P P
DRAM DRAM DRAM DRAM
N
P P MPC MPC MPC MPC

E
Cache Cache interne i/f réseau
externe + i/f cache S DRAM DRAM DRAM DRAM
externe MPC MPC MPC MPC
O
Mémoire
DRAM i/f mém.
DRAM DRAM DRAM DRAM

MPC MPC MPC MPC


E/S
MPC
SMP
64 processeurs

Page 101

© RJ Chevance

Une architecture générique de système


Sous-système de Sous-système de
Sous-système de
communication Sous-système de
communication
communication communication

Réseau de liaison avec les sous-systèmes de communication

1 n 1 n
Module
Module 1
Cache Externe Cache Externe Cache Externe Cache Externe

MPC (p proc.) MPC (p proc.) MPC (p proc.) MPC (p proc.)

DRAM Contrôleur système Contrôleur système DRAM

Réseau d ’interconnexion cohérent (couplage fort) + échanges de données (couplage lâche)

1 n Réseau système 1 n
Module M
Module (Switch
Cache Externe Cache Externe Cache Externe Cache Externe
avec
redondance)
MPC (p proc.) MPC (p proc.) MPC (p proc.) MPC (p proc.)

DRAM Contrôleur système Contrôleur système DRAM

SAN - Réseau de stockage (Storage Area Network)

Sous-système Sous-système Sous-système Sous-système


Sous-système
de stockage Sous-système
de stockage Sous-système
de stockage Sous-système
de stockage
de ou
avec stockage
sans de ou
avec stockage
sans de ou
avec stockage
sans de ou
avec stockage
sans
avec ou sans
redondance avec ou sans
redondance avec ou sans
redondance avec ou sans
redondance
redondance redondance redondance redondance

Page 102

© RJ Chevance

Page 51
Références et adresses utiles
Cette présentation est fondée sur l’ouvrage suivant :

[CHE00] René J. Chevance « Serveurs multiprocesseurs, clusters et architectures parallèles »


Eyrolles 2000

Autres références :

[HEN91] John L. Hennessy, P. Joupi “ Computer Technology and Architecture: An Evolving


Interaction ”
Computer Vol.24,No.9, September 1991
[HEN99] John L. Hennessy, "The Future of Systems Research",
Computer, Vol. 32, No 8, August 1999, pp. 27-33.

Sites de quelques fournisseurs :


http://www.bull.com
Quelques autres adresses utiles
http://www.cisco.com
http://www.compaq.com Jim Gray http://research.microsoft.com/~Gray
http://www.emc.com Microprocessor Report http://www.MDRonline.com
http://www.hp.com ACM http://www.acm.org
http://www.ibm.com IEEE http://www.ieee.org
http://www.techniques-ingenieur.com
http://www.intel.com Diffusion de nouvelles http://www.theregister.uk
http://www.microsoft.com
http://www.seagate.com
Page 103 http://www.sun.com

© RJ Chevance

Compléments

Réseaux de stations de travail


Supercalculateur vectoriel NEC SX-5

Page 104

© RJ Chevance

Page 52
Réseaux de stations de travail
 Émergence de solutions d’interconnexion standard
(contrôleurs PCI) à haut débit et à faible latence
 Recherche de solutions, pour des applications de calcul
numérique intensif, fondées sur l’interconnexion de stations
de travail
 Souvent des solutions spécifiques implémentées par des
laboratoires de recherche (préfiguration de produits
industriels?)

Type de réseau Débit Latence


Ethernet 1 Mo/s 1 ms
Myrinet 125 Mo/s 10 µs
SCI 500 Mo/s 1 µs
Spider (SGI) avec 16 nœuds 12,8 Go/s 156 ns

Page 105

© RJ Chevance

Supercalculateur vectoriel - NEC SX-5


 Exploite le parallélisme des données et utilise les
ressources de calcul parallèle des unités de
traitement.
Exemple de vectorisation
 Code «classique» :
DO i=1, 256
Z(i)=X(i)+Y(i)
ENDDO
 Code vectorisé
<initialisation i= 1>
test : <test conditions d’entrée dans
Code engendré dans le cas du SX-5
la boucle sinon aller à sortie>
<calcul de X(i) + Y(i)> <chargement de X dans rv-1> (256 valeurs)
<chargement de Y dans rv-2> (256 valeurs)
<rangement du résultat dans Z(i)> <addition vectorielle de rv-1 et rv-2 ->rv-3>
<incrémentation de i> <rangement de rv-3 dans Z> (256 valeurs)

<saut inconditionnel à test>


sortie : <…>
Page 106

© RJ Chevance

Page 53
Architecture NEC SX-5
 Multiprocesseur (SMP) fondé sur un
microprocesseur vectoriel spécifique CMOS,
jusqu’à 16 processeurs par nœud, 128 Gflops de
puissance de crête (16 x 8 Gflops)
 Jusqu’à 4 processeurs d’entrées-sorties par
nœud
 Configuration cluster avec 32 nœuds maximum
(puissance de crête 4 Tflops)
 16 opérateurs arithmétiques parallèles (SX-5) ou
8 (SX-5S) et un opérateur scalaire par processeur
 Bande passante mémoire très élevée : de 32 à
1024 Go/s
 Capacité mémoire maximale par nœud : 128 Go
 Unix, Fortran 90, HPF, C et C++
Page 107

© RJ Chevance

Architecture NEC SX-5(2)


 Architecture d’un nœud SX-5

CPU
CPU CPU
CPU CPU
CPU CPU
CPU
00 11 14
14 15
15

MMU XMU
XMU(4)
(4)
Mémoire principale Mémoire
Mémoireétendue
étendue
SDRAM DRAM
DRAM
2Go - 128 Go 1-32
1-32Go
Go
32-1024 Go/s 4-16
4-16Go/s
Go/s

IOP
IOP00 IOP
IOP11 IOP
IOP22 IOP
IOP33

3,2 Go/s 3,2 Go/s 3,2 Go/s 3,2 Go/s


Page 108

© RJ Chevance

Page 54
Architecture NEC SX-5(3)
 Architecture interne d’un processeur SX-5

Mask Registers
Mémoire 256
principale 8
mask
64 Vector Data
(MMU) Registers + +x
8 ++ xshift
xshift
+ +x xshift
logical
++ xshift logical
8/16 256 
shift

x
xshift logical
logical
shift
Load/Store shiftlogical

logical
logical

logical

32/64 Go/s 8/16 Vector Arithmetic
Registers

Inst. Stack (8 Unité scalaire


Ko)
Registres +
x
Cache scalaires
128 Ko 128

Page 109

© RJ Chevance

Page 55