性能提升 57% ,SMC-R 透明加速 TCP 实战解析 | 龙蜥技术

简介:SMC-R 是如何加速 TCP 应用?

编者按:TCP 协议作为当前使用最为广泛的网络协议,场景遍布移动通信、数据中心等。对于数据中心场景,通过弹性 RDMA 实现高性能网络协议 SMC-R,透明替换应用 TCP 协议,实现应用网络透明加速。本文整理自龙蜥大讲堂第 15 期,视频精彩回放已上传至龙蜥官网,欢迎查看!

 为什么需要新的内核网络协议栈?

Linux 内核网络协议栈没有银弹,当前 Linux 网络协议栈是在性能(吞吐、CPU 使用率)、时延和通用性权衡下的实现。在真实场景中,我们可能需要高性能但是并不通用的用户态协议栈,亦或是通用、更高性能更低时延的方案,但是基于传统以太网卡的方案很难有大幅度的提升,更多是基于硬件的红利,例如 100G/400G 网络。鉴于此,我们考虑是否可以基于其他高性能网络,提供 TCP 兼容的行为和 socket 接口,提供更优的性能。

基于共享内存的网络通信

在谈跨主机通信之前,我们先把视线放到单机维度,如何在单机维度实现 IPC?下面是几种常见的 IPC 方式:

不出意外,共享内存是最快的 IPC 方式,但是缺少一种 OS 层面的统一实现和接口,多数是在语言的 library 中提供。

这里我们分解一下单机维度的共享内存 IPC 流程:

  1. 发送方写到预先分配好的一块内存区域;
  2. 通知对端,并更新新写入内存的偏移量;
  3. 接收方按照新更新的偏移量读取数据;
  4. 接收方更新读取内存的偏移量。

如果有一种技术,可以实现在两台机器间“搬运”内存,那么我们可以把这种高性能 IPC 方案从单机维度拓展到不同的主机间。很显然,Remote Direct Memory Access RDMA 可以帮助我们高效地搬运内存。

相对于单机的共享内存通信流程,基于 RDMA 的流程:

  1. 发送方写到本机预先分配好的一块内存区域;
  2. 通过 RDMA 将该内存写入到对端维护的内存区域的相同位置;
  3. 通过 RDMA 通知接收方,并更新新写入内存的偏移量;
  4. 接收方按照新更新的偏移量读取数据;
  5. 接收方通过 RDMA 更新读取内存的偏移量。

基于 RDMA 的共享内存模型,SMC-R 应运而生,SMC-R 缩写即为 Shared Memory Communcation over RDMA。

下面让我们看下 SMC-R 是如何加速 TCP 应用。

SMC-R 是一种混合协议,即通过 TCP 实现建联时信息交互,通过 RDMA 网络实现数据路径高性能数据传输同时,一旦 RDMA 链路建联失败,可以 fallback 到 TCP,实现兜底 TCP 的能力。除此之外,SMC-R 借助多个 RNIC,可以实现运行时的故障迁移,确保运行时可靠性。

RDMA 本身提供了 verbs 接口供应用使用,SMC-R 基于共享内存的模型,提供了一套完全兼容 TCP socket 的内核接口,可以通过 LD_PRELOAD 基于 eBPF 的规则替换等方式,实现将 TCP socket 透明替换成 SMC socket,进而实现透明替换和加速。

基于 SMC-R 透明替换,我们测试了几种应用场景,其中 Redis 有最高 57% 的性能提升,此时 Redis 无需进行任何改造,即可享受 SMC-R 带来的性能加速。

使用 SMC-R 加速应用

透明替换并加速 TCP 应用,可以使用下面三种方案:

  1. 使用 LD_PRELOAD 的方式,这种方式原理是将动态链接的二进制文件中,关于 socket 创建的 SOCK_STREAM 协议,替换为 AF_SMC 协议,从而实现将 TCP 透明替换 SMC 协议;
  2. 通过 net namespace 级别的 sysctl,可以实现网络命名空间(容器等)纬度的所有 TCP 连接的替换;
  3. 通过 eBPF 规则(例如五元组、进程 ID 等),动态匹配需要替换的连接进行替换。

