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

原创
2023/03/07 20:00
阅读数 55
AI总结

文/陆扬、施威

01
背景概述 
随着数据中心网络带宽的大幅提升和时延的不断下降,传统基于以太网的 TCP 协议栈面临着新的挑战此时传统的以太网卡和 TCP 协议栈已不能满足其对于网络吞吐、传输时延和增效降本的要求。与此同时云、硬件厂商提供了高性能 DPU 解决方案,因此需要一个高性能的软硬协同网络协议栈,对下适配 DPU 并充分发挥硬件性能,对上支撑大规模云上应用场景,开发部署和运维友好,兼容主流的云原生等业务架构。
02
技术方案  
共享内存通信 SMC 是由 IBM 首次贡献至 Linux 社区,并由龙蜥社区增强和维护的软硬协同的高性能协议栈。针对 不同的规模场景、硬件和应用模型 ,SMC 提供多位一体的方案以解决当前传统协议栈的问题:
  • 借助云厂商 VPC 或者数据中心 RDMA,实现不同规模和场景下的高性能通信,支撑不同的业务规模和场景。 
  • 兼容 RDMA verbs 生态,实现协议栈卸载至硬件,提升网络性能,降低 CPU 资源使用,支持多种硬件。 
  • 透明替换网络应用,SMC 完全兼容 TCP socket 接口,并可快速回退 TCP。
  • 使用统一高效的共享内存模型,借助硬件卸载实现高性能的共享内存通信。
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),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

▼ 欢迎点击 阅读原文 ,查看「 2022 龙蜥社区全景白皮书 」。

本文分享自微信公众号 - OpenAnolis龙蜥(OpenAnolis)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
0 收藏
0
分享
AI总结
返回顶部
顶部