[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