Jump to content
Sethenès

Performance mono-cœur : 1 chiffre

Recommended Posts

Souvent, j'évoque la diminution drastique de l'évolution de la puissance des processeurs, mais je viens de tomber sur un exemple significatif.

En janvier 2000, le test super_pi_32 a été effectué sur un Pentium III 500 MHz en 1h58, soit environ 120 minutes. A la fin de la même année, ce test a été fait sur une des meilleures machines (tunées, ...) et a pris, 1h14 soit 74 minutes. En août 2006, soit moins de 6 ans plus tard, le temps passait à 10m41 secondes, soit près de 7x plus rapide en 6 ans.

Avec un refroidissement à azote liquide, la barre des 5 minutes (4m51s) a été franchie en 2014 et en 2019, la meilleure performance enregistrée, toujours sous azote liquide a été de 4min2 secondes.

Donc, entre 2000 et 2006, la perf a été multipliée par 7, entre 2006 et 2014, par 2,2 et entre 2014 et 2019 par 1,2 !

Si on calcule par an (en prenant la racine 6ème de 7, la racine 8ème de 2,2, etc), ça donne
De 2000 à 2006 : +38% chaque année,
De 2006 à 2014 : +10% chaque année,
De 2014 à 2019 : +3% chaque année !

C.Q.F.D. ?

Source https://hwbot.org/benchmark/superpi_-_32m/

A titre indicatif sur le petit i7 de mon NUC (2 ans), le temps de calcul est de 10 minutes et 51 secondes et sur l'i7 (5 ans) du Hack de 14m17 secondes ! 

Comme on le voit, l'un est clairement orienté tâche mono-cœur et l'autre paie ses 12 threads en puissance mono-thread ! A noter que pour le moment le Hack farme du folding@Home (10 threads / 12 + le GPU à fond) donc il est possible que la fréquence soit déjà un peu contenue car il chauffe bien malgré ses 7 ventilateurs. Je testerai si un jour j'arrête le folding (ou qu'il est en pause par manque de jobs, ce qui arrive de temps en temps).

Share this post


Link to post
Share on other sites
Il y a 15 heures, Sethenès a dit :

Souvent, j'évoque la diminution drastique de l'évolution de la puissance des processeurs, mais je viens de tomber sur un exemple significatif.

Oui mais en fait non : ce que tu décris dans ton exemple c'est l'évolution de la puissance d'un cœur unique, pas des processeurs. Il n'y a pas de raison de considérer que la puissance monocore est plus importante que la puissance totale.

La majeure partie des logiciels "cpu-bound" (i.e. dont les perfs sont limitées en pratique par la puissance cpu disponible) sont aujourd'hui parallélisés pour exploiter les coeurs multiples. Certains ne le sont pas car leurs développeurs sont un peu feignasses : il faut alors changer de logiciel. Reste effectivement une petite partie de logiciels qui ne peuvent pas bien être parallélisés. C'est embêtant, mais ce n'est pas une nouveauté dans l'évolution des architectures des CPU : quand les cpu vectoriels sont apparus, il a fallu aussi modifier/optimiser les codes pour exploiter au mieux la vectorisation, sans quoi les performances n'étaient pas meilleures que sur les cpu classiques, et il y avait aussi quelques cas d'algorithmes difficiles ou impossible à vectoriser. C'est aussi le boulot des algorithmiciens de trouver des solutions, en changeant complètement d'algorithme si besoin pour s'adapter au hardware.

Share this post


Link to post
Share on other sites

Hormis les cas d'emploi hyper-spécialisés qui, soit ciblent un coeur très puissant, soit tirent pleinement parti d'un très grand nombre de coeurs; l'optimum pour un usage simultané de tâches très diversifiées ne serait-il pas d'avoir un quadri-coeurs (multithread ou non ou bi-coeurs multithread) bien équilibré?

