L’idée de base de l’hy­per­threa­ding est de permettre à un mi­cro­pro­ces­seur de traiter plusieurs tâches si­mul­ta­né­ment. Alors qu’au­pa­ra­vant, une seule tâche pouvait être gérée par pro­ces­seur, l’hy­per­threa­ding d’Intel permet désormais de diviser un pro­ces­seur en deux cœurs logiques et virtuels traitant les hy­per­threads de façon si­mul­ta­née. Nous vous ex­pli­quons ici comment l’hy­per­threa­ding améliore la per­for­mance de votre pro­ces­seur.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Que signifie « hy­per­threa­ding » ?

Le terme d’hy­per­threa­ding, qui semble tout droit tiré de la science-fiction, ne recouvre en réalité que le principe qui veut que deux mains valent mieux qu’une. L’hy­per­threa­ding d’Intel trouve son origine dans le domaine des serveurs, où plusieurs pro­ces­seurs physiques sont gé­né­ra­le­ment utilisés si­mul­ta­né­ment pour augmenter la puissance de calcul. L’hy­per­threa­ding, en revanche, ne fait in­ter­ve­nir qu'un seul pro­ces­seur physique, mais celui-ci se comporte comme s’il en existait deux. Ceci est rendu possible car le pro­ces­seur se divise en deux cœurs virtuels, également appelés noyaux, qui traitent les tâches en parallèle. Cela permet de traiter si­mul­ta­né­ment plusieurs files de commandes en tant qu’hy­per­thread, de répartir les processus entre les cœurs virtuels et d’améliorer l’uti­li­sa­tion du pro­ces­seur.

Dé­fi­ni­tion

Hy­per­threa­ding : l’hy­per­threa­ding est le nom d’une tech­no­lo­gie inventée par Intel qui permet à un mi­cro­pro­ces­seur physique de se comporter comme deux cœurs logiques et virtuels. Il est donc possible pour un pro­ces­seur de traiter plus d’une tâche ou plus d’un thread à la fois. Le processus hy­per­thread augmente les per­for­mances du pro­ces­seur et garantit une meilleure uti­li­sa­tion de l’or­di­na­teur.

Origine de l’hy­per­thread

La tech­no­lo­gie hy­per­thread (HT) vient du fabricant de pro­ces­seurs et de CPU Intel. L’HT était déjà utilisé dans le domaine du dé­ve­lop­pe­ment, mais depuis le 14 novembre 2002, les uti­li­sa­teurs d'or­di­na­teurs do­mes­tiques peuvent également profiter de la tech­no­lo­gie d’hy­per­threa­ding d’Intel. Avec le Pentium-4 incluant le cœur Northwood-B, Intel a fi­na­le­ment introduit of­fi­ciel­le­ment la tech­no­lo­gie d’hy­per­threa­ding sur le marché. Dès les modèles suivants, le Pentium D et le Core-2-Duo, Intel a retiré l’hy­per­threa­ding en rem­pla­çant cette tech­no­lo­gie par des pro­ces­seurs prin­ci­paux à double cœur.

Cependant, ce qui est plus fonc­tion­nel l’emporte toujours à long terme, et c’est ainsi que l’hy­per­threa­ding a trouvé sa place dans les mi­cro­pro­ces­seurs Atom d’Intel ainsi que dans la série Core-i. Sous cette forme, l’hy­per­threa­ding est une tech­no­lo­gie utilisée ex­clu­si­ve­ment dans les pro­ces­seurs Intel.

Note

Quiconque s’intéresse aux pro­ces­seurs et à leurs per­for­mances connaît sans doute les deux géants de la fa­bri­ca­tion des pro­ces­seurs : Intel et AMD. Si la tech­no­lo­gie d’hy­per­threa­ding n’est utilisée que dans les pro­ces­seurs d’Intel, des tech­no­lo­gies de mul­ti­threa­ding simultané très si­mi­laires à l’hy­per­threa­ding d’Intel peuvent également être trouvées dans les pro­ces­seurs AMD tels que ceux de la série Ryzen 5000.

Comment fonc­tionne la tech­no­lo­gie d’hy­per­threa­ding ?

