Apple bride les débits du PCI-Express du Mac Pro 2023

Pierre Dandumont |

La gestion du PCI-Express a toujours été un peu compliquée, et lors de l'annonce du Mac Pro 2023 et ses six emplacements, une question s'est posée : comment est-ce qu'Apple peut en gérer autant ? La réponse est malheureusement simple : la bande passante est largement partagée.

Le Mac Pro peut être racké.

Le problème des lignes PCI-Express

En PCI-Express, l'unité de base est la ligne. Un connecteur 1x emploie une ligne et un connecteur 16x en utilise 16 (oui, c'est logique). Le nombre total de lignes dépend essentiellement du processeur, qui intègre depuis des années le contrôleur PCI-Express. Et les puces d'Apple sont assez limitées sur ce point.

Si nous prenons le Mac Pro de 2019, ses processeurs Xeon peuvent supporter 64 lignes PCI-Express 3.0 (1 Go/s par ligne), qu'il est possible de configurer dans différents modes. Apple, dans ses puces M2 Ultra, se limite à 16 lignes PCI-Express 4.0 par bloc, soit 32 lignes au total (le M2 Ultra est un assemblage de deux M2 Max). Est-ce suffisant ? Non.

Un Mac Pro a de gros besoins

Premièrement, un bloc de ligne est réservé pour le stockage : 8 lignes sur les 32 servent uniquement pour cet usage et ne sont pas visibles par l'OS. Ensuite, le Mac Pro a besoin de différentes lignes : 1 pour le connecteur USB interne, 2 pour les connecteurs SATA internes, 4 pour la carte E/S (qui gère le Thunderbolt), 2 pour les deux interfaces Ethernet à 10 Gb/s et 1 pour le Wi-Fi. Si vous avez compté, le Mac Pro nécessite donc 10 lignes pour sa connectique de base. Sauf qu'en pratique, il possède six emplacements PCI-Express physiquement en 16x, dont quatre se limitent à 8 lignes, soit un total de 64 lignes. Vous voyez le problème ? Il y a 24 lignes accessibles et Apple devrait en allouer 74.

Les connecteurs sont partagés.

Et la solution d'Apple, selon Hector Martin (un des développeurs d'Asahi Linux), est de partager les lignes. Le premier bloc de 8 lignes va gérer tous les connecteurs du Mac Pro et un des emplacements PCI-Express 8x. Les différents contrôleurs doivent donc se partager une bande passante de 16 Go/s, ce qui peut être un problème dans certains cas. Soyons honnêtes, c'est probablement rarement le cas et certaines puces supportent bien le partage. Le Wi-Fi n'a pas besoin de la bande passante d'une ligne (2 Go/s), tout comme les ports Ethernet. Même en utilisant tous les contrôleurs internes en parallèle, il semble impossible de s'approcher de la limite… si vous ne connectez pas de carte d'extension. Un simple SSD PCI-Express (qui peut atteindre environ 7 Go/s) risque en effet de réduire les performances de l'ensemble des autres composants.

Le M2 Max a 4 lignes de plus (image Hector Martin)

De la même façon, tous les autres emplacements PCI-Express se partagent 16 lignes. Les deux connecteurs 16x et trois emplacements 8x ne peuvent donc fournir — de façon cumulée — que 32 Go/s. Et ce n'est pas anodin : ceux qui veulent employer les emplacements PCI-Express pour du stockage pourront rapidement arriver aux limites. Sans même passer par des cartes haut de gamme qui intègrent plusieurs SSD PCI-Express, cinq SSD dans cinq emplacements seront bridés. L'exemple donné par Apple est d'ailleurs éloquent : une carte OWC Accelsior 8M2 peut atteindre 26 Go/s, mais probablement uniquement si elle est seule. Avec deux cartes, le débit total ne peut pas physiquement dépasser 32 Go/s.

Une carte permet 26 Go/s... et deux cartes permettent au mieux 32 Go/s.