J'ai l'impression que la plupart des benchs se focalisent sur les cas d'emploi hyper-spécialisés. Certes beaucoup d'utilisateurs professionnels spécialisés (ou analogues) regarderont à juste titre ces résultats pour orienter leur choix, mais un utilisateur plus "ordinaire" surinterprètera peut-être à contre-emploi ces résultats?  

Share this post


Link to post
Share on other sites

@Fred4 : oui, c'est bien la raison pour laquelle j'essaie de sensibiliser à ce glissement.

@Pehache : tu as "aussi" raison bien sûr mais le problème est que, comme le suggère Fred4, quel est le % d'utilisateur capable d’interpréter les chiffres par méconnaissance de leurs propres usages ?

Prenons une "grosse boite" et sortons du service informatique. Je prétends que "le" logiciel le plus utilisé pour faire de la "programmation" est Excel. D'accord, enregistrer une macro excel, c'est le niveau 0 de la programmation. Et même parmi ceux qui s'y connaissent un peu, rare sont ceux qui sont capables d'écrire des macros un peu rapide (usage de la fonction Offset et de quelques autres).

Mais même si tu prends les "table pivot" qui sont "en gros" des query SQL ("group by", ...), même aujourd'hui, c'est mono-thread. Alors je sais ... Microsoft ... etc. Mais c'est ça, la réalité pour beaucoup.

Pire même, si on y réfléchi, les derniers gros "boost" (très relatifs) en mono-cœur sont liés à l'introduction d'une technique turboboost (dans laquelle visiblement Intel excelle). Mais, c'est quand même le summum de la c*nnerie puisque en gros, c''est une technique qui permet de contourner les défauts liés à la multiplication des cores !

Au fond, il y a multiplication des cores pour des utilisateurs qui n'en n'ont pas besoin et on est obligé de pallier aux problèmes que cette multiplication entraîne !

Share this post


Link to post
Share on other sites

Pour les utilisateurs « ordinaires » je suggère de regarder la moyenne géométrique des deux Geekbench monocoeur et multicœur.

Exemple avec les Geekbench 4 des MBP 2019 15 pouces trouvés dans l’article Consomac consacré au test

i7 hexacoeur mono 5521 multi 23770 moyenne géométrique 11456;

i9 octocoeur mono 5371 multi 28024 moyenne géométrique 12269 soit environ +7% sur cet indicateur composite.

Share this post


Link to post
Share on other sites
Posted (edited)
Il y a 3 heures, Sethenès a dit :

Pire même, si on y réfléchi, les derniers gros "boost" (très relatifs) en mono-cœur sont liés à l'introduction d'une technique turboboost (dans laquelle visiblement Intel excelle). Mais, c'est quand même le summum de la c*nnerie puisque en gros, c''est une technique qui permet de contourner les défauts liés à la multiplication des cores ! 

Le turbo-boost (qui n'est rien d'autre qu'un overclockage temporaire) n'est pas en soi directement lié à la multiplication des cores, c'est une technique applicable même sur un CPU monocore (même si ça a plus d'intérêt sur des CPU multicore, vu que la fréquence de base tend à y être abaissée).

De toutes façons la tendance multicore n'est pas réellement un choix, elle est plus ou moins imposée par le mur physique auquel se heurtent les concepteurs de puces, et qui fait -comme tu le notes- que les perfs d'un coeur unique ne peuvent dorénavant que faiblement progresser. Il devient compliqué d'augmenter les fréquences, et les optimisations d'exécution internes aux processeurs atteignent déjà des sommets de complexité.

PS : "Excel' et calculs hautes performances, hum :-)...

Edited by pehache

Share this post


Link to post
Share on other sites
Posted (edited)

J'ai volontairement tardé à répondre à la discussion. Je ne voulais pas rentrer dans un débat.

Effectivement l'idée de pondérer le score mono par le score multi n'est pas bête.

Je profite de cette discussion pour (paradoxalement) en prendre le contre-pied et évoquer la révolution qui est en train de se produire. Je pèse mes mots. La sortie d'AMD de la fin 2019 a poussé Intel à réagir et force est de constater que cette réaction est d'ampleur.

