22312232_数据中心RoCE_和无损网络技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
正常情况下,当交换机的端口出现拥塞并触 发 XOFF 水线时,报文接收端,即下游设备将向 上游设备发送暂停(PAUSE)帧,上游设备接收 到暂停帧后停止发送报文。如果本地端口的包缓 存利用率超过阈值,则继续向上游发送暂停帧。 这样多级反馈,直到最上游的服务器在暂停帧中 指定 Pause Time 内暂停发送报文。
操作。所以在交换机中,提供监控 PFC 状态的功能, 防止这种 PFC 风暴导致的死锁情况。
上 述 缓 存 的 使 用, 有 一 些 最 佳 实 践: 因 为 PG-Guaranteed 是固定大小,所以是无法调节的。 PG-share,共享缓存,有一个动态缓存水线的技 术 (Dynamic Memory Thresholds)。该机制基于 可用的共享内存来调整丢弃阈值,从而保持公平 性,并对在共享缓冲区的高突发数据进行吸收。 动态阈值是可用缓冲存储器的线性函数,乘以比 例因子(α)。 其使用的条件是,如果当前缓存 使用 >α* 可用缓存,则丢包。例如:α = 4, A = 100, Q1 = 420, 因为 420 > 4*100,所以丢包。
finiband。它是为 RDMA 多生定制的网络技术, 赖于无损的物理传输,RoCE 也同样依赖于无损的
从硬件的角度进行全新的设计来保障数据传输的可 以太传输,
靠性。它提供了基于虚拟通道的点对点的创建的虚拟通道
由于 RoCEv1 的数据帧不带 IP 头部,只能
Copyright©博看网. All Rights Reserved.
中国电信业 CHINA TELECOMMUNICATIONS TRADE
77
科技时空 Technical Horizon
缓存大小被称为阈值 (threshold),也经常被 称作水线(water mark),当缓存区被使用完毕, 就称之为“缓存水位”到达了“某水线”。
PFC(Priority-based Flow Control,基 于优先级的流量控制)
当交换机端口的包缓存超过某个阈值 (shreshold) 时,就会向发送端发送 PFC 暂停报文
(pause frame),通知发送端停止发包或者降低速 率。当接收队列低于另一个阈值时,就会发送一 个 pause with zero duration,通知发送端恢复发 包。PFC 是链路层协议,只能针对端口进行流控, 颗粒度较粗。一旦发生拥塞,会导致整个端口停 止 ( 后文有极端案例介绍 )。这就不太合理。
CHINA TELECOMMUNICATIONS TRADE
Copyright©博看网. All Rights Reserved.
July | 07 2020 235
暂停 (PAUSE) 帧后停止发送报文,如果端口缓存 超过水线,则进入等待状态,直到缓存中的报文 被转发为止。
在异常情况下,如发生链路或设备故障时, 路 由 收 敛 时, 可 能 会 出 现 短 暂 环 路, 造 成 连 接 的交换机的缓存都达到水线,都同时向对端发送 PAUSE 帧,此时所有相关交换机都处于非转发状 态,整个区域的网络吞吐量将变为零。即使在无 环网络中形成短暂环路时,也可能发生死锁。虽 然经过修复,短暂环路会很快消失,但它们造成 的死锁不是暂时的,即便重启服务器中断流量, 死锁也不能自动恢复。
July | 07 2020 235
CEv1,将 GRH(Global Routing Header) 换成 UDP header +IP header。采用 UDP Port 4791 进行传输。由于 RoCE v2 报文在 3 层的可进行 路由,所以有时又会称为“Routable RoCE”或 简称“RRoCE”。
有个经典场景如下图所示:假设交换机 1 上 的端口 1 到 5 都在向端口 6 传输报文,端口 6 以 满负荷 100% 的性能来接收并转发报文。如果此 时级联交换机 2 的端口 2 也在向交换机 1 的端口 6 发送报文,速率是链路带宽的 20%。由于端口 6 的出口负载已经到达 100% 了,端口 2 将会被流 控制机制暂停发送报文。此时,端口 6 将会出现 拥塞。如果此时,交换机 2 上的端口 3,以 20% 的速度向交换机 1 上的端口 7 发送报文。端口 6, 这个拥塞端口并不处于交换机 2 端口 3 到交换机 1 端口 7 的传输路径上。这种情况下,也许会认为 端口 2 只使用了交换机间链路的 20% 带宽,剩余 的 80% 带宽对于端口 3 是可用的。然而实际上并 不是这样,因为来自端口 2 的流量最终触发流控 机制使得交换机间的链路处于暂停发送。
题而产生的一种新技术。RDMA 将数据直接从一 样就可以在标准的以太网环境 ( 交换机 ) 中使用
台电脑的内存传输到另一台电脑,无需双方操作系 RDMA,同时网卡要求是支持 iWARP 的网卡。
统的介入。这允许大带宽、低时延的网络通信,特 实际上 iWARP 可以在软件中实现,但这样就没有
别适合在大规模并行计算机环境中使用。通过网络 了 RDMA 的性能优势。
RoCE 技术可通过普通以太网交换机实现, 但服务器需要支持 RoCE 网卡。由于 RoCEv2 是 UDP 协议,虽然 UDP 协议效率比较高,但不像 TCP 协议那样有重传机制等来保障可靠的传输, 一旦出现丢包,必须依靠上层应用发现了再做重 传,这就会大大降低 RDMA 的传输效率。所以要 想发挥出 RoCE 真正的效果,必须要为 RDMA 搭 建一套不丢包的无损网络环境。
拷贝和中断处理等问题。RDMA(Remote Direct
互联网广域 RDMA 协议,也称作为 RDMA
Memory Access)即远程直接内存访问技术,就 over TCP 协议 , 是 IEEE/IETF 提出的 RDMA
是为了解决网络应用中服务器端数据处理的时延问 技术。它使用 TCP 协议来承载 RDMA 协议。这
PFC 死锁问题 PFC 是指当多台交换机之间因微环路等原因 同时出现拥塞 , 各自端口的缓存消耗超过水线, 而又相互等待对方释放缓存资源,从而导致所有 交换机都处于阻塞状态。正常情况下,当交换机 的端口出现拥塞并触发 XOFF 水线时,下游交换 机将发送暂停(PAUSE)帧,上游交换机接收到
78
中国电信业
为了解除死锁状态,一方面是要杜绝数据中 心里的环路产生,另一方面则可以通过网络设备 的死锁检测功能来实现。
可以检测到出现 X-OFF (PFC Pause) 报文状 态后的一段时间内,是否持续收到 X-Off( 或者未 收到 X-On), 如果持续到达阈值,则忽略收到的 PFC 帧,同时对缓存中的报文执行转发或丢弃的
常见芯片内部缓存机制 鉴于目前市场上绝大多数的交换机厂家都使 用博通 (Broadcom) 的交换芯片,特别是数据中心 的 ToR 交换机多采用博通 XGS 系列芯片,所以 市场上绝大部分交换机都有相同类似的 PFC 功能。 故下文将以博通 XGS 对 PFC 的处理为例,展开 介绍。博通 XGS 系列芯片都有一个缓存管理单 元 MMU(memory management unit),它设计了 PG-Guaranteed、PG-Share、Headroom 三种类 型的入端口缓存。根据芯片型号的不同,缓存大 小会有所不同。 Guaranteed: 固定缓存区,为端口提供最小 保证可用的缓存空间。Share:共享缓存区,当 最小保证空间不足时,为端口提供的共享缓存空 间。PG_Headroom:当最小保证空间与共享缓 存空间都不足时,再提供一些额外的缓存空间。 该缓存空间主要是用来存储,当流控帧发送出去 到对端停止发送报文的这段时间,可能会收到对 端发送过来的部分报文。GlobalHeadroom:如 果没有为每个端口单独分配 PGheadroom,则 用这部分缓存空间作为所有端口的 PGheadroom 共享空间。
将报文直接传入对方电脑的存储空间,将数据从一
RoCE(RDMA over Converged
个系统中快速地传送到另一个系统的存储空间,减 Ethernet)
少或者根除了在传输过程中需要多次数据报文复制
2010 年 4 月,IBTA 发布了 RoCEv1,此标
的操作,因而能释放内存带宽和 CPU 周期,极大 准是作为 Infiniband Architecture Specification
Headroom 是在 PFC 启动后,到 PFC 真正 工作的时间间隔之间的报文,用来缓存报文的。 Headroom 空间大小和以下 4 个因素相关:PG 检 测到 XOFF 用完,触发到了 XOFF 水线,到构造 PFC 帧发出的时间(固定值);上游收到下游传 上来的 PFC 暂停帧,到停止队列转发的时间(固 定值);PFC 暂停帧在链路上的传输时间(和线 缆 / 光纤距离成正比);队列暂停发送后链路中报 文的传输时间(和线缆 / 光纤距离成正比)
RDMA 在早期采用 InfiniBand 作为传输层,所以
RDMA 在传输层的发展沿革
必须使用 InfiniBan 交换机和 InfiniBan 网卡才可
实现。
传统的 TCP/IP 架构设计因为其诞生的时代限
iWarp(internet Wide Area RDMA
制,存在着网络传输时延较大、数据进程间多次 Protocol)
PFC 背压带来的网络拥塞问题 当交换机的入端口的总数据量大于出端口的 带宽时,会发生网络拥塞。典型的例子是多打一, 即多个发送方同时向同一个目的地发送网络数据。 交换机的缓存可以处理暂时的拥塞,但是当拥塞
太久时,就会超过交换机的缓存水线,而失去了 缓存功能,收到的新的报文就会被丢弃。丢包会 因为重传而降低了应用性能。无损网络采用 PFC 等流控机制,在到达缓存水线时暂停输入端口发 送流量,阻止了丢包现象。然而,流控本身也会 造成拥塞传播的问题。
科技时空 Technical Horizon
数据中心 RoCE 和无损网络技术
■ 刘军 韩骥 魏航 郭亮 ︱ 文
以太网一直是网络技术的主流,在不同的历史时期,它总是遇到一些竞争对手,如 ATM,但人 们还是在不断吸取其他技术的优点来完善它,继续使用它。在当前大规模互联网、人工智能等需要大 带宽、低时延传输的应用场景下,以太网通过 RoCE 技术成功地支持了 RDMA 应用在数据中心的大 规模采用,再次表现出新的活力,为行业所接受。本文将介绍 RoCE 技术和其相关网络技术与应用。
RoCE 可以运行在无损网络环境和有损网络 环境中,如果运行在有损网络环境中,称为弹性 RoCE(Resilient RoCE);如果运行在无损网络环 境中,称为无损 RoCE(Lossless RoCE)。
PFC 功能
目前大规模的无损以太网,在网络设备上至 少需要支持 2 大关键功能,PFC 和 ECN。
Infiniband
路由功能。以太类型为 0x8915。在 RoCE 中,
2000 年,国际组织 IBTA(InfiniBand Trade infiniband 的链路层协议头被去掉,用来表示地址
Association)发布了最早的 RDMA 技术,In- 的 GUID 被转换成以太网的 MAC。Infiniband 依
直接获取本应用的数据消息。InfiniBand 技术采用 在 2 层网络内通信。为了解决此问题,2014 年
了 RDMA 技术,可以进行远程节点直接读写访问。 IBTA 提出了 RoCE V2,RoCEv2 扩展了 Ro-
76
中国电信业
CHINA TELECOMMUNICATIONS TRADE
Copyright©博看网. All Rights Reserved.
地提升了系统性能。RDMA 在传输层 / 网络层的 的附加件发布的,所以又被称为 IBoE(InfiniBand
发展目前经历了 3 种技术,Infiniband,iWarp 和 over Ethernet)。RoCE 标准是在以太链路层之
RoCEv1/RoCEv2。
上用 IB 网络层代替了 TCP/IP 网络层,不支持 IP
相关文档
最新文档