Multiprocesseur


Multiprocesseur

Un ordinateur multiprocesseur est doté de plusieurs processeurs, et est donc une forme d'architecture parallèle.

Sommaire

But

Plusieurs formes de parallélismes sont exploitables dans les systèmes informatiques. Les ordinateurs multiprocesseurs permettent un parallélisme de tâches, où un processus peut être exécuté sur chaque processeur. On obtient ainsi une plus grande puissance de calcul qu'avec un ordinateur monoprocesseur, qui peut être utilisée soit pour plusieurs programmes qui disposeraient chacun d'un processeur, soit pour des programmes spécialement conçus, qui sont capables de répartir leurs calculs sur les différents processeurs.

Cette technologie a été utilisée pour des supercalculateurs, mais elle peut aussi l'être pour s'affranchir des limites de la montée en fréquence des processeurs : de nombreux processeurs actuels sont dits multicœurs, et embarquent en fait plusieurs monoprocesseurs sur une même puce.

Topologie d'interconnexion

Un réseau permet la communication entre les différents processeurs et avec la mémoire. Sa topologie a une influence importante sur les propriétés du système. À peu près toutes les topologies ont été utilisées, on peut néanmoins en illustrer quelques-unes :

Organisation de la mémoire

L'accès à la mémoire influence beaucoup les performances et la façon de programmer de telles architectures. En général, on distingue trois classes de multiprocesseurs selon la façon dont les processeurs accèdent à la mémoire :

  • un accès symétrique (Symmetric MultiProcessing, ou SMP), qui correspond à une connexion de tous les processeurs à la mémoire par un bus unique. Cette technique est beaucoup utilisée pour de petits systèmes (typiquement avec moins de 10 processeurs), comme les [[Microprocesseur_multi_cœur|processeurs multicœurs].
  • un accès non uniforme (Non Uniform Memory Access, ou NUMA), où la mémoire est distribuée dans différents «nœuds». Le temps d'accès à la mémoire n'est alors plus constant, et dépend de l'endroit auquel le processeur tente d'accéder. De plus, chaque processeur peut disposer d'un cache : si les caches sont cohérents, on parle d'architecture ccNUMA (cache coherent NUMA) ; sinon, l'architecture est dite nccNUMA.

Processeurs multicœurs

2 processeurs non multicœurs, chacun occupant un support.
2 processeurs, chacun multicœur, chacun occupant un support.

Les systèmes multiprocesseurs consomment beaucoup d'énergie et dégagent beaucoup de chaleur. Ces deux facteurs sont limitant dans les contextes où les processeurs sont étroitement confinés (serveurs lames par exemple), soit en très grand nombre (datacenter regroupant des milliers d'ordinateurs, ou superordinateurs massivement parallèles).

La technologie nommées multicœurs (multicore en anglais) permet d'assembler plusieurs cœurs de processeurs côte-à-côte sur le silicium : le support (la connectique qui relie le processeur à la carte électronique) lui ne change pas. Certains éléments, comme par exemple l'antémémoire (la mémoire cache) peuvent être mis en commun.

Il est possible de remplacer, en utilisant exactement les mêmes supports, les deux processeurs précédents par leur équivalent multicœurs. Ceux-ci pourront par exemple fonctionner à la fréquence de 2,8 GHz. La machine résultante sera donc toujours dotée de deux processeurs, mais de quatre cœurs, toutefois la fréquence de calcul vaudra toujours 2,8 GHz (chaque cœur du processeur aura la même fréquence que les autres cœurs car la fréquence de calcul est propre au processeur et non pas à chaque cœur), seule la puissance du processeur (exprimée en FLO/s ou FLOPS) sera multipliée par le nombre de cœurs. Par exemple si un processeur monocœur cadencé à 1 GHz et ayant une puissance de 10GFlops est remplacé par un processeur dual-core (à 2 cœurs) cadencé à 1 GHz et dont la puissance de chaque cœur vaut 10 GFlops alors la puissance totale du processeur dual-core vaudra 10GFlops + 10GFlops = 20 GFlops.

Associé à la technique de l'hyperthreading, cette technologie est en plein essor. Sun Microsystems étudie en 2008 la construction de multicœurs en trois dimensions, c’est-à-dire avec une zone de recouvrement des deux cœurs (donc superposés) permettant de mettre en place des canaux de communication entre eux.

Ces architectures ne sont intéressantes que pour les programmes qui se prêtent simultanément aux deux techniques précitées (multicœurs et hyperthreading).

Historique

