Firedancer 推出 fd_quic:QUIC 和 Solana 交易摄取网络协议的高性能实现
由 Jump 打造的 Solana 独立验证客户端 Firedancer 最近宣布了其最新的技术里程碑 fd_quic,这是 QUIC 和 Solana 交易摄取网络协议的高性能实现。
- 已发布: Nov 20, 2023 at 12:32
由 Jump 构建的 Solana 独立验证客户端 Firedancer 最近宣布了其最新的技术里程碑 fd_quic,这是 QUIC 和 Solana 交易摄取网络协议的高性能实现。这一突破带来了可扩展性和稳健性方面的重大改进,使 Solana 网络更能抵御垃圾邮件攻击。
QUIC 协议和 Solana
Solana 网络利用 QUIC 协议实现各种目的,包括交易传播。Firedancer'的定制网络堆栈从头开始设计,以利用接收端扩展(RSS)这种硬件加速的负载平衡形式。
与基于软件的负载平衡相比,RSS 提供了更高的吞吐量,并简化了实施过程。它消除了对复杂的全局调度器、异步运行时、锁和原子的需求。Firedancer 决定使用最新的内核技术 XDP/AF_XDP 绕过 Linux 网络堆栈,从而进一步优化了性能。
QUIC 的复杂性
QUIC 的 151 页规范带来了相当大的复杂性。由于无法找到满足其许可、性能和可靠性要求的现有 C 库,Firedancer 建立了自己的库。他们的 fd_quic 实现拥有优化的数据结构和算法,在处理流量时(几乎)零堆分配,确保验证器不会耗尽内存。
现场演示亮点
Firedancer 通过现场演示展示了三个设计目标,以此庆祝他们长达数月的快速实现 QUIC 的历程:
- 兼容性:一个由 Solana Labs 验证器中的模块构建的垃圾邮件工具通过 QUIC 向 Firedancer 验证器发送了大量事务,这表明他们的 QUIC 实现是正确的。
- 性能:一项测试使用多个垃圾邮件发送器挑战了运行 fd_quic 的单 CPU 内核的极限。测试结果为 5.8 Gbps 或 270k TPS,小额交易达到 140 万 TPS。要达到这一速度,需要八个 CPU 内核。
- 可扩展性:在 25 Gbps 网络接口上启用 RSS 并在四个 CPU 内核上运行 fd_quic 后,运行了相同的性能测试。这显示了线性扩展特性,每个内核处理的速率大致相同,吞吐量提高了近 4 倍。
在测试期间,仅在单台服务器的四个 CPU 内核上运行的 Firedancer QUIC 服务器可靠地从 Solana Labs 客户端摄取了 21.8 Gbps 的传入事务(约 1.08M TPS,txn 大小约为 1kB)。该测试受到可用网络硬件(25 Gbps 链路)的限制,但 Firedancer 欢迎用户使用可用文档进一步提高性能。
。介绍 Firedancer’latest technical milestone: fd_quic 🔥💃
— Firedancer 🔥💃🏻 (@jump_firedancer) 2023 年 5 月 4 日
QUIC 和 Solana 交易摄取网络协议的高性能实现。
1/15 pic.twitter.com/N10k1XQcQ1
随着更多组件的工作继续进行,区块链社区热切期待着 Firedancer'的未来发展。