《2024龙蜥大会技术实践分论坛:龙蜥 SMC 提供透明网络加速-顾问.pdf》由会员分享,可在线阅读,更多相关《2024龙蜥大会技术实践分论坛:龙蜥 SMC 提供透明网络加速-顾问.pdf(16页珍藏版)》请在三个皮匠报告上搜索。
1、龙蜥 SMC 提供透明网络加速1 Linux SMC Maintainer/IBM Software Developer,Linux on Z2 Linux SMC Reviewer/阿里云高级开发工程师Jan Karcher1/顾问2Shared Memory Communication in OpenAnolis共享内存通信 SMC共享内存通信0101龙蜥优化云上 SMC增加云上场景适配性拓展加速场景和维度增强可用性、降低使用门槛0 02 2龙蜥 SMC 实践范例服务网格 Service Mesh事件流平台 Kafka0 03 3Shared Memory Communication(SM
2、C)共享内存通信Jan KarcherLinux SMC MaintainerSoftware Developer,Linux on Z,IBM What is SMC?The motivation&benefits.What is SMC-D or SMC-R,how they work?How to use SMC?共享内存通信 SMC目标:打造能够普惠云上场景的 SMCSMC 对传统网络接口的兼容性降低共享内存操作的使用门槛RDMA/ISM 等内存操作和协议卸载技术提升网络性能MotivationDesign 绕过传统 TCP/IP 协议栈,使用 RDMA 等技术操作共享内存,从而获得更
3、低的时延和 CPU 使用率;同时兼容 socket 接口,保证应用程序无需修改,透明地加速网络性能;How to use 用户态工具 smc-tools 提供 smc_run 来使应用程序透明运行于 SMC 协议栈,无需代码改造;e.g.smc_run iperf3 SMC-R 基于 RDMA,用于在不同机器间通信;SMC-D 基于 IBM z ISM,用于 IBM 大型机内部通信;首先使用 TCP 连接握手,通过 SYN 中 TCP option 254+ExID 表示支持 SMC;两侧都支持 SMC 功能,则继续 SMC 协议层面握手,进而通过 SMC 连接通信;否则安全回退为使用 TCP
4、 连接通信;龙蜥优化云上 SMC龙蜥社区在 SMC 上的进一步探索目标:打造能够普惠云上场景的 SMCSMC 兼容传统网络接口,降低共享内存操作的使用门槛RDMA/ISM 等内存操作和协议卸载技术提升网络性能Anolis在上游基础上深度参与Linux 社区合作增强 SMC 稳定性和可靠性:修复资源释放、回退路径上的数十个稳定性问题;提升 SMC 各项性能表现:新增 autocork、多 cq、流控等特性,使用 sock 合并消除回退性能损耗;增强 SMC 云上场景适配性:支持神龙弹性 RDMA、支持 max link/conn 协商、支持 vendor feature 协商;拓展 SMC 加速
5、场景和维度:提出软件实现的 Emulated-ISM、用于本地通信的 SMC-D loopback;增强 SMC 易用性和降低使用门槛:提出基于 eBPF 的 SMC 使用方法、基于端口等规则的策略替换;向上游社区贡献约 150 补丁;新增 3 位 SMC reviewers;上游社区会议开展十余场;推动协议标准补充发起的 SMC-R v2.1 特性协商功能进入 SMCv2 白皮书标准 Third Edition发起的 SMC-D v2.1 Emulated-ISM 支持进入 SMCv2 白皮书标准 Fourth Editionwrk/nginx:长连接吞吐提升 10-40%增强云上场景适配性
6、支持阿里云弹性 RDMA支持关键参数协商 支持 RoCE 与神龙弹性 RDMA 设备 拓展 SMCv2.1 标准,支持特性协商 支持修改和协商更适用与云上场景的多种属性:冗余 RDMA 链路数量;单个 RDMA 链路承载连接最大数量;供应商特殊属性;进入 SMCv2 白皮书 Edition31软硬协同,降低协议栈处理开销降低时延,提升吞吐redis-benchmark:SET/GET QPS 提升 15-40%1 SMCv2 Edition3:https:/ 拓展加速场景和维度*virtio-ism 标准推进中,代码实现暂未进入Anolis1 SMCv2 Edition 4:https:/ S