Qu'est-ce que l'Hyperthreading et pourquoi devriez-vous vous en soucier ?

Disons que vous envisagez d'acheter un nouveau processeur et que vous devez soudainement choisir entre deux produits qui sont à peu près identiques sur le papier, mais l'un d'eux a une fonctionnalité appelée hyperthreading et l'autre non.

Il est clair que l'hyperthreading est une bonne chose car vous devez payer un supplément, mais à quoi sert-il ? Plus important encore, est-ce quelque chose dont vous(you) devriez vous soucier ? Pour répondre à ces questions brûlantes, nous devons faire un petit détour par la façon dont les processeurs(CPUs) fonctionnent .

Pouvoir illimité!

Même si vous n'êtes pas du tout intéressé par les détails techniques de la technologie informatique(computer technology) , vous avez probablement déjà entendu parler de la loi de Moore(Moore’s Law) . Ce n'est pas vraiment une loi naturelle, mais une observation que les composants de base des circuits intégrés doublaient de densité tous les deux ans environ.

En effet, cela signifiait que les performances d'un processeur(CPU) doubleraient tous les deux ans, ce qui représente un taux d'amélioration exponentiel. Si la voiture la plus rapide du monde était deux fois plus rapide que celle qui est sortie il y a deux ans et que cette tendance s'est poursuivie pendant des décennies, nous aurions des véhicules à la vitesse des vaisseaux de science-fiction . C'est donc en fait l'une des choses les plus révolutionnaires de la technologie informatique(computer technology) .

Le problème est que les performances d'un CPU ne sont pas seulement déterminées par la densité de ses composants. Sa vitesse d'horloge(clock speed) , c'est-à-dire le nombre de cycles de calcul complets qu'il peut effectuer en une seconde, est évidemment importante. Si vous prenez un CPU et que vous doublez sa vitesse d'horloge(clock speed) , il sera deux fois plus performant. Du moins en théorie.

Le problème est que, quelle que soit la vitesse à laquelle ce processeur fonctionne, il ne peut faire qu'une seule chose à la fois. Ce que nous percevons comme "multitâche" est en fait le processeur qui saute rapidement entre des milliers de tâches différentes. Il y a quelques années, nous avons commencé à nous heurter à quelques murs de briques lorsqu'il s'agissait de rendre un processeur unique de plus en plus rapide.

Ainsi, l'une des solutions consistait à mettre plus d'un processeur(CPU) dans chaque processeur, afin que les différents travaux puissent être répartis entre eux. Aujourd'hui, les processeurs(CPUs) quadricœurs sont à peu près la configuration courante.

Hyperthreading (HT) est le nom d'Intel pour le multithreading simultané(simultaneous multithreading) . Cela signifie essentiellement qu'un cœur de processeur(CPU core) peut travailler sur deux problèmes en même temps. Cela ne signifie pas que le processeur(CPU) peut faire deux fois plus de travail. Juste qu'il peut s'assurer que toute sa capacité est utilisée en traitant plusieurs problèmes plus simples à la fois.

Pour votre système d'exploitation , chaque (operating system)cœur de processeur(CPU core) en silicium réel ressemble à deux, il alimente donc chacun comme s'il était séparé. Parce qu'une grande partie de ce que fait un processeur n'est pas suffisante pour le faire fonctionner au maximum, HT s'assure que vous en avez pour votre argent avec cette puce.

Qui devrait se soucier de l'hyperthreading(Hyperthreading) ?

C'est une autre question qui peut être un peu compliquée mais qui est en fait assez simple quand on la décompose. Tout(First) d'abord , mettons en évidence la seule chose à propos de l'hyperthreading qui est presque toujours vraie. Si vous devez choisir entre deux processeurs capables de gérer le même nombre de threads, mais qui n'ont pas le même nombre de cœurs, optez pour le processeur(CPU) qui a plus de cœurs physiques.

