Hyper-threading

{{#ifeq:||Un article de Ziki, l'encyclopédie libre.|Une page de Ziki, l'encyclopédie libre.}}
(Redirigé depuis Hyper threading)

Modèle:Titre en italique Modèle:À sourcer Modèle:Voir homonymes

Fichier:Hyper-threaded CPU.png
Principe de l’Modèle:Lang.

Modèle:Lang (officiellement appelée Modèle:Lang (HTT) ou Modèle:Lang (HT)) est la mise en œuvre par l'entreprise Intel du Modèle:Lang (SMT) à deux voies dans ses microprocesseurs. Le premier modèle grand public de la gamme à en bénéficier fut le Pentium 4 Northwood cadencé à Modèle:Unité. Le Xeon Northwood en bénéficia auparavant.

Schématiquement, l’Modèle:Lang consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propres registres de données et de contrôle, et d’un contrôleur d’interruptions 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 d’utiliser au mieux les ressources du processeur en garantissant que des données lui soient envoyées en masse. Elle permet aussi d’améliorer les performances en cas de défauts de cache (Modèle:Lang).

Performances

Les avantages de l’Modèle:Lang 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 d’un serveur informatique, augmentation du nombre d’utilisateurs possible.

Selon Intel, la première mise en œuvre n’utilisait 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 et 30 % selon les applications. Intel affirme que ce gain va jusqu’à 30 % par rapport à un Modèle:Nobr sans cette technologie<ref>Modèle:Lien web.</ref>.

Toutefois, les performances varient sensiblement selon les applications. Dans certains cas (peu fréquents), l’exécution s’avère même plus lente quand l’Modèle:Lang est activé. Cette perte est causée par le Modèle:Lien présent dans le Modèle:Nobr qui met en attente certaines instructions qui ne remplissent pas les conditions nécessaires à leur exécution. Il empêche l’Modèle:Lang d’exécuter d’autres tâches.

Les performances peuvent également être affectées par des effets liés à la mémoire cache. Par exemple avec un processeur comportant Modèle:Unité de cache et des processus opérant sur Modèle:Unité 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 Modèle:Unité 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 l’Modèle:Lang de manière significative.

Sécurité

En Modèle:Date, le programmeur<ref>http://colin.percival.usesthis.com/</ref> Colin Percival a publié un document nommé Modèle:Lang<ref>{{#invoke:Langue|indicationDeLangue}} Modèle:Pdf.</ref> où il démontre comment un thread malveillant, lancé avec des privilèges limités, pourrait en théorie accéder à des informations provenant d’un autre Modèle:Lang. Ce genre d’attaques, nommées attaques par canaux auxiliaires, permettent d’obtenir des informations secrètes comme des clés de chiffrement.

Références

<references />

Annexes

Articles connexes

Modèle:Palette Modèle:Portail