[gull] [SPAM] naaan c'est pas de la pub pour *ntel outside!
Daniel Cordey
dc at pxcluster.com
Sun Jan 22 00:10:16 CET 2023
Le 16.01.23 à 23:16, catseyechandra via gull a écrit :
> processeur récent, veloce, pas trop énergivore (mais pas super bon
> marché..):
Véloce, pas trop énergivores et bon marché ? A mon humble avis c'est une
question de point de vue. Ça dépend fortement de l'usage spécifique que
l'on va en faire. Depuis ~2005, la fréquence d'horloge des CPUs stagne,
de même que la performance en single-thread et le TDP. Pour continuer à
vendre de "nouveaux" CPUs, et prétendre que la loi de Moore n'est pas
morte, on s'est contenté de miser sur l'augmentation de la densité
(transistors/mm2)... en vendant le multi-core. Or, si l'on se penche un
peu sur les performances ainsi obtenues, on ne retrouve pas les gains
rêvés... On en est même très loin. Quelques benchmarks/applications bien
spécifique bénéficient un peu de l'augmentation du nombre de cœurs, mais
pour la plupart des autres cas le constat est affligeant. Il est
fréquent de voir des applications ne gagner qu'un facteur 3-4 alors que
l'on a 28 cœurs...
Tout est dans ce que l'on ne dit pas, ou très peu. Le problème réside
dans l'accès à la mémoire et aux I/O. Le problème est que chaque cœur
doit partager ces accès avec un certain nombre d'autres cœurs. On voit
donc souvent un nombre de canaux d'accès très réduit par rapport au
nombre de cœurs; entre 4 (dans le meilleur des cas, mais rare) et
souvent 8. CAD que 8 cœurs doivent se partager l'accès à la mémoire...
Les constructeurs on beau vanté l'augmentation de la bande passante,
mais lorsque vous calculez celle-ci par cœur c'est très nettement moins
glorieux. Pire... dans le cas d'un traitement multi-thread, en accédant
à la même zone mémoire, il y a de très fortes chances que vos threads
fassent la queue pour accéder à la mémoire.
Il en va de même pour les accès aux bus I/O (SSD, USB, NIC, etc.)
Et encore, on n'a pas parlé de la gestion de la mémoire cache L3, qui
est splittée en 2 parties (voir plus dans certains cas) et a un temps
d'accès moyen de ~50% du temps d'accès de la RAM.
Qui plus est, on s’aperçoit que la consommation augmente de manière
non-linéaire et plus vite que les performances... On est donc sur la
mauvaise pente.
https://www.nextplatform.com/2023/01/19/more-cpu-cores-isnt-always-better-especially-in-hpc/
Pour moi, et les chiffres le prouvent (à part un très petit nombre de
cas que les constructeurs s'empressent de mettre en avant en faisant
comme si c'était une généralité), plus on augmente le nombre de cœur,
plus c'est inefficace
Si l'on veut vraiment faire du "clustering", avoir N CPUs avec chacun 4
cœurs est bien plus efficace qu'un seul avec 128 cœurs. Ca consommera
moins et ça ira plus vite. En effet, un cluster de 32 CPUs de 4 cœurs,
donnera de bien meilleurs résultats qu'un seul CPU à 128 cœurs. Sans
compter le côté redondance...
A part ça, Intel ayant bien perdu de sa superbe depuis des années en
distribuant ses bénéfices aux actionnaires, plutôt que de les
réinvestire dans la recherche, ils font feu de tout bois depuis quelques
temps pour essayer de rattraper le temps perdu. Ils sont à la traîne et
perdent des parts de marchés au détriment de AMD, Nvidia et... de
certains CPU Chinois (cht... faut pas dire)
dc
More information about the gull
mailing list