Le fonc­tion­ne­ment de la tech­no­lo­gie d’hy­per­threa­ding était et reste avant tout novateur. Il confère à un cœur de pro­ces­seur in­di­vi­duel la pos­si­bi­lité de se comporter comme deux cœurs de pro­ces­seur physiques et de traiter davantage de threads, c'est-à-dire plus de files de commandes, en parallèle sans tourner à vide. Lorsque l’hy­per­threa­ding est activé, deux contextes d’exécution sont alors gérés et traités par cœur de CPU. Un cœur se divise donc en deux cœurs virtuels et logiques qui se partagent la puissance de calcul du pro­ces­seur. L’hy­per­threa­ding s’applique toujours par cœur physique. Ainsi, avec l’hy­per­threa­ding activé et dans le cas d’un pro­ces­seur à dix cœurs, dix cœurs physiques se com­por­tent comme 20 cœurs virtuels et traitent d’autant plus de threads.

Comment activer l’hy­per­threa­ding ?

Si vous entendez parler de l’hy­per­threa­ding pour la première fois, vous devez penser, à juste titre, que tous les pro­ces­seurs devraient être équipés de cette tech­no­lo­gie. Par chance, l’hy­per­threa­ding est actif par défaut dans les cœurs de CPU, à condition qu’ils sup­por­tent la tech­no­lo­gie d’hy­per­threa­ding. Néanmoins, l’hy­per­threa­ding peut être activé et désactivé dans le BIOS sous « Hyper-Threading Tech­no­logy » via « Enable » et « Disable ». Dans le cas de pro­ces­seurs ne prenant pas en charge l’hy­per­threa­ding, chaque cœur physique traite uni­que­ment les dif­fé­rents processus logiques de manière sé­quen­tielle, c'est-à-dire les uns après les autres. Vous pouvez vérifier si l’hy­per­threa­ding est actif ou supporté dans le ges­tion­naire de pé­ri­phé­riques. Par exemple, si vous avez un or­di­na­teur avec deux cœurs de pro­ces­seur mais que vous voyez quatre pro­ces­seurs sous « Pro­ces­seurs », l’hy­per­threa­ding est actif.

Quels sont les avantages de l’hy­per­threa­ding ?

Le plus grand avantage de l’hy­per­threa­ding est pro­ba­ble­ment le fait que la mise en œuvre de la tech­no­lo­gie d’hy­per­threa­ding dans les mi­cro­pro­ces­seurs est moins chère que celle qui consiste à intégrer deux mi­cro­pro­ces­seurs physiques. Toutefois, étant donné que la plupart des or­di­na­teurs actuels sont déjà équipés de pro­ces­seurs multi-cœurs, cet avantage ne peut être exploité que si les pro­ces­seurs avec hy­per­threa­ding ont le même nombre de pro­ces­seurs physiques que les machines qui ne sup­por­tent pas l’hy­per­threa­ding.

Le véritable avantage de l’hy­per­threa­ding est l’uti­li­sa­tion efficace des res­sources. Deux cœurs virtuels dans un cœur physique ne sig­ni­fient pas que les tâches s’exécutent deux fois plus vite. Toutefois, la puissance de calcul né­ces­saire pour plusieurs processus peut être répartie non seulement de manière sé­quen­tielle, mais aussi si­mul­ta­né­ment entre les cœurs virtuels. Cela permet d’éviter les temps morts inutiles et d’exécuter les processus sans in­ter­rup­tion. Les threads n’ont donc pas besoin d’attendre qu’un thread né­ces­si­tant une forte puissance de calcul ait été traité et s’exécutent sim­ple­ment sur le deuxième cœur.

Conseil

Plus il y en a, mieux c’est. C’est par­ti­cu­liè­re­ment vrai pour les serveurs qui doivent traiter une charge de travail im­por­tante. IONOS vous propose des serveurs Intel puissants, évolutifs en fonction des besoins, facturés à la minute qui s’ac­com­pag­nent d’une as­sis­tance par des experts 24h/24, 7j/7.

Pro­ces­seurs multi-cœurs ou cœurs virtuels : quelle tech­no­lo­gie est la plus per­ti­nente ?

