SUPINFO International University

SUPINFO Institute of Information Technology
Laboratoire Microsoft




Tous les Articles du Laboratoire Microsoft

Hyper Threading & Windows
Accueil > Articles > Matériels
Auteurs 


Joachim GOMARD
Microsoft France
Consultant Système


 Tous les articles de cet auteur

2,7/5

Assez Bien


84565
167/465

1. Présentation de l'Hyper Threading

1.1 Qu'est ce que la technologie : Hyper Treading ?

La technologie d’Hyper-Threading d’Intel permet à un unique processeur physique d’exécuter de multiples  flux d’instructions (threads) simultanément, apportant potentiellement un débit accru et des performances améliorées. L'Hyper-Threading alloue alternativement les ressources CPU à chaque unité logique, grâce à un contrôleur d'interruptions spécifique. Les deux unités logiques partagent certaines ressources du coeur du processeur, auxquelles elles accèdent alternativement : mémoire cache (augmentée pour l'occasion), mémoire tampon, la ROM microcode, etc. tandis que d'autres ressources sont dupliquées, comme la table d'alias de registres.

Depuis 2002, Intel intègre sa technologie d’Hyper Threading dans la famille des processeurs Intel Xeon.

Ces processeurs contiennent deux architectures d’état sur un même noyau processeur ; vu du système d’exploitation, chaque processeur physique agira donc comme deux processeurs logiques. Cependant, les deux processeurs logiques partagent toujours les mêmes ressources d’exécution du processeur physique ; le gain en performance ne sera donc pas équivalent au fait d’avoir deux processeurs physiques complets séparés, mais vous pouvez compter sur une amélioration de l'ordre de 30 % tout de même, ce qui n'est pas négligeable.

La technologie Hyper-Threading complète l’architecture multiprocesseur symétrique (SMP) en permettant l’exécution de plusieurs flux d’instructions simultanément sur chaque processeur.

Il faut savoir que pour profiter pleinement de la technologie Hyper Threading, il faut en effet que l'application soit prédisposée à un traitement multiprocesseur par son éditeur, ce qui n'est pas toujours le cas. Il s'agit en général d'applications qui effectuent de nombreux calculs simples et répétitifs, comme par exemple les logiciels de traitement vidéo, d'image de synthèse, de retouche d'images, de CAO... Pour cette catégorie d'applications, le gain de puissance peut atteindre sans problème les 60 %. En revanche, pour une utilisation simple de bureautique, l'apport de l'Hyper Threading est quasi nul.

Nous verrons en détail l'avantage et le gain de performance pour les systèmes d'exploitations Microsoft...

1.2 Comment les serveurs Windows reconnaissent-ils les processeurs dotés de la technologie Hyper-Threading ?

Tout se passe dans le BIOS (Basic Input/Output System). En effet, celui ci fournit aux systèmes d’exploitation serveurs Windows les informations relatives aux processeurs présents dans un système. Chaque constructeur de systèmes serveurs développe son propre BIOS en fonction des spécifications fournies par Intel.

En supposant qu’un BIOS donné respecte bien les spécifications d’Intel, celui-ci commence à compter le nombre de processeur à partir du premier processeur logique de chaque processeur physique. Lorsque ce BIOS a compté un processeur logique pour chaque processeur physique, il compte un deuxième processeur logique pour chaque processeur physique et ainsi de suite... (Cf. Fig 1)

 

 

Fig 1 : Les numéros indiquent l’ordre dans lequel les processeurs logiques sont reconnus par le BIOS si celui-ci a été développé en respectant les spécifications d’Intel.
Cet exemple montre un système quadri-processeur doté de la technologie Hyper-Threading.

 

Il est, bien sûr indispensable, que le BIOS compte le nombre de processeurs logiques de la manière décrite. Sinon, dans la cas contraire,  Windows 2000 et les applications pourraient utiliser des processeurs logiques lorsqu’ils devraient utiliser des processeurs physiques.

Pour mieux comprendre voici un petit exemple : considérons une application quelconque dont la licence permet l’utilisation de deux processeurs sur le système représenté en figure 1. Une telle application obtiendra de meilleures performances si elle utilise deux processeurs physiques différents (par exemple, 1 et 2) qu’elle ne pourrait en obtenir en utilisant deux processeurs logiques sur un même processeur physique (par exemple, 1 et 5).

Voyons maintenant plus en détail comment se comporte les serveurs Windows avec l'Hyper Threading.


Sommaire
1. Présentation de l'Hyper Threading
2. Les serveurs Windows et l'Hyper Threading
3. Les performances et les licences



En Savoir Plus 
Evaluez cet article 


Pour afficher ou poster un commentaire, cliquez sur ce lien : Forum-Microsoft



Retrouvez ci-dessous les autres sections du Laboratoire Microsoft