L’étoile polaire de l’ingénierie de Solana est IBRL : augmente la bande passante, réduit la latence. Chaque expédition de mise à niveau majeure aujourd’hui a cet objectif en tête. À mesure que le réseau s’accélère, l’écart entre le protocole et le matériel sur lequel il s’exécute ne cesse de se réduire.
Plus le protocole se rapproche du matériel, moins il y a de place pour les couches d’abstraction que les fournisseurs de cloud et les plates-formes de conteneurs mettent entre les deux. Les validateurs Solana peuvent s’exécuter sur AWS, GCP ou dans un conteneur, mais dans la pratique, les validateurs exécutés sur du matériel nu fonctionnent mieux sous charge.
100 millions d’UC
Alors que l’écosystème se prépare à passer de 60 millions à 100 millions d’unités de calcul (UC) par bloc (soit une augmentation de 66 %), le besoin de matériel nu devient critique. Aux CU supérieures, la contrainte principale devient Turbine, la couche qui propage les blocs à travers le réseau. Si les fragments ne peuvent pas être répartis assez rapidement sur des milliers de nœuds, la capacité supplémentaire ne se traduit pas par des améliorations significatives du réseau.
XDP : mise en réseau haute performance
XDP (eXpress Data Path) est le mode hautes performances pour votre carte d’interface réseau. Il ignore le chemin plus lent et plus généralisé que votre noyau utilise pour gérer la mise en réseau et déplace à la place la logique vers le matériel. Pour prendre en charge l’activation de la fonctionnalité 100M CU, XDP sera bientôt activé par défaut pour tous les clients validateurs.
Le guide de configuration Anza XDP guide les opérateurs à travers la configuration XDP et explique ce qu’ils doivent faire pour tirer le meilleur parti des performances de leur matériel.
Voici quelques exigences à souligner :
-
Capacités élevées Le processus de validation a besoin
CAP_NET_RAW,
CAP_NET_ADMIN,CAP_BPFetCAP_PERFMON -
Noyaux dédiés XDP et preuve d’historique (PoH) doivent être affectés à des cœurs physiques distincts. Pas de threads, pas de « vCPU » : des cœurs physiques.
-
Tarifs paquets sérieux Étant donné que les ventilateurs Turbine sont détruits de manière agressive, un validateur hautement impliqué peut envoyer près de 150 000 paquets sortants par seconde. Les nœuds hautement jalonnés en envoient encore plus, car ils obtiennent plus d’emplacements de leader.
Ces exigences sont faciles à satisfaire pour les validateurs lorsqu’ils contrôlent le matériel, puisque les validateurs peuvent choisir la carte réseau, épingler les cœurs et choisir le pilote et le noyau.
Le bare metal donne au validateur un accès direct au matériel. Sans virtualisation intermédiaire, XDP communique directement avec la carte réseau, où il fonctionne le mieux.
Sur Bare Metal, vous possédez la carte réseau. Vous choisissez le modèle, le micrologiciel, le pilote et l’implémentation de la file d’attente, et vous contrôlez le chemin du commutateur. À mesure que la demande réseau augmente, les opérateurs devraient préférer le matériel le plus performant pour la carte réseau.
Le choix du matériel et l’accès direct signifient des performances prévisibles sous charge. Lorsque les ventilateurs Turbine détruisent 150 000 paquets par seconde pendant vos emplacements principaux, la carte réseau et le processeur complets sont à votre disposition. Il en va de même pour le stockage : vous choisissez des disques NVMe d’entreprise connus au lieu d’un périphérique bloc connecté au réseau avec des limites d’IOPS provisionnées.
La communauté a créé une ressource très utile, Solana Hardware Compatibility List, cataloguant le matériel commun du validateur Solana ainsi qu’un résumé des opinions des opérateurs sur le matériel. Le site contient de bons processeurs, un stockage et une mise en réseau connus pour les validateurs du réseau principal, et recommande du matériel dédié. Un bon exemple tiré du site est que l’exigence de mise en réseau d’Anza pour un nœud implanté est une connexion symétrique de 2 Gbit/s, mais la recommandation de la communauté de 10 à 25 GbE vient de l’expérience pratique dans l’utilisation d’une machine hautes performances.
Les conteneurs ajoutent une couche que vous devez ensuite supprimer
Les conteneurs ajoutent une autre couche d’abstraction qui peut entraîner des problèmes de performances. La seule forme de conteneur qui préserve les performances XDP est celle qui supprime systématiquement l’isolation des conteneurs : --network=host pour partager l’espace de noms réseau de l’hôte et les fonctionnalités élevées répertoriées ci-dessus permettent un accès direct à l’interface de l’hôte. Cet accès direct au matériel rend le conteneur inutile.
Les propres exigences du validateur d’Anza suggèrent fortement que l’exécution d’un validateur Agave pour les clusters actifs, y compris le réseau principal, dans Docker n’est « pas recommandée et généralement non prise en charge », citant la surcharge de conteneurisation et la dégradation des performances, à moins d’être spécialement configurée. La même page prévient que l’exécution dans le cloud « nécessite une expertise opérationnelle nettement plus grande pour atteindre la stabilité et les performances ».
Résumé
Afin d’exécuter un validateur Solana hautes performances, il est fortement recommandé de fonctionner sur du bare metal dédié. Préférez un processeur à haute fréquence, une RAM ECC, des disques NVMe d’entreprise rapides et une connectivité symétrique de 10 à 25 GbE. Compte tenu de la prochaine capacité de bloc de 100 millions de CU, les opérateurs devraient choisir des cartes réseau modernes hautes performances et exécuter le validateur directement, sans conteneurs.
Références :