|
SiSoftware Sandra - L'Outil de Diagnostic, Q & R - Benchmark CPU
Ce document fournit les réponses aux questions fréquemment posées
concernant Sandra. Veuillez lire le Fichier d'Aide également!
Q: Qu'est ce que le benchmark Dhrystone? R: le benchmark Dhrystone original est encore largement utilisé pour
mesurer la performance du CPU dans l'industrie sous différentes versions/variantes.
Le benchmark contient un échantillon représentatif d'opérations
types, numériques pour la plupart, utilisées par les applications.
Cependant, ceci ne représente pas toujours la vraie performance réelle
vécue, mais est utile pour comparer les vitesses de différents
CPU.
Le benchmark Dhrystone utilisé ici est une variante 32/64-bits multi-processus
de l'original fonctionnant sous UNIX. Jusqu'à 64 CPU sont supportés
dans les systèmes SMP. Le résultat est déterminé
en mesurant la durée pour mener à bien quelques séquences
d'instructions. Du fait de changements divers, le résultat n'est pas
directement comparable avec les autres benchmarks Dhrystone . Cependant, les
MIPS (Millions d'Instructions Par Seconde) devraient être les mêmes
pour un même système (avec un écart de +5-10%) entre les
benchmarks.
Si le benchmark original ne calcule rien, cette version vérifie les
résultats avec ceux recherchés uniquement en cas de problème
avec le CPU/la mémoire.
Q: Qu'est ce que le benchmark Whetstone?
R: le benchmark Whetstone est largement utilisé dans l'industrie
des ordinateurs comme mesure de la performance du FPU ou Co-Processeur. La virgule
flottante est plus significative pour les programmes qui ont recours à
un Co-Processeur. Ces programmes sont pour la plupart des applications scientifiques,
d'ingénierie, de statistiques et d'assistance par ordinateurs.
Le benchmark Whetstone utilisé ici est une variante 32/64-bit multi-processus,
de l'original tournant sous UNIX. Jusqu'à 64 CPU sont supportés
dans les systèmes SMP. Le résultat est déterminé
en mesurant la durée pour mener à bien quelques séquences
d'instructions en virgule flottante. Du fait de changements divers, le résultat
n'est pas directement comparable avec les autres benchmarks Whetstone. Cependant,
les MFLOPS (Million d'Opérations par Seconde en Virgule Flottante ) devraient
être les mêmes pour un même système (avec un écart
de +5-10%) entre les benchmarks.
Q: Qu'est ce que le benchmark Whetstone SSE2?
R: avec l'instruction de SSE2 et son support pour une double virgule flottante
(64-bit) il est maintenant possible d'écrire un code qui n'utilise pas
du tout le FPU historique. Cette version montre que le benchmark Whetstone complet
peut être implémenté par l'utilisation de SSE2 ce qui tire
avantage du mode d'opération SIMD.
Q: Pourquoi le taux varie t-il entre les séquences d'utilisation?
A: sur la plupart des systèmes, la valeur du taux ne devrait pas
varier au delà d'une fourchette de +/-5% de test en test. Sur les systèmes
ayant une mémoire limitée, cette fourchette peut être +/-10%
du fait des échanges mémoire. Si vous voyez des variations plus
importantes, certains matériels ou logiciels en sont certainement responsables.
Notez que cette "mémoire limitée" dépend du système
d'exploitation, des pilotes installés, des programmes en activité,
etc. Un système mal configuré avec 64MB sera pire en gestion mémoire
qu'un système 16MB...
Causes Logicielles:
- Autres programmes actifs. Fermez tous les programmes. Si cela ne résout
pas le problème, vérifiez que les programmes du dossier Démarrage
ne soient pas lancés, ainsi que dans WIN.INI (lignes load et run) ou
AUTOEXEC.BAT.
- Pilotes de périphériques problématiques. Certains pilotes
qui ne sont pas correctement configurés ou qui sont incompatibles peuvent
ralentir le système. De même, certains pilotes "pénalisent"
le système pour différentes raisons, comme la fonction de lancement
automatique du CD-ROM.
- Options Économie de l'Énergie activée (APM). Ces options
peuvent ralentir automatiquement le CPU même après quelques secondes
d'inactivité. Souvent, "inactivité" est défini
comme la non utilisation du clavier ou de la souris, même si un programme
est actif.
- Si vous évaluez la performance d'un système SMP, certaines
variations peuvent se produire à cause de la synchronisation de l'algorithme
du benchmark. Du fait que le travail effectué par processus doit être
synchronisé, il y aura une légère période d'inactivité
qui peut être plus marquée sur certains systèmes.
Causes Matérielles:
- Mémoire insuffisante pour un fonctionnement correcte du programme.
Fermez tous les programmes. De même, vous devriez essayer de désactivez
certains pilotes dont vous n'avez plus besoin.
- Cache mémoire de second niveau (L2/L3) insuffisant ou cache contrôleur
pauvre.
Q: Pourquoi l'indice varie t-il entre les tests aléatoires?
R: vous vous êtes certainement aperçu que lancer le
programme immédiatement après le démarrage de Windows entraîne
un indice benchmark plus important qu'après avoir utilisé et fermé
des programmes. Cela ne devrait pas se produire très souvent dans la
pratique, mais ça arrive parfois.
Causes Logicielles:
- Programmes qui ne se "nettoient" pas après fermeture. Les
programmes qui plantent laissent des objets "orphelins" qui consomment
des ressources système. Puisque Windows ne vous débarrasse pas
des détritus, vous devez redémarrer de temps en temps...
- Fragmentation de la mémoire. Après lancement et fermeture
de programmes, la mémoire peut rester fragmentée après
utilisation et restitution. De même, en raison de différents
facteurs, la défragmentation n'atteint pas des résultats à
100%.
Causes Matérielles:
- Cache Mémoire de second niveau (L2/L3) insuffisant ou contrôleur
de cache médiocre.
Q: Les scores benchmark de Sandra 2003 sont différents de ceux des
versions précédentes!
R: les benchmarks évoluent de version en version dans le but de suivre
l'évolution des développements technologiques. Il vous faut comparer
les résultats en utilisant la même version de Sandra.
Q: Pourquoi mon système P4 Hyper-Processus/SMT donne t-il des valeurs
si médiocres?
R: veuillez passer à Sandra 8.59 ou supérieur pour le support
SMT. Les version précédentes avaient des problèmes avec
l'alignement des données sur les systèmes SMT. Notez que les versions
les plus récentes de Sandra sont plus compatibles avec SMT pour une meilleure
performance.
Q: Que signifie le mode Exécution Parallèle?
R: le mode d'exécution parallèle a été créé
pour obtenir de meilleures performances concernant les systèmes Hyper-Threaded/SMT
en lançant les processus qui utilisent des paramètres d'instruction
différents ce qui fait que différentes unités du CPU sont
utilisées pour un meilleur usage des ressources. La performance générale
sera meilleure quoi que la performance locale peut diminuer dans certains cas.
Q: Le mode Exécution Parallèle doit il être
actif ou non sur un système non-SMT?
R: le mode d'exécution parallèle devrait avoir un impact négligeable
sur un système non-SMT, aussi bien avec un système uni-processeur
que SMP (temps d'inactivité de processus seulement). Ce qui fait qu'il
soit actif ou pas n'a réellement pas d'importance. Pour la compatibilité,
vous pouvez le désactiver et utiliser le mode d'exécution séquentielle.
Q: Si mon système P4 Hyper-Threaded/SMT se comporte bien avec Whetstone
FPU/SSE il ne fait pas mieux avec Dhrystone! Pourquoi?
Q: Si mon P4 Hyper-Threaded/SMT se comporte bien avec Multimédia SSE2
Virgule Flottante il ne fait pas mieux avec Multimédia SSE2 Intégral
! Pourquoi?
R: les unités FPU étaient sous-utilisées avec le premier
P4 ce qui fait que les résultats sont bons sous SMT (~50%); les ALU (même
double-cadencés) étaient mieux utilisés et donnaient déjà
de grandes performances; ce qui fait que le gain obtenu a été
peu amélioré (~20%). Le mode d'exécution parallèle
de Sandra a été créé pour utiliser à la fois
les unités ALU & FPU lors de différents processus ce qui fait
que la performance globale s'est accrue.
Q: Pourquoi mon système SMP Athlon MP va t-il si mal avec Dhrystone?
R: passez à Sandra 8.59 ou supérieur pour une compatibilité
complète. Les versions qui précèdent avaient des problèmes
de faux échanges de données sur les systèmes Athlon SMP.
Q: Pourquoi mon Pentium 4 va t-il si mal avec Whetstone FPU?
R: le Pentium 4 est optimisé pour SSE2 et non pour le code FPU historique.
Le Whetstone SSE2 affiche des améliorations de performance lorsque SSE2
est utilisé. Presque tous les logiciels vont être optimisés
SSE2 ce qui fait qu'ils vont fonctionner plus vite.
Q: Pourquoi les scores des CPU Intel (comme le Pentium III) sont-ils supérieurs
à ceux des autres CPU (comme l'Athlon) avec davantage de FPU Avancés
sous Whetstone?
R: le benchmark Whetstone utilise les fonctions plus lentes du FPU (calculs
transcendantaux, comme les sin/cos/tan) par le fait qu'ils ne peuvent pas être
parallèlisés (une série de chaîne). Ceci fut fait
par les fabricants pour empêcher la tricherie autant que possible.
Malheureusement, cela signifie que les fonctions telles que les exécutions
"peu communes", le pipelining, etc. sont évitées. Celles-ci
ont pris plus d'importances avec les processeurs récents mais ça
n'est pas l'objet de ce test.
Ainsi, les processeurs dont les instructions transcendantales ont été
optimisées ont des indices benchmark plus élevés. Les autres
fabricants de CPU (comme AMD) ont choisi d'optimiser d'autres instructions -
considérée comme plus largement utilisées que les transcendantales
- ce qui fait que l'indice benchmark sur de tels CPU (comme les K6 séries,
l'Athlon) sera inférieur même si le FPU est plus avancé.
Q: J'obtiens des scores anormalement élevés sous Windows
2000 avec mon système Athlon. Que se passe t-il?
R: veuillez passer à SP2 ou supérieur. Ceci résoudra
une fréquence de puce affectant certaines cartes mères et CPU
rapides.
Q: Les scores de mon système SMP sont les mêmes ou inférieurs
à ceux d'un simple CPU! Qu'est-ce qui ne va pas?
R: voici les causes les plus fréquentes:
- Assurez vous d'utiliser Windows XP/2003/Vista/2008. Windows 9X/ME & Windows NT 4/2000 ne supportent
pas les systèmes SMP.
- Assurez vous d'utiliser le noyau SMP. Vous devriez voir tous vos CPU dans
le gestionnaire de tâche, par exemple.
- Si vous utilisez le noyau ACPI SMP, assurez vous que chaque CPU peut atteindre
100%. Certains BIOS contiennent des bugs ne vous permettant pas un plein usage
de tous les CPU.
- Assurez vous qu'aucun processus en arrière plan n'utilise le(s) CPU(s),
c'est-à-dire une utilisation à 0% avant le lancement du benchmark.
Q: Pourquoi le benchmark ne supporte t-il que 64 CPU?
R: Windows 32-bit NT/2000/XP supportent 32 CPU au maximum - seul Windows
64-bit XP/2003 supporte jusqu'à 64 CPU.
Q: Pourquoi le benchmark ne supporte t-il que 2 unités SMT par CPU?
R: en théorie, n'importe quel nombre d'unités SMT par CPU
est supporté, cependant, le mode d'exécution parallèle
est optimisé pour 2 unités SMT par CPU.
Q: Pourquoi le benchmark utilise t-il autant de processus que de CPU?
R: un benchmark CPU approprié est lié au CPU, ce qui fait
qu'un processus par CPU devrait utiliser 100% de la puissance. L'utilisation
de davantage de processus ajoute simplement du temps de synchronisation d'inactivité.
Autrement, plus de processus devrait aider.
Q: J'ai un CPU à X MHz et un CPU à Y (X < Y) MHz pour mon
système SMP et l'indice du benchmark est égal à 2*X au
lieu de X+Y!
R: Sandra 2000 (et supérieur) utilise un équilibreur de charge
statique, ce qui assigne la même quantité de travail à chacun
des CPU. De ce fait, la durée du benchmark dépend du CPU le plus
lent. Passez à la version 2001 de Sandra ou supérieure et activez
l'équilibrateur de charge dynamique.
Q: Devrais-je utiliser différentes vitesses de CPU sur mon système
SMP?
R: pour les raisons ci-dessus, nous pensons que non. Si vous pouvez le faire,
votre système devient AMP (asymétrique) plutôt que SMP.
Ceci peut bouleverser un système d'exploitation sans problème
et planter les programmes.
Q: Puis-je utiliser des CPU non-SMT et SMT avec mon système SMP?
R: si c'est théoriquement possible, vous devrez vraisemblablement
désactiver le mode d'exécution parallèle et vous mettre
en mode séquentiel; vous devrez vraisemblablement activer l'équilibreur
de charge dynamique. Et c'est là qu'interviendront certains problèmes
de compatibilité et d'allocations de processus pouvant entraîner
des scores de bas niveau.
Q: Quand dois-je utiliser le Mode d'Exécution Parallèle?
R: ce mode est activé par défaut dans les toutes dernières
versions.
Q: Quand dois-je utiliser l'Équilibreur de Charge Dynamique?
R: utilisez toujours l'Équilibreur de Charge Statique sauf si les
CPU fonctionnent à différentes vitesses en interne. Les algorithmes
de calibration et synchronisation de l'Équilibreur de Charge Dynamique
sont trop complexes et ont des temps inactifs trop élevés ce qui
fait qu'ils devraient être évités. Nous les avons fournis
pour le besoin des tests uniquement.
Q: Qu'est-ce qu'un Benchmark CPU multimédia? Que
fait-il?
R: ce benchmark génère une image (640x480) du fractal Mandelbrot
bien connu, utilisant 255 itérations pour chaque pixel de donnée,
en 32 couleurs. C'est un benchmark en temps réel plutôt qu'un benchmark
synthétique, créé pour montrer ce que les perfectionnements
des MMX/Amélioré, 3DNow!/Amélioré, SSE(2) apportent
à un tel algorithme.
Le benchmark est multi-processus jusqu'à 64 CPU maximum sur les systèmes
SMP. Le travail s'effectue par entrelacement, c'est à dire que chaque
processus calcule la colonne suivante qui n'a pas été traitée
par d'autres processus. Sandra recrée autant de processus qu'il y a de
CPU dans le système et assigne chaque processus à un CPU différent.
Le benchmark contient 5 versions (ALU, MMX, MMX Amélioré, SSE
et SSE2) qui utilisent des nombres entiers pour simuler les nombres à
virgule flottante, aussi bien que les 5 versions qui utilisent les nombres à
virgules flottantes (FPU, 3DNow!, 3DNow! Amélioré, SSE et SSE2).
Ceci illustre pourquoi les anciennes générations de programmes
fractal utilisaient des nombres entiers (comme le bien connu FractInt): sur
les CPU 386/486 la version nombre entier est 3 à 4 fois plus rapide.
Les versions (E)MMX, 3DNow! et SSE(2) calculent les itérations de points
2/4/8 Mandelbrot en même temps - plutôt qu'un par un - ce qui tire
avantage des instructions SIMD. Mais cependant, si les progressions 2/4/8x ne
peuvent pas être trouvées (à causes des autres temps d'inactivité),
en général les progressions 2.5-3x ont été archivées.
Les ALU & FPU des générations de processeurs 6/7 sont très
perfectionnés (comme 2+ unités d'exécution). Nous trouvons
ceci très utile aussi bien pour voir les différences entre les
anciennes et les nouvelles versions de CPU d'une même famille que pour
comparer les CPU de fabricants différents (comme Intel avec AMD).
Q: Comment puis-je calculer le taux de pixel calculé au niveau de
l'indice? (ou encore, quelle est la rapidité de l'algorithme?)
R: le rendu de l'image est à 640x480 pixels, 32 couleurs. Taux de
pixels Calculé = 640*480*indice/1000. Par exemple, si l'indice est 1,000
- le taux de pixels = 640*480*1000/1000 = 307k pixels/seconde.
Q: Comparer l'indice ALU aux indices (E)MMX/SSE(2)/etc. ne revient-il pas
à comparer des pommes avec des oranges?
Q: Comparer l'indice FPU aux indices 3DNow!/SSE(2)/etc. ne revient-il pas à
comparer des pommes avec des oranges?
R: cela dépend de ce que vous essayez de tester; l'indice montre
le bénéfice que les nouvelles instructions apportent quand la
tâche est effectuée (calculer le fractal Mandelbrot dans ce cas).
Si vous voulez tester la performance de deux processeurs en utilisant le même
test, allez aux Options et désactivez le(s) test(s) qui utilise(nt)
le plus les instructions avancées.
Q: Comment suis-je sensé savoir quel (sorte de) test s'est déroulé?
R: prêtez attention à la barre de résultat, elle devrait
aussi bien vous indiquer tout ce qui concerne le test que le résultat
en it/s. Il devrait afficher:
- Le(s) type(s) d'unité(s) utilisé(s). Comme ALU ou FPU.
- Le type de données utilisés. Comme arithmétique ou
virgule flottante.
- Les paramètres d'instruction utilisés. Comme MMX, EMMX, SSE,
SSE2, etc.
- Le score en it/s. (voyez ci-dessus comment calculer le taux de pixel)
Q: Les tests du Benchmark CPU multimédia sont-ils optimisés
pour un CPU spécifique?
R: oui, les tests sont optimisés aussi loin que possible mais sans
introduire d'instructions qui pourraient générer une pénalisation
importante des autres processeurs.
- Test ALU (Arithmétique) - Optimisé pour le noyau Intel Pentium.
- Test FPU (Virgule Flottante) - Optimisé pour le noyau Intel Pentium.
- Test MMX (Arithmétique) - Optimisé pour le noyau Intel Pentium
MMX.
- Test MMX Amélioré (Arithmétique) - Optimisé
pour AMD Athlon.
- Test SSE (Arithmétique & Virgule Flottante) - Optimisé pour
Intel Pentium III.
- Test SSE2 (Arithmétique &Virgule Flottante) - Optimisé pour
Intel Pentium 4.
Q: Allez vous optimiser les benchmarks pour d'autres CPU, comme Intel Itanium,
AMD Hammer etc?
R: Non. Chaque version appartient à une famille d'instruction
et non à un processeur spécifique. Cependant, si un processeur
introduit des nouvelles instructions qui entraînent une grosse différence
au niveau de l'algorithme, nous écrirons une nouvelle version de test
pour que ces instructions soient utilisées.
Q: J'ai 2 CPU ayant différents échelons sur mon système
SMP et les benchmarks se comportent bizarrement!
R: assurez que le CPU ayant l'échelon le plus bas soit le CPU de
boot (BSP). Ce programme utilisera seulement les fonctions/fréquences
supportées par tous les processeurs.
Q: Pourquoi le benchmark n'inclut-il pas mon CPU super-duper XXXXGHz CPU?
R: si nous avons acheté et testé chaque modèle de CPU
existant sur le marché, nous n'avons pas les moyens d'acheter tous les
derniers modèles de CPU. Même si nous le pouvions, nous ne pourrions
pas mettre à jour le benchmark à chaque fois qu'un nouveau niveau
de vitesse est créé - nous aurions besoin de nous y mettre toutes
les semaines.
|