Si on peut discuter sur l'utilité de la multiplication des cœurs pour le plus grand nombre, celle-ci reste utile pour certaines niches. Mais la baisse des prix chez Intel, elle; profite (ou devrait profiter) à tout les acheteurs car visiblement, elle devrait toucher une grande partie de (toute ?) la gamme.

Les prix de la nouvelle série 10xxx ont pratiquement été divisé par 2. Je n'ai évidemment pas tenu une liste des tous les prix de ces dernières années, mais à titre d'exepmle, le 6-cores de 2015 était facturé 550 euros (92 euros/cores). Le meilleur modèle de cette année était facturé 1000 euros pour un 8 cores (125/cores).

L'année suivante (2016/2017), Intel a augmenté les prix en laissant le 6 et le 8 au même prix et à propulsé le 10-cores à 1700 euros (170/cores).

Par la suite, les prix (de mémoire) n'ont pas vraiment baissés.

Mais aujourd'hui, le 10-cores est proposé à 749 euros (75/cores) !

Et la 18 coeurs est à 1230 euros, soit 68 euros/cores. C'est exactement 2,5x moins que le 10 cœurs d'il y a 3,5 ans (en prix par core).

Je le redis, pour moi, c'est une véritable révolution au point que toutes les machines actuellement en rayon viennent de prendre un sacré coup de vieux !

La vidéo est assez moyenne mais ils évoque le 10700 pas encore sorti en plus des 10900 et des 10500 déjà testé et disponibles pour certains modèles.

https://www.youtube.com/watch?v=dMoyFXMNYYc

 

Edited by Sethenès

Share this post


Link to post
Share on other sites

C'est ce que tu me disais par MP. :)
Qu'en sera t'il des Mac ? Apple va t'elle répercuter le prix en baisse des CPU Intel sur le prix des Mac ? Peut-être mais je n'y crois pas trop.

Share this post


Link to post
Share on other sites

Les prix, probablement pas. Mais je ne peux pas imaginer que le nombre de cœurs ne va pas connaitre un bond dans les prochaines mises à jour.

Alors je suis le premier à dire que cette augmentation sera utile à très très peu d'utilisateurs mais pour les chanceux ...

D'autre part, il semble quand même que les possibilités d'overclocking de cette génération est impressionante.

Donc cela permet "aussi" de mieux tirer parti des performances mono-coeur car il y a d'une part moins de throttling et d'autre par, des fréquences de base plus élevées même si le refroidissement n'est pas optimum. Et ça, c'est quand même vrai pour de nombreux modèles d'Apple : tous les MacBook, l'iMac, l'iMac Pro et le Mini.

Autre chose, je viens de lire aujourd'hui qu'Intel vient de contre-attaquer sur le marché des PCs Arm puisqu'un fabricant vient de décliner un PC équipé jusqu'ici uniquement d'un processeur ARM avec un tout nouveau CPU d'Intel.

C'est aussi pour ça que je parle de révolution. Pour moi, c'est très clair : acheter un PC (ou même un Mac) ajd, c'est prendre le risque de rater une très bel upgrade dans les trimestres qui viennent.

Share this post


Link to post
Share on other sites

Bon, ça va peut-être retarder l'achat de mon iMac alors. J'attends déjà de voir la keynote du 22. ;)

Share this post


Link to post
Share on other sites
Il y a 6 heures, LolYangccool a dit :

Qu'en sera t'il des Mac ? Apple va t'elle répercuter le prix en baisse des CPU Intel sur le prix des Mac ?

Bien sûr, comme pour la RAM :D!

Il y a 6 heures, Sethenès a dit :

Donc cela permet "aussi" de mieux tirer parti des performances mono-coeur car il y a d'une part moins de throttling et d'autre par, des fréquences de base plus élevées même si le refroidissement n'est pas optimum.

