RDM网络MMU水线设置

发布时间:2021-09-22 阅读量:1493 来源: 我爱方案网 作者: 我爱方案网整理

RDMA(远程直接数据存取),以其对业务带来的高性能、低延时优势,在数据中心尤其是AI、HPC、大数据等场景得到了广泛应用。为保障RDMA的稳定运行,基础网络需要提供端到端无损零丢包及超低延时的能力,这也催生了PFC、ECN等网络流控技术在RDMA网络中的部署。在RDMA网络中,如何合理设置MMU(缓存管理单元)水线是保证RDMA网络无损和低延时的关键。本文将以RDMA网络作为切入点,结合实际部署经验,分析MMU水线设置的一些思路。什么是RDMA?RDMA(Remote Direct Memory Access),通俗的说就是远程的DMA技术,是为了解决网络传输中服务器端数据处理的延迟而产生的。


RDM网络MMU水线设置


▲ 传统模式与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的网络流控技术。PFCPFC(Priority-based Flow Control),基于优先级的流量控制。是一种基于队列的反压机制,通过发送Pause帧通知上游设备暂停发包来防止缓存溢出丢包。


RDM网络MMU水线设置


▲ PFC工作机制示意图

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

●本端交换机触发发出PFC Pause帧,并反向发送给上游设备;

●收到Pause帧的上游设备会暂停该队列报文的发送,同时将报文缓存在Buffer中;

●如果上游设备的Buffer也达到阈值,会继续触发Pause帧向上游反压;

●最终通过降低该优先级队列的发送速率来避免数据丢包;

●当Buffer占用降低到恢复水线时,会发送PFC解除报文。RDMA无损网络的关键技术:ECNECN(Explicit Congestion Notification):显示拥塞通知。


RDM网络MMU水线设置


▲ 队列Buffer的组成部分

具体到每个队列,其Buffer分配根据使用场景设计为3部分:保证缓存,共享缓存,Headroom。

● 保证缓存:每个队列的专用缓存,确保每个队列均有一定缓存以保证基本转发;

● 共享缓存:流量突发时可以申请使用的缓存,所有队列共享;



推荐阅读:

浅析mos管防反接保护电路安全措施

浅析LoRa与FSK调制方式的区别

工业生产现场数据采集原则

自动化生产线设备数据采集方法简介

浅谈工业互联网设备的建模工程


220x90
相关资讯
晶振启动时间影响因素解析与优化方向

​晶振的启动时间,通常是指其通电后进入稳定振荡状态所需的时间。若启动时间过长,可从以下五个常见的影响因素方面进行优化。

解析RTC实时时钟芯片的工作原理

RTC(Real-Time Clock,实时时钟)芯片作为一种独立的专用计时器件,其核心功能包括提供稳定的日历时钟、在主电源断电后持续运行、支持定时中断以及输出高精度时间戳,为各类嵌入式系统提供可靠的时间基准。

无源晶振与有源晶振在MCU应用中的关联逻辑与选型指南

时钟系统是保障微控制器(MCU)稳定运行的核心,而晶振作为关键时钟源,主要分为无源晶振与有源晶振两种类型。下面将围绕工作原理、硬件接口、电气特性及其在MCU中的适配场景等维度,系统解析这两类晶振与MCU之间的关联逻辑。

VC-OCXO压控恒温晶振管脚功能定义解析

恒温晶振(Oven Controlled Crystal Oscillator,简称OCXO)是高精度频率源的核心组件,选用切型更优(如SC切、AT切高精度型)、封装应力极小的高Q值晶片,通过恒温槽的超精密控温,让晶振始终工作在零温度系数点,几乎消除温度引发的频率漂移。

晶振倍频干扰解决方案:从PCB布局优化到源头抑制与电路整改

晶振倍频干扰(即高次谐波辐射)是电磁兼容(EMC)设计中非常棘手的问题,通常表现为基频25MHz的5次、7次谐波(如125MHz、175MHz等)处辐射超标。该问题源于晶振输出方波信号包含丰富的高次谐波成分,若PCB布局不当,晶振及其走线极易构成高效辐射天线,导致电磁干扰增强。