Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >局域网SDN硬核技术内幕 25 展望未来——RDMA(下)

局域网SDN硬核技术内幕 25 展望未来——RDMA(下)

作者头像
用户8289326
发布于 2022-07-27 02:32:58
发布于 2022-07-27 02:32:58
1K0
举报

先回顾一下昨天与前天的内容。

海量的数据存储需求与以AI/大数据为代表的计算需求,推动多核、多处理器、服务器集群的普及,使得大规模的分布式计算与存储业务迅速增长。为了避免跨节点通信的时延及CPU占用成为大规模分布式计算与存储的性能瓶颈,工程师们发明了RDMA技术。

RDMA技术一开始只能在InfiniBand(IB)网络上运行,为了降低RDMA技术的CAPEX和OPEX,从而节约TCO,工程师们将RDMA技术移植到了以太网上,叫做RoCE。RoCE v2是基于UDP的,理论上可以穿越路由器或三层交换机互联互通。

那么,是所有的以太网产品都能支持RoCE吗?

让我们来对比RDMA和TCP的重传机制。

众所周知,TCP的设计,是假设IP和链路层不可避免丢失数据包的,并将丢包作为降低发送速率的负反馈机制,并且,引入SACK等复杂的机制,实现丢包的重传。而RDMA并非如此。

RDMA在丢包时,会通过一种成为go-back-0的机制进行重传。这种机制的实现正如其字面意思那样,一旦发生丢包,会从头开始传输该次会话的数据。显然,这种极端的重传机制下,网络发生极微小的丢包也会大大降低RDMA的工作性能,甚至使得吞吐性能接近于0。

举一个极端的例子:主机A通过RDMA读取主机B上的内存,数据块大小为16MB,中间以太网的丢包率为1/4000,也就是千分之0.25。

在这种情况下,两台主机的传输速率几乎为0。这是为什么呢?

16MB的数据,会被拆分为16384个数据包发送。只有每个数据包都被对方成功接收,16MB数据才算发送成功。如果每个数据包的丢包概率为0.025%,总的发送成功概率是(1-0.025%) ^ 16384 = 0.0166。

打开系统内核底层的诊断信息,我们可以看到,网卡一直在发送,但它就像西西弗斯徒劳地推石头一样,并没有任何实质进展。

因此,我们需要避免以太网的丢包。

网络的丢包一般有三个原因:

  1. 物理层传输误码。在现代基于光纤的短距以太网中,此种情况已经几乎可以忽略了。
  2. 转发设备性能不足。但基于ASIC的以太网交换机均具备无阻塞的交换网络(Switch Fabric)和线速转发能力的包处理流水线,硬件处理性能不是问题。
  3. 拥塞丢包。如果2个万兆接口线速输入的数据包,都只从1个万兆接口输出,必然造成50%的数据包无法输出而被丢失。

显而易见地,以太网交换网络中,几乎所有的丢包,属于第三种情况。

那么,我们如何避免以太网交换网络产生丢包呢?

我们知道,在以太网交换机ASIC的内部,有着一个区域,叫packet buffer (包缓存),不同款型从1.5MB到64MB不等。对于没有超出缓存临时存储能力的拥塞数据包,可以通过流量整形等方式,利用缓存临时存储,再均匀地发送给下游。但如果上游持续发送超出出方向接口能力的数据流,再大的缓存都无法避免丢包。

因此,我们需要在以太网交换机上引入一种机制,在缓存即将消耗殆尽时,通知上游减慢发送,从而避免丢包的产生。

这种机制,叫做无损以太网。

无损以太网需要实现三个特性:

首先,是PFC(Priority-Based Flow Control),基于优先级的流控。它在802.1qbb中定义。

大家复习一下802.1p中,以太网的3bit优先级字段。它为以太网定义了8个优先级。同样,在数据中心级别以太网交换机中,每个端口具有8个队列,如下图所示:

