RoCE 无损以太网与简化 RoCE:性能与成本的博弈
近期文章
RDMA 网络技术是什么?
RDMA(远程直接内存访问)是一种网络通信技术,允许计算机直接访问远端主机内存,绕过操作系统内核和CPU干预,实现超低延迟、高吞吐量的数据传输。其核心机制包括零拷贝(消除数据缓冲复制)、内核旁路(减少软件栈开销)及网络协议卸载(由网卡硬件处理通信协议)。该技术最初用于高性能计算(HPC)和存储网络,后扩展至云计算、AI训练等场景。
主流协议
(RDMA) 技术允许设备直接读/写应用程序的内存,而无需与 CPU 或作系统交互,从而实现更高的吞吐量和更低的延迟。应用程序可以直接对网络设备进行编程,以对应用程序内存执行 DMA。
图中,PoD1网络设备直接通过HCA(是RDMA专用的硬件组件)访问PoD2网络设备,绕过内核协议栈,实现零拷贝和低延迟。以下是RDMA三种主流协议:
InfiniBand(IB):
- 原生支持RDMA,需专用InfiniBand网络设备和交换机。
- 提供物理层到传输层的完整协议栈。
RoCE(RDMA over Converged Ethernet):
- 在以太网上运行RDMA,分为RoCEv1(基于以太网链路层(不支持3层转发)和RoCEv2(基于UDP/IP)。
- 依赖无损网络(通过PFC和ECN实现流量控制)。
iWARP(Internet Wide-Area RDMA Protocol):
- 基于TCP/IP协议栈,支持广域网环境。
- 通过TOE(TCP Offload Engine)将TCP处理卸载到网卡。
三种网络传输协议的优势和劣势对比表:
协议 | 优势 | 劣势 |
---|---|---|
InfiniBand | 1.超低延迟:原生支持RDMA,延迟极低。 2. 高吞吐量:支持超高速传输(如EDR/HDR速率)。 3. 无损网络:基于Credit机制,无需额外流控。 4. 高扩展性:专为高性能计算(HPC)优化。 | 1.成本高:需专用硬件(网卡、交换机)。 2. 兼容性差:与现有以太网设施不互通。 3. 部署复杂:需独立网络架构。 |
RoCE | 1.基于以太网:兼容现有以太网基础设施,降低成本。 2. 支持RDMA:在以太网上实现低延迟传输。 3. 灵活路由:RoCEv2支持IP层路由。 | 1.依赖无损网络:需PFC、ECN等流控,配置复杂。 2. 拥塞敏感:网络拥塞时性能下降明显。 3. 硬件要求:需支持RoCE的专用网卡。 |
iWARP | 1.基于TCP/IP:兼容传统TCP网络,无需改造基础设施。 2. 抗拥塞:利用TCP可靠性机制,适应复杂网络环境。 3. 部署灵活:支持标准以太网交换机。 | 1.性能较低:TCP协议栈引入额外延迟和开销。 2. 吞吐量限制:相比InfiniBand和RoCE,带宽利用率较低。 3. 生态支持弱:硬件和软件支持较少。 |
RoCE基于以太网实现远程直接内存访问(RDMA),旨在通过绕行内核协议栈提升数据传输效率,成为高性能计算、分布式存储和AI训练场景的热门选择。然而,其核心设计依赖无损网络和特定硬件支持,导致实际部署面临显著挑战:
- 配置复杂性:需手动协调PFC(流量控制)、ECN(拥塞通知)和QoS策略,跨厂商设备兼容性差,运维门槛高;
- 网络僵化风险:PFC的逐跳反压机制可能引发广播风暴或死锁,大规模组网时稳定性存疑;
- 扩展性限制:RoCEv1局限于二层网络,RoCEv2虽支持三层但受限于UDP/IP的封装开销和路由延迟,跨数据中心场景性能易波动。
这些劣势促使业界探索自动化配置工具(如星融元“一键RoCE”)和软硬件协同优化方案,以平衡性能与部署成本。
星融元RoCE无损以太网
星融元通过其创新的一键RoCE功能和智能拥塞管理方案,显著简化了RoCEv2网络的配置流程并有效解决了网络拥塞导致的性能下降问题。以下是具体实现方式和优化策略:
如何通过一键RoCE简化配置流程?
1. 一键式命令封装:传统RoCEv2网络需手动配置PFC(基于优先级的流量控制)和ECN(显式拥塞通知)等复杂参数,涉及多步骤QoS策略调整。星融元的AsterNOS操作系统通过业务级命令行封装,将原子级配置整合为单条命令(如show roce),实现一键启用或关闭无损网络功能,极大降低工程师的操作复杂度。
2. 集中化配置与状态展示
- 全局视图管理:通过show roce命令,可集中查看全网的RoCE配置状态、队列映射、Buffer使用情况、PFC/ECN触发次数等,无需逐台设备执行多个命令。
- 业务级参数调优:针对不同业务场景(如HPC或存储),提供默认模板配置,同时也支持通过QoS命令行精细调整PFC和ECN参数,满足定制化需求。
3. 兼容性与易用性增强
- 思科风格命令行(KLISH):AsterNOS支持传统CLI操作习惯,降低学习成本。
- 自动化部署工具:结合RESTful API和零接触部署(ZTP),实现网络快速上线,减少人工干预。
如何解决网络拥塞时的性能下降?
1. PFC+ECN的无损保障机制
- PFC(优先级流量控制):为存储等高优先级流量划分独立队列,当检测到队列拥塞时,触发暂停帧(Pause Frame)避免丢包。
- ECN(显式拥塞通知):在IP头部标记拥塞状态,通过CNP(拥塞通知包)反馈至发送端,动态调整流量注入速率,防止拥塞扩散。
2. 硬件与架构优化
- 超低时延交换机(CX-N系列):Port-to-Port转发时延低至400ns,支持高密100G/400G端口,减少存储集群内部通信跳数(不超过3跳),降低端到端时延。
- Spine-Leaf架构设计:通过扁平化组网优化流量路径,避免传统多层架构的瓶颈。
3. 可视化监控与快速排障
- Prometheus集成:通过容器化监控工具roce_exporter,实时采集RoCE网络指标(如拥塞次数、CNP触发频率),实现可视化分析。
- 故障集中定位:使用show roce命令聚合关键调试信息,快速定位拥塞源或配置错误,缩短排障时间。
应用场景与效果
- 分布式存储网络:在存算分离场景中,通过RoCEv2+PFC+ECN构建零丢包、低时延的后端存储网络,加速多副本同步与数据重建。
- 高性能计算(HPC):支持大规模并行计算任务,通过无损网络减少通信延迟,提升算力集群效率。
- 云数据中心:在混合业务负载下(存储、计算、AI),通过优先级隔离和动态拥塞控制,保障关键业务SLA。
性能测试:https://asterfusion.com/blog20241011-roce-test-report/
【参考文献】
- https://blog.csdn.net/yizhiniu_xuyw/article/details/126052568
- https://www.cnblogs.com/burningthestar/p/8566746.html
- https://blog.csdn.net/asterfusion/article/details/133078044
- https://www.teimouri.net/review-whats-remote-direct-memory-access-rdma/
- https://www.cnblogs.com/ztguang/p/15203071.html
- https://en.wikipedia.org/wiki/Remote_direct_memory_access
- https://baike.baidu.com/item/%E8%BF%9C%E7%A8%8B%E7%9B%B4%E6%8E%A5%E5%86%85%E5%AD%98%E8%AE%BF%E9%97%AE/23315976