L'Intel Core i7 en pratique

Tags : Core i7; Intel; LGA 1366;
Publié le 03/11/2008 par
Imprimer
Le retour de l’HyperThreading
Les cores du Nehalem bénéficient de la technologie SMT (Simultaneous Multi-Threading), apparue avec les Pentium 4 équipés de l'Hyperthreading (nom commercial du SMT sur Netburst), et que l'on trouve également sur les premières générations de processeurs Atom.

SMT est une technique visant à faciliter la prise en charge de plusieurs threads par un même core d'exécution. En l'absence de SMT, le core gère de façon successive des morceaux des différents threads dont il a la charge à un instant donné. Les passages incessants d'un thread à l'autre donnent l'illusion que ceux-ci sont exécutés simultanément, mais dans les faits beaucoup de temps est consacré aux transitions d'un thread à l'autre. Le core doit à chaque fois sauvegarder le contexte d'exécution d'un thread (état des registres, de la pile ...) et charger le contexte du nouveau thread.

L'idée de SMT est d'offrir au core la possibilité de gérer non plus un mais deux contextes en même temps, permettant ainsi de prendre en charge deux threads de façon réellement simultanée cette fois. Les ressources du core (caches, unités d'exécution) sont partagées entre les deux threads, de façon statique (buffer séparé en deux parties identiques par exemple) ou dynamique (les threads accèdent à la ressource de façon concurrente selon leur besoin spécifique).

Quelle est l’influence du SMT en pratique ? Pour se faire nous avons mesuré l’écart de performances dans notre suite de test avec et sans le SMT d’activé sur un Core i7-920 :


Comme vous pouvez le voir, les gains sont assez impressionnants ! Dans les logiciels capables de tirer partie de 8 core efficacement, on atteint tout de même les 25% de gains. Par contre, les performances sont en baisse sous Nuendo, ainsi que sous Crysis. Pourquoi ? Il s’agit en fait du même phénomène que celui qui affectait les processeurs double cœur à architecture Netburst.


Lorsque le SMT est activé, 8 processeurs sont disponibles sous Windows. Les 4 processeurs physiques sont les CPU0,1,2 et 3, les 4 processeurs logiques étant les CPU4, 5, 6 et 7. Si une application qui par exemple gère 4 threads les répartit de la mauvaise manière, par exemple sur les CPU0,1,4 et 5, les performances baisseront puisqu’on utilisera en fait uniquement 2 des 4 cores réels du processeur. Du coup, lorsqu’un logiciel tel que Nuendo ou Crysis présente une baisse de performances, deux solutions s’offrent à vous : désactiver totalement le SMT, ou régler manuellement l’affinité du logiciel dans le gestionnaire des taches sur les CPU 0 à 3
Vos réactions

Top articles