存储大师班 | 浅谈 RDMA 与无损网络

魏国武 QingStor 资深研发工程师
近 10 年企业级软件开发经验,专注于大规模分布式存储研发,擅长集群性能调优、高可用研究及容灾。

为什么需要 RDMA

当今是云计算、大数据的时代,企业业务持续增长需要存储系统的 IO 性能也持续增长。传统的 TCP/IP 技术在数据包处理过程中,要经过操作系统及其他软件层,数据在系统内存、处理器缓存和网络控制器缓存之间来回进行复制,给服务器的 CPU 和内存造成了沉重负担。尤其是网络带宽、处理器速度与内存带宽三者的严重"不匹配性",更加剧了网络延迟效应。为了降低数据中心内部网络延迟,提高带宽,RDMA 技术应运而生。RDMA 允许用户态的应用程序直接读取和写入远程内存,避免了数据拷贝和上下文切换;并将网络协议栈从软件实现 offload 到网卡硬件,实现了高吞吐量、超低时延和低 CPU 开销的效果。

当前 RDMA 在以太网上的传输协议是 RoCEv2,RoCEv2 是基于无连接协议的 UDP 协议,相比面向连接的 TCP 协议,UDP 协议更加快速、占用 CPU 资源更少,但其传输是不可靠的,一旦出现丢包会导致 RDMA 的传输效率降低,这是由 RDMA 的 Go-back-N 重传机制决定的。RDMA 接收方网卡发现丢包时,会丢弃后续接收到的数据包,发送方需要重发之后的所有数据包,这导致性能大幅下降。所以要想 RDMA 发挥出其性能,需要为其搭建一套不丢包的无损网络环境。

差异化流量分类

构建无损网络,首先需要对网络流量进行分类,然后针对不同类别流量采用具体流控策略,实现精确控制,避免相互影响。流量分类有两种不同的分类方法:传输层(Layer 2)和网络层(Layer 3)。Layer2 通过 vlan header(802.1q)里的 PCP(802.1p)位进行分类,对应 CoS(Class of Service);Layer3 通过 IP header 里的 DSCP 进行分类,对应 DSCP。

Layer 2 流量分类

Layer2 层流量分类依据的是 vlan tag 中的 3 位 PCP bit,总共有 8 个类别。3 个 bit 是 Header 中第 3 个 byte 的前三位,如下图。在使用 Layer 2 流量分类

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值