SMC-R 在龙蜥

在龙蜥社区中,我们也正在持续不断地增强优化 SMC,包括性能、使用场景、稳定性和透明替换。参与龙蜥社区贡献的半年时间内,共为 Linux 上游社区贡献了 60+ 的补丁。

本次分享只是抛砖引玉,后期更多精彩技术分享还请持续关注龙蜥公众号不迷路。欢迎大家在龙蜥社区交流和分享,相关资料可以从下面的链接中获取。

相关链接地址: 

1、代码仓库:hpn-cloud-kernel 

2、高性能网络 SIG 地址:High Performance Network - OpenAnolis 龙蜥操作系统开源社区 

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2022云管云网大会丨阿里云孙成浩:构建万物互联的智能云网络

简介:2022年5月19日,由中国信息通信研究院(以下简称“中国信通院”)和中国通信标准化协会联合主办的“2022云管和云网大会”通过线上直播方式成功召开。大会以“新云管 新云网”为主题,工业和信息化部信息技术发展司信…

未来两年,阿里云20%新增算力将使用自研CPU

11月3日,阿里巴巴在2022云栖大会上宣布,自研CPU倚天710已大规模应用,阿里云未来两年20%的新增算力将使用自研CPU,这是阿里算力攻坚的重要突破。目前,倚天710已在阿里云数据中心大规模部署,并以云的形式服务…

PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能

简介:2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 2021 年10月正式开源。本次发布是开源后首个重大版本升级&am…

做ToB软件质量保障的这两年

简介:自己算是阿里的老兵了,从实习开始一直投身在 toB 业务的质量保障领域内,不能说是资深的专家,但所经历的、感受的业务特点和体会还是具有一定的代表性,希望能通过这篇文章,总结一下过往,并能…

成本节省 50%,10 人团队使用函数计算开发 wolai 在线文档应用

简介:人们关注 wolai 独特的功能和舒适的用户的用户体验,更关注实现这些背后的技术架构。在一个晴朗下午,我们邀请了 wolai.com 的创始人马锐拉,跟我们聊聊 wolai 背后的 Serverless 架构。 作者:马锐拉 | wolai.com …

前端质量|基于业务驱动的前端性能有效实践案例

简介:前端的本质价值是什么?作者认为是给用户创造良好的交互体验和抵达率优化应该在转化率之前。那么本文就将和大家分享基于业务驱动的前端性能有效实践案例。 作者 | 钱文玲(悠酱) 来源 | 阿里开发者公众号 一、背景 1.1.前端性能优化的业务意义 前…

走进RDS|说说关系型数据库与Serverless

简介:看到如今Serverless在云计算行业喷薄欲出的态势,像极了《星星之火,可以燎原》中的描述:虽然不能预测未来的发展和变化,但对于云计算来说这是个相对确定的方向。本文将和大家说说关系型数据库与Serverless。 作者 …

六年团队Leader实战秘诀|程序员最重要的八种软技能

简介:笔者在带团队的六年中发现,程序员们在职场都有一个共同的困扰:“好像写代码都没什么问题了,日常工作基本上都是应付业务需求的开发,好像找不到其他的更大的附加价值了,我应该找一些什么样的发力点才能…

宜搭小技巧|学会这一招,数据收集收放自如

简介:应用的「启用」「停用」功能还可以这样用 >> 团建的日子眼看就要到了,为了掌握参加的人数,提前进行车票、房间、餐食的预定,宜小搭计划在周五下班前停止对报名信息的收集。 如何停止我们的应用进行数据收集呢&#x…

阿里云总裁张建锋:“未来不懂低代码就像二十年前不会用word”

