一种数据处理方法以及相关设备与流程

文档序号:34266861发布日期:2023-05-26 18:30阅读:81来源:国知局
一种数据处理方法以及相关设备

本技术涉及计算机领域,尤其涉及一种数据处理方法以及相关设备。


背景技术:

1、近年来,无损数据中心网络技术成为业界关注的重点。其中,远程直接内存访问(remote direct memory access,rdma)是一项允许网络中的计算机在不经过处理器、缓存和操作系统前提下进行数据交互的技术,具有零拷贝(zero-copy)、内核旁路(kernelbypass)、无需中央处理器(central processing unit,cpu)干预(no cpu involvement)等特点。不仅节省了大量cpu资源,同样也提高了系统吞吐量、降低了网络通信延迟。一般来说,端到端的拥塞控制无法有效地作用到这种突发的流量上。为了保证rdma的无损环境,当前数据中心的许多拥塞控制算法都会采用pfc机制。基于优先级的流量控制(priority-based flow control,pfc),pfc是一种l2层基于802.qbb标准的以太网协议,它支持在网络中选择不同类型的流量的优先级,是防止在拥塞情况下发生丢包的机理。pfc机制主要作用于交换机(或者其他网络设备,例如路由器等)的入端口,根据入端口的队列长度(或者称之为入口队列的长度)进行控制,具体手段为通过发送指示信息(例如pause帧),来通知上游端口停止数据的发送。

2、以网络设备为交换机为例,交换机内多个端口共享缓存分配策略有四种:完全共享、完全平分、静态阈值和动态阈值(dynamic threshold,dt)。目前流行的方法主要是动态阈值策略。

3、dt策略提高了传统策略的自适应性,但是其不能解决流量突发的问题。dt策略的问题在于,同一个网络设备上每个端口的pfc阈值都配置为相同(也就是说,交换机各个入端口的pct阈值是统一变化的)。当发生流量突发时,剩余缓存减少,所有端口的pfc阈值会同步降低,因此,不论某个端口是否有突发流量,它都有很大的可能会触发pause帧。该pause帧会阻塞上游端口的报文发送,而上游端口可能还有其它的业务流量。这些业务可能与产生流量突发的端口并没有直接的关系,但是这些业务的传输性能会受到无辜损害,从而导致传输效率低下。


技术实现思路

1、本技术实施例提供了一种数据处理方法,在识别出第二入端口不是造成目标出端口出现阻塞的主要原因时,会将第二入端口对应的pfc阈值配置为大于第一入端口对应的pfc阈值。例如,可以提高第二入端口对应的pfc阈值、或者保持第二入端口对应的pfc阈值不变、或者将第二入端口对应的pfc阈值的降低幅度小于第一入端口对应的pfc阈值的降低幅度。进而,作为不是造成目标出端口出现阻塞的主要原因的第二入端口,不会很容易触发向上游网络设备发送指示信息(例如pause帧),进而不会影响第二入端口上针对于除了目标出端口之外的其他出端口的报文传输,提高了系统的传输效率。

2、第一方面,本技术实施例提供了一种数据处理方法,所述方法应用于网络设备,所述网络设备包括第一入端口、第二入端口以及目标出端口;所述方法包括:分别获取第一入端口和所述第二入端口的端口状态信息;所述端口状态信息与对应的入端口所接收到的针对于所述目标出端口的报文流量有关;基于所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,且所述第二入端口接收到的报文流量的增大幅度小于所述阈值,配置所述第一入端口的第一pfc阈值,以及配置所述第二入端口的第二pfc阈值;其中,所述第一pfc阈值小于所述第二pfc阈值。

3、应理解,所述第二入端口接收到的报文流量的增大幅度小于所述阈值中的“阈值”,并不限定为一定和所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值中的“阈值”是同一个数值,例如,所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于第一阈值,且所述第二入端口接收到的报文流量的增大幅度小于第二阈值,第二阈值可以小于或等于第一阈值。

