Le multiprocesseur symétrique

Un ordinateur est dit multiprocesseur lorsqu’il est pourvu de plusieurs processeurs, et est ainsi une forme d’architecture parallèle.

ordinateur.jpg

Puis, un système multiprocesseur symétrique, ou SMP, est une architecture parallèle qui vise à accroître les processeurs identiques dans un ordinateur, afin d’amplifier la puissance de calcul en gardant une mémoire unique. Dans ce cas, il n’y a aucun processeur principal qui contrôle les autres. Cependant, un processeur peut être, par exemple, la cible principale du traitement d’interruptions, comme sur les multiprocesseur symétriques de type PC d’il y a quelques années.

Principe du multiprocesseur symétrique

En répartissant les traitements uniformément entre les processeurs, le traitement symétrique est le plus utilisé actuellement. Le principe même du multiprocesseur symétrique est de ne différencier ou prioriser aucun processeur d’un système, pour que n’importe lequel d’entre eux, s’il est disponible, puisse assumer les fonctions d’un autre. La distribution des fonctions au processeur disponible est assurée par un planificateur. N’importe quel processeur est alors apte à exécuter le noyau de système, une application ou la gestion des entrées sorties, car aucun n’a un rôle spécifié. En effet, l’un peut charger le système au démarrage, et utilise les autres selon les besoins, alors que ces derniers peuvent accéder à l’intégralité de la mémoire et exécuter toute application. Ce principe crée une répression sur la mémoire principale que tous les processeurs partagent, d’où la mémoire répartie partagée et à mémoire distribuée.

Le rôle de ce processeur

Le multiprocesseur symétrique permet d’augmenter les performances des ordinateurs, particulièrement ceux conçus pour exécuter les rôles de serveurs de réseaux.

processeur.jpg

En effet, faire fonctionner plusieurs processeurs dans un même ordinateur rend beaucoup d’autres processeurs disponibles et permet ainsi l’exécution simultanée de plusieurs programmes du système, utilisateur ou noyau, avec une fluidité d’exécution accrue. Il permet aussi à un programme d’utiliser plus de ressources de calcul en créant plusieurs threads.