Yanyg - Software Engineer

RDMA网络学习笔记(1)

目录

1 网络发展

现状:25G网络全面商用,100G网络批量上线,200G网络即将到来。

2 协议

iWARP: Internet Wide Area RDMA Protocol. 2007年OpenFabric联盟(主要成员包括IBM, EMC, Intel等)公布的标准。IETF规范。

RoCE: RDMA over Converged(融合的) Ethernet. 2010年Infiniband行业协会 (Mellanox/Broadcom)推出的规范。在以太网上实现的RDMA。2014年提出RoCEv2, 使用UDP封装,网络层遵循Eth+IP,传输层使用IB,完全融合现有以太网基础设施。 RoCE网络需要支持DCB的网络交换机,以支持PFC(Priority Flow Control)流控。PFC 机制根据拥塞状态发送PAUSE,逐级反压进行流控。

Items RocE RoCEv2 iWARP
RDMA NIC Required Y Y Y
Network Layer IB UDP/IP TCP/IP
Transport Protocol IB IB iWARP
RDMA verbs support Y Y Y
Switch Required DCB DCB Not Required
Congestion(拥塞) Management QCN ECN/CNP TCP/IP, RFC 3168 ECN
Routable N Y Y

RoCE/RoCEv2 Vendor: Emulex, Mellanox, Broadcom, Qlogic iWARP Vendor: Intel, Chelsio

目前主流RDMA为RoCEv2。

3 单网卡多协议多队列

内核态TCP/IP, 用户态TCP/IP,以及RDMA传输并存。并通过TCP/IP走控制命令,通过RDMA 传输数据,既简化逻辑,同时满足性能需求。

通过NIC FLOW DIRECTOR技术,NIC把数据包直接推送到对应的Queue,实现不同驱动、完全 无锁的数据处理。Ref: https://doc.dpdk.org/guides-20.02/howto/flow_bifurcation.html

4 存储网络组件目标

  • 低延时:RDMA网络RoundTrip控制在10us;
  • 低消耗:硬件Offload,降低CPU消耗; TSP, LRO, FPGA;
  • 高并发:网卡分流,无锁多队列,完全并发;
  • 运维友好:升级;
  • 内存管理:零拷贝,大页;
  • 编解码:控制链路Protobuf,数据链路RawData;
  • 全链路用户态处理,Polling机制,Run To Completion线程模型;
    • How To Reduce CPU ?
  • 容错:多交换机,多链接,网络黑洞检测与链路切换。

5 开源软件

6 References