11月3日,阿里云智能总裁张建锋在2022云栖大会公布,钉钉上的低代码应用数突破500万,低代码开发者超过380万。张建锋表示,未来80%的应用会由业务人员通过低代码开发。 张建锋提到,一线业务人员通过低代码的方式&#xf…

平行云CEO 李岩:CloudXR ,开启通往元宇宙的通道

简介:一端是算力无穷的云,这也是 CloudXR 的精髓所在。 图:2022阿里云视觉计算私享会现场 5月11日,在“2022阿里云视觉计算私享会”上,平行云CEO李岩为大家带来了题为《CloudXR,开启通往元宇宙的通道》的主…

阿里10年沉淀|那些技术实战中的架构设计方法

简介:上周我写的一篇文章《关于技术能力的思考和总结》引起了大家的关注,好多读者的评论“以写代想、以想促真、以讲验真”,大家的感受很深刻,基于上次的文章,这篇文章我其实更想跟大家聊聊一些常用的思考方法&#xf…

阿里巴巴云数据仓库 MaxCompute 数据安全最佳实践

简介:MaxCompute作为企业级SaaS模式云数据仓库,正在为客户业务及其数据提供持续的安全保护。 MaxCompute 近期对产品的安全能力进行了全面升级 ,结合数据生命周期,针对数据误用、数据滥用、数据泄露、数据丢失等典型数据风险场景&…

阿里平头哥发布RISC-V高能效处理器玄铁C908,打造端云一体生态

11月3日,在2022云栖大会上,阿里平头哥发布全新RISC-V高能效处理器玄铁C908。玄铁C908计算能效全球领先,较业界同性能处理器能效提升超20%,更能满足低碳时代的算力需求,可广泛用于智能交互、多媒体终端、AR/VR、无线通讯…

MaxCompute 公共云多租户设计的技术要点详解及产品实现特色

简介:公共云大数据平台在多租户的设计和实现方式上有所差异。本文主要介绍在公共云大数据平台的多租实现方案中需要考虑的问题和挑战,重点介绍了MaxCompute在计算和存储多租实现上的特点。期望通过这些介绍来让大家了解大数据云平台多租方案需要关注的技…

技术解读 | 智能开放搜索CTR预估模型

简介:本文介绍开放搜索CTR预估模型在个性化排序中的应用与实践 如何评价搜索排序效果? 搜索是用户触达信息最简单直接的方式,是APP、网页必备的功能。如何评价并提升搜索效果一直是搜索领域的常见问题。 一方面,可以基于用户体…

阿里云能耗宝助力华聚公司实现产品绿色升级

客户公司:杭州华聚复合材料有限公司 公司类型:制造业 案例简介:能耗宝“碳足迹在线服务”助力华聚公司产品绿色升级,能耗管理助力厂区实现年度节电17万度,约等于减碳排量120多吨。 2020年9月,国家提出了2…

无影云应用核心技术解读

简介:本文整理自阿里云无影高级技术专家付志超,在阿里云EMR StarRocks无影云应用线上发布会的分享。本篇内容主要分为三个部分: 1. 无影云应用产品简介 2. 无影云应用技术架构 3. 总结&展望 了解更多无影云内容:无影云应用重…

计算就是创造力!阿里云与FIRST影展设立“无影创作奖”

11月3日在云栖大会技术主论坛上,阿里巴巴集团首席市场官董本洪与FIRST影展创始人宋文共同发起了“无影创作奖”。云计算从支持大制作渲染,走向了更多类型片的创作领域。 按计划,无影创作奖将在FIRST惊喜影展上揭晓,为类型片创作者…

一个好的网站logo设计长这样

简介:一个好的网站logo,不仅让用户一眼知道网站品牌传递的信息,还能提高网站专业度和丰富度,增加SEO搜索排名。今天分享下如何设计一款实用的网站logo。阿里云智能logo设计,在线免费体验logo制作:https://l…