Parmi les premières machines multiprocesseurs, le Gamma 60 de Bull fut pionnier (1958), mais il ne disposait pas des langages de programmation adaptés.

Ensuite certains superordinateurs ont marqué leur époque, comme le C.mmp, l'Illiac IV et les Connection Machines de Thinking Machines. Aujourd'hui, tous les superordinateurs sont multiprocesseurs, ils sont souvent composés de milliers d'unités de traitement.

Exemples de systèmes multiprocesseurs

Les chiffres suivants datent de novembre 2008[1].

  • Linux est le système équipant la très grande majorité (87,80 %) des 500 supercalculateurs les plus puissants de la planète ;
  • Unix perd progressivement du terrain face à Linux, mais occupe encore une place de choix sur le marché des supercalculateurs (4,60 %) ;
  • BSD et Mac OS sont très peu représentés (0,20 % chacun) ;
  • Windows ne peut gérer qu'au maximum 4 processeurs, sauf dans certaines versions « serveur » spécifiques, lui permettant de gérer selon les versions 8, 16 ou 32 processeurs. Windows 7 en version professionnel quant à lui permet de gérer jusqu'à 2 processeurs physiques et 256 cœurs. Il est quasiment inexistant sur le marché des supercalculateurs (1 %). Cependant, l'arrivée de Windows Server HPC devrait permettre d'émerger dans ce domaine.

Références

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Multiprocesseur de Wikipédia en français (auteurs)

Regardez d'autres dictionnaires:

  • multiprocesseur — [ myltiprɔsesɶr ] n. m. et adj. m. • v. 1965; angl. multiprocessor ♦ Inform. Système informatique possédant plusieurs unités de traitement qui fonctionnent en se partageant un même ensemble de mémoires et d unités périphériques. Adj. Système… …   Encyclopédie Universelle

  • multiprocesseur — ● adj. ►ARCHI Se dit d un ordinateur qui contient plusieurs processeurs centraux. Voir aussi ASMP, MPP, SMP pour différentes architectures …   Dictionnaire d'informatique francophone

  • système multiprocesseur — daugiaprocesorė sistema statusas T sritis automatika atitikmenys: angl. multiprocessing system vok. Mehrprozessorsystem, n; Mehrrechnersystem, n rus. многопроцессорная система, f pranc. système multiprocesseur, m …   Automatikos terminų žodynas

  • Bi-processeur — Multiprocesseur Un ordinateur multiprocesseur est doté de plusieurs processeurs. Un ordinateur monoprocesseur n en comporte qu un seul, un bi processeur deux. Sommaire 1 But 2 Topologie d interconnexion 3 Processeurs multicœurs …   Wikipédia en Français

  • Multi-processeurs — Multiprocesseur Un ordinateur multiprocesseur est doté de plusieurs processeurs. Un ordinateur monoprocesseur n en comporte qu un seul, un bi processeur deux. Sommaire 1 But 2 Topologie d interconnexion 3 Processeurs multicœurs …   Wikipédia en Français

  • Multiprocesseurs — Multiprocesseur Un ordinateur multiprocesseur est doté de plusieurs processeurs. Un ordinateur monoprocesseur n en comporte qu un seul, un bi processeur deux. Sommaire 1 But 2 Topologie d interconnexion 3 Processeurs multicœurs …   Wikipédia en Français

  • Ordinateur parallèle — Multiprocesseur Un ordinateur multiprocesseur est doté de plusieurs processeurs. Un ordinateur monoprocesseur n en comporte qu un seul, un bi processeur deux. Sommaire 1 But 2 Topologie d interconnexion 3 Processeurs multicœurs …   Wikipédia en Français

  • multi- — ♦ Élément, du lat. multus « beaucoup, nombreux ». ⇒ pluri , poly . ⊗ CONTR. Mon(o) , uni . ● multi Préfixe, du latin multi, nombreux, indiquant la multiplicité. multi élément, du lat. multus, nombreux . ⇒MULTI , élém. formant Élém. tiré du lat.… …   Encyclopédie Universelle

  • Architecture ARM — Les architectures ARM, développées par ARM Ltd, sont des architectures RISC 32 bits. Dotés d une architecture relativement plus simple que d autres familles de processeurs, et bénéficiant d une faible consommation, les processeurs ARM sont… …   Wikipédia en Français

  • CPU — Processeur « CPU » redirige ici. Pour les autres significations, voir CPU (homonymie) …   Wikipédia en Français


Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”

We are using cookies for the best presentation of our site. Continuing to use this site, you agree with this.