这种机制可以为不同类型的数据流分配不同的缓存资源,为不同优先级的队列设定不同的拥塞门限。当拥塞发生,指定队列的缓存使用量到达门限,交换机的ASIC会通过Pause帧通知上一跳设备暂停发送本优先级报文,从而延缓拥塞的恶化。

但是,上一跳设备暂停发送特定优先级报文,会导致该设备为了缓存该优先级报文,加快消耗自身的包缓存资源。因此,为了彻底解决拥塞问题,我们还需要配合另一个特性:ECN。

ECN(Explicit Congestion Notification)实现的是明确的拥塞通知。当交换机发现端口出现拥塞,该端口的缓存队列增长超过门限值时,会在向下游发送的数据包中打上拥塞标记。在RFC 3168的规约中,这个标记是利用IP数据包中的ECN Field字段实现的。

我们发现了什么?

  1. RoCE v1由于并非IP数据包,它是不可能实现ECN的!
  2. 接受报文的主机查看ECN Field字段以后如何通知发送报文的主机呢?

问题2引出了第三个关键特性——RCM。

我们知道,传统TCP的流控机制是基于丢包的。当网络传输不过来的时候,或接收方主机处理不过来的时候,会产生TCP数据包丢失。发送端发现TCP丢包的时候,会将发送窗口减半,从而降低发送速率。

但,这种机制在RDMA中是行不通的。

因此,我们引入了RCM(RoCEv2 Congestion Management)机制,在收到ECN Field为3的数据包时,会通过CNP(Congestion Notification Packet)通知发送端。发送端收到此数据包时,暂时降低发送速率。经过一个预先设定的时间窗后再恢复发送速率。

有了PFC,ECN以及RCM,RoCE就可以愉快地工作了!——吗?

然而,现实总是不如想象的美好——

网友见面时发现小姐姐实际上是乔碧萝的时候,还有立即跑路的选择。但RoCE网络并没有像预想中那样零丢包的时候,我们应该如何迅速排查故障呢?

