Recommandé, 2024

Choix De L'Éditeur

Différence entre le multitraitement symétrique et asymétrique

Il existe deux types de multitraitement, le multitraitement symétrique et le multitraitement asymétrique. Le système de multitraitement a plusieurs processeurs et ils peuvent exécuter plusieurs processus simultanément. Dans le multitraitement symétrique, les processeurs partagent la même mémoire. Dans le multitraitement asymétrique, il existe un processeur principal qui contrôle la structure de données du système. La principale différence entre le multitraitement symétrique et asymétrique réside dans le fait que, dans le multitraitement symétrique, tous les processeurs du système exécutent des tâches dans le système d'exploitation. Mais, dans le multitraitement asymétrique, seule la tâche d'exécution du processeur maître dans le système d'exploitation.

Vous pouvez différencier les multiprocesseurs symétriques et les multiprocesseurs asymétriques sur certains autres points abordés dans le tableau de comparaison présenté ci-dessous.

Tableau de comparaison

Base de comparaisonMulti-traitement symétriqueMulti-traitement asymétrique
De baseChaque processeur exécute les tâches dans le système d'exploitation.Seul le processeur maître exécute les tâches du système d'exploitation.
ProcessusLe processeur prend les processus dans une file d'attente commune prête ou il peut y avoir une file d'attente privée prête pour chaque processeur.Le processeur maître affecte des processus aux processeurs esclaves, ou bien certains processus sont prédéfinis.
ArchitectureTous les processeurs du multitraitement symétrique ont la même architecture.Tous les processeurs en multitraitement asymétrique peuvent avoir une architecture identique ou différente.
la communicationTous les processeurs communiquent avec un autre processeur par une mémoire partagée.Les processeurs n'ont pas besoin de communiquer car ils sont contrôlés par le processeur maître.
ÉchecSi un processeur tombe en panne, la capacité de calcul du système diminue.Si un processeur maître échoue, un esclave est dirigé vers le processeur maître pour poursuivre l'exécution. Si un processeur esclave échoue, sa tâche est transférée à d'autres processeurs.
FacilitéLe multiprocesseur symétrique est complexe car tous les processeurs doivent être synchronisés pour maintenir l'équilibre de la charge.Le multiprocesseur asymétrique est simple, car le processeur principal accède à la structure de données.

Définition du multitraitement symétrique

Le multitraitement symétrique est un processus dans lequel tout le processeur exécute les tâches dans le système d'exploitation. Il n’ya pas de relation maître-esclave comme le multitraitement asymétrique. Tous les processeurs ici communiquent en utilisant la mémoire partagée .

Les processeurs commencent à exécuter les processus à partir de la file d'attente commune prête. Chaque processeur peut également avoir sa propre file d'attente privée de processus prêts à exécuter. Le planificateur doit veiller à ce que deux processeurs n'exécutent pas le même processus.

Le multitraitement symétrique offre un bon équilibrage de la charge, une meilleure tolérance aux pannes et réduit également le risque de goulot d'étranglement du processeur. C'est complexe car la mémoire est partagée entre tous les processeurs. Dans le multitraitement symétrique, une défaillance du processeur entraîne une capacité de calcul réduite .

Définition du multitraitement asymétrique

Le multitraitement asymétrique a la relation maître-esclave entre les processeurs. Il existe un processeur maître qui contrôle le processeur esclave restant. Le processeur maître attribue des processus à un processeur esclave, ou ils peuvent avoir une tâche prédéfinie à exécuter.

Le processeur maître contrôle la structure de données . La planification des processus, le traitement des E / S et d'autres activités du système sont contrôlés par le processeur maître .

En cas de défaillance d'un processeur maître, un processeur parmi les processeurs esclaves est chargé par le processeur maître de poursuivre l'exécution. En cas de défaillance d'un processeur esclave, l'autre processeur esclave prend en charge son travail. Le multitraitement asymétrique est simple car il n’ya qu’un seul processeur qui contrôle la structure des données et toutes les activités du système.

Principales différences entre le multitraitement symétrique et asymétrique

  1. Le point le plus reconnaissable entre le multitraitement symétrique et asymétrique est que les tâches dans le système d'exploitation ne sont gérées que par le processeur maître dans le multitraitement asymétrique. D'autre part, tous les processeurs en multitraitement symétrique exécutent les tâches dans le système d'exploitation.
  2. Dans le multitraitement symétrique, chaque processeur peut avoir sa propre file d'attente privée de processus prêts, ou bien prendre des processus d'une file d'attente commune commune. Mais, dans le multitraitement asymétrique, le processeur maître attribue des processus aux processeurs esclaves.
  3. Tous les processeurs du multitraitement symétrique ont la même architecture. Mais la structure des processeurs en multiprocesseur asymétrique peut différer.
  4. Les processeurs en multitraitement symétrique communiquent entre eux par la mémoire partagée. Cependant, les processeurs en multitraitement asymétrique n'ont pas besoin de communiquer entre eux car ils sont contrôlés par le processeur maître.
  5. En cas de défaillance du processeur maître, un processeur esclave est tourné vers le processeur maître pour poursuivre l'exécution. Mais si un processeur en multitraitement symétrique échoue, la capacité de calcul du système est réduite.
  6. Le multiprocesseur asymétrique est simple car seul le processeur maître accède à la structure de données, tandis que le multiprocesseur symétrique est complexe, car tous les processeurs doivent fonctionner en synchronisation.

Conclusion:

Les multiprocesseurs augmentent la vitesse du système, car on peut exécuter plusieurs processus simultanément. Le multitraitement asymétrique est simple, un seul processeur (maître) peut accéder à la structure de données. Le multitraitement symétrique est complexe car la structure de données est partagée entre tous les processeurs et tous les processeurs doivent fonctionner en synchronisation.

Top