Pentium 4 'Prescott' 2.8-3.4 Ghz
By Samuel D. - 02/02/2004
Sommaire:

 

Hyperthreading : Amélioration ?

 

Comme nous l'avons vu dans les page précédentes, le Prescott semble avoir été tout particulièrement optimisé pour l'Hyperthreading. Si certaines amélioration comme les instructions de synchronisation des threads ne seront utilisées que lorsque les programmes seront compilés pour tenir compte du SSE3, certaines autre changement de la micro-architecture pourraient avoir des répercutions dés aujourd'hui. Nous allons donc mesure les gains apportés par l'hyperthreading sur l'architecture Prescott et la comparer avec les gain obtenus sur l'architecture précédente (Northwood).

Le but n'est pas ici de comparer des valeurs absolues, mais de calculer en pourcentage, le gain apporté via l'exploitation de l'Hyperthreading. Pour ce faire, nous avons utilisé un Pentium 4 Northwood et un Pentium 4 Prescott, tout deux cadencés à une fréquence identique (3.4 Ghz). Nous allons effectués plusieurs tests sur différents benchmarks exploitant l'Hyper-Threading. Les tests sont effectués avec HT activé, puis HT désactivé sur les deux processeurs. Après analyse des résultats, nous en retirons une augmentation due à l'Hyper-threading.

Nous avons scindé les tests en deux parties. Une partie utilisant une seule application multithread et une seconde utilisant deux applications monothread. Commençons par les applications multithreads :

 

  • Applications Multithreads : Northwood VS Prescott

Commeçons par l'application Cinebench, qui exploite plusieurs threads simultanémment. Et voyons les résultats :

 

 

Comme on le constate, un gain d'environ 17% sur l'Hyperthreading existe ici entre le Prescott et le Northwood. Pour le test suivant, nous avons utilisé une application codée par Franck, basée sur whetstone. Il effectue des calculs flottants en double, des calculs entier ainsi que des opérations trigonométriques. Bien sur, il est multi-thread et peut donc répartir ses threads sur plusieurs processeurs logiques. Voyons ça :

 

 

La gain est ici de plus de 40% entre l'efficacité de l'Hyperthreading dans le Northwood et l'implémentation influe dans le Prescott ! L'idée d'Hyperthreading 2, qui n'est plus d'actualité maintenant, mais qui l'a été à un moment dans les roadmaps semble bien rencontrer ici une raison d'être. Nous avons maintenant tenté l'expérience avec le logiciel de rendu 3D "Kribibench", que nous utilisons régulièrement. Celui-ci est basé sur des calculs SSE et un environnement multithread. Voyons les résultats sur trois scènes différentes :

 

 

De nouveau, on constate que les performances en Hyperthreading sont supérieures avec le Prescott qu'avec le Northwood. Sur la scène Jetshadow, le gain est de 20% entre les deux processeurs. Un Northwood est 23.7% plus rapide en Hyperthreading que sans alors qu'un prescott est 28.4% avec l'HT que sans. Le Prescott est donc, sur cette scène, 20% plus rapide que le Northwood en HyperThreading. Sur la scène "City", le calcul monte même à 27% en faveur du Prescott. Par contre, pour la scène tubesmap, comportant très peu de polygones, les deux processeurs font jeu-égal.

 

  • Applications Monothreads : Northwood VS Prescott

Après avoir testé les applications multi-threads et constaté une amélioration significative des performances de l'Hyper-Threading sur le Prescott, nous avons décidé de lancer deux applications mono-threads simultanément et de comparer les résultats obtenus avec et sans HT. Pour commencer, nous avons lancé un test Burnin CPU sous Sandra 2004 en boucle infinie sur le processeur logique 1. Nous avons ensuite lancé CPUMark 99 sur le processeur logique 2 et noté le résultat. Voici sur Prescott et Northwood, ce que nous avons relevé :

 

 

Sans s'affoler sur les chiffres, on constate que le Prescott semble mieux tirer parti puisqu'il gagne environ 10% avec l'utilisation de l'HT alors que le Northwood dépasse à peine 1%. Nous avons maintenant tenter une autre expérience. Nous avons lancé un SuperPI 32M sur le premier processeur logique et un POV sur le second. Alors que le SuperPI s'exécutait, nous avons relevé le temps de rendu pour la scène chess2.pov :

 

 

Comme il s'agit d'une progression d'un temps de rendu en seconde, les valeurs sont logiquement négatives. Il faut ainsi 23.35% moins de temps au Northwood pour rendre la scène lorsque l'Hyper-Threading est activé contre 28.28% pour le Prescott. Encore une fois, on constate une amélioration d'environ 20% entre les deux implémentations de l'HT. Pour finir, nous avons couplé de la même façon le benchmark deux benchmark Multi-thread et nous avons laissé Windows gérer l'affinité des process. Les benchmarks utilisés étaient ScienceMark V2.0 sur le test Primordia et Kiribibench sur la scène Tubesmap. Le résultat exprime le gain de FPS final obtenu avec l'HyperThreading sur cette scène, avec Primordia en tache de fond :

 

 

Les résultats sont ici impressionnants puisque l'Hyper-threading permet de faire gagner plus de 60% sur cette scène ! Si le Northwood progresse de 60.81%, le Prescott progresse quant à lui de 68.17%, soit une augmentation de 15%, ce qui est loin d'être négligeable.

Au final, l'implémentation de l'Hyperthreading effectué par Intel dans le Prescott est environ de 15% à 20% plus efficace que celle que l'on pouvait trouver dans le Northwood, ce gain conséquent s'explique par la taille des caches, mais aussi par les améliorations effectués au niveau du pre-fetcher et du traitement des instructions dans le pipeline. Bien qu'on ait pu parler ici d'Hyper-Threading II, qui n'aurait pas été une hérésie au vue de certains noms commerciaux, Intel semble se réserver ce nom pour une future évolution dotée de quatre processeurs logiques.

 

Suite ( Prescott, transistors et caches )

Fermer