Avec NUMA (Non-Uniform Memory Access), les systèmes AS/400 pourraient supporter
des centaines ou des milliers de processeurs
Voilà des années que le débat fait rage chez IBM sur l'utilisation de NUMA (Non-Uniform
Memory Access) - une architecture mémoire permettant de bâtir de très grands systèmes
avec de nombreux processeurs. Les partisans avançaient que NUMA permet à un grand
nombre de processeurs de fonctionner comme un système unique, tout en conservant
la simplicité de programmation et d'administration d'un petit système.
Pour ses opposants, une architecture NUMA, trop complexe, ne permettrait jamais
de construire de très grands systèmes. Selon eux, les technologies Cluster étaient
seules valables en la matière.
NUMA
permet à un grand nombre de processeurs de fonctionner comme un système unique,
tout en conservant la simplicité d'un petit système
Pendant les 10 dernières années, les adversaires de NUMA
ont imposé leur point de vue. Les plus grands systèmes d'IBM, le RS/6000 SP et
le S/390 Sysplex, sont effectivement des systèmes en cluster.
Certaines des plus grandes installations d'AS/400, elles aussi, utilisent cette
même technique. Mais, récemment, Big Blue a commencé à penser autrement. La plupart
d'entre nous ont probablement entendu parler du projet lancé en 1995 par le Department
of Energy (DOE) visant à créer les plus gros et plus puissants ordinateurs du
monde. Les grands de l'informatique (dont IBM, SGI et Sun) collaborent avec les
laboratoires nationaux du DOE pour créer ces super-ordinateurs.
Début 1999, IBM a livré les derniers éléments d'un super-ordinateur appelé Blue
Pacific, au Lawrence Livermore National Laboratory de DOE en Californie. Blue Pacific est un hyper-cluster constitué de trois systèmes RS/6000 SP
avec 5856 processeurs PowerPC. C'est la plus grosse installation de RS/6000 SP
jamais construite et elle revendique le titre d'ordinateur le plus rapide au monde.
Toujours cette année, SGI a livré un super-ordinateur appelé Blue Mountain au
Los Alamos National Laboratory de DOE au Nouveau Mexique. Blue Mountain est un
très grand système SGI Origin2000 doté de 6144 processeurs. Bien que les tests
de ces deux monstres ne soient pas encore terminés, Blue Pacific et Blue Mountain
ont atteint les mêmes niveaux de performances. Mais il est intéressant de constater
qu'IBM utilise les technologies cluster pour Blue Pacific, tandis que SGI utilise
les technologies NUMA pour Blue Mountain.
Ceux qui, chez IBM, prétendaient que NUMA était inférieur au cluster, en ont pris
un coup. A tel point que, en juillet, IBM a annoncé la conclusion
d'un accord avec Sequent Computer Systems visant à acquérir toutes les actions
de Sequent pour fusionner avec elle. Rappelons que Sequent développe, fabrique
et vend de grands serveurs de bases de données basés Intel, sous Unix ou Windows
NT.
A l'heure actuelle, ces serveurs vont jusqu'à 64 processeurs avec les technologies
NUMA et le chiffre de 256 est déjà envisagé. Non seulement IBM vendra les serveurs
actuels de Sequent, NUMA-Q 1000 et 2000, mais Big Blue envisage aussi d'intégrer
les technologies NUMA de Sequent dans ses propres serveurs. Et l'AS/400 dans tout
çà ?
NUMA : vers de très gros AS/400
Pour bien comprendre les avantages de NUMA, il convient d’examiner les trois types
d’organisation de systèmes multiprocesseurs : le modèle SMP (Symmetric Multiprocessor),
le modèle à mémoire distribuée, et NUMA. Les trois procédés diffèrent essentiellement
par la manière dont ils traitent la mémoire.
Le
modèle SMP.
Une architecture SMP relie plusieurs processeurs à une seule mémoire centralisée.
Tous les processeurs d’un environnement SMP accèdent à la même mémoire système
physique, et donc un système SMP exécute une copie unique du système d’exploitation.
Autre conséquence, les programmes applicatifs écrits pour un système monoprocesseur
tourneront sans modifications sur un système SMP. On dit parfois que les systèmes
SMP ont une architecture UMA (Uniform Memory Access), parce que le temps nécessaire
pour accéder à un emplacement quelconque en mémoire est le même pour tous les
processeurs. Le point faible du modèle SMP est son extension.
En effet, la taille d’un système SMP est limitée par la question suivante : combien
de processeurs peut-on rattacher à une seule mémoire centralisée avant de saturer
son interface. Bien entendu, l’extension d’un système SMP est amplement suffisante
pour la plupart des clients actuels. Prenons le cas de l’AS/400 : nous supportons
actuellement jusqu’à 12 processeurs dans un modèle SMP ; l’an prochain, nous irons
jusqu’à 24 et, dans un bref délai, 32. A plus longue échéance, toutefois, de nombreux
systèmes de gestion contiendront des centaines, voire des milliers de processeurs.
Le modèle SMP convient parfaitement entre 32 et 64 processeurs. Au-delà , un autre
modèle de mémoire s’impose.
Le modèle à mémoire distribuée.
Le modèle à mémoire distribuée est celui qui accepte le plus grand nombre de processeurs.
Un tel modèle comporte de multiples noeuds, dont chacun possède un ou plusieurs
processeurs et sa propre mémoire. Les processeurs constituant chaque noeud peuvent,
ou non, être configurés comme un SMP. Les noeuds sont ensuite interconnectés pour
former un système unique. Les clusters sont des systèmes à mémoire
distribuée dans lesquels les processeurs n’accèdent pas à la même mémoire physique.
Chaque processeur n’accède qu’à la mémoire du noeud local ; les noeuds ne partagent
aucune mémoire.
Ces systèmes sont appelés systèmes sans partage (shared-nothing) (ou systèmes
à transmission de message (message-passing), parce que les communications entre
les noeuds s’effectuent par messages). Chaque noeud d’un cluster exécute
une copie distincte du système d’exploitation et possède généralement ses propres
unités d’entrées-sorties. Si un programme est trop gros pour s’exécuter sur un
seul noeud SMP, il ne pourra pas fonctionner sans modification sur plusieurs noeuds
d’un cluster. Il faudra restructurer le programme et ses données afin d’équilibrer
la charge sur deux noeuds ou plus du cluster. La difficulté de cette tâche explique
pourquoi il est plus difficile de gérer et d’administrer des clusters que des
systèmes SMP.
La programmation en parallèle (consistant à programmer une application
pour qu’elle tourne sur un grand nombre de noeuds simultanément) pour un cluster
est encore plus difficile. Les applications se prêtant à la programmation en parallèle
sont généralement très constantes, ce qui signifie que les mêmes opérations peuvent
être effectuées dans chaque noeud avec différents jeux de données. La plupart des
applications scientifiques et beaucoup d’applications de bases de données entrent
dans cette catégorie. Il y a quelques années, IBM a introduit le support des bases
de données parallèles pour les clusters AS/400, afin d’y exploiter la programmation
en parallèle. La famille de serveurs d’IBM utilise la technologie
cluster pour favoriser l’extension et la haute disponibilité. Ainsi, un RS/6000
SP est un cluster utilisé principalement pour son extension.
Chaque noeud d’un SP est une station de travail RS/6000 sans écran, et un seul
rack SP peut contenir jusqu’à 16 de ces noeuds. En connectant plusieurs racks,
on peut constituer l’un des plus grands systèmes jamais construits, y compris
Blue Pacific. (En raison de cette structure, certains ouvrages regroupent le SP
et les systèmes similaires, dans une classification appelée COW (cluster of workstations).
IBM, pour des raisons évidentes, préfère à cette appellation, celle de système
SP (scalable parallel). Mais, de plus en plus, les clusters AS/400
et RS/6000 ainsi que le S/390 Sysplex servent à augmenter la disponibilité totale.
Le clustering est donc la technologie clé permettant la disponibilité permanente
de tout système. Un cluster AS/400, par exemple, est une collection
de systèmes AS/400 complets dont la coopération et l’inter opération constituent
une seule unité informatique. Chaque AS/400 constitue un noeud et un cluster AS/400
accepte jusqu’à 128 noeuds. Les ressources critiques comme la base de données,
les fichiers et les applications, sont répliquées sur plusieurs noeuds. En cas
de panne (c’est-à -dire d’un point de défaillance quelconque), ces ressources demeurent
accessibles même si la panne concerne un des noeuds contenant ces ressources.
Le modèle NUMA.
C’est la troisième forme du système multiprocesseur. Elle aussi utilise un modèle
à mémoire distribuée mais, contrairement au cluster, les processeurs dans tous
les noeuds sont capables d’accéder à la totalité de la mémoire du système. Soulignons
au passage que le temps nécessaire à n’importe quel processeur pour accéder à
la mémoire contenue dans un noeud local, peut être considérablement inférieur au
temps d’accès à la mémoire contenue dans un noeud distant.
Autrement dit, les temps d’accès mémoire seront non uniformes, d’où le
nom NUMA. NUMA présente l’avantage d’étendre la taille d’un système
tout en conservant le système d’exploitation unique, le modèle de programmation
de l’application et la simplicité d’administration d’un système SMP. Les programmes
écrits pour un système monoprocesseur tournent sans modification sur un système
NUMA; bien entendu, les performances de l’application dépendent alors de la proportion
d’accès distants et de leur durée.
Bien que plus facile à mettre en oeuvre qu’un cluster, un système NUMA n’en requiert
pas moins un certain équilibrage de charge pour optimiser les performances.
Téléchargez cette ressource
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.