Saviez-vous que macOS prenait en charge les cartes Ethernet à 25 Gb/s et même 40 Gb/s ? Depuis un moment maintenant, macOS (et iPadOS) intègrent en effet un DEXT
(une extension DriverKit) pour les cartes Mellanox ConnectX et il est assez simple d’en intégrer une en interne (dans un Mac Pro) ou en Thunderbolt.
Le fonctionnement est le même qu’avec les cartes 10 Gb/s Intel : il y a un pilote standardisé pour les cartes de la famille ConnectX, à partir des cartes ConnectX-4. Comme les Mac n’ont pas de PCI-Express (sauf les Mac Pro), il faut évidemment un boîtier Thunderbolt qui accepte les cartes d’extension (on peut bidouiller avec un boîtier prévu pour un SSD externe). La norme permet des débits théoriques de 40 Gb/s, mais en pratique on a seulement 32 Gb/s (sauf en USB4) et un débit réel plutôt compris entre 25 et 30 Gb/s.
En clair, même s’il existe des cartes à 40 ou 100 Gb/s (et qu’elles fonctionnent probablement, je n’ai pas testé), la limite réelle actuellement est plutôt 25 Gb/s. Si vous avez du budget, Sonnet vend son adaptateur pour 1 266 €, mais comme j’ai des boîtiers externes, j’ai opté pour deux Mellanox ConnectX-4 (MCX4121A-ACAT) d’occasion. On peut en trouver neuve pour 250 €, mais sur eBay, ça se négocie sous les 65 $ pièce.
Les cartes utilisent un connecteur qui s’appelle SFP28, qui est différent du SFP+ qu’on a habituellement dans les cartes à 10 Gb/s. Enfin, c’est compatible physiquement, mais mon câble Direct Attach à 10 Gb/s reste bloqué à 10 Gb/s. Pour faire du 25 Gb/s, il y a essentiellement deux solutions en connexion directe. Comme j’ai abandonné l’idée de mettre un switch, c’est hors de prix, j’ai testé avec du Direct Attach. C’est une liaison directe avec des câbles de cuivre, sur une distance courte (3 mètres) avec une prise SFP28 de chaque côté. L’avantage, c’est le prix : 27 € pour 3 mètres. L’autre solution, c’est un câble AOC (Active Optical Cable) : on a toujours des prises SFP28 fixes, mais c’est de la fibre optique avec des distances un peu plus grandes. On peut monter à 20 mètres pour une soixantaine d’euros. Au passage, les ConnectX-4 en 10 Gb/s marchent aussi et ce n’est pas très cher si vous avez un boîtier externe.
Parlons performances
Les performances vont dépendre de l’OS, du Mac – c’est plus lent sur un MacBook Pro 2017 avec un vieux contrôleur Thunderbolt Alpine Ridge – et de tout ce qu’il y a en face. Comme pour une liaison Thunderbolt, la liaison directe amène directement un souci : il faudra mettre en place un serveur DHCP ou fixer les adresse, avec éventuellement un routage via une autre connexion. Pour les premiers essais, j’ai relié un Mac mini 2018 (contrôleur Titan Ridge) à un NAS haut de gamme que j’avais en prêt (un TVS-h874T, testé sur MacG et ici). Il a l’avantage d’avoir un emplacement PCI-Express, d’accepter les cartes tierces (une de mes Mellanox) et d’intégrer des emplacements pour des SSD (ici deux Crucial P3 en RAID 0). Dans ce cas de figure, on peut atteindre environ 16,5 Gb/s du NAS vers le Mac, ce qui est correct, sans plus. En débit pratique, on a ~1 750 Mo/s en lecture depuis le NAS, et un peu plus de 900 Mo/s en écriture.
Avec un Mac mini M1, c’est très nettement plus rapide sur les débits bruts (avec iPerf) : 19 Gb/s. C’est aussi surtout nettement plus rapide qu’il y a quelques mois avec Ventura sur MacG, probablement grâce à macOS Sonoma et à des optimisations pour les puces ARM. Dans les essais pratiques, on peut lire à plus de 2 400 Mo/s mais le Mac mini M1 écrit (beaucoup) moins vite que le Mac mini 2018 : à peine 400 Mo/s. Je ne connais pas la raison, mais j’avais déjà eu le problème avec une liaison Thunderbolt.
J’ai ensuite testé un truc un peu bizarre : un adaptateur USB4. J’en ai parlé sur MacG et c’est un bricolage que je détaillerais, mais en gros, c’est un peu plus rapide. On gagne quelques centaines de mégabits/s en mode Thunderbolt 3 et environ 1 Gb/s en mode USB4 – qui nécessite un câble USB4 -. Dans les tests pratiques, on peut atteindre 2,6 Go/s en lecture et 600 Mo/s en écriture, ce qui est bien mais pas top (le Mac mini Intel reste plus rapide).
Dernier essai, parce que pourquoi pas, du NAS vers un iPad Pro M2. En effet, la tablette d’Apple est compatible USB4 et Thunderbolt 3 et Apple a installé le pilote avec iPadOS. On est limité à 16,7 Gb/s, mais je ne sais pas si c’est parce que l’iPad Pro a seulement 2 lignes PCI-Express ou si c’est juste une limitation d’une tablette.
Entre deux Mac
Entre mes deux Mac mini (un M1 et un 2018, Intel), c’est par contre assez lent : environ 10,6 Gb/s. La liaison est bien à 25 Gb/s mais il y a un truc qui limite (aucune idée de ce que c’est). Ceci dit, je l’avais montré sur MacG, le problème est probablement macOS : avec un PC, ça va plus vite. Il y a aussi le fait que le pilote de macOS limite la taille des paquets à 2 304 octets (il n’y a pas de jumbo frame) mais je ne sais pas si ça joue.
Dans tous les cas, l’Ethernet à 25 Gb/s fonctionne bien sous macOS avec les cartes les plus courantes. Le seul défaut, en réalité, c’est qu’il faut du Thunderbolt, ce qui alourdit le prix. Sur PC, on peut s’en tirer pour moins de 200 € pour relier deux ordinateurs de bureau avec une liaision rapide, alors que sur Mac, il faut dans pratiquement tous les cas un boîtier Thunderbolt.
J’avais déjà posé le même commentaire sur macg mais je réfléchis à cette solution pour un egpu.
Si j’ai bien compris, ayant déjà un boitier thunderbolt samsung x5 où je dois remplace le ssd par le fameux adaptateur (aliexpress.com/item/1005006327352411.html). Puis il suffit de trouver une alimentation sata 12v. Et là il n’y a pas de limite, je peux monter jusqu’à 350w ?
Et c’est bien que les boitiers usb4 se démocratisent, je ne sais pas non plus à quel point c’est rétro compatible avec l’usb. On voit des hub usb4 sur amazon et je ne sais pas s’ils permettraient à un iphone d’être à la fois en ethernet 2,5gb + en hdmi 4k. Ça doit limiter à un moment donné.
Edit : Les cartes graphiques ont toujours une alimentation par sata donc il n’y a pas forcément besoin d’en rajouter une pour l’adaptateur M.2 vers PCI-Express 4x.
Envoyez-moi un mail (le lien doit apparaître à droite sur un ordinateur). Mais si, l’alimentation est nécessaire et peut ne pas suffire pour un GPU, ça dépend un peu des cas.
L’adaptateur en question se limite à 25 W de mémoire (un troisième article est prévu la semaine prochaine) et les GPU tirent souvent 75 W du connecteur PCI-Express, en plus des prises d’alimentation supplémentaires éventuelles. Ca dépend un peu des modèles en pratique, certaines cartes tirent tout sur le connecteur d’alimentation dédié, d’autres sur les deux (et parfois beaucoup). Avec un GPU d’entrée de gamme, ça passe peut-être, mais probablement pas une carte graphique un peu haut de gamme.