97国际

不必推倒重修,老终端也能焕新 丨 97国际教育云电脑老客户升级分享会
预约直播
融合光加速,慧联全场景 丨 97国际极简以太彩光5.0 界说万兆园区全场景新范式
预约直播
97国际·(中国区)集团官方网站
产品
< 返回主菜单
产品中心
产品
解决计划
< 返回主菜单
解决计划中心
行业
合作伙伴
返回主菜单
选择区域/语言
97国际·(中国区)集团官方网站

您订阅的产品有更新,请实时查阅

审查详情
97国际·(中国区)集团官方网站 97国际·(中国区)集团官方网站

浅析RDMA网络下MMU水线设置

【MMU水线】本文以RDMA网络作为切入点,团结现实安排履历,剖析MMU水线设置的一些思绪。

  • 97国际·(中国区)集团官方网站

    宣布时间:2018-06-29

  • 97国际·(中国区)集团官方网站

    点击量:

  • 97国际·(中国区)集团官方网站

    点赞:

分享至

97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站

我想谈论

RDMA(远程直接数据存�。�,以其对营业带来的高性能、低延时优势,在数据中心尤其是AI、HPC、大数据等场景获得了普遍应用。为包管RDMA的稳固运行,基础网络需要提供端到端无损零丢包及超低延时的能力,这也催生了PFC、ECN等网络流控手艺在RDMA网络中的安排。在RDMA网络中,怎样合理设置MMU(缓存管理单位)水线是确保RDMA网络无损和低延时的要害。本文将以RDMA网络作为切入点,团结现实安排履历,剖析MMU水线设置的一些思绪。

 

什么是RDMA ?

RDMA(Remote Direct Memory Access),通俗的说就是远程的DMA手艺,是为相识决网络传输中服务器端数据处置惩罚的延迟而爆发的。

 

97国际·(中国区)集团官方网站

      ▲ 古板模式与RDMA模式事情机制比照

 

如上图,在古板模式下,两台服务器上的应用之间传输数据,历程是这样的:

  • 首先要把数据从应用缓存拷贝到Kernel中的TCP协议栈缓存 ;
  • 然后再拷贝到驱动层 ;
  • 最后拷贝到网卡缓存。

多次内存拷贝需要CPU多次介入,导致处置惩罚延时大,抵达数十微秒。同时整个历程中CPU过多加入,大宗消耗CPU性能,影响正常的数据盘算。

在RDMA 模式下,应用数据可以绕过Kernel协议栈直接向网卡写数据,带来的显著利益有:

  • 处置惩罚延时由数十微秒降低到1微秒内 ;
  • 整个历程险些不需要CPU加入,节约性能 ;
  • 传输带宽更高。

 

RDMA关于网络的诉求

RDMA在高性能盘算、大数据剖析、IO高并发等场景中应用越来越普遍。诸如iSICI, SAN, Ceph, MPI, Hadoop, Spark, Tensorflow等应用软件都最先安排RDMA手艺。而关于支持端到端传输的基础网络而言,低延时(微秒级)、无损(lossless)则是最主要的指标。

低延时

网络转发延时主要爆发在装备节点(这里忽略了光电传输延时和数据串行延时),装备转发延时包括以下三部分:

  • 存储转发延时:芯片转发流水线处置惩罚延迟,每个hop会爆发1微秒左右的芯片处置惩罚延时(业界也有实验使用cut-through模式,单跳延迟可以降低到0.3微秒左右) ;
  • Buffer缓存延时:当网络拥塞时,报文会被缓存起来期待转发。这时Buffer越大,缓存报文的时间就越长,爆发的时延也会更高。关于RDMA网络,Buffer并不是越大越好,需要合理选择 ;
  • 重传延时:在RDMA网络里会有其他手艺确保不丢包,这部分不做剖析。

 

无损

RDMA在无损状态下可以满速率传输,而一旦爆发丢包重传,性能会急剧下降。在古板网络模式下,要想实现不丢包最主要的手段就是依赖大缓存,但如前文所说,这又与低延时矛盾了。因此,在RDMA网络情形中,需要实现的是较小Buffer下的不丢包。

在这个限制条件下,RDMA实现无损主要是依赖基于PFC和ECN的网络流控手艺。

• RDMA无损网络的要害手艺:PFC

 

PFC(Priority-based Flow Control),基于优先级的流量控制。是一种基于行列的反压机制,通过发送Pause帧通知上游装备暂停发包来避免缓存溢出丢包。

 

97国际·(中国区)集团官方网站

▲ PFC事情机制示意图

 

PFC允许单独暂停和重启其中恣意一条虚拟通道,同时不影响其它虚拟通道的流量。如上图所示,当行列7的Buffer消耗抵达设置的PFC流控水线,会触发PFC的反压: 

  • 本端交流机触发发出PFC Pause帧,并反向发送给上游装备 ;
  • 收到Pause帧的上游装备会暂停该行列报文的发送,同时将报文缓保存Buffer中 ;
  • 若是上游装备的Buffer也抵达阈值,会继续触发Pause帧向上游反压 ;
  • 最终通过降低该优先级行列的发送速率来阻止数据丢包 ;
  • 当Buffer占用降低到恢复水线时,会发送PFC扫除报文。

 

• RDMA无损网络的要害手艺:ECN

ECN(Explicit Congestion Notification):显示拥塞通知。ECN是一个很是古老的手艺,只是之前使用的并不普遍,该协议机制作用于主机与主机之间。

ECN是报文在网络装备出口(Egress port)爆发拥塞并触发ECN水线时,使用IP报文头的ECN字段标记数据包,批注该报文遇到网络拥塞。一旦吸收服务器发明报文的ECN被标记,连忙爆发CNP(拥塞通知报文),并将它发送给源端服务器,CNP新闻里包括了导致拥塞的Flow信息。源端服务器收到后,通过降低响应流发送速率,缓解网络装备拥塞,从而阻止爆发丢包。

通过之前的形貌可以相识到,PFC和ECN之以是可以实现网络端到端的零丢包,是通过设置差别的水线来实现的。对这些水线的合理设置,就是针对交流机MMU的细腻化管理,通俗讲就是对交流机Buffer的管理。接下来我们详细剖析下PFC的水线设置。

 

PFC水线设置

交流芯片都有牢靠的Pipeline(转发流水线), Buffer管理处于入芯片流程和出芯片流程的中心位置。报文处于在这个位置上时,已经知道了该报文的入口和出口信息,因此逻辑上就可以分成入偏向和出偏向划分对缓存举行管理。

PFC水线是基于入偏向缓存管理举行触发的。芯片在入口偏向提供了8个行列,我们可以将差别优先级的营业报文映射到差别的行列上,从而实现对差别优先级的报文提供差别的Buffer分派计划。

97国际·(中国区)集团官方网站

▲ 行列Buffer的组成部分

 

详细到每个行列,其Buffer分派凭证使用场景设计为3部分:包管缓存,共享缓存,Headroom。

  • 包管缓存:每个行列的专用缓存,确保每个行列均有一定缓存以包管基本转发 ;
  • 共享缓存:流量突发时可以申请使用的缓存,所有行列共享 ;
  • Headroom:在触发PFC水线后,到服务器响应降速前,还可以继续使用的缓存。

 

• 包管缓存设置

包管缓存是一个静态水线(牢靠的、独享的)。静态水线的使用率很是低,资源消耗却很是大。我们在现实安排时建议不分派包管缓存,以镌汰这部分的缓存消耗。这样,入偏向报文直接使用共享缓存空间,可提高Buffer的使用率。

 

• 共享缓存设置

关于共享缓存的设置,需要接纳更为无邪的动态水线。动态水线能凭证目今空闲的Buffer资源,以及目今行列已使用的Buffer资源数目来决议能否继续申请到资源。由于系统中空闲共享Buffer资源与已使用的Buffer资源都是时刻转变的,因此阈值也处于一直变换中。相关于静态水线,动态水线能更无邪、有用的使用Buffer及阻止造成不须要的铺张。

97国际网络交流机支持基于动态的方法举行Buffer资源的分派,对共享缓存的设置分为11档,动态水线alpha值=行列可申请缓存量/剩余共享缓存量。行列的α值越大,其在共享缓存中可使用的百分数占比也就越高。

 

97国际·(中国区)集团官方网站

▲共享水线α值与可使用率对应关系

 

我们无妨剖析一下:

行列的α值设置越小,其最大可申请的共享缓存占比就越小。当端口拥塞时就会越早触发PFC流控,PFC流控生效后行列降速,可以很好地确保网络不丢包。

但从性能的角度看,过早触发PFC流控,会导致RDMA网络吞吐下降。因此我们在MMU水线设置时需要选取一个平衡值。

PFC水线究竟设置几多,是一个很是重大的问题,理论上不保存一个牢靠的值。现实安排时,需要我们详细剖析营业模子,并搭建测试情形举行水线调优,找到匹配营业的最合适的水线。

 

• Headroom设置

Headroom:顾名思义,就是头部空间的意思,是在PFC触发后,到PFC真正生效这一段时间,用来缓存行列报文的。Headroom设置多大合适 ?这里与4个因素有关:

  • PG检测到触发XOFF水线,到结构PFC帧发出的时间(这里主要跟设置的检测精度以及平均行列算法相关,牢靠设置是牢靠值)
  • 上游收到PFC Pause帧,到阻止行列转发的时间(主要跟芯片处置惩罚性能有关系,交流芯片现实上是牢靠值)
  • PFC Pause帧在链路上的传输时间(跟AOC线缆/光纤距离成正比)
  • 行列暂停发送后链路中报文的传输时间(跟AOC线缆/光纤距离成正比)

 

因此Headroom所需要的缓存巨细,我们可以凭证组网的架构,以及流量模子测算得出。以100米光纤线 + 100G光� ?�,缓存64字节小包,盘算出所需的Headroom巨细是408个cell(cell是缓存管理的最小单位,一个报文会占用1个或者多个cell),现实测试数据也吻合。虽然,思量一定的冗余性,Headroom设置建议比理论值稍大。

 

RDMA网络实践

97国际网络在研发中心搭建了模拟真实营业的RDMA网络,架构如下:

97国际·(中国区)集团官方网站

▲97国际网络RDMA组网架构

 

  • 组网模子:大焦点三级组网架构,焦点接纳高密100G线卡 ;
  • POD内:Spine接纳提供64个100G接口的 BOX装备,Leaf接纳提供48个25G接口+8个100G接口的BOX装备 ;
  • Leaf作为服务器网关,支持和服务器间基于PFC流控(识别报文的DSCP并举行PG映射),同时支持拥塞ECN标记 ;
  • RDMA仅运行于POD内部,不保存跨POD的RDMA流量,因此焦点无需感知RDMA流量 ;
  • 为了阻止拥塞丢包,需要在Leaf与Spine之间安排PFC流控手艺,同时Spine装备也需要支持基于拥塞的ECN标记 ;
  • Leaf和Spine装备支持PFC流控帧统计、ECN标记统计、拥塞丢包统计、基于行列的拥塞统计等,并支持将统计信息通过gRPC同步到远端gRPC服务器。

 

写在最后

97国际网络在研发中心搭建了模拟真实营业的浸泡组网情形(包括RG-S6510、RG-S6520、RG-N18000-X系列25G/100G网络装备、大型测试仪、25G服务器)。在叠加了多种营业模子,并举行了长时间浸泡测试后,我们关于RDMA网络的MMU水线设置已有一些推荐的履历值。别的,在RDMA网络中,还保存一些安排难点,好比多级网络中 PFC风暴、死锁问题、ECN水线设计重大问题等。关于这些问题,97国际网络也有一些研究和积累,期待与各人配合探讨。

 

本期作者:颜晓波

97国际网络互联网系统部行业咨询

97国际·(中国区)集团官方网站

 

往期精彩回首  

●【第一期】浅谈物联网手艺之通讯协议的纷争

●【第二期】怎样通过网络遥测(Network Telemetry)手艺实现细腻化网络运维 ?

●【第三期】泛论数据中心网络运维自动化

●【第四期】基于Rogue AP反制的无线清静手艺探讨

●【第五期】流量可视化之ERSPAN的宿世今生

●【第六期】怎样实现数据中心网络架构“去”堆叠

●【第七期】运维可视化之INT功效详解

 

相关推荐:

• 如作甚RDMA构建无损网络

更多手艺博文

任何需要,请联系97国际

97国际·(中国区)集团官方网站

返回顶部

收起
97国际·(中国区)集团官方网站 文档AI助手
97国际·(中国区)集团官方网站 文档评价
资料内容是否对您有资助 ?
您对目今页面的知足度怎样 ?
不咋滴
很是好
您知足的缘故原由是(多�。� ?
您对文档是否尚有其它的问题或建议 ?
为尽快解决问题,请您留下联系方法以便回复
邮箱
手机号
谢谢您的反�。�
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
97国际·(中国区)集团官方网站
请选择服务项目
关闭咨询页
售前咨询 售前咨询
售前咨询
售后服务 售后服务
售后服务
意见反响 意见反响
意见反响
更多联系方法
网站地图