Hyper-Threading
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

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 (Le processeur, ou CPU (de l'anglais Central Processing Unit, « Unité centrale de traitement »), est le composant de l'ordinateur qui...) Xeon Northwood en bénéficia auparavant.

Schématiquement, l'hyperthreading (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...) consiste à créer deux processeurs logiques sur une seule puce, chacun doté de ses propres registres de données (Dans les technologies de l'information (TI), une donnée est une description élémentaire, souvent codée, d'une chose, d'une transaction d'affaire,...) et de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.), 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 (Un système d'exploitation est multitâche (en anglais : multi-task) s’il permet d’exécuter, de façon apparemment simultanée, plusieurs...) permet d'utiliser au mieux les ressources du processeur en garantissant que des données lui sont envoyées en masse (Le terme masse est utilisé pour désigner deux grandeurs attachées à un corps : l'une quantifie l'inertie du corps (la masse inerte) et l'autre la contribution du corps à la...). Elle permet aussi d'améliorer les performances en cas de cache miss'.

Performances

Les avantages de l'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...) sont les suivants :

  • amélioration du support de code multi-threadé
  • possibilité de lancer plusieurs threads en même temps (Le temps est un concept développé par l'être humain pour appréhender le changement dans le monde.)
  • meilleur temps de réaction, meilleur temps de réponse
  • dans le cas d'un serveur, augmentation du nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) d'utilisateurs possible

Selon Intel, la première implémentation (Le mot implantation peut avoir plusieurs significations :) n'utilisait que 5% de surface (Une surface désigne généralement la couche superficielle d'un objet. Le terme a plusieurs acceptions, parfois objet géométrique, parfois frontière physique, et est souvent...) supplémentaire sur le support physique (La physique (du grec φυσις, la nature) est étymologiquement la « science de la nature ». Dans un sens général et ancien, la physique désigne la connaissance...) 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 (Le mot technologie possède deux acceptions de fait :).

Toutefois, les performances varient sensiblement selon les applications. Dans certains cas, l'exécution s'avère même plus lente (La Lente est une rivière de la Toscane.) quand l'hyper-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 l'hyper-threading d'exécuter d'autres tâches.

Les performances peuvent également être affectées par des effets liés à la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.) 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 cache misses seront fréquents

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

Sécurité

En mai 2005, Colin Percival a publié un document (Dans son acception courante un document est généralement défini comme le support physique d'une information.) nommé Cache Missing for Fun and Profit [1] où il démontre comment un thread malveillant, lancé avec des privilèges limités, pourrait en théorie (Le mot théorie vient du mot grec theorein, qui signifie « contempler, observer, examiner ». Dans le langage courant, une théorie est une idée ou une connaissance spéculative, souvent basée sur l’observation ou...) accéder à des informations provenant d'un autre thread. Ce genre d'attaques, nommées attaques par canaux auxiliaires, permettent d'obtenir des informations secrètes comme des clés de chiffrement (En cryptographie, le chiffrement (parfois appelé à tort cryptage) est le procédé grâce auquel on peut rendre la compréhension d'un document impossible à toute personne qui n'a pas la clé de (dé)chiffrement.).

Page générée en 0.036 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique