L’Hyperthreading

Bonjour, on se retrouve après un long moment d’absence, et aujourd’hui, on va parler de l’hyperthreading.

Avant de rentrer dans le vif du sujet, nous allons définir un ensemble de termes afin de partir sur de bonnes bases et de poser le vocabulaire que j’utiliserai dans la suite de cet article.

Hyperthreading : Inventé par Intel à partir d’une technologie datant des années 60 (le SMT (Simultaneous Multi Threading)), période pendant laquelle on réfléchissait déjà à mettre en place le parallélisme des tâches dans un même cœur.

L’hyperthreading consiste à créer 2 cœurs logiques dans un cœur physique, chaque cœur logique étant doté de registres de données indépendants et d’un contrôleur d’interruption qui lui est dédié. D’autre part, ces cœurs logiques partagent les éléments physiques du cour, le cache, et le bus système.
L’hyperthreading a pour intérêt de rendre le processeur plus efficace (en effet en mettant 2 voies sur la route au lieu d’une ça circule mieux!) Les bénéfices de l’ HT sont estimés entre 5 et 30%, mais pourquoi?
Pourquoi obtient ont une amélioration de seulement 5 à 30% alors qu’on obtient le double de cœurs logiques grâce à cette technologie?
Et bien, ça aurait été trop beau et vous vous en doutez, l’Hyperthreading possède certaines limites.
En effet, j’ai souvent lu que l’hyperthreading était utile lors d’une utilisation peu intensive du CPU, mais qu’en revanche, lors d’une utilisation totale du CPU, c’était inutile.
Sans jamais avoir su pourquoi on disait cela et si c’était vrai, j’ai cherché d’où venait cette affirmation, et je suis tombé sur un post en français qui explique tout cela clairement, et en pratique.
Donc plutôt que copier coller le post, je vous met le lien https://gouigoux.com/blog-fr/?p=248 , et je vous invite également à lire le commentaire sous l’article, il apporte un complément d’explication et est très intéressant
En plus de ces limites y a également des soucis de sécurité, en effet, comme je l’ai dit plus tôt les 2 cœurs logiques partagent (entre autres) la mémoire cache du cœur physique, ce qui

Pour conclure, l’hyperthreading a de nombreux détracteurs, comme le fondateur d’openBSD, Theo De Raadt, il est de plus lié directement ou indirectement à de nombreuses et récentes failles qui ont frappé les processeurs Intel (Zombieload par exemple).

De plus, de nombreuses sociétés comme Apple recommandent purement et simplement de désactiver l’Hyperthreading, cependant on ne peut pas nier que ses promesses sont très intéressantes.
Mon avis la dessus : l’hyperthreading est une excellente idée et bien qu’il soit difficile de mesurer exactement les gains réels de cette technologie, même si on se situe entre 10 et 20%, je trouve ça extrément impressionant et encourageant au vu du potentiel incroyable de cette technologie. Bien entendu, quand on voit les failles, on se dit que cette technologie est perfectible et qu’elle a peut être été utilisée en production trop tôt.

Dans un prochain article, nous parlerons de ce que AMD, concurrent historique, a fait de son côté pour répondre à l’Hyperthreading d’Intel.

 

Laisser un commentaire