Dans tous les cas, l’avantage des pro­ces­seurs multi-cœurs est qu’un cœur physique n’a pas à partager ses res­sources. Les pro­ces­seurs disposant, par exemple, de dix cœurs physiques auraient en principe un avantage sur cinq cœurs physiques fonc­tion­nant avec la tech­no­lo­gie d’hy­per­threa­ding, car chaque cœur peut utiliser toutes les res­sources dis­po­nibles pour traiter les processus. Les cœurs virtuels utilisent quant à eux la même puissance de calcul que les cœurs physiques pour gérer des ensembles de registres pa­ral­lèles. Aujourd’hui, il est dans tous les cas pertinent de tra­vail­ler avec des pro­ces­seurs com­por­tant au moins deux cœurs physiques ou plus.

Dif­fé­rence entre le mul­ti­threa­ding et l’hy­per­threa­ding

De prime abord, le mul­ti­threa­ding et l’hy­per­threa­ding semblent très si­mi­laires : ces deux tech­no­lo­gies ont pour but de répartir et de traiter ef­fi­ca­ce­ment les threads entre les cœurs de pro­ces­seur. L’hy­per­threa­ding constitue toutefois une sous-catégorie du procédé de mul­ti­threa­ding et est également nommé mul­ti­threa­ding simultané (SMT). Pour bien com­prendre le mul­ti­threa­ding, il essentiel de savoir que les threads sont des files de commandes qui sont traitées de façon dif­fé­rente en fonction du matériel et du logiciel.

Le mul­ti­threa­ding implique que plusieurs files de commandes sont traitées en même temps. Alors qu’on parle de pseudo-si­mul­ta­néité pour les méthodes de mul­ti­threa­ding telles que le Switch-on-Event-Mul­ti­threa­ding et le Time-Slice-Mul­ti­threa­ding – puisque les threads ne s'exé­cu­tent pas si­mul­ta­né­ment –, le mul­ti­threa­ding simultané, c’est-à-dire l’hy­per­threa­ding, offre une véritable si­mul­ta­néité dans le trai­te­ment. En outre, l’hy­per­threa­ding est une tech­no­lo­gie SMT supportée par le matériel tandis que le mul­ti­threa­ding peut ex­clu­si­ve­ment être supporté par des pro­grammes et des logiciels.

Exemples pratiques du processus d’hy­per­thread

Lorsqu’on s’intéresse à l’hy­per­threa­ding, la question se pose souvent de savoir si cette fonction apporte réel­le­ment des avantages par rapport aux pro­ces­seurs multi-cœurs sans hy­per­threa­ding. La réponse est simple : ça dépend. Le matériel utilisé et sa des­ti­na­tion sont ici des éléments décisifs. Le fait que l’hy­per­threa­ding puisse optimiser le trai­te­ment des threads grâce à des pipelines séparés et des ensembles de registres pa­ral­lèles ne fait aucun doute. Par exemple, le su­pe­ror­di­na­teur Cray MTA est capable de gérer un nombre im­pres­sion­nant de 128 threads avec un seul noyau de pro­ces­seur.

Dans la pratique, on cite souvent le gaming en relation avec le SMT ou l’hy­per­threa­ding. Les joueurs, en par­ti­cu­lier, ont besoin d’une grande puissance de calcul pour faire tourner en parallèle des jeux, de la musique et peut-être même l’en­re­gis­tre­ment d’un stream Twitch. La question de savoir si l’hy­per­threa­ding améliore réel­le­ment les per­for­mances de jeu est dis­cu­table. Certains joueurs affirment que, dans les faits, l’hy­per­threa­ding ralentit les per­for­mances du pro­ces­seur, tandis que d’autres pré­ten­dent que l’hy­per­threa­ding peut être très utile lorsque les jeux prennent en charge quatre cœurs ou plus.

Note

Une autre façon d’utiliser la puissance de calcul de façon aussi efficace que possible est l’over­clo­cking de pro­ces­seur. Cette méthode consiste à augmenter dé­li­bé­ré­ment la fréquence de fonc­tion­ne­ment du pro­ces­seur au-dessus de la fréquence standard re­com­man­dée afin d’obtenir davantage de puissance avec une vitesse de pro­ces­seur plus élevée. Le risque de cette méthode est que la tem­pé­ra­ture du pro­ces­seur peut augmenter et en­dom­ma­ger le matériel si le re­froi­dis­se­ment n’est pas amélioré de façon cor­res­pon­dante.

Serveurs dédiés
Per­for­mance et in­no­va­tion
  • Pro­ces­seurs dernière gé­né­ra­tion
  • Hardware dédié haute per­for­mance
  • Data centers certifiés ISO
Aller au menu principal