Hyperthread

Hyperthread

Hyper-Threading

Hyper-Threading (HT, en français « Hyper-Flots » ou « Hyper-Flux ») est le nom donné par Intel à son adaptation du SMT (Simultaneous Multi Threading) à deux voies dans le Pentium 4. Le premier modèle grand public de la gamme à en bénéficier fut le 3,06 Ghz basé sur le core Northwood. Le processeur Xeon Northwood en bénéficia auparavant.

Schématiquement, lhyper-threading consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propres registres de données et de contrôle, et dun contrôleur dinterruptions particulier. Ces deux unités partagent les éléments du cœur de processeur, le cache et le bus système. Ainsi, deux sous-processus peuvent être traités simultanément par le même processeur. Cette technique multitâche permet dutiliser au mieux les ressources du processeur en garantissant que des données lui sont envoyées en masse. Elle permet aussi daméliorer les performances en cas de défauts de cache (cache missies).

Performances

Les avantages de lhyper-threading sont les suivants :

  • amélioration du support de code multi-threadé
  • gestion de plusieurs threads en même temps
  • meilleur temps de réaction, meilleur temps de réponse
  • dans le cas dun serveur, augmentation du nombre dutilisateurs possible

Selon Intel, la première implémentation nutilisait que 5 % de surface supplémentaire sur le support physique par rapport à un processeur normal. Cette approche offrait un gain en performance variant entre 15 à 30 %. Intel affirme que ce gain va jusquà 30 % par rapport à un Pentium 4 sans cette technologie.

Toutefois, les performances varient sensiblement selon les applications. Dans certains cas, lexécution savère même plus lente quand lhyper-threading est activé. Cette perte est causée par le système de replay présent dans le Pentium 4 qui met en attente certaines instructions qui ne remplissent pas les conditions nécessaires à leur exécution. Il empêche lhyper-threading dexécuter dautres tâches.

Les performances peuvent également être affectées par des effets liés à la mémoire cache. Par exemple, avec un processeur comportant 512 Kio de cache et des processus opérant sur 400 Kio de données, on peut distinguer deux cas :

  • les deux processus tournent individuellement, le processeur est capable de mettre en cache les données
  • quand les deux processus tournent en même temps, ils nécessitent 800 Kio de cache, les défauts de cache seront fréquents.

Les défauts de cache dégradent fortement les performances sur les systèmes modernes et cela peut affecter les gains obtenus avec lhyper-threading de manière significative.

Sécurité

En mai 2005, Colin Percival a publié un document nommé Cache Missing for Fun and Profit[1] il démontre comment un thread malveillant, lancé avec des privilèges limités, pourrait en théorie accéder à des informations provenant dun autre thread. Ce genre dattaques, nommées attaques par canaux auxiliaires, permettent dobtenir des informations secrètes comme des clés de chiffrement.

Références

  • Portail de l’informatique Portail de linformatique
Ce document provient de « Hyper-Threading ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Hyperthread de Wikipédia en français (auteurs)

Игры ⚽ Поможем сделать НИР

Share the article and excerpts

Direct link
https://fr-academic.com/dic.nsf/frwiki/799644 Do a right-click on the link above
and select “Copy Link”