La première conférence internationale Wikimedia (http://www.wikimania.org/wiki/Accueil) se tiendra à Francfort, du 4 au 8 août.

Multiprocesseur

Un article de Wikipédia, l'encyclopédie libre.

Cet article est une ébauche concernant l'informatique, vous pouvez partager vos connaissances en le modifiant (http://fr.wikipedia.org/w/index.php?title=Multiprocesseur&action=edit).

Un ordinateur multiprocesseur est doté de plusieurs processeurs. Inversement, un ordinateur monoprocesseur n'en comporte qu'un seul.

Sommaire

But

Dans tout système informatique certaines formes de parallélismes sont exploitables, elles sont justement mises en valeur par ce type d'ordinateur. Le parallélisme peut être exploité à plusieurs niveaux :

  1. ressources du processeur : quand celui-ci possède plusieurs unités utilisables en même temps, ce qui est typiquement le cas des processeurs avec un pipeline.
  2. instruction : des instructions indépendantes peuvent être exécutés concurremment.
  3. tâches (ou processus) : plusieurs processus sont susceptibles de pouvoir être exécutés par un processeur au même moment.
  4. ...

Performance

Un système doté de N processeurs n'est pas N fois plus rapide qu'un uniprocesseur. Cela est du aux conflits d'accès à la mémoire, aux canaux de communications, etc. Néanmoins l'augmentation des performances qui découle de ce type d'architecture les rendent tout de même très attrayantes, surtout dans le domaine du calcul haute performance (superordinateurs). Une illustration est donnée plus bas.

Topologie d'interconnexion

Une des caractéristiques importantes des ordinateurs multiprocesseur est la topologie du réseau qui relie les processeurs entres eux. À peu près toutes les topologies ont été utilisées, on peut néanmoins en illustrer quelques unes :

Processeurs multicœurs

2 processeurs non multicœurs, chacun occupant un support.
Agrandir
2 processeurs non multicœurs, chacun occupant un support.
2 processeurs, chacun multicore, chacun occupant un support.
Agrandir
2 processeurs, chacun multicore, 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 deux 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 cache) peuvent être mis en commun.

Les processeurs multicœurs sont cadencés à des fréquences inférieures à celle des monoprocesseurs, d'où une consommation et un dégagement de chaleur réduit.

Prenons l'exemple d'un ordinateur biprocesseur où chaque processeur est cadencé à 3,6 Ghz. La puissance totale de la machine sera de 7,2 Ghz, moins quelques pourcents dûs aux latences diverses.

Il est possible de remplacer, en utilisant exactement les mêmes supports, les deux processeurs précédents par leur équivalent multicœur. 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, la puissance de calcul étant maintenant de 4 × 2,8 soit 11,2 Ghz (auxquels, là aussi, il faut soustraire (deux fois) quelques pourcents).

Associé à la technique de l'hyperthreading, cette technologie est en plein essor. On peut noter que Sun Microsystems étudie 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.

Il est important de préciser que ces architectures ne sont intérressantes que pour les programmes qui se prètent simultannément aux deux techniques precitées (multicœurs et hyperthreading).

Historique

Parmi les premières machines multiprocesseurs, le C.mmp est pionnier. Ensuite certains superordinateurs ont marqués leur époque, comme 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.

Références

Liens internes

Liens externes

  • Le classement des 500 machines les plus rapides (en anglais) : TOP 500 (http://www.top500.org)
Autres langues