Cet article est uneébauche concernant l’informatique.

Unordinateurmultiprocesseur est doté de plusieursprocesseurs, et est donc une forme d'architectureparallèle.
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 uniprocesseur, 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 ditsmulticœurs, et embarquent en fait plusieurs uniprocesseurs sur une même puce.
Un réseau permet la communication entre les différents processeurs et 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 :
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 :


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éemulticœurs (multicore en anglais) permet d'assembler plusieurs cœurs de processeurs côte-à-côte sur lesilicium : le support (connectique qui relie le processeur à la carte électronique) lui ne change pas. Certains éléments, comme l'antémémoire (lamé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 ouFLOPS) sera multipliée par le nombre de cœurs. Par exemple si un processeur unicœur cadencé à 1 GHz et ayant une puissance de 10 GFLOPS est remplacé par un processeur bicœur (à 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 10 GFLOPS + 10 GFLOPS = 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).
Parmi les premières machines multiprocesseurs, leGamma 60 deBull fut pionnier (1958), mais il ne disposait pas deslangages de programmation adaptés.
Ensuite certains superordinateurs ont marqué leur époque, comme leC.mmp, l'ILLIAC IV et laConnection Machine (en) deThinking Machines. Aujourd'hui, tous les superordinateurs sont multiprocesseurs, ils sont souvent composés de milliers d'unités de traitement.
En, les systèmes d'exploitation des 500 plus puissants supercalculateurs de la planète (auTOP500) étaient[1] :
Depuis, les supercalculateurs du TOP500 tournent tous sousLinux.
Domaines de l'informatique | |
|---|---|
| Remarque : cette liste s'inspire dusystème de classification informatique de l'ACM édité en2012 | |
| Matériel | |
| Appareil et organisation d'unsystème | |
| Réseau | |
| Organisation dulogiciel | |
| Théorie etoutil (en) de programmation | |
| Développement de logiciel | |
| Théorie du calcul | |
| Algorithmique | |
| Mathématiques de l'informatique | |
| Système d'information | |
| Sécurité | |
| Interactions humain-machine | |
| Concurrence (en) | |
| Intelligence artificielle | |
| Apprentissage automatique | |
| Infographie | |
| Audio informatique | |
| Informatique appliquée |
|