Tableau de comparaison
Base de comparaison | Multitraitement | Multithreading |
---|---|---|
De base | Le multitraitement ajoute des processeurs pour augmenter la puissance de calcul. | Le multithreading crée plusieurs threads d'un même processus pour augmenter la puissance de calcul. |
Exécution | Plusieurs processus sont exécutés simultanément. | Plusieurs threads d'un même processus sont exécutés simultanément. |
Création | La création d'un processus prend du temps et des ressources. | La création d'un fil est économique à la fois en termes de temps et de ressources. |
Classification | Le multitraitement peut être symétrique ou asymétrique. | Le multithreading n'est pas classifié. |
Définition du multitraitement
Un système multitraitement est un système comportant plus de deux processeurs. Les processeurs sont ajoutés au système pour augmenter la vitesse de calcul du système. Chaque unité centrale dispose de son propre ensemble de registres et de sa mémoire principale. Juste parce que les processeurs sont séparés, il peut arriver qu'un processeur ne doive rien traiter, qu'il reste inactif et que l'autre puisse être surchargé de processus. Dans ce cas, les processus et les ressources sont partagés de manière dynamique entre les processeurs.
Le multitraitement peut être classé en multitraitement symétrique et en multitraitement asymétrique . Dans le multitraitement symétrique, tous les processeurs sont libres d'exécuter tous les processus d'un système. Dans le multitraitement asymétrique, il existe une relation maître-esclave entre les processeurs. Le processeur maître est responsable de l’attribution du processus aux processeurs esclaves.
Si le processeur dispose d' un contrôleur de mémoire intégré, son ajout augmenterait la quantité de mémoire adressable dans le système. Le multitraitement peut changer le modèle d' accès à la mémoire, passant d' un accès uniforme à la mémoire à un accès non uniforme à la mémoire . L'accès uniforme à la mémoire correspond au même temps pour accéder à n'importe quelle RAM depuis n'importe quel processeur. D'un autre côté, un accès non uniforme à la mémoire nécessite plus de temps pour accéder à une partie de la mémoire qu'aux autres.
Définition du multithreading
Le multithreading est l'exécution simultanée de plusieurs threads d'un même processus dans le contexte de ce processus. Maintenant, laissez-nous d'abord discuter de ce qu'est un fil? Un thread d'un processus signifie un segment de code d'un processus, qui a son propre ID de thread, compteur de programme, registres et pile et qui peut être exécuté indépendamment. Mais les threads appartenant au même processus doivent partager les propriétés de ce processus, telles que le code, les données et les ressources système. La création de processus distincts pour chaque demande de service consomme du temps et épuise les ressources système. Au lieu d'engendrer cette surcharge, il est plus efficace de créer des threads d'un processus.
Créer un thread est économique car il partage le code et les données du processus auquel ils appartiennent. Le système n'a donc pas besoin d'allouer des ressources séparément pour chaque thread. Le multithreading peut être augmenté sur un système d'exploitation multitraitement. Comme le multithreading sur plusieurs processeurs augmente le parallélisme .
Différences clés entre le multitraitement et le multithreading
- La principale différence entre le multitraitement et le multithreading réside dans le fait que le multitraitement permet à un système d’avoir plus de deux processeurs ajoutés au système, tandis que le multithreading permet à un processus de générer plusieurs threads pour augmenter la vitesse de calcul d’un système.
- Le système de multitraitement exécute plusieurs processus simultanément alors que le système de multithreading permet d'exécuter simultanément plusieurs threads d'un processus.
- La création d'un processus peut prendre du temps et même épuiser les ressources du système. Toutefois, la création de threads est économique car les threads appartenant au même processus partagent les propriétés de ce processus.
- Le multitraitement peut être classé en multitraitement symétrique et en multitraitement asymétrique alors que le multithreading n'est pas classé plus loin.
Conclusion:
Les avantages du multithreading peuvent être progressivement augmentés dans un environnement multitraitement, car le multithreading sur un système multitraitement augmente le parallélisme.