Un M2 « Extrême » aurait réglé le problème

Le passage sur une puce M2 « Extrême » (c'est-à-dire l'assemblage de quatre M2 Max) aurait probablement réglé le problème en grande partie. Le plan A d'Apple aurait permis de dédier 16 lignes à chaque connecteur 16x, avec le partage de 16 lignes pour les trois connecteurs 8x et la même configuration pour le reste, ce qui bride nettement moins l'ensemble.

Rappelons tout de même que le partage des lignes reste assez courant dans les stations de travail, ne serait-ce que parce que certains contrôleurs ne nécessitent pas réellement la bande passante d'une ligne. Le cas de l'Ethernet ou du Wi-Fi est le plus évident : du WI-Fi 6 ou de l'Ethernet à 1 Gb/s ne nécessitent pas 2 Go/s. Mais dans le cas du Mac Pro 2023, la bande passante totale semble tout de même trop faible par rapport au nombre d'emplacements.

avatar PixelCat | 

Apple se heurtée ici à la limite de « scalabilité » de son architecture issue d’un smartphone.
Si cette dernière a su faire des merveilles sur des laptops elle se heurte à un mur de puissance qui constitue un réel challenge.
Les ingénieurs de chez Apple ne sont sûrement pas dupes et utilisent vraisemblablement ce MacPro comme un écran de fumée, je suis certain qu’il ne s’agit pas là de la solution qu’ils avaient préconisée il y a un ou deux ans quand il s’agissait de graver certaines décisions sur le marbre.
Enfin bref, wait and see I guess

avatar raoolito | 

@PixelCat

techniquement le soucis c’est le cout de production et de rentabilité du m2 extreme, un autre article en avait parlé

la production de puces si grosse n’est pas rentable a l’heure actuelle. sinon sur le papier, ben si, ca passerait et ca exploserait pas mal ( m2 extreme= m2 ultra x2 )

avatar Rajindael | 

@raoolito

Perso je trouve l’approche en chiplet d’AMD pas déconnante.
Par ailleurs, apple déclinant des co-processeur selon les usages/hardware, pourquoi pas ici pour les lignes pcie ? Ca revient à reprendre les stratégies « PC » mais ca fait des décennies que ca marche bien.

Le M2 Ultra est une belle bête en terme de perf/conso, mais pas au niveau d’une workstation dans son sens le plis « extrême ».

Définitivement y’a un gout de trop peu sur cette machine.

avatar raoolito | 

@Rajindael

franchement imaginez une m2 ultra dessus et on trouve un gpu plus sérieux (bon, pas dans le top 10) des lignes pci et une puissance qui detache bien la bete du reste

ca sent très fort le soucis industriel, et ca explique le retard de sortie

avatar redchou | 

@raoolito

Non, mais leur puce ne sont pas exceptionnellement grosse, l’ultra c’est 2 max ensembles… Il voulait interconnecté 2 ultra ensemble, c’est apparemment ça qui pose problème.

avatar raoolito | 

@redchou

ya eu un article sur les gpu d’apple ce weekend, pierre y démontrait ka taille des puces qu’il faudrait pour y arriver, sachant que chez nvidia la puce est d’abord composée de gpu, ce ne serait évidemment pas le cas chez apple

après, la raison pure je ne l’ai pas et vous l’avez peut-être

avatar yod75 | 

En même temps les portables c'est 80% du marché, même en entreprise. La série d'article est assez claire : Apple a arbitré dans ses choix techno : priorité au mobile, tant pis pour les besoins graphiques ultimes
D'ailleurs chapeau aux rédacteurs d'avoir sorti des textes techniques qui restent compréhensibles pour un béotien (moi)

avatar frankm | 

Non. Honte de rien

avatar gaurejac | 

Alors effectivement c'est pas parfait ce bifurcateur PCIe...

mais ça ne me choque pas tout ça. Enfin, techniquement.

Je veux dire par là que, déjà :

