Linux ne gère pas assez de cœurs pour les dernières puces ARM

Pierre Dandumont |

Ces dernières années, l'augmentation du nombre de cœurs dans les processeurs croît de plus en plus rapidement. En effet, le premier processeur doté de deux cœurs a seulement une grosse vingtaine d'années (le POWER4 d'IBM en 2001, dont le PowerPC G5 est dérivé)… et la nouvelle puce d'Ampere Computing (spécialisée dans les puces ARM pour les serveurs) vient de dépasser la limite courante pour le nombre de cœurs sous Linux avec les puces ARM64, qui est de 256 cœurs.

192 cœurs chez Ampere.

La nouvelle puce d'Ampere n'atteint pas encore cette limite directement, car elle contient 192 cœurs, mais elle peut être employée avec un second CPU, ce qui porte le total à 384. Si vous avez utilisé des Mac il y a plus de quinze ans, vous connaissez peut-être cette possibilité : avant l'arrivée des CPU dotés de plusieurs cœurs, la norme était d'installer plusieurs CPU (deux ou quatre, généralement). Apple a longtemps profité de cette solution, avec quelques (très) vieux Power Macintosh, puis avec les Power Mac G4, G5 et ainsi que quelques Mac Pro.

Pour revenir à Ampere Computing, la société a dû proposer un patch pour le noyau Linux pour qu'il puisse prendre en charge 512 cœurs (8 192 avec une option spécifique), une mise à jour qui devrait être intégrée dans le noyau 6.8 début 2024. Cette valeur — déjà en place pour les processeurs x86-64 — avait été suggérée en 2021, mais l'absence de puces capables d'atteindre plus de 256 cœurs avait empêché le changement. Enfin, cette limite ne devrait pas encore poser de soucis chez Apple : la puce M2 Ultra actuelle possède 24 cœurs, et une future puce M3 Ultra pourrait en contenir 32.

Tags
avatar mimolette51 | 

#define CORE_MAX_COUNT 512
C'est chaud comme patch!

avatar yd29021976 | 

@mimolette51

Le pire c’est que de ce que j’ai rapidement regardé c’est presque ca 😉

avatar fte | 

@yd29021976

"c’est presque ca"

Presque.

Quand un job est fait, il a toujours l’air simple. Ça a pris trois semaines de boulot à plein temps pour vérifier que tout était OK ainsi que les petits détails du "presque", mais des semaines très simples. Le diable est dans les détails.

avatar fte | 

@mimolette51

"#define CORE_MAX_COUNT 512
C'est chaud comme patch!"

Expression de méconnaissance absolue.

512 ne rentre pas dans un unsigned char. Il y a donc nécessité à revisiter l’intégralité des sources touchés par le nombre de coeurs, avec de nombreuses conséquences possibles telles que dépassements de capacité, alignements mémoire perturbés, vérification de bornes erronées, effets sur la gestion des caches, changements de contexte plus coûteux…

C’est en effet assez chaud comme patch.

avatar mimolette51 | 

Passer d'unsigned char à passer à un uint, c'est simple si c'est bien codé. Sinon c'est qu'il y a des optimisations ridicules avec la puissance CPU actuelle. Ce genre d'optimisations chiadées mais limite, c'est ce que je fais en Cuda, ou le moindre accès mémoire mal pensé a un impact énorme sur les perfs. Mais ca n'a aucun sens sur cpu en 2023!
Et crois moi c'est mon boulot de chercher la moindre optimisation sur gpu depuis 10 ans.

avatar fte | 

@mimolette51

"si c'est bien codé"

Ouai. C’est ce qui doit être vérifié. La vérification n’est pas simple. Du coup, puisque tu fais ça depuis dix ans, tu es au courant, forcément.

avatar koko256 | 

@mimolette51

On parle d'un noyau. Ce n'est pas tout à fait la même programmation qu'un logiciel en userspace. Et il traine souvent de l'assembleur dans ce genre de code.

avatar hawker | 

@fte
Mais arretes de te la raconter pfff. Tout le monde s'en fou des overflow sur ce forum.

avatar fte | 

@hawker

"Mais arretes de te la raconter pfff."

Je fais ce que je veux, pas besoin de ton approbation.

"Tout le monde s'en fou des overflow sur ce forum."

C’est sans doute pour ça qu’on y lit tant de conneries, "s’en fou".

avatar koko256 | 

@fte

256 non plus 😝

avatar fte | 

@koko256

"256 non plus 😝"

Comme il ne peut y avoir pas de coeurs, et que l’usage C est de numéroter depuis 0, on peut avoir 256 coeurs numérotés de 0 à 255.

Ça rentre.

avatar serenity | 

Pas assez de cœur, le Linux !

avatar Adeel | 

D’accord ça nous fait une belle jambe

avatar mimolette51 | 

Un détail en effet car linux gère 95%, au bas mot des serveurs de la planète, dont ceux d'Apple, comme tout le monde. Linux est juste l'OS le plus présent sur terre. Un détail sans doute pour un ignorant!

avatar Adeel | 

@mimolette51

Et la limite à 256 cœurs concerne combien de serveurs ? 1%? 2%?

avatar mimolette51 | 

Je vois que tu n'as pas une grande idée ni compréhension de l'avenir de l'informatique. A ma décharge je suis chercheur dans le HPC.

avatar ney | 

@mimolette51

D’ailleurs comment c’est géré sur des gros datacenters avec plusieurs centaines (voire plus) de CPU qui eux-mêmes ont plusieurs dizaines de cœur ?

avatar mimolette51 | 

Gros système d'interconnections propriétaires super pénibles a gérer pour les échanges inter serveur et du OpenMP super booster pour multiserveurs et des outils d'optimisations super précis avec des libs/compilateurs plus ou moins proprio. Mais ce genre de config n'est pas impacté par cette limitation de linux, car mêmes s'il y a des milliers de cœurs, les nodes individuellement n'ont pas plus de 256 cœurs. Mais ca va changer très vite sachant que chaque nouvelle génération de CPU (serveur pro, on parle pas de mac ;) ) augmentent le nombre de cœurs par 2 tout les 2 à 4 ans.
On est ici comme sur la limite rissible de nos jours à 640 ko de ram pour le dos, car personne n'imaginait qu'on irait au dessus. Maintenant on a des centaines de Go de Ram, même si certains sont heureux de leur 8 Go dans une machine payé plein pot! ;)

