La définition de l'affinité indique à ce processus sur quels processeurs il est autorisé à s'exécuter.
Bien que très utile pour certains cas de niche, l'utilisateur moyen ne devrait probablement pas jouer avec.
Par exemple, si un processus était autorisé à exécuter son propre noyau, il pourrait s'exécuter en (presque) temps réel sans que ces 70 utilitaires Windows interrompent et échangent constamment la pile sur le processeur pour leur propre tranche de temps. Les applications en temps réel étaient quelque chose que Windows ne pourrait jamais faire avant que les systèmes multiprocesseurs / multicœurs n'entrent en scène, car le système d'exploitation interromprait / commutait constamment l'application pour ses propres besoins. Cela peut maintenant être principalement surmonté en isolant l'application en temps réel d'un processeur tout en empêchant toutes les autres applications du système d'utiliser ce processeur. C'est un sujet très spécifique, mais des systèmes tels que les simulateurs de vol (réels), l'automatisation en usine et les systèmes de rétroaction des commandes dépendent de l'architecture en temps réel pour fonctionner.
Les applications gourmandes en processeurs (comme les machines virtuelles) peuvent être isolées dans leur propre cœur afin que vous puissiez les utiliser sans analyser le reste de votre système. En théorie, un hyperviseur fonctionnant sur un processeur prenant en charge l'interaction hyperviseur nu peut atteindre des performances de processeur égales à un système d'exploitation indépendant s'exécutant seul (moins le processeur nécessaire pour exécuter le système d'exploitation hôte). Bien sûr, dans la pratique, même une machine virtuelle fonctionnant sur son propre cœur / processeur isolé devra toujours accepter une petite quantité de surcharge de l'hôte du système d'exploitation hôte.
Pour les applications qui gèrent une grande quantité de données en flux, l'isolement de l'application sur son propre processeur (et potentiellement en utilisant toujours plusieurs cœurs) réduira l'échange de cache.
Les applications plus anciennes qui se cassent lorsqu'elles sont réparties sur plusieurs processeurs peuvent effectivement être limitées à un cœur / processeur pour résoudre le problème.
Si vous faisiez des mesures de performances sur une application spécifique, il est presque impossible d'obtenir des résultats cohérents sur différents systèmes, sauf si vous pouvez isoler le processus car, sinon, vous n'avez aucun contrôle sur le temps que le système d'exploitation donne à votre application. La plupart des gens conviennent que la mesure des performances d'exécution ne donne pas de bons résultats, mais ces personnes n'ont jamais considéré que l'intervention du système d'exploitation (qui rend les résultats si incohérents) peut être limitée en utilisant l'affinité.
Il existe de nombreux cas où l'affinité est vitale, mais si vous ne savez pas ce que c'est, vous n'en aurez probablement pas besoin.