4、在一种可能的实现中,若所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,且所述第二入端口接收到的报文流量的增大幅度小于所述阈值,则可以认为第一入端口接收到了针对于目标出端口的突发流量,而第二入端口未接收到针对于目标出端口的突发流量,在这种情况下,可以认为对第一入端口是造成目标出端口出现阻塞的主要原因,而第二入端口不是造成目标出端口出现阻塞的主要原因。在现有的实现中,会将第一入端口和第二入端口对应的pfc阈值同等程度的减小,在这种情况下,即使不是造成目标出端口出现阻塞的主要原因,第二入端口对应的pfc阈值也和第一入端口对应的pfc阈值进行同等程度的减小,进而会影响第二入端口接收向其他出端口传递的报文,大大降低了报文的传输效率。

5、应理解,本技术实施例中的阈值,可以为预设的值,例如可以为原始流量的百分之10。

6、本技术实施例中,在识别出第二入端口不是造成目标出端口出现阻塞的主要原因时,会将第二入端口对应的pfc阈值配置为大于第一入端口对应的pfc阈值。例如,可以提高第二入端口对应的pfc阈值、或者保持第二入端口对应的pfc阈值不变、或者将第二入端口对应的pfc阈值的降低幅度小于第一入端口对应的pfc阈值的降低幅度。进而,作为不是造成目标出端口出现阻塞的主要原因的第二入端口,不会很容易触发向上游网络设备发送指示信息(例如pause帧),进而不会影响第二入端口上针对于除了目标出端口之外的其他出端口的报文传输,提高了系统的传输效率。

7、在一种可能的实现中,所述第一入端口和所述第二入端口共享所述网络设备的缓存资源。

8、在一种可能的实现中,所述第一入端口对应于第一入口队列,所述交换机用于在所述第一入口队列中的报文数量大于所述第一pfc阈值时,向所述第一入端口的上游端口发送第一指示信息,所述第一指示信息用于指示停止向所述第一入端口发送报文;

9、在一种可能的实现中,所述第二入端口对应于第二入口队列,所述交换机用于在所述第二入口队列中的报文数量大于所述第二pfc阈值时,向所述第二入端口的上游端口发送第二指示信息,所述第二指示信息用于指示停止向所述第二入端口发送报文。

10、示例性的,该第一指示信息和第二指示信息可以为pfc帧,该pfc帧用于指示上游网络设备的端口暂时停止向本网络设备的端口发送报文。例如该pfc帧可以为pfc pause帧,用于通知上游设备暂时停止向本网络设备的端口发送报文。需要说明的是,在此仅是为了说明pfc帧的功能,示例的将其称为pfc pause帧进行说明。

11、在一种可能的实现中,所述端口状态信息包括所述第一入口队列的第一报文出队速率以及所述第二入口队列的第二报文出队速率。报文出队速率表示在一个周期内从入端口离开的报文的数量,在报文出队速率大于出队速率阈值时,可以认为第一入端口上所接收到的针对于目标出端口的报文较小(因为,目标出端口此时已经处于阻塞状态,之所以第一入端口的报文出队速率仍然很大,是因为第一入端口还接收到了很多不对应(不需要传输)到目标出端口的报文)。在报文出队速率小于出队速率阈值时,可以认为第一入端口上所接收到的针对于目标出端口的报文较多(因为,目标出端口此时已经处于阻塞状态,之所以第一入端口的报文出队速率很小,是因为第一入端口接收到了很多对应(需要传输)到目标出端口的报文)。

12、示例性的,出队速率阈值可以和网络设备本身的性能有关,出队速率阈值可以为网络设备的入端口正常工作时(未出现阻塞状态时,入端口的队列的出队速率),例如可以是未出现阻塞状态时,入端口的队列的历史平均出队速率。

13、也就是说,在所述端口状态信息指示所述第一报文出队速率小于出队速率阈值的情况下,可以认为所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值。类似的,在所述端口状态信息指示所述第二报文出队速率大于所述出队速率阈值的情况下,可以认为所述第二入端口接收到的报文流量的增大幅度小于所述阈值。