avatar ney | 

@mimolette51

Et bien ça doit être un beau bordel à gérer :-)

avatar fte | 

@mimolette51

"même si certains sont heureux de leur 8 Go dans une machine payé plein pot! ;)"

I see what you did there.

avatar gwen | 

@mimolette51

"je suis chercheur dans le HPC."

Hôpital Psychiatrique Communal ?

Je me doute que ce n’est pas ça mais ne sachant pas, ma réflexion ma bien fait rire. 😂. Désolé.

avatar koko256 | 

@gwen

High Performance Calculus (à moins que ce ne soit Computation).

avatar Adeel | 

@mimolette51

D’accord et? Moi aussi je travaille dans l’informatique et je gère des serveurs au quotidien.

avatar fredsoo | 

@Adeel

C’est la réflexion que je me suis faite.
Ça va pas impacter mr toutlemonde…

avatar f3nr1l | 

@mimolette51

Yep. Sans compter les téléphones, les routeurs, lecteurs multimedias, TVs, montres, cameras ip, points d’accès wifi, fers à souder, tests de grossesse (oui, sans dec), ampoules connectées, enfin je veux dire OBJETS connectés, etc…

avatar mimolette51 | 

Le famous doom sur un test de grosesse
https://www.youtube.com/watch?v=V1gcoyo5Ssk
MDR

avatar f3nr1l | 

@mimolette51

C’est ça. Un jour les thermomètres pourront faire tourner crysis. 🤣

avatar BeePotato | 

« Enfin, cette limite ne devrait pas encore poser de soucis chez Apple »

Doublement.
En raison, comme souligné dans l’article, du nombre de cœurs actuel des puces d’Apple.
Mais aussi en raison du fait que la limite du nombre de cœurs dans le noyau Linux n’a finalement qu’un impact très limité sur ce qui se passe dans MacOS et ses dérivés. 🙂

avatar LolYangccool | 

@BeePotato

On peut installer certaines distribution sur Mac Apple Silicon.
Ubuntu et Fedora pour ma part testée avec succès ainsi que Arch via le projet Asahi. :)

avatar BeePotato | 

@ LolYangccool : « On peut installer certaines distribution sur Mac Apple Silicon. »

Oui. Mais la phrase que j’ai citée parlait de poser des soucis chez Apple, pas chez certains utilisateurs de matériel Apple. 😉

avatar agrippa | 

@LolYangccool

Bonjour, pourrais-tu, stp, faire un retour rapide pour Fedora ou ubuntu ? J’avais cru comprendre que Fedora allait proposer une distri compatible apple silicon en utilisant les travaux d asahi.
Est-ce cela dont tu parles ? J’aimerai un dual boot Mac OS / ubuntu, avec un Ubuntu fonctionnel et aucun problème de Bluetooth, wifi ou port usb-c. En est on la ?
Merci d’avance et belle journée.

