Introduction
Au début des années 2000, lorsque les processeurs ont enfin pu dépasser la barrière symbolique du Gigahertz, Intel prédisait alors que la nouvelle architecture NetBurst permettrait d’atteindre 10 GHz dans le futur. On pouvait donc s’attendre à ce que la fréquence des CPU progresse de plus en plus vite, puisque c’était la seule vraie réponse aux besoins grandissants en calcul.
Mais tous ceux qui assimilaient la course aux MHz comme étant la manière la plus simple d’améliorer les performances en on été quittes pour un retour de bâton : d’un point de vue physique pour commencer, puisque l’augmentation de la fréquence ne se fait pas sans une hausse exponentielle du dégagement thermique, mais aussi compte tenu des nombreux défis à relever, comme par exemple la maitrise des process de fabrication. Ceci explique pourquoi les processeurs disponibles dans le commerce stagnent entre 3 et 4 GHz depuis 2002 et le Pentium 4 3.06 GHz HT.
Bien entendu, le progrès ne peut s’arrêter lorsqu’il y a des profits à faire. Compte tenu de la demande pour des ordinateurs plus puissants, les ingénieurs se sont donc attachés à améliorer les performances en privilégiant l’efficacité plutôt que la seule fréquence. Le parallélisme s’est ainsi présenté comme une solution : si la fréquence ne peut être augmentée, pourquoi ne pas additionner les ressources de calcul ?
Le parallélisme a cependant un inconvénient dans la mesure où les logiciels doivent être développés pour : le retour sur investissement n’est pas immédiat comme c’est le cas avec l’augmentation de fréquence ou de la taille du cache. Les premiers processeurs dual core qui ont vu le jour en 2005 n’offraient pas de véritables gains de performance (hormis pour l’amateur de 3DSMax), puisque très peu de logiciels étaient alors en mesure d’en tirer parti. Pire encore, la plupart de ces processeurs étaient à la traîne derrière les CPU monocore dans la majorité des applications, puisque ces derniers avaient une fréquence plus élevée.
Toutefois, ce constat a quatre ans et la situation a bien évolué depuis. De nombreux développeurs se sont attelés à optimiser leurs programmes pour les CPU multi-cores ; les processeurs monocores sont difficiles à trouver puisque la tendance est à deux, trois ou quatre cores à présent.
Ceci appelle une question : de combien de cores a-t-on besoin ?
Un processeur tri-core est-il suffisant pour jouer ou bien faut-il craquer pour un quad core ? L’utilisateur moyen peut-il se contenter d’un dual core ou bien gagne-t-il à faire un autre choix ? Quelles applications sont optimisées pour les CPU multicores et quelles sont celles qui réagissent seulement à la fréquence et à la taille de la mémoire cache ?
Méthode de test : comment comparer les cores ?
Afin d’éviter les biais, nous avons choisi un processeur quad core pour ce test : un Intel Core 2 Quad Q6600 cadencé à 2,7 GHz. Après lui avoir fait passer la suite de tests, nous avons désactivé un core, redémarré la configuration et relancé la suite de tests. La manœuvre a été répétée jusqu’à ce que nous puissions obtenir tous les résultats, de un à quatre cores, en gardant systématiquement la même fréquence sur le même processeur.
La désactivation d’un core s’est avérée très facile sous Windows : si vous voulez en faire de même, il suffit de taper « msconfig » dans le champ « Start Search » et appuyer sur entrée (ndlr : sous XP, cliquer sur « Démarrer » puis « Exécuter »). S’ouvre alors l’utilitaire de configuration système.
Cliquer ensuite sur l’onglet « Boot », puis le bouton « Advanced options ».
On accède ensuite au menu pop-up « BOOT advanced options ». Il suffit alors de cocher la case « Number of processors » et de choisir le nombre de cores à activer sur le menu déroulant. C’est aussi simple que cela.
Après avoir validé, il faudra redémarrer. Dès que ce sera chose faite, il est possible de voir en un clin d’œil le nombre de cores fonctionnels avec le Gestionnaire des tâches de Windows, accessible en appuyant simultanément sur « ctrl+alt+suppr » puis en validant sur le menu pop-up.
On choisit ensuite l’onglet « Performance », où l’on peut voir le taux d’utilisation CPU pour chaque processeur activé (qu’il soit physique comme ici ou bien virtuel comme on le verrait sur un Core i7 avec Hyper-Threading) dans l’encadré « CPU usage history ». A chaque diagramme correspond donc un core.
Maintenant que la méthode est claire, passons en revue le détail des composants et logiciels utilisés pour cet article.
Configuration et protocole de test
Composants utilisés | ||
---|---|---|
Processeur(s) | Intel Core 2 Duo Q6600 (Kentsfield), 2.7 GHz, FSB-1200, 8 Mo de Cache L2 | |
Carte mère | MSI P7N SLI Platinum Nvidia nForce 750i, BIOS A2 | |
DRAM | A-Data EXTREME DDR2 800+ 2 x 2 Go, DDR2-800, CL 5-5-5-18 @ 1.8 V | |
Disque dur | Western Digital Caviar WD50 00AAJS-00YFA 500 Go, 7200 tr/min, 8 Mo de cache, SATA 3.0 Go/sec | |
Réseau | Contrôleur nForce 750i Ethernet Gigabit embarqué | |
Carte graphique | Gigabyte GV-N250ZL-1GI 1 Go DDR3 PCIe | |
Alimentation | Ultra HE1000X, ATX 2.2, 1000 Watts | |
Logiciels et pilotes | ||
OS | Microsoft Windows Vista Ultimate 64-bit 6.0.6001, SP1 | |
DirectX | V.10 | |
Pilote carte mère | nForce Version 15.25 | |
Pilote graphique | Nvidia Forceware 182.50 |
Benchmarks et réglages | |
---|---|
Jeux | |
Crysis | Qualité graphique “Low”, Détails “High”, Physique “Very High”, version 1.2.1, 1024×768, Benchmark intégré, moyenne sur trois sessions. |
Left 4 Dead | Qualité graphique la plus basse, 1024×768, version 1.0.1.1, démo limitée dans le temps |
World in Conflict | Qualité graphique la plus basse, 1024×768, Patch 1.009, Benchmark intégré. |
Encodage audio | |
iTunes | Version: 8.1.0.52, CD Audio (“Terminator II” SE), 53 min., Format AAC par défaut. |
Lame MP3 | Version: 3.98 (64-bit), CD Audio “”Terminator II” SE, 53 min., conversion wave à MP3, 160 Ko/sec |
Encodage vidéo | |
TMPEG 4.6 | Version: 4.6.3.268, Fichier importé : “Terminator II” SE DVD (5 minutes), Résolution: 720×576 (PAL) 16:9 |
DivX 6.8.5 | Mode d’encodage: Insane Quality, Multi-Threading amélioré, SSE4 activé, Quarter-pixel search |
XviD 1.2.1 | Display encoding status=off |
MainConcept Reference 1.6.1 | MPEG2 à MPEG2 (H.264), MainConcept H.264/AVC Codec, 28 sec HDTV 1920×1080 (MPEG2), Audio: MPEG2 (44.1 KHz, 2 Canaux, 16 Bit, 224 Ko/sec), Mode: PAL (25 FPS), Profil: régalges Tom’s Hardware pour Qct-Core |
Applications | |
Autodesk 3D Studio Max 2009 (64 bit) | Version: 2009, Rendu d’une image de dragon en 1920×1080 (HDTV) |
Adobe Photoshop CS3 | Version: 10.0×20070321, Filtrage d’une photo TIF de 69 Mo, Benchmark: Tomshardware-Benchmark V1.0.0.4, Filtres: Crosshatch, Glass, Sumi-e, Accented Edges, Angled Strokes, Sprayed Strokes |
Grisoft AVG Antivirus 8 | Version: 8.0.134, base virale : 270.4.5/1533, Benchmark: scan d’un dossier de 334 Mo d’archives ZIP/RAR |
WinRAR 3.80 | Version 3.80, Benchmark: THG-Workload (334 Mo) |
WinZip 12 | Version 12, Compression=Best, Benchmark: THG-Workload (334 Mo) |
Benchmarks synthétiques | |
3DMark Vantage | Version: 1.02, scores GPU et CPU |
PCMark Vantage | Version: 1.00, benchmarks système, mémoire et disque dur, Windows Media Player 10.00.00.3646 |
SiSoftware Sandra 2009 SP3 | Test CPU=CPU Arithmetic/MultiMedia, Test mémoire=Bandwidth Benchmark |
Tests synthétiques : 3DMark & PCMark Vantage
Nous tenons à commencer par les benchmarks synthétiques pour voir ensuite si ces charges de travail théoriques se reflètent dans les tests pratiques. Il faut garder à l’esprit que les benchmarks synthétiques de Futuremark sont généralement codés dans un souci de perspectives à venir, ce qui explique pourquoi ils sont plus réactifs aux modifications matérielles que les applications actuelles.
On démarre avec 3DMark Vantage, benchmark notoire pour les performances graphiques 3D. Nous choisissons le réglage « Entry » qui est le moins exigeant d’un point de vue graphique pour souligner l’impact du processeur sur les résultats obtenus.
La progression quasi-linéaire est particulièrement intéressante : le plus gros écart se fait entre un et deux cores (+78 % de performances), mais l’échelonnement se poursuit au-delà. Voyons à présent ce que l’on obtient sous PCMark Vantage, plus révélateur d’une utilisation générale que 3DMark :
Les résultats suggèrent que l’on tire des bénéfices tangibles jusqu’à trois cores, tandis que le quatrième core fait très légèrement baisser les performances. Allons un peu plus loin pour essayer d’expliquer ce résultat.
L’écart significatif entre un et deux cores se répète avec le test mémoire.
Le test de productivité est probablement très pondéré dans le score global de PCMark, puisque l’on voit ici que la performance est quasi-stagnante à partir de trois cores. Passons maintenant aux tests synthétiques sous Sandra pour voir si les résultats sont similaires.
Tests synthétiques : SiSoft Sandra
On démarre avec les benchmarks CPU arithmétique et multimédia :
Les résultats témoignent d’une progression très linéaire de un à quatre cores. Il ne fait pas de doute que ce programme a été écrit pour utiliser très efficacement les cores, mais il est assez improbable que les applications à usage courant soient nombreuses à répéter cette progression parfaite.
Le test mémoire tend à montrer que la bande passante sera au sommet dès trois cores lors des opérations integer iSSE2 en mémoire tampon.
Maintenant que nous avons fait le tour des benchmarks synthétiques, voyons ce qu’il en est du plat de résistance : les applications.
Lame, iTunes
Dans le domaine de l’encodage audio, manifestement les développeurs ne se sont pas donné la peine d’optimiser leus programmes en ce sens, ce qui paraît pourtant pas beaucoup plus compliqué qu’au niveau de l’encodage vidéo. Voici ce que l’on obtient sous Lame et iTunes :
Ce n’est pas la peine de chercher un avantage significatif en faveur de la multiplication des cores puisqu’il n’y en a presque pas (3 % d’écart au maximum entre 1 et 4 cores). Curieusement, les résultats sont légèrement meilleurs lorsque l’on a un nombre de cores pair … l’écart est toutefois si ténu qu’elle pourrait tout simplement relever de la marge d’erreur.
iTunes permet de constater une léger mieux une fois que deux cores sont activés, après quoi les performances plafonnent.
Comme nous l’avions souligné plus haut, ni Lame ni iTunes ne sont bien optimisés pour les processeurs multi-cores. A l’opposé, les logiciels d’encodage vidéo sont souvent très bien optimisés dans cette optique compte tenu de leur nature parallèle à la base, voyons donc ce qu’il en est.
Mainconcept, TMPGEnc
MainConcept Reference ouvre le bal :
Le verdict est sans appel : on passe de 9 minutes en monocore à seulement 2 minutes et 39 secondes lorsque les quatre cores sont activés. Le quad core est incontournable pour tous ceux qui font régulièrement de l’encodage vidéo.
Pour en avoir le cœur net, voyons tout de même si le constat se répète avec TMPGEnc :
On voit clairement l’effet du codec sur les résultats : DivX est nettement optimisé multi-core, tandis qu’Xvid ne montre pas les mêmes gains. Ceci étant dit, même Xvid gagne environ 25% en passant d’un à deux cores.
Photoshop, 3DSMax
Passons aux applications graphiques avec Adobe Photoshop CS3 en premier lieu :
Apparemment, Photoshop CS3 est tout simplement incapable de gérer plusieurs cores, du moins au niveau de l’application de filtres. Le résultat est curieux pour un logiciel aussi populaire, même si l’on reconnait ne pas utiliser la dernière version de Photoshop, CS4. Reste qu’on a vu mieux pour promouvoir les processeurs multi-cores.
Autodesk 3ds Max va maintenant nous permettre de voir ce qu’il en est du rendu 3D :
Il en ressort que 3DSMax apprécie particulièrement les processeurs multi-cœurs dans les opérations de rendu. Cette fonctionnalité est inhérente à 3DSMax depuis ses premiers jours dans un environnement DOS : le rendu 3D était alors tellement laborieux qu’il fallait répartir la charge de travail sur un réseau intégrant de nombreuses machines. Une fois de plus, on tient ici une application où les quad core font parler la poudre. Il est toutefois à noter que le troisième core amène un gain plus faible que le quatrième.
AVG, Winzip, WinRAR
Ce test est un bon exemple de l’utilisation du processeur dans une tâche courante.
Les CPU multicores affichent des gains de performance considérables avec AVG Antivirus. La performance d’une configuration peut baisser jusqu’à devenir asthmatique lors d’un scan, mais on voit ici que les processeurs multi-cores assument mieux cette charge de travail tout en réduisant le temps d’analyse.
A l’opposé, WinZip (12) et WinRAR (3.80) ne montrent presque aucune optimisation multitâche. WinRAR tire un peu mieux son épingle du jeu en tirant parti de deux cores, mais il ne faut pas en demander plus.
Crysis, Left 4 Dead, World in Conflict
En 2005, lorsque sont apparus les premiers processeurs dual-core (Pentium D et EE 840), aucun jeu ne gagnait en performance avec un CPU multi-core par rapport à un monocore. Qu’en est-il aujourd’hui pour le joueur moyen ? Regardons ce qu’il en est avec des titres qu’on ne présente plus : tous les tests ont été effectués en 1024×768, détails graphiques au minimum pour minimiser l’apport de la carte graphique et ainsi voir à quel point le processeur peut être un facteur limitant.
Pour Crysis, tous les réglages ont été mis au minimum à l’exception du niveau de détail des objets, paramétré en « High », et la physique, en « Very High ». Le processeur devrait donc être le goulet d’étranglement quels que soient les réglages graphiques :
Crysis est très dépendant du nombre de cores, ce qui est assez surprenant dans la mesure où on le voyait plutôt limité par la carte graphique. Un processeur monocore affiche presque deux fois moins d’images par seconde qu’un triple ou un quad core. Autre constat intéressant, le jeu ne semble profiter que de trois cores au plus puisqu’on ne voit pas de réel gain avec quatre cores (moins de 1 %).
Sachant que Crysis est très exigeant au niveau des calculs physiques, voyons si la tendance se confirme avec un titre moins exigeant sur ce point, Left 4 Dead :
Effectivement, on obtient des résultats similaires. Le troisième core permet un léger gain de performances et une fois de plus, le quatrième core n’est que très faiblement sollicité (2%). Voyons le comportement avec un RTS cette fois-ci, World In Conflict :
Là encore les résultats sont similaires mais on constate un fait curieux : trois cores sont plus performants que quatre. L’écart relève presque de la marge d’erreur, mais il permet de faire un constat a minima : le quatrième core n’est utile dans aucun de ces trois jeux.
Récapitulatif des performances et conclusion
L’heure est venue de tirer des conclusions. Compte tenu du volume d’informations à digérer, on simplifiera dans un premier temps avec les performances moyennes par type d’application :
Au niveau des performances applicatives moyennes, on note donc un gain de 37 % en ajoutant un second core, 13 % pour le troisième et 32 % pour le quatrième. En continuant à prendre pour référence la configuration monocore, il est tout de même éloquent de constater que le troisième core n’engendre que le tiers des performances supplémentaires obtenues avec le quatrième core.
Cependant, les applications doivent être considérées logiciel par logiciel plutôt qu’au niveau de la moyenne : comme nous l’avons vu, les programmes d’encodage audio semblent ne pas proposer d’optimisation multi-core à proprement parler. A l’inverse, les utilitaires d’encodage vidéo témoignent constamment de gains massifs en faveur du multi-core et dépendent aussi dans une moindre mesure du codec utilisé. 3DSMax est particulièrement optimisé pour gérer plusieurs cores au chapitre du rendu 3D, tandis que les logiciels de traitement d’image 2D comme Photoshop ne le sont absolument pas. AVG anti-virus montre une amélioration massive en fonction du nombre de cores utilisés, quant aux programmes de compression, ils ne bénéficient pas ou très peu des cores supplémentaires.
Pour ce qui est des jeux, on constate un énorme gain de 60 % en passant de mono à dual core, et 25 % supplémentaires avec l’ajout d’un troisième. Un processeur quad core n’apporte donc rien pour les trois jeux testés ici. Bien que la donne puisse se modifier quelque peu avec d’autres titres, les Phenom triple core X3 (et en particulier le X3 720 BE, que nous avons notamment retenu dans nos meilleures configurations) nous semblent être attractifs en tant que solution abordable pour les jeux. Rappelons qu’en passant à de plus hautes résolutions et en élevant le niveau de détails par rapport à notre protocole de test, les résultats sont différents puisque c’est alors la carte graphique qui devient le composant clé pour obtenir plus d’images par seconde.
A la lumière de ces données, on peut tirer quelques conclusions générales : tout le monde est susceptible de profiter du confort d’un processeur multi-core, ce qui n’était absolument pas le cas il y a quatre ans. Les gains de performance ne sont peut-être pas colossaux au premier coup d’œil, mais on apprécie quand même le chemin parcouru ces dernières années en termes d’optimisations multi-core. A vrai dire, il n’y a plus d’arguments en faveur des processeurs moncores (si on peut encore en trouver) même dans les scénarios ou la consommation est cruciale.
Certaines applications poussent en faveur du plus grand nombre de cores possible, comme l’encodage vidéo, le rendu 3D ainsi que les programmes significativement optimisés comme AVG anti-virus. Pour les joueurs, le temps où l’on pouvait se contenter d’une bonne carte graphique avec un CPU monocore est largement révolu.