首页
行业动态
网络学院
TCP/IP
RDMA
IGP & BGP
技术博客
AI & 大模型
云 & 计算
交换机
SDN
流量控制
拥塞控制
网络拓扑
接口 & 协议
存储
RDMA
网络仿真
运维&管理
顶级会议
SIGCOMM
NSDI
APNet
ICNP
其他论文
关于我们
当前位置:
首页
>
流量控制
> 正文
聊聊无损网络PFC配置限制和设置指导
流量控制
2022-10-02
2755
更新:2022-10-09 22:11:41
内容提要 > RoCE的流量需要保证运行在无损队列中,无损队列使用了PFC技术,能针对某一队列发送Pause帧,迫使上游停流。设备在进行报文转发时,根据报文的优先级进入对应映射关系的队列中进行调度转发。当某一优先级报文发送速率超过接收速率,导致接收方可用数据缓冲空间不足时,设备通过PFC PAUSE帧反馈给上一跳设备,上一跳设备收到PAUSE帧报文后停止发送本优先级报文,直到再收到PFC XON帧或经过一定的老化时间后才能恢复流量发送。本文讲解具体的PFC配置限制和设置指导。 交换芯片都有固定的Pipeline(转发流水线), Buffer管理处于入芯片流程和出芯片流程的中间位置。报文处于在这个位置上时,已经知道了该报文的入口和出口信息,因此逻辑上就可以分成入方向和出方向分别对缓存进行管理。 PFC水线是基于入方向缓存管理进行触发的。芯片在入口方向提供了8个队列,我们可以将不同优先级的业务报文映射到不同的队列上,从而实现对不同优先级的报文提供不同的Buffer分配方案。 # 缓存类型 ![image.png](https://ngdcn.com/zb_users/upload/2022/10/202210021664716767123970.png) 具体到每个队列,其Buffer分配根据使用场景设计为3部分:保证缓存,共享缓存,Headroom。
l
保证缓存:每个队列的专用缓存,确保每个队列均有一定缓存以保证基本转发;
l
共享缓存:流量突发时可以申请使用的缓存,所有队列共享;
l
Headroom:在触发PFC水线后,到服务器响应降速前,还可以继续使用的缓存。
# PFC门限设置类型 通过配置PFC缓存门限可以有效解决因缓冲空间不足和入流量队列数量过大,导致发送数据缓冲区尾丢弃等问题。 ![image.png](https://ngdcn.com/zb_users/upload/2022/10/202210021664716812639643.png)
PFC缓存门限示意图
PFC目前提供以下门限设置类型:
l
Headroom缓存门限(如上图中的headroom):Headroom存储空间中某802.1p优先级报文的最大使用cell资源。当达到使用的cell资源后,该接口会丢弃收到的报文。
l
反压帧触发门限(如上图中的XOFF):Shared存储空间中某802.1p优先级报文在该存储空间使用cell资源上限。达到上限后,会触发PFC功能发送PAUSE帧。反压帧触发门限又分为动态反压帧触发门限和静态反压帧触发门限:
l
动态反压帧触发门限:设置某802.1p优先级报文触发PFC PAUSE帧的可用cell资源的百分比。
l
静态反压帧触发门限:设置某802.1p优先级报文触发PFC PAUSE帧的可用cell资源门限为一个固定值。
l
反压帧停止门限与触发门限间的偏移量(如上图中的ingress-threshold-offset):当某802.1p优先级报文使用的cell资源减小了一个固定值时,停止发送PFC PAUSE帧,使对端设备恢复流量发送——从Xoff水线回落多少就可以发送Xon的偏移量\[需要保证报文到达之前不欠吞吐——buffer不会过早为0\]。
l
PFC预留门限(如上图中的reserved-buffer):Guaranteed存储空间中为某802.1p优先级报文预留的cell资源。Guaranteed缓存是一个静态水线(固定的、独享的)。
l
Headroom最大可用的cell资源:配置Headroom存储空间某缓存池cell资源的大小。
# Headroom缓存门限设置方法 如果想要进行更精确地控制,可以根据如下方法计算Headroom缓存门限值:计算从接收端发送PFC Pause帧到发送端收到PFC Pause帧并真正停止流量发送期间,在途流量大小。公式为:在途流量(bytes)=MTUR+MTUs+Response+2\*link\_delay。其中,
l
**MTUR**:队列触发反压帧门限到发送Pause帧之间,如果芯片有大包要发,这个大包的长度。由于这个大包可能来自其它任何队列,所以这个大包的长度应该等于设备允许的最大帧长度9216字节。
l
**MTUs**:如果上游设备在准备停止流量发送前,刚好开始发送上一个包,这个包的长度。由于只有PFC指定优先级的报文影响接收端的门限,所以MTUs的长度应该为PFC指定优先级报文的长度。
l
**Response**:上游设备收到PFC Pause帧到停止发送的反应时间产生的数据长度,该值固定为3840字节。
l
**link_delay**:线路来、回方向上缓冲的报文长度。
# 反压帧触发门限设置方法 对于共享缓存的设置,需要采用更为灵活的动态水线。动态水线能根据当前空闲的Buffer资源,以及当前队列已使用的Buffer资源数量来决定能否继续申请到资源。由于系统中空闲共享Buffer资源与已使用的Buffer资源都是时刻变化的,因此阈值也处于不断变动中。相对于静态水线,动态水线能更灵活、有效的利用Buffer及避免造成不必要的浪费。 PFC动态反压帧触发门限如下:
百分比(动态反压帧触发门限值)
Alpha值(芯片寄存器配置值,表示队列中cell个数和可用cell个数比值)
占可用总缓存的实际比例(alpha/(1+alpha)\*100)%
0
1/128
0.77
1
1/64
1.53
2~3
1/32
3.03
4~5
1/16
5.88
6~11
1/8
11.11
12~20
1/4
20.00
21~33
1/2
33.33
34~50
1
50.00
51~66
2
66.66
67~80
4
80.00
81~100
8
88.88
动态水线alpha值\=队列可申请缓存量/剩余共享缓存量。队列的α值越大,其在共享缓存中可使用的百分数占比也就越高。队列的α值设置越小,其最大可申请的共享缓存占比就越小。当端口拥塞时就会越早触发PFC流控,PFC流控生效后队列降速,可以很好地确保网络不丢包。 但从性能的角度看,过早触发PFC流控,会导致RDMA网络吞吐下降。因此我们在MMU水线设置时需要选取一个平衡值。 声明:本文素材来源于[网络](https://mp.weixin.qq.com/s?__biz=MzAxNzMzMjI0MQ==&mid=2247485834&idx=1&sn=0e6ad8aeb66e15da13dcace6d39356c2&chksm=9be668f4ac91e1e29c75a59512dc46f4181a9028086077e066d3046e245fb52f091e22374bba&token=1668235009&lang=zh_CN#rd "网络"),如有侵权,请联系网站删除(ngdcn_admin@163.com)。
PFC
5
赞
本文由 @NGDCN 于2022-10-02发布在 未来网络技术网,如有疑问,请联系我们(ngdcn_admin@163.com)。
下一篇:
RoCEv2中的PFC死锁问题分析
相关文章
RDMA网络中PFC与ECN的工作机制
RoCEv2中的PFC死锁问题分析
有话要说...
取消回复
流量控制
回复
5
赞
最近发表
【Sigcomm 2023】 Achelous:超大规模云网络中如何实现网络的可编程性、弹性和可靠性
【ICNP 2021】基于弱监督学习的ISP自助BGP异常检测
【ICNP 2021】怒赞!上海交大团队先于谷歌提出光电混合数据中心慢切换方案
【中科院】为什么chiplet需要标准?
一文读懂Dragonfly拓扑
Alibaba高性能通信库ACCL介绍
【微软】MSCCL Github仓库介绍
【英伟达】NCCL Github仓库介绍
【MPI】MPI组和通讯器介绍
【MPI】MPI Reduce和Allreduce函数
热门文章
【Infiniband手册】第9章:传输层
2022-10-27
【推荐】计算机网络顶级会议:快速检索目录
2022-11-07
一文读懂Dragonfly拓扑
2023-02-24
【Sigcomm 2023】 Achelous:超大规模云网络中如何实现网络的可编程性、弹性和可靠性
2023-10-06
Alibaba高性能通信库ACCL介绍
2023-02-21
【ICNP 2021】怒赞!上海交大团队先于谷歌提出光电混合数据中心慢切换方案
2023-05-10
【ICNP 2021】基于弱监督学习的ISP自助BGP异常检测
2023-05-10
【微软】MSCCL Github仓库介绍
2023-02-20
标签列表
PFC
(3)
流量控制
(6)
拥塞控制
(20)
网络拓扑
(8)
RDMA
(42)
TCP/IP
(21)
CXL
(5)
思科
(5)
交换机芯片
(5)
数据中心网络
(11)
英伟达
(5)
Infiniband手册
(8)
NSDI
(12)
SIGCOMM
(22)
华为
(5)
HPCC
(5)
交换机
(8)
数据中心
(4)
RoCE
(7)
存储
(11)
Memory Fabric
(4)
NS3
(8)
超算
(5)
MPI
(10)
集合通信库
(4)
有话要说...