avatar LolYangccool | 

@agrippa

Oui c’est bien de Ubuntu via Asahi dont je parle, pareil pour Fedora.
Alors un peu de contexte :
Je préfère de manière générale utiliser Ubuntu à Fedora, notamment pour des soucis de compatibilité avec les paquets que j’utilise, et aussi parce que je connais mieux Ubuntu.

Cependant, Fedora tournait mieux sur mon Mac que Ubuntu.
Pas mal de bugs sur Ubuntu absent de Fedora, et la gestion du touchpad était meilleure sur Fedora.
Le système est réactif sinon, l’écran n’est évidemment pas gérer correctement au niveau de l’encoche mais ça on s’y attend sans problème.

Par contre, effectivement, au niveau de la prise en charge du matériel, tout n’est pas encore supporté.

avatar agrippa | 

@LolYangccool

Merci beaucoup pour ton retour, c’est sympa de ta part. J’ai un MacBook Air m1 donc pas de soucis pour l encoche. Je vais attendre encore un peu, en espérant que le matériel fonctionne intégralement dans quelques mois d’autant que, moi aussi, j ai une préférence pour ubuntu.
Bonne soirée

avatar LolYangccool | 

J’ai encore des serveurs bi-CPU, dont deux de ces serveurs avec effectivement deux CPU actuellement installés dans les machines.
C’est très courant dans le monde serveur, encore maintenant en presque 2024.

avatar pocketalex | 

@LolYangccool

J’avais pensé qu’Apple y reviendrait, pour le Mac Pro Silicon

Histoire d’éviter de devoir vendre entre 8000 et 15000€ une machine moins véloce qu’une tour PC à 4000€

Au final Apple a proposé… une tour vendue entre 8000 et 15000€, moins véloce qu’une tour PC à 4000€

avatar LolYangccool | 

@pocketalex

Les Mac ont toujours été sensiblement plus cher que leur équivalent PC, depuis le début c’est comme ça et ça ne risque pas de changer.
Ceci dit, tu prends un PC de qualité de fabrication équivalente, et ça augmente aussi très sensiblement leur prix comparé à une config avec les mêmes composants mais dans des matériaux moins premium.

avatar pocketalex | 

@LolYangccool

Euh … oui, mais sur l’exemple que j’ai pris, et uniquement sur celui ci, on est pas dans le « légèrement plus cher », on est dans le foutage de gueule intersidéral

Du reste, les Mac sont ils un poil plus cher que les PC ? On ne peut pas généraliser. On pouvait à l’époque des MacIntel, avec les Silicone la donne a changé : certains modèles sont moins cher que leur équivalent PC, ou du moins … n’ont pas d’équivalent

avatar LolYangccool | 

@pocketalex

Je n’ai pas dit légèrement, j’ai écrit sensiblement… Ca veut dire tout l’inverse, que c’est bien plus cher qu’un équivalent PC.
Mais le Mac Pro actuel est une machine à ne pas considérer, à mon sens il y a très peu de monde qu’elle intéressera en l’état.
Le Mac Studio est un bien meilleur choix pour beaucoup de gens je pense.

Sinon, concernant le bi-CPU, en fait Apple le fait encore, si on veut, avec la Mx Ultra, c’est un peu le bi-CPU version plus moderne, deux puces assemblées pour fonctionner ensemble, les Mx Max en l’occurrence, enfin, ça changement peut-être avec la M3 Ultra, à voir si la possibilité sera conserver d’assembler deux M3 Max ensemble ou si ça sera une puce à part entière.

Je pense que les rumeurs d’il y a quelques temps sur les M1 Extrême n’étaient pas du vent, et qu’Apple sortira un Mac Pro plus costaud que le Mac Studio, avec une puce Extrême qui lui sera exclusivement réservée.
Peut-être une version M3 Extrême, même si je n’y crois pas, je pense que ça arrivera plus tard. Je pense que le Mac Pro va sauter une génération de puce et passer aux M4 directement, Apple attendra une M4 Extrême éventuelle pour présenter une telle machine.
Le Mac Studio passera lui en M3 je pense, mais vu les ventes du Mac Pro qui doivent à juste titre être assez décevante, je ne vois pas Apple renouveler cette machine sans une vraie plus value plus intéressante que juste quelques slot PCIe qui sont bridés en bande passante en plus de ça.

Donc pour moi plus de Mac Pro avant les puces de génération M4, avec une M4 Extrême pour el très haut de gamme et une M4 Ultra en entrée de gamme du Mac Pro.
Pour moi c’est ce qui serait le plus logique. :)

