- Quid des perf sous Windows ? (oui je sais...)
Je viens de tester la Mellanox ConnectX-2 sous Windows 10 1803 avec mon i7-3930K@4Ghz.
Connexion via un DAC de 3m à un Threadripper 1950X sous Linux, avec la même carte 10Gbps.
Tout d'abord avec le driver intégré à Windows (mlx4eth63.sys, version 5.01.11548 de 2011).
Avec iperf3, j'ai :
- 9.47Gbps en émission (1 cœur logique à 50%, 1 autre à 30% : charge CPU globale 13%)
- 7.2Gbps en réception (1 cœur logique saturé, attribué à iperf3.exe dans le kernel)
- 9.4Gbps en réception sur 2 flux (-P2) (2 cœurs logiques à 60%, 1 autre à 40% : charge CPU globale 20%)
Je ne sais pas si la consommation CPU importante vient de la carte, ou si elle est simplement lié aux appels système faits par iperf (surtout que ce CPU est parmi ceux très impactés par les contournements pour Meltdown car il n'a pas INVPCID).
Le RSS (Receive Side Scaling) fonctionne quand il y a deux flux pour les traiter sur deux cœurs différents.
Ensuite, j'ai installé le driver Mellanox WinOF 5.50 (mlx4eth63.sys version 5.50.14643).
Il ne supporte plus les ConnectX-2 officiellement, mais fonctionne quand même, sans aucune manipulation.
J'ai décoché la case "configure your system for maximum performance (reboot required)" décochée (je n'aime pas les modifications systèmes non expliquées...).
Le driver ajoute entre autres des options "Recv Segment Coalescing" dans les propriétés de la carte réseau, qui sont désactivées par défaut.
Par défaut il y a une limitation à 6.72Gbps en réception, même avec deux flux (1 coeur saturé) : le RSS ne semble pas fonctionner (ou alors le hash ne prend pas en compte le port destination et confonds les deux connexions).
Après activation des "Recv Segment Coalescing", 9.47Gbps, même avec un seul flux (1 coeur logique à 100%, charge CPU globale 18%).
J'ai ensuite rapidement testé l'onglet "Performance tuning tool" dans les propriétés de la carte.
D'après le fichier de log, outre deux paramètres dans la base de registre (services TCP et AFD, pas limités à cette carte...), il change différents paramètres de la carte, par exemple il active les "Recv Segment Coalescing".
A noter que dans certains cas j'ai des freezes partiels de Windows pendant les tests avec ce driver, c'est étrange (probablement liés à la saturation d'un cœur, et au traitement des interruptions).
Je n'ai pas réussi à faire fonctionner le RSS convenablement, donc le bilan de ce driver est mitigé pour moi.