Par exemple, si vous disposez d'un processeur double cœur hyper-thread et d'un processeur(CPU) quadricœur non HT , l' option (CPU)quadricœur(quad core option) est le meilleur choix. Étant donné qu'ils sont proches les uns des autres dans les performances à un seul thread et à un seul cœur(core performance) . Pourquoi? Parce que le processeur quad-core a(CPU) plus de matériel de traitement(processing hardware) physique .

Le véritable problème survient lorsque vous avez deux processeurs(CPUs) avec les mêmes spécifications physiques, mais que l'un a HT et l'autre pas. Maintenant, notre question concerne vraiment le logiciel que vous souhaitez exécuter. Si vous avez un logiciel capable de générer suffisamment de threads pour utiliser également les threads HT, vous constaterez une amélioration significative en optant pour le processeur(CPU) avec hyperthreading. Tout simplement(Simply) parce qu'aucune capacité de traitement(processing capacity) n'est gaspillée et que le composant fonctionne presque à son plein potentiel la plupart du temps.

Si le logiciel que vous souhaitez exécuter ne génère pas suffisamment de threads pour utiliser également les cœurs virtuels HT, vous ne verrez littéralement aucune différence de performances.

Traditionnellement, les opérations telles que le rendu 3D du processeur , (CPU 3D)l'encodage vidéo(video encoding) et la manipulation de photos(photo manipulation) créeront autant de threads que votre processeur(CPU) médiocre peut en prendre. En d'autres termes, de nombreuses applications professionnelles modernes sont gourmandes en threads. C'est pourquoi l'Hyperthreading(Hyperthreading) a été limité aux processeurs(CPUs) de niveau professionnel tels que les i7 et plus(i7 and up) .

Les(Mainstream) applications grand public telles que les traitements de texte et les navigateurs Web ne fonctionneront pas mieux avec l'hyperthreading, même si elles peuvent générer plus de threads. Tout simplement(Simply) parce que les besoins de ces applications telles qu'elles sont utilisées par la plupart des gens ne donnent même pas de fil à retordre aux processeurs d'entrée de gamme.(CPUs)

La grande question du jeu

Les jeux vidéo(Video) sont une autre application grand public qui a été assez indifférente à l' Hyperthreading . Au moment d'écrire ces lignes, en 2019, les derniers moteurs de jeux vidéo(video game) commencent à devenir plus lourds. Ce qui signifie que les processeurs(CPUs) compatibles HT y fonctionneront mieux. Les titres plus anciens ne verront aucun avantage, à l'exception de quelques jeux de type simulation qui font un usage intensif de l'IA ou d'autres processus centrés sur le processeur.

Cela signifie-t-il que votre prochain PC de jeu devrait avoir l'Hyperthreading(Hyperthreading) ? Le fait est que nous entrons maintenant dans un marché des processeurs grand public où les (CPU market)processeurs(CPUs) à six, huit et douze cœurs sont la norme. Il est donc préférable d'avoir plus de cœurs physiques dans la mesure du possible.

La réponse simple

J'espère que l'explication ci-dessus a été suffisamment claire, mais décomposons-la en fin de compte :

  • Si vous effectuez un travail professionnel et lourd en threads, l'hyperthreading est important
  • Si vous êtes un utilisateur grand public, ne vous inquiétez pas !
  • Si vous êtes un joueur, donnez la priorité à avoir plus de cœurs dans votre prochaine version plutôt que HT, mais obtenez HT en plus si le prix est correct.

L'hyperthreading(Hyperthreading) est une excellente technologie, mais cela ne vaut pas la peine pour tout le monde. Maintenant, vous devez savoir si ce "quelqu'un" est vous ou non !



About the author

Je suis un expert en informatique avec plus de 10 ans d'expérience dans l'industrie des logiciels et des navigateurs. J'ai conçu, construit et géré des installations complètes de logiciels, ainsi que développé et maintenu des navigateurs. Mon expérience me donne la capacité de fournir des explications claires et concises sur des sujets complexes - qu'il s'agisse du fonctionnement de Microsoft Office ou de la manière de tirer le meilleur parti de Mozilla Firefox. En plus de mes compétences en informatique, je suis également un écrivain adepte et je peux communiquer efficacement en ligne et en personne.



Related posts