avatar lmouillart | 

C'est pour cette raison que l'on parle de sockets, cores, et threads.

avatar pocketalex | 

@LolYangccool

« Je n’ai pas dit légèrement, j’ai écrit sensiblement… Ca veut dire tout l’inverse, que c’est bien plus cher qu’un équivalent PC. »

J’ai bien compris, et j’ai répondu « oui et non »
Non car sur le MacBook Air et le MacBook Pro (la majorité des ventes de Mac) il n’existe aucun équivalent sur le marché PC. Les laptops actuels peuvent être plus puissant pour moins cher, mais pas dans le même boîtier, le même poids et la même finesse, et uniquement en usage branché sur le 220V. Or on parle de laptops et en mode laptop, aucun n’est aussi puissant ni ne tient la même autonomie…

Sur les desktop la donne est différente car les utilisateurs sont pour la plupart moins sensible à la taille du boîtier et la consommation de l’appareil, et du bruit généré à l’utilisation
Si l’on outrepasse ces considérations, alors oui on peut avoir un ordinateur plus véloce en CPU, en GPU, en composants, pour moins cher

Enfin, il y a le cas du Mac Pro qui est … encore autre chose. Une station de travail de tous les superlatifs, permettant en nombre de cœurs CPU, de cartes GPU, de Ram et de stockage interne et externe totalement délirant, pour un tarif totalement délirant !
Enfin… ça c’était en 2019, et le modèle 2023 n’est autre que le Mac Studio à 4000€ dans un autre boîtier et avec des slots PCI
Il perd le nombre de cœurs CPU de ouf (compensé par un saut en puissance) il perd la puissance des multiples cartes GPU (sans compensation aucune), il perd la quantité de RAM possible, et ses slots PCI, en plus d’être bridés, ne peuvent accueillir de carte graphique
Le prix par contre… reste délirant
D’où mon propos sur CE modèle : c’est une vaste blague

avatar LolYangccool | 

@pocketalex

Je pense qu’on est à peu prêt d’accord sur le Mac Pro actuel. :)

avatar Mac1978 | 

@pocketalex

Dans le milieu de l’entreprise, on parle de TCO (Total Cost of Ownership) et, sur 5 ans, la différence est nettement moins flagrante.

Par rapport à Dell, l’autre marque que nous utilisions, les Mac, essentiellement des portables, tombaient beaucoup moins en panne, avaient moins besoin de l’intervention du service informatique et duraient 1,2 an de plus que les Dell portables. En plus, on avait pas mal d’employés qui rachetaient d’occasion leur Mac après 5 ans, mais jamais pour les Dell.

J’utilise le passé parce que c’était avant les Mac Apple silicon et que depuis je suis retraitée, donc je ne sais pas si l’étude réalisée en 2021 serait encore valable aujourd’hui bien que je ne voie pas de raison à ce que les résultats soient différents.

avatar LolYangccool | 

Une boite américaine avait laissé le choix d'un Mac ou d'un PC à leurs employés (ou au moins à certains).
Ils avaient fait le même constat. Moins d'intervention par le ST sur les Mac que sur les PC.
En tant que technicien à mon compte c'est aussi ce que je constate.
Les personnes qui ont des Mac m'appellent moins que ceux qui ont des PC.
Je crois que c'est IBM la boite américaine.

avatar saoullabit | 

Ah Unix qui gere ca depuis bien longtemps ... Linux c'est bien ca avance, mais c'est pas aussi pro (que Unix)

avatar Teodorico | 

@saoullabit

Avis d’un expert 😂

avatar saoullabit | 

Je ne saisis pas ... C'est ironique ou du foutage de gueule ?

avatar Teodorico | 

@saoullabit

Tu as le choix, tu décides 😜

avatar koko256 | 

@saoullabit

En fait Unix est un système sorti il y a longtemps (dans les années 70) mais n'existe plus en tant que tel. Sa gestion des utilisateurs et des ressources a servi de base à de nombreux autres systèmes dont Linux et MacOS. On les appelle de temps en temps les unices (en utilisant la règle de pluriel irrégulier en anglais comme par exemple vertex/vertices).
Edit après la lecture de livres d'histoire...

avatar saoullabit | 

j'vais chipoter :)
Mais Linux n'est pas une branche d'Unix, comme pourrait l'être MacOS, Sun Solaris ou AIX, mais un Unix-like. C'est vraiment à faire le pointilleux

avatar Teodorico | 

@saoullabit

L’expert a encore parlé 😂

Pages

CONNEXION UTILISATEUR