- on ne perd rien : on a dans le Mac Pro 2023 la même bande passante PCIe (64Go/s) que dans l'ancien Mac Pro 2019 (64Go/s), mais, et c'est notable, pour une conso d'énergie beaucoup, beaucoup plus faible
- et surtout le Mac Pro 2023 est (forcément) "délesté" des GPU PCIe...

Or : pas de GPU PCIe ===> beaucoup moins de besoin de bande passante PCIe.

Pareil, les SSD internes font une grosse partie du taf (OS, applis, swap, etc).
il faudrait voir leurs perfs réelles d'ailleurs, 8x puces qui ont chacune une lane PCIe 4.0 ça devrait déboiter !

Et justement pour les SSD en PCIe c'est pas si grave...

Aucun SSD PCIe 4.0 ou 5.0 ne sort réellement son débit max sur la durée ni en lecture ni encore moins en écriture.
Les cartes PCIe RAID SSD c'est 26 Go/s, oui, mais en lecture, vent dans le dos et pendant 5 minutes maxi. En écriture, sur de gros projets c'est autre chose.

On peut se poser la question.
Est-ce qu'un débit de 32Go/s est vraiment une limite pour du stockage ?
Est-ce que c'est la vitesse de stockage le maillon faible aujourd'hui ?
Même quand on encode plusieurs flux 4K ?

De ma maigre expérience, les ports PCIe d'un Mac Pro 2023 ils vont servir à quoi :
- en studio son à brancher des cartes avec des DSP comme des protools HDX
- en régie video à brancher des cartes d'acquisition SDI genre BlackMagic
- éventuellement dans un futur proche des cartes PCIe ethernet 25 ou 40 Gbits...

Tout ça se contente assez largement du débit total de 32Go/s

Après, bon les 2x lignes PCIe 4.0, pour les ports 10Gbit ethernet c'est pas du gachis mais par contre pour les ports SATA, là... oui c'est *un peu* du gachis.

C'est surtout financièrement...

En gros on peut résumer la seule différence entre un Mac Studio M2 Ultra et un Mac Pro 2023 c'est les slots PCIe...

Et là, payer 3500€ de différence pour un bifurcateur PCIe et seulement 32x lanes réparties sur 6 slots... ça fait cher la "lane" PCIe :)

Tout est dans l'absence de GPU en fait.

Sans pouvoir mettre ni changer de GPU, le PCIe ne sera jamais un goulet d'étranglement.
Mais justement... sans pouvoir mettre ni changer de GPU, ces machines ne seront JAMAIS évolutives et se feront laminer d'ici 4-5 ans...

En gros on perd tout l'intérêt de l'évolutivité.

On a avec ces Mac Pro, et du point de vue du GPU, la même bécane stupidement fermée que les Mac Pro 2013 (que personne ne regrettera) mariée à vie avec son GPU...

On l'achètera pour ce qu'elle sera : une machine au top pendant quelques années, puis qui sera complètement larguée.
On est dans l'informatique jetable... pour le reste de la gamme on le savait déjà, mais sur des machines pro ça fait mal au c*l :)

avatar xDave | 

Ça ressemble à un POC ou un Frankenstein.
Mais ..
Apple s’est transformé en « Mobile First » depuis un moment.
Fallait-il le sortir maintenant pour tenir les promesses de date(d’avant Covid) ?
Ne rien faire avant un an?
Suffirait-il que le ‘M3’ gère plus de lignes un update du Mx (pour nous faire saliver), ou ça n’a pas de sens « économique » aux yeux d’Apple ?

Les camions ne sont pas leur cœurs de cibles … et ça date de SJ.

Une CG qui consomme 200 watts (mobilité/conso) n’a pas de sens dans un casque…
Apple a déclaré perdue la bataille du serveur et donc aussi du traitement « lourd ».

Ça fait beaucoup de conditions.

VOILÀ VOILOU.

Pages

CONNEXION UTILISATEUR