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.

Accédez aux commentaires de l'article