14、在一种可能的实现中,在确定出第一入端口为造成目标出端口出现阻塞的主要原因时,可以将所述第一入端口的pfc阈值由第三pfc阈值配置为所述第一pfc阈值,所述第一pfc阈值小于所述第三pfc阈值。

15、在一种可能的实现中,可以通过如下公式配置第一pfc阈值:

16、t(t)=α·(b-∑iqi(t));

17、其中,b可以表示交换机缓存大小,qi(t)表示第i个端口队列长度,α是调节因子,例如a=2。t(t)表示t时刻端口最大可占用的缓存大小。

18、在一种可能的实现中,在确定出第二入端口不为造成目标出端口出现阻塞的主要原因时,可以将所述第二入端口的pfc阈值由第四pfc阈值配置为所述第二pfc阈值;其中,所述第二pfc阈值大于或等于所述第四pfc阈值,或者,所述第二pfc阈值小于所述第四pfc阈值,所述第二pfc阈值相比所述第四pfc阈值的减小幅度小于所述第一pfc阈值相比所述第三pfc阈值的减小幅度。

19、在一种可能的实现中,可以通过如下方式配置第二pfc阈值:选择α/(α+1)b到b之间的某个数值。

20、在一种可能的实现中,所述第三pfc阈值和所述第四pfc阈值相等。也就是说,在未基于本技术实施例中的阈值调节方式进行pfc阈值的配置时,各个端口对应的pfc阈值是相同的。

21、第二方面,本技术提供了一种数据处理装置,所述装置应用于网络设备,所述网络设备包括第一入端口、第二入端口以及目标出端口;所述装置包括:

22、获取模块,用于分别获取第一入端口和所述第二入端口的端口状态信息;所述端口状态信息与对应的入端口所接收到的针对于所述目标出端口的报文流量有关;

23、阈值配置模块,用于基于所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,且所述第二入端口接收到的报文流量的增大幅度小于所述阈值,配置所述第一入端口的第一pfc阈值,以及配置所述第二入端口的第二pfc阈值;其中,所述第一pfc阈值小于所述第二pfc阈值。

24、本技术实施例中,在识别出第二入端口不是造成目标出端口出现阻塞的主要原因时,会将第二入端口对应的pfc阈值配置为大于第一入端口对应的pfc阈值。例如,可以提高第二入端口对应的pfc阈值、或者保持第二入端口对应的pfc阈值不变、或者将第二入端口对应的pfc阈值的降低幅度小于第一入端口对应的pfc阈值的降低幅度。进而,作为不是造成目标出端口出现阻塞的主要原因的第二入端口,不会很容易触发向上游网络设备发送指示信息(例如pause帧),进而不会影响第二入端口上针对于除了目标出端口之外的其他出端口的报文传输,提高了系统的传输效率。

25、在一种可能的实现中,所述第一入端口和所述第二入端口共享所述网络设备的缓存资源。

26、在一种可能的实现中,所述第一入端口对应于第一入口队列,所述第二入端口对应于第二入口队列;

27、所述网络设备用于在所述第一入口队列中的报文数量大于所述第一pfc阈值时,向所述第一入端口的上游端口发送第一指示信息,所述第一指示信息用于指示停止向所述第一入端口发送报文;

28、所述网络设备用于在所述第二入口队列中的报文数量大于所述第二pfc阈值时,向所述第二入端口的上游端口发送第二指示信息,所述第二指示信息用于指示停止向所述第二入端口发送报文。

29、在一种可能的实现中,所述端口状态信息包括所述第一入口队列的第一报文出队速率以及所述第二入口队列的第二报文出队速率;

30、所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,包括:

31、所述端口状态信息指示所述第一报文出队速率小于出队速率阈值;

32、所述第二入端口接收到的报文流量的增大幅度小于所述阈值,包括:

33、所述端口状态信息指示所述第二报文出队速率大于所述出队速率阈值。

34、在一种可能的实现中,所述目标出端口对应于目标出口队列,所述目标出口队列处于拥塞状态。

35、在一种可能的实现中,所述阈值配置模块,具体用于:

36、将所述第一入端口的pfc阈值由第三pfc阈值配置为所述第一pfc阈值,所述第一pfc阈值小于所述第三pfc阈值。

37、在一种可能的实现中,所述阈值配置模块,具体用于:

38、将所述第二入端口的pfc阈值由第四pfc阈值配置为所述第二pfc阈值;其中,所述第二pfc阈值大于或等于所述第四pfc阈值,或者,所述第二pfc阈值小于所述第四pfc阈值,所述第二pfc阈值相比所述第四pfc阈值的减小幅度小于所述第一pfc阈值相比所述第三pfc阈值的减小幅度。

39、在一种可能的实现中,所述第三pfc阈值和所述第四pfc阈值相等。

40、第三方面,本技术提供了一种网络设备,所述设备包括处理器、存储器和总线,其中:

41、所述处理器、所述存储器通过所述总线连接;

42、所述存储器,用于存放计算机程序或指令;

43、所述处理器,用于调用或执行所述存储器上所存放的程序或指令以实现上述第一方面及第一方面中任一项可能实现方式所述的步骤。

44、第四方面,本技术提供了一种计算机存储介质,包括计算机指令,当计算机指令在计算机上运行时,执行上述第一方面及第一方面中任一项可能实现方式所述的步骤。

45、第五方面,本技术提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,执行上述第一方面及第一方面中任一项可能实现方式所述的步骤。

46、第八方面,本技术提供了一种芯片系统,该芯片系统包括处理器,用于支持计算机实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据;或,信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存执行设备或训练设备必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。

47、本技术实施例提供了一种数据处理方法,所述方法应用于网络设备,所述网络设备包括第一入端口、第二入端口以及目标出端口;所述方法包括:分别获取第一入端口和所述第二入端口的端口状态信息;所述端口状态信息与对应的入端口所接收到的针对于所述目标出端口的报文流量有关;基于所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,且所述第二入端口接收到的报文流量的增大幅度小于所述阈值,配置所述第一入端口的第一pfc阈值,以及配置所述第二入端口的第二pfc阈值;其中,所述第一pfc阈值小于所述第二pfc阈值。

48、在一种可能的实现中,若所述端口状态信息指示所述第一入端口接收到的报文流量的增大幅度大于阈值,且所述第二入端口接收到的报文流量的增大幅度小于所述阈值,则可以认为第一入端口接收到了针对于目标出端口的突发流量,而第二入端口未接收到针对于目标出端口的突发流量,在这种情况下,可以认为对第一入端口是造成目标出端口出现阻塞的主要原因,而第二入端口不是造成目标出端口出现阻塞的主要原因。在现有的实现中,会将第一入端口和第二入端口对应的pfc阈值同等程度的减小,在这种情况下,即使不是造成目标出端口出现阻塞的主要原因,第二入端口对应的pfc阈值也和第一入端口对应的pfc阈值进行同等程度的减小,进而会影响第二入端口接收向其他出端口传递的报文,大大降低了报文的传输效率。

49、本技术实施例中,在识别出第二入端口不是造成目标出端口出现阻塞的主要原因时,会将第二入端口对应的pfc阈值配置为大于第一入端口对应的pfc阈值。例如,可以提高第二入端口对应的pfc阈值、或者保持第二入端口对应的pfc阈值不变、或者将第二入端口对应的pfc阈值的降低幅度小于第一入端口对应的pfc阈值的降低幅度。进而,作为不是造成目标出端口出现阻塞的主要原因的第二入端口,不会很容易触发向上游网络设备发送指示信息(例如pause帧),进而不会影响第二入端口上针对于除了目标出端口之外的其他出端口的报文传输,提高了系统的传输效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1