当前位置: 首页 > 网络应用技术

绩效改善57%,SMC-R透明加速度TCP实际分析|龙蜥蜴技术

时间:2023-03-06 18:59:50 网络应用技术

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

  编辑注:TCP协议目前是最广泛使用的网络协议,场景遍布移动通信,数据中心等。对于数据中心方案,高性能网络协议SMC-R通过弹性RDMA实现替换应用程序TCP协议,并实现应用程序网络的透明加速度。该文章是根据《龙蜥蜴讲座》第15章编写的。视频的精彩发行已上传到《龙龙蜥蜴》的官方网站。欢迎来看!

  Linux内核网络协议堆栈没有银色子弹。当前的Linux网络协议堆栈是在性能(吞吐量,CPU使用率),延迟和普通 - 可利用余额的情况下实施的。在实际场景中,我们可能需要高性能但不需要通用的用户状况协议堆栈,或者是通用的解决方案,或者是一般的解决方案,较高的性能和较低的延迟,但是很难根据传统以太网卡改进计划。基于硬件的股息,例如100G/400G网络。在此视图中,我们考虑是否可以提供TCP兼容行为和套接字基于其他高性能网络的接口,以提供更好的性能。

  在谈论交叉托管交流之前,我们首先将他们的视线放在了架子上。如何在支架中实现IPC - 空位维度?以下是几种常见的IPC方法:

  并非偶然,共享内存是最快的IPC方法,但缺少OS级别的统一实现和接口,主要是在语言库中提供的。

  在这里,我们分解了架子的共享内存IPC进程 - 空位尺寸:

  如果有两台机器之间可以实现的技术,即“处理”内存,那么我们可以将此高性能的IPC解决方案从支架扩展到不同的主机。显然,远程直接内存访问RDMA可以帮助我们处理内存的内存有效率的。

  与基于RDMA的过程中的内存通信过程的共享相比:

  基于基于RDMA的共享内存模型,SMC-R成立,SMC-R缩写是RDMA上的共享内存通讯。

  让我们看看SMC-R如何加速TCP应用程序。

  SMC-R是一种混合协议,即通过TCP建立建立建筑的信息相互作用,以及通过RDMA网络的数据路径的高性能数据传输。,一旦RDMA链接失败,可能会退缩到TCP以实现袋底的能力。此外,SMC-R使用多个RNIC在运行时实现故障迁移,以确保运行时的可靠性。

  RDMA本身提供动词接口电源。基于共享内存的SMC-R模型配备了一组与TCP套接字完全兼容的内核接口。基于EBPF规则和其他方法,它可以通过LD_PRELEODS.SMC透明,然后实现透明的替换和加速度。

  基于SMC-R透明替换,我们测试了几种应用程序方案。其中,Redis的最高表现为57%。目前,Redis无需进行任何转换即可享受SMC-R带来的性能加速。

  透明替换和加速TCP应用程序,您可以使用以下三个方案:

  在龙龙社区中,我们还不断增强优化SMC,包括性能,使用场景,稳定性和透明替代品。在参与龙龙龙社区的贡献的六个月中,总共有60多个补丁贡献了上游Linux社区。

  这种分享只是吸引玉的砖头。在后来,更令人兴奋的技术共享还应继续关注Dragon Lizard的公共帐户。欢迎每个人在Dragon Lizard社区中进行交换和分享,并且可以从下面的链接中获得相关信息。

  相关链接地址:

  1.代码仓库:

  hpn-cloud-kernel

  2.高性能网络SIG地址:高性能网络-Openanolis Dragon Operation System开源社区

  原始链接

  本文是阿里巴巴云的原始内容,未经许可就无法重印。

  原始:https://juejin.cn/post/7101919131661762568