快科技 11 月 10 日消息,Linux 内核的 ChaCha 对称流密码算法虽然早已支持 AVX-512,但长期以来一直处于被刻意限制的状态。如今,这一遗留问题终于要在 Linux 7.5 中彻底解决。
过去,AVX-512 代码每次最多只使用 256 位的寄存器处理 8 个数据块。这样做的原因,是为了规避早期 Intel Skylake 处理器在执行 512 位指令时触发的严重降频。为了不让整颗 CPU 变慢,加密代码被迫自断一臂。

随着现代 Intel 和 AMD 处理器彻底解决了降频问题,继续限制在 256 位已毫无意义。StrongSwan 开发者 Martin Willi 为 libcrypto 中的 ChaCha 代码新增了一个处理 16 个数据块的全宽 AVX-512 函数,让完整的 512 位寄存器得以火力全开。

性能提升堪称立竿见影。在搭载完整 512 位数据路径的 AMD Zen 5 平台(如 Ryzen AI Max Strix Halo)上,ChaCha 算法的性能提升最高可达 99%。
基准测试显示,处理 1KiB 以上的数据时,吞吐量从原先的约 5.2GB/s 直接翻倍到约 10.2GB/s。即便是在仅有 256 位数据路径的上一代 Zen 4 架构上,也能获得最高 39% 的性能增益。
ChaCha20 通常与 Poly1305 搭配使用,是 WireGuard 的核心加密算法。因此,这项优化对于高负载的网关、加密服务器以及需要处理海量加密流量的网络设备而言,意味着实打实的吞吐量翻倍。
目前,该补丁已排队进入 libcrypto-next 分支,预计将在年底提交的 Linux 7.5 合并窗口中正式合入主线。对于饱受加密性能瓶颈困扰的运维人员来说,这个被封印了 8 年的性能,终于要回来了。



登录后才可以发布评论哦
打开小程序可以发布评论哦