Mhhh, il me semble que c'est plutôt le contraire, non ? Les fréquences de base sont au contraire au mieux moyennes (le core i9 du 16" à 2,3GHz), voire faibles (le core i5 du 13" à 1,4GHz), pour respecter les TDP annoncées si tous les coeurs travaillent. Du coup les turbo-boosts paraissent impressionnants en comparaison.

Sur l'utilité pour le plus grand nombre, en fait le soft le plus utilisé par le plus grand nombre c'est le navigateur, et il me semble qu'ils sont aujourd'hui tous multi-process (au départ pour des raisons de fiabilité/sécurité, chaque onglet étant isolé dans un process séparé des autres, mais du coup ils exploitent tous les coeurs quand on ouvre de multiples onglets).

Share this post


Link to post
Share on other sites
Il y a 6 heures, pehache a dit :

Bien sûr, comme pour la RAM :D!

Elle est facile mais c'est effectivement de ça que j'ai peur, qu'Apple ne tiendra pas compte de la baisse de prix et gardera les mêmes tarifs, ou pire, les augmentera encore et toujours...

Share this post


Link to post
Share on other sites

Oui, bien sûr Pehache, mais je parlais en comparant un y-cores de la génération 9 avec le même y-cores de la génération 10. Là, si les possibilités d'overclocking sont plus importantes on peut raisonnablement considérer que le throttling sera moins présent et donc que la fréquence de base (ou a minima la fréquence de travail) sera plus haute.

LYC, je vise vraiment très large, bien plus large que les Macs en général et l'iMac en particulier. Il y a une certaine "impérméabilité" des prix Apple au prix des PCs correspondant mais sans baisse faciale des prix, il y aura peut-être une petite option en plus ou moins chère.

Et surtout, l'autre aspect qui fait qu'il y a une inflation du nombre de cœur. Ici, l'inflation doit vraiment être comprise comme au sens économique, et même dans le "mauvais" sens du terme. Hier, le pain coûtait 1 euros, demain le même sera vendu le double. Autrement dit, on est tous deux fois plus pauvre.

Ici, c'est ça. Revendre un 4-core quand la norme est le 8 est plus difficile que revendre le 4 si la norme est toujours le 4. Et je l'ai montré, le facteur (sur 3,5 ans) est même de 2,5 donc c'est plutôt de revendre un 4-core quand la norme est au 10-core.

Share this post


Link to post
Share on other sites
il y a 23 minutes, Sethenès a dit :

Oui, bien sûr Pehache, mais je parlais en comparant un y-cores de la génération 9 avec le même y-cores de la génération 10. Là, si les possibilités d'overclocking sont plus importantes on peut raisonnablement considérer que le throttling sera moins présent et donc que la fréquence de base (ou a minima la fréquence de travail) sera plus haute.

Euh... je ne comprends ni les prémisses ni le raisonnement :confused:

Pour avoir une fréquence de base plus haute à TDP donné (et à architecture donnée), il faut une gravure plus fine. La gen 10 a la même gravure que la gen 9, non ?

Share this post


Link to post
Share on other sites
il y a 7 minutes, pehache a dit :

Euh... je ne comprends ni les prémisses ni le raisonnement :confused:

Pour avoir une fréquence de base plus haute à TDP donné (et à architecture donnée), il faut une gravure plus fine. La gen 10 a la même gravure que la gen 9, non ?

C'est plutôt un constat Pehache. Regarde les tests du 10900 et voit en particulier les tests d'overclocking. Je pense que ce lien est devenu de plus en plus lâche (lien entre finesse et fréquence). Cela se voit d'ailleurs puisqu'on "borne" sous les 4 GHz depuis pas mal d'années. Au contraire, c'est plutôt la maîtrise dans la technologie qui permet de grappiller quelques centaines de MHz.

J'en profite pour approfondir la réflexion par rapport à Intel (et uniquement par rapport à Intel).

Si j’interprète bien, cette nouvelle gamme apporte une triple avancée : en fréquence, en core et en prix. Indubitablement, le prix et le nombre de cores, c'est une décision qui est totalement entre les mains d'Intel. Pour la fréquence, c'est plus discutable puisque cela dépend de la "physique". Si Intel fait "pas bien", ils le paieront mais même s'ils font "parfait", ils ne sont pas certains d'être récompensé.

