龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈 原创

龙蜥社区OpenAnolis
发布于 2023-3-8 16:58
浏览
0收藏

龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈-鸿蒙开发者社区

文/陆扬、施威

01  背景概述 

随着数据中心网络带宽的大幅提升和时延的不断下降,传统基于以太网的 TCP 协议栈面临着新的挑战。此时传统的以太网卡和 TCP 协议栈已不能满足其对于网络吞吐、传输时延和增效降本的要求。与此同时云、硬件厂商提供了高性能 DPU 解决方案,因此需要一个高性能的软硬协同网络协议栈,对下适配 DPU 并充分发挥硬件性能,对上支撑大规模云上应用场景,开发部署和运维友好,兼容主流的云原生等业务架构。

02 技术方案 

共享内存通信 SMC 是由 IBM 首次贡献至 Linux 社区,并由龙蜥社区增强和维护的软硬协同的高性能协议栈。针对不同的规模场景、硬件和应用模型,SMC 提供多位一体的方案以解决当前传统协议栈的问题:

  • 借助云厂商 VPC 或者数据中心 RDMA,实现不同规模和场景下的高性能通信,支撑不同的业务规模和场景。
  • 兼容 RDMA verbs 生态,实现协议栈卸载至硬件,提升网络性能,降低 CPU 资源使用,支持多种硬件。
  • 透明替换网络应用,SMC 完全兼容 TCP socket 接口,并可快速回退 TCP。
  • 使用统一高效的共享内存模型,借助硬件卸载实现高性能的共享内存通信。

龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈-鸿蒙开发者社区

03 技术优势 

1、透明加速传统 TCP 应用,对于应用程序、运行环境镜像、部署方式无侵入,对 DevOps 和云原生友好。

2、DPU 软硬协同的网络协议栈,更高的网络性能和更低的资源使用。

3、Linux 原生支持的标准化、开源的网络协议栈,SMC-R 实现自 IETF RFC7609,由社区共同维护。

04 应用场景 

SMC 是一个 Linux 内核原生支持的通用高性能网络协议栈,支持 socket 接口和快速回退 TCP 的能力,任何 TCP 应用均可实现透明替换 SMC 协议栈。由于业务逻辑与网络开销占比的差异,不同应用的加速收益存在差异。下面是几个典型的应用场景和业务最佳实践: 

  • 内存数据库,Redis 和部分 OLAP 数据库,Redis QPS 最高提升 50%,时延下降 55%。
  • 分布式存储系统,云原生分布式存储 Curve 在 3 volume 256 depth randwrite 场景下性能提升18.5%。
  • Web service,NGINX 长链接下 QPS 最高提升 49.6%,时延下降 55.48%。

总的来说,使用 SMC 协议栈可以提高 TCP 应用的性能,减少时延,提高 QPS,并且不需要修改应用程序代码。但是,加速效果受到业务逻辑和网络开销占比的影响,不同应用的加速效果存在差异。在一些特定的应用场景下,如高性能计算,大数据等,使用 SMC 协议栈能够带来显著的性能提升。

相关阅读:

​系列解读SMC-R(一):透明无感提升云上 TCP 应用网络性能​

​系列解读 SMC-R (二):融合 TCP 与 RDMA 的 SMC-R 通信 ​

​性能提升 57% ,SMC-R 透明加速 TCP 实战解析 ​

​性能透明提升 50%!SMC + ERDMA 云上超大规模高性能网络协议栈​

附:

2022 龙蜥社区全景白皮书(或公众号回复关键字“白皮书”获取)

​https://openanolis.cn/assets/static/openanoliswhitepaper.pdf​

—— 完 ——

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群(龙蜥交流群:13600003427 或高性能网络SIG群:34077273)。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
收藏
回复
举报
回复
    相关推荐