Chargement...
fr

Firedancer dévoile fd_quic : Une implémentation haute performance des protocoles QUIC et Solana Transaction Ingest Network

Firedancer, un client validateur indépendant pour Solana construit par Jump, a récemment annoncé sa dernière étape technique, fd_quic, une implémentation haute performance des protocoles QUIC et Solana de réseau d'ingestion de transactions.

Le protocole QUIC et Solana

Le réseau Solana utilise le protocole QUIC à diverses fins, notamment pour la propagation des transactions. La pile réseau personnalisée de Firedancer est conçue à partir de zéro pour tirer parti de la mise à l'échelle côté réception (RSS), une forme d'équilibrage de la charge accélérée par le matériel. Cela permet une architecture parallèle "shared-nothing", où chaque cœur de processeur gère une partie du trafic entrant avec un minimum de surcharge.

RSS offre un meilleur débit et simplifie la mise en œuvre par rapport à l'équilibrage de la charge basé sur un logiciel. Il élimine le besoin de planificateurs globaux complexes, d'exécutions asynchrones, de verrous et d'atomiques. La décision de Firedancer de contourner la pile réseau Linux en utilisant XDP/AF_XDP, des technologies récentes du noyau, optimise encore les performances.

La complexité de QUIC

Les 151 pages de spécifications de QUIC'apportent une complexité considérable. Incapable de trouver une bibliothèque C existante qui réponde à ses exigences en matière de licence, de performance et de fiabilité, Firedancer a créé sa propre bibliothèque. Leur implémentation, fd_quic, se targue de structures de données et d'algorithmes optimisés, avec des allocations de tas (presque) nulles pendant le traitement du trafic, garantissant que le validateur ne manquera pas de mémoire.

Live Demo Highlights

Firedancer a célébré son voyage de plusieurs mois pour rendre QUIC rapide avec une démo en direct mettant en évidence trois objectifs de conception : Compatibilité, performance et évolutivité.

  • Compatibilité : Un outil de spam construit à partir de modules du validateur de Solana Labs a envoyé de nombreuses transactions au validateur de Firedancer via QUIC, démontrant que leur implémentation QUIC était correcte.
  • Performance : Un test a permis de repousser les limites d'un seul cœur de processeur exécutant fd_quic en utilisant plusieurs spammeurs. Le résultat a été de 5,8 Gbps ou 270k TPS, atteignant 1,4 million TPS avec de petites transactions. Huit cœurs de CPU ont été nécessaires pour atteindre ce taux : Le même test de performance a été effectué avec RSS activé sur une interface réseau de 25 Gbps et fd_quic exécuté sur quatre cœurs de CPU. Ce test a mis en évidence des propriétés d'échelonnement linéaire, chaque cœur gérant à peu près le même taux pour une amélioration du débit de près de 4 fois.

Au cours du test, un serveur Firedancer QUIC fonctionnant sur seulement quatre cœurs de CPU sur un seul serveur a ingéré de manière fiable 21,8 Gbps de transactions entrantes (environ 1,08 M TPS avec une taille de txn d'environ 1 ko) provenant des clients de Solana Labs. Ce test a été limité par le matériel réseau disponible (une liaison de 25 Gbps), mais Firedancer invite les utilisateurs à pousser les performances plus loin avec la documentation disponible.

Alors que le travail sur d'autres composants se poursuit, la communauté blockchain anticipe avec impatience les futurs développements de Firedancer'

.
Solana Weekly Newsletter

0

Actualités connexes