ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 龙蜥白皮书精选:面向 DPU 场景的软硬协同协议栈

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

原创 Linux操作系统 作者:OpenAnolis小助手 时间:2023-03-09 11:02:28 0 删除 编辑

文/陆扬、施威

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 协议栈能够带来显著的性能提升。



附:

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

—— 完 ——


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70004278/viewspace-2938789/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
龙蜥社区(OpenAnolis)-面向国际的 AI 原生操作系统开源根社区。以“AI × OS × 云”深度融合为主线,打造下一代 Agentic 操作系统的技术与生态底座。 社区官网:openanolis.cn|微信公众号:OpenAnolis龙蜥

注册时间:2021-07-28

  • 博文量
    1020
  • 访问量
    604959