Or, il faut quand même bien se rendre compte qu'une telle baisse de prix / hausse de cœurs, ils ne peuvent pas se le permettre à chaque génération. C'est un coup unique (pour se donner une idée, si la baisse continuait à ce rythme on aurait un 24 cœurs pour 1000 euros dans 2 ans ...). D'ailleurs, certains youtubeurs ... oui je sais ... n'hésite pas à dire qu'Intel réagit trop tard. Je suis plus mitigé. J'imagine que le youtubeur en question vient de s'acheter une config Ryzen (AMD) ... Au fond, je n'en sais rien car je n'ai même pas regardé sa vidéo !

Alors quelles peuvent être les motivation d'une telle décision ?

La "pire", c'est la "fuite en avant". Intel ne sait plus de chemin face à AMD et tente le tout pour le tout. Génial, mais dans 3 ans, que fait-on ?

La "fabuleuse", c'est que la prochaine génération est tellement bien que celle-ci ne lui fera pas d'ombrage. Dans ce cas on peut comprendre la réaction d'Intel qui voulait éviter un ras-de-marée AMD.

J'ai envie de dire que dans tous les cas, c'est une rupture. Car soit on va vers autre chose de beaucoup mieux, soit il faut s'attendre à être déçu par la prochaine génération qui n'offrira plus le même "up" et qui apparaîtra donc comme moins intéressante, même si elle conserve le même rapport prix/core que l'actuelle par exemple.

Share this post


Link to post
Share on other sites

Mais qu'est-ce que tu appelles "overclocking" au juste ? La fréquence de Turbo-Boost ?

Share this post


Link to post
Share on other sites
il y a 53 minutes, pehache a dit :

Mais qu'est-ce que tu appelles "overclocking" au juste ? La fréquence de Turbo-Boost ?

Non, la capacité à modifier "les" fréquences du CPU (CPU, Bus, Mémoire) pour en tirer un meilleur parti. 

Les CPUs de la série "K" permettent aussi de débloquer le multiplicateur mais cette capacité à tenir le coup en cas d'overclocking me parait être un indicateur intéressant du comportement des puces non overclockées par rapport à la montée en charge.

Share this post


Link to post
Share on other sites

J'ai du mal à te suivre... Ce qui limite la montée en fréquence quand  tous les coeurs sont utilisés c'est le refroidissement. Qu'un CPU tienne mieux l'overclocking dans une machine équipée pour ça (généralement avec un refroidissement liquide, y compris à l'azote) ne va pas changer fondamentalement la fréquence utilisable en muticoeur dans une machine "normale". Ca peut permettre un turbo boost plus élevé quand un seul coeur est utilisé (c'est peut-être là où tu veux en venir ?).

Indépendamment de la dissipation thermique, l'overcloking poussé requiert des puces sans le moindre défaut de gravure et des galettes de silicium avec le moins d'impuretés possibles. Ce qui pardonne à fréquence moyenne ne pardonne plus à fréquence élevée et crée des erreurs. Intel a probablement travaillé là-dessus à défaut d'arriver rapidement à réduire la finesse de gravure.

Share this post


Link to post
Share on other sites
Il y a 11 heures, leonette a dit :

Le turbo-boost (qui n'est rien d'autre qu'un overclockage temporaire) n'est pas en soi directement lié à la multiplication des cores, c'est une technique applicable même sur un CPU monocore (même si ça a plus d'intérêt sur des CPU multicore, vu que la fréquence de base tend à y être abaissée).

Reconnais qu'au fond, tu ne fais que paraphraser.

Dans une même génération de processeur, la fréquence de base diminue de manière inversement proportionnelle au nombre de cœurs. Pratiquer un overclocking lorsqu'un seul cœur est utilisé revient donc à neutraliser cet abaissement de fréquence.

Edit : croisement.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×