请看下回分解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 帅云霓的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
局域网SDN硬核技术内幕 26 精准诊断 —— 网络可视化 (上)
前面,我们介绍了RDMA技术的应用场景和基本机制、通过以太网承载RDMA的RoCE技术,以及如何保证RoCE的传输效率。
用户8289326
2022/07/27
5900
局域网SDN硬核技术内幕 26 精准诊断 —— 网络可视化 (上)
局域网SDN硬核技术内幕 24 展望未来——RDMA(中)
RDMA的本质,是对于大规模分布式计算存储的场景,让网卡绕开CPU,配合远端服务器直接存取内存,加速服务器之间的交互,降低时延,把宝贵的CPU资源用于高价值的计算与逻辑控制上。
用户8289326
2022/07/27
1.1K0
局域网SDN硬核技术内幕 24 展望未来——RDMA(中)
局域网SDN硬核技术内幕 30 钩深致远 —— 意图驱动与自动驾驶(上)
在前面几期专题中,我们从RDMA讲起,引入了INT(带内遥测)作为高精度实时质量检测的手段;ERSPAN精准检测关键报文丢包;gRPC监测网络设备控制平面信息等。通过这些手段,我们可以收集网络中的时延、抖动、丢包等转发平面外部信息;交换芯片计数、缓存使用量、拥塞程度等转发平面内部信息;以及路由转发表项、温度环境等控制平面信息。
用户8289326
2022/07/27
4040
局域网SDN硬核技术内幕 30 钩深致远 —— 意图驱动与自动驾驶(上)
[RoCE]拥塞控制机制(ECN, QC-QCN)
1.网络拥塞问题 在网络交换机中,当入口流量大于出口流量的带宽时会发生网络拥塞。典型的例子是多个发送方同时向同一个目的地发送网络数据。交换机的缓存可以处理暂时的拥塞,但是当拥塞太久时,交换机的缓存就会过载。当交换机缓存过载时,下一个收到的新的数据包就会被丢弃。丢包会降低应用性能,因为重传和传输协议的复杂性会带来延迟。无损网络实现了流控制机制,它可以在缓存溢出前暂停入口流量,阻止了丢包现象。然而,流控制本身会造成拥塞传播的问题。 为了理解拥塞传播问题,考虑下面的图示。假设交换机1上的端口A到E都在向端口G发送
昊楠Hacking
2018/03/30
6.8K0
星融元:浅谈RDMA与低时延网络
网络的发展好像在各方面都是滞后于计算和存储,时延方面也不例外,网络传输时延高,逐渐成为了数据中心高性能的瓶颈。
星融元Asterfusion
2023/04/06
1.4K0
星融元:浅谈RDMA与低时延网络
局域网SDN硬核技术内幕 28 广泛撒网与重点培养 —— 网络可视化 (下)
前几天,我们看到,RoCE提出的无损以太网需求催生了PFC和ECN等以太网流控技术的普及,但光纤劣化、微突发、错误配置以及大象流踩踏老鼠流等现象,令网络丢包、延时增大以及抖动等造成体验劣化的现象防不胜防。
用户8289326
2022/07/27
5450
局域网SDN硬核技术内幕 28 广泛撒网与重点培养 —— 网络可视化 (下)
局域网SDN硬核技术内幕 27 精准诊断 —— 网络可视化 (中)
昨天,我们提到,数据中心运行的大规模计算与存储业务广泛应用RDMA作为跨节点内存访问的框架,而微突发、光纤劣化以及缓存管理错误等原因造成的以太网的少量丢包会造成RDMA性能的显著下降。
用户8289326
2022/07/27
3950
局域网SDN硬核技术内幕 27 精准诊断 —— 网络可视化 (中)
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制_动态连接等详解-一文入门RDMA和RoCE有损无损
随着互联网, 人工智能等兴起, 跨机通信对带宽和时延都提出了更高的要求, RDMA技术也不断迭代演进, 如: RoCE(RDMA融合以太网)协议, 从RoCEv1 -> RoCEv2, 以及IB协议, Mellanox的RDMA网卡cx4, cx5, cx6/cx6DX, cx7等, 本文主要基于CX5和CX6DX对RoCE技术进行简介, 一文入门RDMA和RoCE有损及无损关键技术
晓兵
2023/07/23
9.9K9
Nvidia_Mellanox_CX5和6DX系列网卡_RDMA_RoCE_无损和有损_DCQCN拥塞控制_动态连接等详解-一文入门RDMA和RoCE有损无损
一文读懂RoCE
RoCE全称RDMA over Converged Ethernet,从字面来看,也就是基于融合以太网的RDMA,所以在了解RoCE之前还得先认识下RDMA这项技术。 什么是RDMA? RDMA(Remote Direct Memory Access),全称远端内存直接访问技术,可以在极少占用CPU的情况下,把数据从一台服务器传输到另一台服务器,或从存储到服务器。 传统应用要发送数据,‍‍需要通过OS封装TCP/IP,‍‍然后依次经过主缓存、网卡缓存,‍‍再发出去。‍‍这样会导致两个限制。 ‍‍限制一:T
SDNLAB
2022/08/26
31.3K0
一文读懂RoCE
功能应用:RoCE与IB协议栈的选择策略(二)
在上一篇中,我们对RoCE、IB的协议栈层级进行了详细的对比分析,二者本质没有不同,但基于实际应用的考量,RoCE在开放性、成本方面更胜一筹。本文我们将继续分析RoCE和IB在拥塞控制、QoS、ECMP三个关键功能中的性能表现。
星融元Asterfusion
2024/11/07
3650
功能应用:RoCE与IB协议栈的选择策略(二)
大模型与AI底层技术揭秘 (10) 工业化武装的巨龙 (下)
在前几期,我们提到英伟达为了将GPU Direct拉远到机箱外,收购了芯片厂商Mellanox。那么,Mellanox拥有什么样的黑科技,才能够加入NVidia引领的高性能计算战团呢?
用户8289326
2023/11/20
3200
大模型与AI底层技术揭秘 (10) 工业化武装的巨龙 (下)
解析流控技术演进
随着数据中心网络技术和带宽不断发展,流控技术在网络中发挥着越来越重要的作用,但一直未曾有过很大变革。直到无损网络的出现,流控技术出现新突破。作为以太网的基本功能之一,流控技术用于可以防止拥塞的情况下出现丢包,还能配合发送端合理的调整发送速率,从整体上保障网络带宽的最高效率。
SDNLAB
2019/12/19
3K0
解析流控技术演进
以太网存储网络的拥塞管理连载(六)
本文节选自《DetectingTroubleshooting, and PreventingCongestion in Storage Networks 存储网络中拥塞处理》
Linux阅码场
2024/03/07
4010
以太网存储网络的拥塞管理连载(六)
局域网SDN硬核技术内幕 29 探赜索隐 —— gRPC Telemetry
前几天,我们介绍的RoCE技术和INT技术,让诊断系统钻进交换机里面去洞察网络体验劣化的瓶颈,是不是很酷炫?
用户8289326
2022/07/27
6700
局域网SDN硬核技术内幕 29 探赜索隐 —— gRPC Telemetry
未来已来,腾讯AI计算网络
"鹅厂网事"由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。 毫无疑问,人工智能是近年IT界最火的研究方向,特别在2016年Alpha GO这一标志性事件后,国内外科技巨头持续加大对人工智能的投入。目前,人工智能的主要方向如图像识别、语音识别等等都是通过机器学习的方式,借助强大的计算平台对海量数据进行分析、计算,随着数据量的增长,单机
鹅厂网事
2018/02/06
2.6K0
未来已来,腾讯AI计算网络
大厂资深专家介绍数据中心智能无损网络
原文发表于知乎:https://zhuanlan.zhihu.com/p/651830645
通信行业搬砖工
2023/12/04
1.1K0
大厂资深专家介绍数据中心智能无损网络
层级剖析:RoCE与IB协议栈的选择策略(一)
在 AI 算力建设中, RDMA 技术是支持高吞吐、低延迟网络通信的关键。目前,RDMA技术主要通过两种方案实现:Infiniband和RoCE(基于RDMA的以太网技术,以下简称为RoCE)。
星融元Asterfusion
2024/11/07
1.5K0
层级剖析:RoCE与IB协议栈的选择策略(一)
Easy RoCE:在SONiC交换机上一键启用无损以太网
RDMA(远程直接内存访问)技术是一种绕过 CPU 或操作系统,在计算机之间直接传输内存数据的技术。它释放了内存带宽和 CPU,使节点之间的通信具有更低的延迟和更高的吞吐量。目前,RDMA 技术已广泛应用于高性能计算、人工智能工作负载、存储和许多其他场景。
星融元Asterfusion
2024/05/31
4020
Easy RoCE:在SONiC交换机上一键启用无损以太网
网络设备硬核技术内幕 交换机篇 3 从御剑术到冲灵剑法
上回提到,正如李逍遥学会了御剑术,可以同时操控数十甚至几百柄剑那样,交换机可以同时处理数十到数百个以太网接口的数据包转发。
用户8289326
2022/07/27
4790
网络设备硬核技术内幕 交换机篇 3  从御剑术到冲灵剑法
以太网存储网络的拥塞管理连载(四)
本文节选自《DetectingTroubleshooting, and PreventingCongestion in Storage Networks 存储网络中拥塞处理》
Linux阅码场
2024/02/29
4400
以太网存储网络的拥塞管理连载(四)
推荐阅读
相关推荐
局域网SDN硬核技术内幕 26 精准诊断 —— 网络可视化 (上)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档