CN112953842A - 处理rdma网络拥塞的方法、装置、设备及介质 - Google Patents
处理rdma网络拥塞的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112953842A CN112953842A CN202110470311.4A CN202110470311A CN112953842A CN 112953842 A CN112953842 A CN 112953842A CN 202110470311 A CN202110470311 A CN 202110470311A CN 112953842 A CN112953842 A CN 112953842A
- Authority
- CN
- China
- Prior art keywords
- congestion
- network
- network device
- network equipment
- cnp
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/31—Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种处理RDMA网络拥塞的方法,可用于金融领域,该方法包括:监控RDMA网络中所有网络设备上报的由接收节点产生的CNP拥塞通知报文的数量;根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备;在确定存在异常的网络设备的情况下,根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞;在异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对第一网络设备不作处理;在异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对第二网络设备针对业务流量的ECN水线进行调整,以减弱拥塞程度。还提供一种处理RDMA网络拥塞的装置、设备、介质以及计算机程序产品。
Description
技术领域
本公开涉及互联网技术领域和金融领域,更具体地,涉及一种处理远程直接内存读取(RDMA)网络拥塞的方法,还涉及一种处理RDMA网络拥塞的装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术
随着互联网的飞速发展,业务量日益增长,对海量数据的处理需求逐渐增加。目前远程直接内存读取(Remote Direct Memory Access,RDMA)技术相比于TCP/IP网络而言,具有更高的吞吐量和更低的延迟,利用RDMA技术来缓解数据处理延迟问题成为一种有潜力的方法。
数据中心存在着大量的分布式计算集群,大量并行程序的通信延迟,会极大影响整个计算过程的效率。为了解决数据中心的网络延迟,提高处理效率,RDMA技术成为未来数据中心网络的部署趋势。尤其是针对金融机构的数据中心而言,每时每刻需要处理海量的业务数据,如何避免数据中心的网络延迟,提高业务数据的处理效率成为金融机构提升服务质量的关键。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:目前RDMA在以太网的传输协议是RoCEv2,是基于无连接协议的UDP协议,相比于面向连接的TCP协议而言,UDP协议更加快速、占用CPU资源更少。然而由于RDMA不具备TCP协议的滑动窗口、确认应答等机制,一旦出现数据包的丢失,依靠上层应用检查到问题后再重新进行传输,会大大降低RDMA的传输效率。因此,RDMA网络对丢包的容忍度极低,十万分之一的丢包就会造成RDMA网络性能的大幅下降。尽管相关技术中为了解决RDMA网络的网络拥塞和保证无丢包传输,提出了基于优先级流量控制(Priority-Based Flow Control,PFC)的机制和显式拥塞通知(Explicit Congestion Notification,ECN)的机制,但是现有的PFC机制会出现PFC风暴以及死锁等问题,ECN机制存在反馈路径周期较长、网络拥塞的处理策略不够智能等问题。
发明内容
有鉴于此,本公开提供了一种处理RDMA网络拥塞的方法,还提供了一种处理RDMA网络拥塞的装置、电子设备、计算机可读存储介质以及计算机程序产品。
本公开的第一个方面提供了一种处理RDMA网络拥塞的方法。上述处理RDMA网络拥塞的方法包括:监控上述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量;根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备;在确定存在异常的网络设备的情况下,根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞;在上述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对上述第一网络设备不作处理;以及在上述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备针对上述业务流量的ECN水线进行调整,以减弱拥塞程度。
根据本公开的实施例,上述对上述第二网络设备针对上述业务流量的ECN水线进行调整,包括:确定上述第二网络设备上报的CNP拥塞通知报文的数量是否超过第一预设数量级;在上述第二网络设备上报的CNP拥塞通知报文的数量超过第一预设数量级的情况下,调小上述第二网络设备针对上述业务流量的ECN水线的上水线;以及在上述第二网络设备上报的CNP拥塞通知报文的数量小于第一预设数量级的情况下,调大上述第二网络设备针对上述业务流量的ECN水线的下水线。
根据本公开的实施例,上述根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备,包括:确定所有网络设备中是否存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值,T≥1,上述第一阈值用于表征正常状态下RDMA网络中接收节点产生的CNP拥塞通知报文的上限;在存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值的情况下,确定上述T个网络设备为异常的网络设备。
根据本公开的实施例,上述根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞,包括:在监控的预设周期内,确定上述异常的网络设备处于异常状态的持续时间是否超过预设值,上述预设值≤上述预设周期;在上述异常的网络设备处于异常状态的持续时间超过预设值的情况下,确定上述异常的网络设备所对应的业务流量为持续性拥塞;在上述异常的网络设备处于异常状态的持续时间小于预设值的情况下,确定上述异常的网络设备所对应的业务流量为瞬时性拥塞。
根据本公开的实施例,对上述第二网络设备的ECN水线进行调整之后还包括:根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果;以及根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
根据本公开的实施例,上述根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果,包括:确定上述第二网络设备上报的CNP拥塞通知报文的数量是否呈减小趋势;在上述第二网络设备上报的CNP拥塞通知报文的数量呈减小趋势的情况下,确定ECN水线调整后的拥塞程度减弱;在上述第二网络设备上报的CNP拥塞通知报文的数量呈非减小趋势的情况下,确定ECN水线调整后的拥塞程度未改善。
根据本公开的实施例,上述网络设备为交换机,上述RDMA网络用于数据中心进行业务处理。
本公开的第二个方面提供了一种处理RDMA网络拥塞的装置。上述装置包括:监控模块、异常确定模块、拥塞状态确定模块以及拥塞处理模块。上述监控模块用于监控上述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量。上述异常确定模块用于根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备。上述拥塞状态确定模块用于在确定存在异常的网络设备的情况下,根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞。上述拥塞处理模块用于在上述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对上述第一网络设备不作处理;以及用于在上述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备针对上述业务流量的ECN水线进行调整,以减弱拥塞程度。
根据本公开的实施例,上述处理RDMA网络拥塞的装置还包括:ECN水线调整结果确定模块和拥塞处理策略确定模块。上述ECN水线调整结果确定模块用于根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果。上述拥塞处理策略确定模块用于根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
根据本公开的实施例,上述拥塞处理模块包括:数量级确定子模块和水线调整子模块。上述数量级确定子模块用于确定上述第二网络设备上报的CNP拥塞通知报文的数量是否超过第一预设数量级。上述水线调整子模块用于在上述第二网络设备上报的CNP拥塞通知报文的数量超过第一预设数量级的情况下,调小上述第二网络设备针对上述业务流量的ECN水线的上水线;以及在上述第二网络设备上报的CNP拥塞通知报文的数量小于第一预设数量级的情况下,调大上述第二网络设备针对上述业务流量的ECN水线的下水线。
本公开的第三个方面提供了一种电子设备。上述电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的任一种方法。
本公开的第四个方面提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的任一种方法。
本公开的第五个方面提供了一种计算机程序产品。上述计算机程序产品包括计算机可读指令,其中上述计算机可读指令被执行时用于实现如上所述的任一种方法。
根据本公开的实施例,通过对网络设备上报的CNP拥塞通知报文的数量进行监控,根据监控结果确定网络设备所对应的业务流量是否异常,并能够根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞,针对持续性拥塞采取ECN水线调整的处理策略,针对瞬时性拥塞采用不作处理的处理策略,能够有效减少CNP拥塞通知报文持续反馈造成的延迟,同时能够及时改善由于ECN水线设计不合理导致的拥塞,缓解网络拥塞和保证无丢包传输,帮助运维人员识别进行ECN水线调整的时机,进一步避免由于运维人员盲目调整ECN水线导致的牺牲吞吐或造成的延迟不敏感的问题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了适用于本公开实施例的处理RDMA网络拥塞的方法和装置的***架构;
图2示意性示出了根据本公开一实施例的处理RDMA网络拥塞的方法的流程图;
图3示意性示出了根据本公开实施例的根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备的操作S22的详细实施流程图;
图4示意性示出了根据本公开实施例的根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞的操作S23的详细实施流程图;
图5示意性示出了根据本公开实施例的确定是否存在异常的网络设备和确定异常的网络设备所对应的业务流量为持续性拥塞还是瞬时性拥塞的实施场景;
图6示意性示出了根据本公开实施例的在异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下对应的处理策略的实施场景;
图7示意性示出了根据本公开实施例的在异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备的ECN水线进行调整的操作S25的详细实施流程图;
图8和图9分别示意性示出了根据本公开实施例的操作S25的两种示例性实施场景;
图10示意性示出了根据本公开另一实施例的处理RDMA网络拥塞的方法的流程图;
图11示意性示出了根据本公开实施例的根据第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果的操作S26的详细实施流程图;
图12示意性示出了根据本公开实施例的根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示的示例性实施场景;
图13示意性示出了根据本公开一实施例的处理RDMA网络拥塞的装置的结构框图;
图14示意性示出了根据本公开另一实施例的处理RDMA网络拥塞的装置的结构框图;以及
图15示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。本公开的描述中,各个操作步骤之间不作先后顺序的特别限制,尽管实施例中以具体的执行顺序作为示例,在各个操作步骤不存在逻辑上的必然先后顺序的前提下,各个操作步骤的执行顺序可以根据实际情况进行适应性调整,本公开的保护范围不限制各个操作的具体执行顺序。
本公开的实施例提供了一种处理RDMA网络拥塞的方法,还提供了一种处理RDMA网络拥塞的装置、电子设备、计算机可读存储介质以及计算机程序产品。上述处理RDMA网络拥塞的方法中,监控上述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量。根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备。在确定存在异常的网络设备的情况下,根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞。在上述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对上述第一网络设备不作处理。在上述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备针对上述业务流量的ECN水线进行调整,以减弱拥塞程度。
本公开的实施例中以上述处理RDMA网络拥塞的方法和装置应用于金融领域作为示例,需要说明的是,本公开的应用场景不局限于金融领域,还可以应用至其他非金融领域。
图1示意性示出了适用于本公开实施例的处理RDMA网络拥塞的方法和装置的***架构。需要注意的是,图1所示仅为可以应用本公开实施例的***架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
参照图1所示,适用于本公开实施例的处理RDMA网络拥塞的方法和装置的***架构100包括:发送节点110、网络设备120、接收节点130、以及用于监控RDMA网络的运维装置或网管服务器,这里以运维装置/网管服务器140进行描述。
例如在一示例性场景中,一机构的数据中心基于上述RDMA网络进行业务数据的处理。上述机构可以是金融机构、教育机构、政府类机构或者其他类型的具有数据处理需求的机构等。
下面以金融机构为例,金融机构具有各种类型的业务,针对各个业务需要进行业务数据的处理。在本公开的RDMA网络中,发送节点110可以是一个或多个,接收节点130可以是一个或多个,网络设备120可以是一个或多个,在发送节点110和接收节点130之间的数据传输路径中,可以由一个/层或多个/层网络设备120实现数据中转。
上述发送节点110和接收节点130可以是需要参与业务数据处理的终端设备或服务器。在发送节点110的缓存和接收节点130的缓存之间采用网络设备120实现远程数据传输/搬运,而不经过各自节点的CPU,从而构成了RDMA数据传输。
终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机或智能手表等等。
服务器可以是提供各种服务的服务器,例如对用户利用终端设备所浏览的网站(例如为金融类网站、理财类网站、支付类网站等)提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
参照图1所示,这里提供的***架构100以上述RDMA网络涉及金融机构的4种业务:业务1、业务2、业务3和业务4作为示例。在该***架构100中,示意了4个发送节点110和3个接收节点130。具体而言,发送节点110包括:发送节点RP1111、发送节点RP2112、发送节点RP3113和发送节点RP4114,接收节点130包括接收节点1NP1 131、接收节点NP2132和接收节点NP3133。
针对业务1,采用较长的虚线箭头示意业务1的数据流,该业务1的数据流由发送节点RP1111依次经过网络设备121和网络设备122后转发至接收节点NP1 131。
针对业务2,采用较短的虚线箭头示意业务2的数据流,该业务2的数据流由发送节点RP2112依次经过网络设备121和网络设备122后转发至接收节点NP2132。
针对业务3,采用单点划线箭头示意业务3的数据流,该业务3的数据流由发送节点RP3113依次经过网络设备121和网络设备123后转发至接收节点NP2132。
针对业务4,采用双点划线箭头示意业务4的数据流,该业务4的数据流由发送节点RP4114经过网络设备123后转发至接收节点NP3133。
上述箭头的双向表示数据流可以沿着传输路径正向和逆向进行传输,以业务1的数据流为例,该业务1的数据流可以沿着发送节点RP1→网络设备121→网络设备122→接收节点NP1的方向,也可以沿着接收节点NP1→网络设备122→网络设备121→发送节点RP1的方向,后续相关业务的数据流的双箭头的含义与此类似,不再赘述。
为了突破大规模分布式***的网络性能瓶颈,实现不丢包的关键之一是要解决网络拥塞问题。RDMA网络需要有效的流控机制来避免网络拥塞和保证无丢包传输。一种可行的方式是基于ECN的流控机制,网络设备120一旦检测到数据流的流量出现拥塞,会在数据包的IP头部ECN域进行标记,然后当被ECN标记过的数据包到达接收节点(NotificationPoint,NP)时,会由接收节点生成一个CNP拥塞通知报文反馈给发送节点(Reaction Point,RP)。接收到CNP拥塞通知报文的发送节点对导致拥塞的发送队列-接收队列对(QueuePairs,QP)进行网络数据包的速率限制,如此一来,实现基于流的端到端的流控技术,可以在拥塞发生时,调节对应流的发送速率,而不会影响到其他流量。
然而,相关技术中的基于ECN的流控机制需要接收节点在生成CNP拥塞通知报文后基于网络设备向发送节点进行反馈,再由发送节点进行流量速率调控,这期间从发送节点到接收节点经过的每一跳设备、每一条链路都会产生延迟,反馈路径周期较长。
例如参照图1所示,如果业务1的数据流上的网络设备121发生流量的拥塞,则在网络设备121传输的数据包的IP头部ECN域进行标记,由网络设备122将上述带有ECN标记的数据包继续转发给接收节点NP1 131。接收节点NP1 131在接收到带有ECN标记的数据包之后会生成CNP拥塞通知报文。再由接收节点NP1 131通过依次通过网络设备122和网络设备121将上述CNP拥塞通知报文转发/反馈给发送节点RP1 111。发送节点RP1 111接收到CNP拥塞通知报文之后,会根据CNP拥塞通知报文中涉及的数据流来调节(例如为减小)该CNP拥塞通知报文中涉及的数据流的发送速率。由上述反馈路径可知,相关技术中由接收到反馈回来的CNP报文的发送节点进行初始传送流量的控制,这种基于ECN的流控方式的反馈路径周期较长。
参照图1所示,网络设备(例如交换机)120具有预先设置的转发水线(pipeline),转发水线即为针对不同业务在网络设备(例如交换机的芯片)中预先设置的缓存(buffer)的区间范围和大小容量。
在启用ECN功能后,在网络上出现拥塞后,网络设备(例如交换机)会对ECN域随机打上CE值,随机性标记存在不公平。
另外在网络流量异常时,运维人员无法及时正确调整水线。由于水线设置需结合网络结构和业务特点进行设计,设计较为复杂。相关技术中没有设置ECN水线调整的策略,如果运维人员盲目调整ECN水线,导致水线设置过高或者过低,会牺牲吞吐,或者造成延迟不敏感等问题。
本公开实施例提供的处理RDMA网络拥塞的方法和装置可以至少解决上述发现的问题之一。本公开实施例提供的处理RDMA网络拥塞的方法可以由上述***架构100中的运维装置/网管服务器140执行,通过运维装置/网管服务器140可以对RDMA网络进行实时监控。
本公开的第一个示例性实施例提供了一种处理RDMA网络拥塞的方法。
图2示意性示出了根据本公开一实施例的处理RDMA网络拥塞的方法的流程图。
参照图2所示,本公开实施例提供的处理RDMA网络拥塞的方法包括以下操作:S21、S22、S23、S24和S25。
在操作S21,监控RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量。
在操作S22,根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备。
这里的网络设备异常指的是网络设备针对一个或多个业务的流量产生了拥塞的现象。网络设备正常对应的含义网络设备针对各个业务的数据流传输无拥塞现象。
在操作S23,在确定存在异常的网络设备的情况下,根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞。
在操作S24,在上述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对上述第一网络设备不作处理。
在操作S25,在上述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备针对上述业务流量的ECN水线进行调整,以减弱拥塞程度。
上述操作S21~S25可以由图1所示例的***架构100中的运维装置/网管服务器140执行,通过运维装置/网管服务器140可以对RDMA网络进行实时监控。例如,在运维装置/网管服务器140上部署有网络分析器FabricInsight,网络设备120会主动推送网络状态信息到部署有FabricInsight的运维装置/网管服务器140上。
根据本公开的实施例,上述网络设备120为交换机,上述RDMA网络用于数据中心进行业务处理。
以图l所示例的***架构100为例。在操作S21中,运维装置/网管服务器140实时监控RDMA网络中所有网络设备:网络设备121、网络设备122和网络设备123上报的由接收节点NP1 131、接收节点NP2132和接收节点NP3133产生的CNP拥塞通知报文的数量。其中,各个接收节点所产生的CNP拥塞通知报文中携带有发生拥塞所对应的业务流的传输路径信息,以及ECN标记所对应的网络设备。
在操作S22中,运维装置/网管服务器140可以根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备。这里的异常指的是针对一个或多个业务的流量产生了拥塞的现象。例如根据某个业务流(例如为业务1的业务流)所对应产生的CNP拥塞通知报文的数量可以确定该业务流中的网络设备(例如为网络设备121)发生了拥塞,则可以确定该业务流中的网络设备(网络设备121)为异常的网络设备。
在操作S23中,运维装置/网管服务器140可以根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞。通过对拥塞状态的具体分类判定,能够进一步基于不同类型的拥塞状态采取精准化的处理措施。
在操作S24中,针对异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况,可以认定为瞬时流量激增或其他异常导致的CNP报文数量异常,视作正常情况,对上述第一网络设备不作处理,业务流可自行恢复正常。
在操作S25中,针对异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况,对上述第二网络设备针对上述业务流量的ECN水线进行调整,从而通过减小ECN水线的上下线之间的空间来改善ECN随机性标记的不公平现象。
基于上述操作S21~S25,通过对网络设备上报的CNP拥塞通知报文的数量进行监控,根据监控结果确定网络设备所对应的业务流量是否异常,并能够根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞,针对持续性拥塞采取ECN水线调整的处理策略,针对瞬时性拥塞采用不作处理的处理策略,能够有效减少CNP拥塞通知报文持续反馈造成的延迟,同时能够及时改善由于ECN水线设计不合理导致的拥塞,缓解网络拥塞和保证无丢包传输,帮助运维人员识别进行ECN水线调整的时机,进一步避免由于运维人员盲目调整ECN水线导致的牺牲吞吐或造成的延迟不敏感的问题。
图3示意性示出了根据本公开实施例的根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备的操作S22的详细实施流程图。
根据本公开的实施例,参照图3所示,上述根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备的操作S22包括以下子操作:S221、S222和S223。
在子操作S221,确定所有网络设备中是否存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值,T≥1。
上述第一阈值用于表征正常状态下RDMA网络中接收节点产生的CNP拥塞通知报文的上限。
在子操作S222,在存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值的情况下,确定上述T个网络设备为异常的网络设备。
在子操作S223,在不存在任何网络设备上报的CNP拥塞通知报文的数量超过第一阈值的情况下,确定所有网络设备均正常。
对于每一个网络设备而言,该网络设备上报的针对一个或多个业务的数据流的CNP拥塞通知报文的数量小于第一阈值,则该网络设备对于该一个或多个业务而言为正常的网络设备。
图4示意性示出了根据本公开实施例的根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞的操作S23的详细实施流程图。
根据本公开的实施例,参照图4所示,上述根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞的操作S23包括以下子操作:S231、S232和S233。
在子操作S231,在监控的预设周期内,确定上述异常的网络设备处于异常状态的持续时间是否超过预设值,上述预设值≤上述预设周期。
参照图1所示,例如在运维装置/网管服务器140对网络设备120监控期间内,网络设备120将预设周期内统计得到的针对各个业务的CNP拥塞通知报文的数量上报给运维装置/网管服务器140。
在子操作S232,在上述异常的网络设备处于异常状态的持续时间超过预设值的情况下,确定上述异常的网络设备所对应的业务流量为持续性拥塞。
在子操作S233,在上述异常的网络设备处于异常状态的持续时间小于预设值的情况下,确定上述异常的网络设备所对应的业务流量为瞬时性拥塞。
基于上述子操作S231~S233,能够根据异常状态的持续时间来确定异常的网络设备所对应的业务流量所对应的拥塞状态为持续性拥塞还是瞬时性拥塞,从而便于后续针对性采取相应的拥塞处理逻辑。
结合上述子操作S221~S223和S231~S233,基于网络设备上报的CNP拥塞通知报文的数量与第一阈值的比较,以及异常状态的持续时间的判定,从而可以确定针对各个业务的数据流(也可以描述为业务流量)是否发生了拥塞以及拥塞状态。
下面结合图1和图5来示例性描述确定是否存在异常的网络设备和确定异常的网络设备所对应的业务流量为持续性拥塞还是瞬时性拥塞的实施过程。
图5示意性示出了根据本公开实施例的确定是否存在异常的网络设备和确定异常的网络设备所对应的业务流量为持续性拥塞还是瞬时性拥塞的实施场景。图5中,为了简化示意,没有示意具体携带有ECN标记的网络设备,以及发送节点和接收节点之间的网络设备,在本公开的介绍中对于具体携带有ECN标记的网络设备以及位于发送节点和接收节点之间的网络设备会进行对应说明。
在一示例性场景中,结合图1和图5中虚线单箭头和虚线双箭头所示,网络设备123和网络设备121上报的由接收节点NP2132产生的关于业务3的数据流的CNP拥塞通知报文{网络设备121的IP携带有ECN标记,发送节点RP3,网络设备121,网络设备123,接收节点NP2}的数量小于第一阈值,则可以确定业务3的数据流无拥塞,处于正常状态,也就是说,该网络设备121对于业务3而言为正常的网络设备。
需要说明的是,这里为了简化示意,将上述CNP拥塞通知报文{网络设备121的IP携带有ECN标记,发送节点RP3,网络设备121,网络设备123,接收节点NP2}省略部分信息之后,简要记录为图5所示意的{IP携带有ECN标记,发送节点RP3,接收节点NP2}。针对其他业务在图5中也具有类似的简化操作,这里不再一一介绍。
在另一示例性场景中,结合图1和图5中实线单箭头和实线双箭头所示,网络设备123上报的关于业务4的数据流的CNP拥塞通知报文{网络设备123的IP携带有ECN标记,发送节点RP4,网络设备123,接收节点NP3}的数量超过第一阈值,则网络设备123为T个异常的网络设备500中的一个具体示例。
进一步地,该网络设备123上报的关于业务4的数据流的CNP拥塞通知报文{网络设备123的IP携带有ECN标记,发送节点RP4,网络设备123,接收节点NP3}的数量超过第一阈值的持续时间小于预设值,则可以确定业务4的数据流为瞬时性拥塞,该网络设备123作为T个异常的网络设备500中的第一网络设备510的具体实例。
在又一示例性场景中,结合图1和图5中实线单箭头和实线双箭头所示,网络设备121和网络设备122上报的关于业务1的数据流的CNP拥塞通知报文{网络设备121的IP携带有ECN标记,发送节点RP1,网络设备121,网络设备122,接收节点NP1}的数量超过第一阈值,则网络设备121为T个异常的网络设备500中的一个具体示例。
进一步地,该网络设备121上报的关于业务1的数据流的CNP拥塞通知报文{网络设备121的IP携带有ECN标记,发送节点RP1,网络设备121,网络设备122,接收节点NP1}的数量超过第一阈值的持续时间超过预设值,则可以确定业务1的数据流为持续性拥塞,该网络设备121作为T个异常的网络设备500中的第二网络设备520的具体实例。
类似的,在另一示例性场景中,结合图1和图5中实线单箭头和实线双箭头所示,网络设备121和网络设备122上报的关于业务2的数据流的CNP拥塞通知报文{网络设备121和网络设备122的IP均携带有ECN标记,发送节点RP2,网络设备121,网络设备122,接收节点NP2}的数量超过第一阈值,则网络设备121和网络设备122为T个异常的网络设备500中的一个具体示例。
进一步地,该网络设备121和网络设备122上报的关于业务2的数据流的CNP拥塞通知报文{网络设备121和网络设备122的IP均携带有ECN标记,发送节点RP2,网络设备121,网络设备122,接收节点NP2}的数量超过第一阈值的持续时间超过预设值,则可以确定业务1的数据流为持续性拥塞,该网络设备121和网络设备122作为T个异常的网络设备500中的第二网络设备520的具体实例。
图6示意性示出了根据本公开实施例的在异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下对应的处理策略的实施场景。
例如参照图1和图6所示,在上述网络设备123作为第一网络设备510的具体实例的场景下,业务4的数据流为瞬时性拥塞,运维装置/网管服务器140对网络设备123不作处理(对应操作S24)。针对业务数据流为瞬时性拥塞的情况,无需对网络设备123进行水线调整,发送节点110根据接收到的CNP拥塞通知报文的数量稍微降低对应数据流的传输速度即可。
图7示意性示出了根据本公开实施例的在异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备的ECN水线进行调整的操作S25的详细实施流程图。
根据本公开的实施例,参照图7所示,上述对上述第二网络设备针对上述业务流量的ECN水线进行调整的操作S25包括以下子操作:S251、S252和S253。
在子操作S251,确定上述第二网络设备上报的CNP拥塞通知报文的数量是否超过第一预设数量级。
在子操作S252,在上述第二网络设备上报的CNP拥塞通知报文的数量超过第一预设数量级的情况下,调小上述第二网络设备针对上述业务流量的ECN水线的上水线。
在子操作S253,在上述第二网络设备上报的CNP拥塞通知报文的数量小于第一预设数量级的情况下,调大上述第二网络设备针对上述业务流量的ECN水线的下水线。
图8和图9分别示意性示出了根据本公开实施例的操作S25的两种示例性实施场景。
参照图8所示,在一示例性场景中,业务1的数据流为持续性拥塞,执行子操作S251,确定网络设备121和网络设备122上报的CNP拥塞通知报文{网络设备121的IP携带有ECN标记,发送节点RP1,网络设备121,网络设备122,接收节点NP1}的数量是否超过第一预设数量级。在确定结果为“是”的情况下,执行子操作S252,调小网络设备121针对业务1的ECN水线的上水线。
对应操作S25在该场景中为调整网络设备121针对业务1的ECN水线,以减弱拥塞程度。
该实施例中,在业务数据流出现持续性拥塞的情况下,可以初步判定是由于水线设置不合理导致的情况。通过根据CNP拥塞通知报文的数量的数量级来进一步确定持续性拥塞的拥塞程度,通过降低ECN水线的上水线,使得ECN上下线的空间变小,此时按照概率打上的ECN标签就会变少,不公平性会得到改善,有助于缓解网络拥塞和保证无丢包传输。
参照图9所示,在另一示例性场景中,业务2的数据流为持续性拥塞,执行子操作S251,确定网络设备121和网络设备122上报的CNP拥塞通知报文{网络设备121和网络设备122的IP均携带有ECN标记,发送节点RP2,网络设备121,网络设备122,接收节点NP2}的数量是否超过第一预设数量级。在确定结果为“否”的情况下,即,网络设备121和网络设备122上报的关于业务2的CNP拥塞通知报文的数量小于第一预设数量级,执行子操作S253,调大网络设备121和网络设备122针对业务2的ECN水线的下水线。
对应操作S25在该场景中为调整网络设备121和网络设备122针对业务2的ECN水线,以减弱拥塞程度。
各个接收节点所产生的CNP拥塞通知报文中携带有发生拥塞所对应的业务流的传输路径信息,以及ECN标记所对应的网络设备,因此在确定存在异常的网络设备后,根据CNP拥塞报文的周期性监测结果可以进一步确定该异常的网络设备所对应的业务流量所处的拥塞状态:持续性拥塞、瞬时性拥塞,持续性拥塞包括:较高程度的持续性拥塞还是较低程度的持续性拥塞,进而可以根据拥塞状态来针对各个业务流量所对应的网络设备采取对应的处理策略。若在监控周期内持续产生大量的CNP拥塞通知报文,则可确定流量产生持续性拥塞,可以通知运维人员根据业务流量特点将ECN水线的上线适当调小或者根据预设的规则自行调小ECN水线的上线,使得上下水线之间的空间减小,改善随机性标记不公平现象。若拥塞未被改善,再提示运维人员采用其他流控策略。若周期内持续产生少量的CNP拥塞通知报文,可确定此时ECN水线的下线过低,适当调高下水线,避免部分正常流量进入上下水线之间的范围内被打上标签,通过减小上下水线之间的空间范围,改善不公平现象。如果监控周期内仅偶尔产生少量的CNP拥塞通知报文,则可判断此时CNP拥塞通知报文是由瞬时流量激增产生,一段时间后即可自行缓解,属于正常情况,可忽略,对网络设备不作处理。
图10示意性示出了根据本公开另一实施例的处理RDMA网络拥塞的方法的流程图。
参照图10所示,本公开实施例提供的处理RDMA网络拥塞的方法除了包括上述操作S21~S25之外,还包括以下操作:S26和S27。
在操作S26,根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果。
在操作S27,根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
本公开中,上述操作S26在操作S25之后执行。
通过设置操作S26~S27,可以通过对CNP拥塞通知报文的数量变化情况来持续监测,以得到ECN水线的调整效果,进而确定后续是否继续采用ECN水线调整策略还是改用其他流控策略。在一些采用了ECN水线调整后仍无法缓解拥塞的特殊场景下,可以及时提示运维人员采用其他流控策略。
图11示意性示出了根据本公开实施例的根据第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果的操作S26的详细实施流程图。
参照图11所示,上述根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果的操作S26包括以下子操作:S261、S262和S263。
在子操作S261,确定上述第二网络设备上报的CNP拥塞通知报文的数量是否呈减小趋势。
在子操作S262,在上述第二网络设备上报的CNP拥塞通知报文的数量呈减小趋势的情况下,确定ECN水线调整后的拥塞程度减弱。
在子操作S263,在上述第二网络设备上报的CNP拥塞通知报文的数量呈非减小趋势的情况下,确定ECN水线调整后的拥塞程度未改善。
图12示意性示出了根据本公开实施例的根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示的示例性实施场景。
上述操作S27包括子操作S271和S272。参照图12所示,在通过执行子操作S262确定ECN水线调整效果为ECN水线调整后的拥塞程度减弱的情况下,执行子操作S271,继续采用对上述第二网络设备的ECN水线进行调整的调整策略。在通过执行子操作S263确定ECN水线调整效果为ECN水线调整后的拥塞程度未改善的情况下,执行子操作S272,发出改变流控策略的提示,以及时告知运维人员及时采用其他流控策略进行处理。
综上所述,本实施例提供了一种处理RDMA网络拥塞的方法,通过对网络设备上报的CNP拥塞通知报文的数量进行监控,根据监控结果确定网络设备所对应的业务流量是否异常,并能够根据周期性监控结果确定异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞,针对持续性拥塞采取ECN水线调整的处理策略,针对瞬时性拥塞采用不作处理的处理策略,能够有效减少CNP拥塞通知报文持续反馈造成的延迟,同时能够及时改善由于ECN水线设计不合理导致的拥塞,缓解网络拥塞和保证无丢包传输,帮助运维人员识别进行ECN水线调整的时机,进一步避免由于运维人员盲目调整ECN水线导致的牺牲吞吐或造成的延迟不敏感的问题。此外,还通过针对不同的拥塞程度对应采用ECN水线的上线或下线的调整,改善了不公平现象。
本公开的第二个示例性实施例提供了一种处理RDMA网络拥塞的装置。
该装置可以是图1示例的***架构中的运维装置/网管服务器140,也可以是其他能够实现对应功能的装置。
图13示意性示出了根据本公开一实施例的处理RDMA网络拥塞的装置的结构框图。
参照图13所示,本公开实施例提供的处理RDMA网络拥塞的装置1300包括:监控模块1301、异常确定模块1302、拥塞状态确定模块1303以及拥塞处理模块1304。
上述监控模块1301用于监控上述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量。
上述异常确定模块1302用于根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备。上述异常确定模块1302可以包含用于执行子操作S221~S223的功能模块或子模块。
上述拥塞状态确定模块1303用于在确定存在异常的网络设备的情况下,根据周期性监控结果确定上述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞。上述拥塞状态确定模块1303可以包含用于执行子操作S231~S233的功能模块或子模块。
上述拥塞处理模块1304用于在上述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对上述第一网络设备不作处理;以及用于在上述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对上述第二网络设备针对上述业务流量的ECN水线进行调整,以减弱拥塞程度。针对业务数据流为瞬时性拥塞的情况,拥塞处理模块1304无需对第一网络设备进行水线调整。发送节点根据接收到的CNP拥塞通知报文的数量稍微降低对应数据流的传输速度即可。
根据本公开的实施例,上述拥塞处理模块1304包括:数量级确定子模块和水线调整子模块。上述数量级确定子模块用于确定上述第二网络设备上报的CNP拥塞通知报文的数量是否超过第一预设数量级。上述水线调整子模块用于在上述第二网络设备上报的CNP拥塞通知报文的数量超过第一预设数量级的情况下,调小上述第二网络设备针对上述业务流量的ECN水线的上水线;以及在上述第二网络设备上报的CNP拥塞通知报文的数量小于第一预设数量级的情况下,调大上述第二网络设备针对上述业务流量的ECN水线的下水线。
图14示意性示出了根据本公开另一实施例的处理RDMA网络拥塞的装置的结构框图。
根据本公开的实施例,参照图14所示,上述处理RDMA网络拥塞的装置1300除了包括上述监控模块1301、异常确定模块1302、拥塞状态确定模块1303以及拥塞处理模块1304之外,还包括:ECN水线调整结果确定模块1305和拥塞处理策略确定模块1306。
上述ECN水线调整结果确定模块1305用于根据上述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果。
上述拥塞处理策略确定模块1306用于根据上述ECN水线调整效果来确定继续采用对上述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,监控模块1301、异常确定模块1302、拥塞状态确定模块1303、拥塞处理模块1304、ECN水线调整结果确定模块1305以及拥塞处理策略确定模块1306中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,监控模块1301、异常确定模块1302、拥塞状态确定模块1303、拥塞处理模块1304、ECN水线调整结果确定模块1305以及拥塞处理策略确定模块1306中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,监控模块1301、异常确定模块1302、拥塞状态确定模块1303、拥塞处理模块1304、ECN水线调整结果确定模块1305以及拥塞处理策略确定模块1306中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本公开的第三个示例性实施例提供了一种电子设备。上述电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现上述处理RDMA网络拥塞的方法。
图15示意性示出了根据本公开实施例的电子设备的结构框图。
参照图15所示,根据本公开实施例的电子设备1500包括处理器1501,其可以根据存储在只读存储器(ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(RAM)1503中的程序而执行各种适当的动作和处理。处理器1501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1501还可以包括用于缓存用途的板载存储器。处理器1501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1503中,存储有电子设备1500操作所需的各种程序和数据。处理器1501、ROM 1502以及RAM 1503通过总线1504彼此相连。处理器1501通过执行ROM 1502和/或RAM1503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1502和RAM 1503以外的一个或多个存储器中。处理器1501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1500还可以包括输入/输出(I/O)接口1505,输入/输出(I/O)接口1505也连接至总线1504。电子设备1500还可以包括连接至I/O接口1505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如局域网卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
本公开的第四个示例性实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有可执行指令,该指令被处理器执行时使处理器实现上述处理RDMA网络拥塞的方法。
该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的处理RDMA网络拥塞的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1502和/或RAM 1503和/或ROM 1502和RAM 1503以外的一个或多个存储器。
本公开的第五个示例性实施例提供了一种计算机程序产品。上述计算机程序产品包括计算机可读指令,其中上述计算机可读指令被执行时用于实现上述处理RDMA网络拥塞的方法。
根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被处理器1501执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1509被下载和安装,和/或从可拆卸介质1511被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (12)
1.一种处理RDMA网络拥塞的方法,包括:
监控所述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量;
根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备;
在确定存在异常的网络设备的情况下,根据周期性监控结果确定所述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞;
在所述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对所述第一网络设备不作处理;以及
在所述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对所述第二网络设备针对所述业务流量的ECN水线进行调整,以减弱拥塞程度。
2.根据权利要求1所述的方法,其中,所述对所述第二网络设备针对所述业务流量的ECN水线进行调整,包括:
确定所述第二网络设备上报的CNP拥塞通知报文的数量是否超过第一预设数量级;
在所述第二网络设备上报的CNP拥塞通知报文的数量超过第一预设数量级的情况下,调小所述第二网络设备针对所述业务流量的ECN水线的上水线;以及
在所述第二网络设备上报的CNP拥塞通知报文的数量小于第一预设数量级的情况下,调大所述第二网络设备针对所述业务流量的ECN水线的下水线。
3.根据权利要求1所述的方法,其中,所述根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备,包括:
确定所有网络设备中是否存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值,T≥1,所述第一阈值用于表征正常状态下RDMA网络中接收节点产生的CNP拥塞通知报文的上限;
在存在T个网络设备上报的CNP拥塞通知报文的数量超过第一阈值的情况下,确定所述T个网络设备为异常的网络设备。
4.根据权利要求1所述的方法,其中,所述根据周期性监控结果确定所述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞,包括:
在监控的预设周期内,确定所述异常的网络设备处于异常状态的持续时间是否超过预设值,所述预设值≤所述预设周期;
在所述异常的网络设备处于异常状态的持续时间超过预设值的情况下,确定所述异常的网络设备所对应的业务流量为持续性拥塞;
在所述异常的网络设备处于异常状态的持续时间小于预设值的情况下,确定所述异常的网络设备所对应的业务流量为瞬时性拥塞。
5.根据权利要求1所述的方法,其中,对所述第二网络设备的ECN水线进行调整之后还包括:
根据所述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果;以及
根据所述ECN水线调整效果来确定继续采用对所述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
6.根据权利要求5所述的方法,其中,所述根据所述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果,包括:
确定所述第二网络设备上报的CNP拥塞通知报文的数量是否呈减小趋势;
在所述第二网络设备上报的CNP拥塞通知报文的数量呈减小趋势的情况下,确定ECN水线调整后的拥塞程度减弱;
在所述第二网络设备上报的CNP拥塞通知报文的数量呈非减小趋势的情况下,确定ECN水线调整后的拥塞程度未改善。
7.根据权利要求1-6中任一项所述的方法,其中,所述网络设备为交换机,所述RDMA网络用于数据中心进行业务处理。
8.一种处理RDMA网络拥塞的装置,包括:
监控模块,用于监控所述RDMA网络中所有网络设备上报的由RDMA网络中的接收节点产生的CNP拥塞通知报文的数量;
异常确定模块,用于根据CNP拥塞通知报文的数量的监控结果确定是否存在异常的网络设备;
拥塞状态确定模块,用于在确定存在异常的网络设备的情况下,根据周期性监控结果确定所述异常的网络设备所对应的业务流量为持续性拥塞或瞬时性拥塞;以及
拥塞处理模块,用于在所述异常的网络设备中的第一网络设备所对应的业务流量为瞬时性拥塞的情况下,对所述第一网络设备不作处理;以及用于在所述异常的网络设备中的第二网络设备所对应的业务流量为持续性拥塞的情况下,对所述第二网络设备针对所述业务流量的ECN水线进行调整,以减弱拥塞程度。
9.根据权利要求8所述的装置,还包括:
ECN水线调整结果确定模块,用于根据所述第二网络设备上报的CNP拥塞通知报文的数量的变化情况来确定ECN水线调整效果;以及
拥塞处理策略确定模块,用于根据所述ECN水线调整效果来确定继续采用对所述第二网络设备的ECN水线进行调整的调整策略或者发出改变流控策略的提示。
10.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1-7中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1-7中任一项所述的方法
12.一种计算机程序产品,包括计算机可读指令,其中所述计算机可读指令被执行时用于实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470311.4A CN112953842B (zh) | 2021-04-28 | 2021-04-28 | 处理rdma网络拥塞的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110470311.4A CN112953842B (zh) | 2021-04-28 | 2021-04-28 | 处理rdma网络拥塞的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112953842A true CN112953842A (zh) | 2021-06-11 |
CN112953842B CN112953842B (zh) | 2022-09-27 |
Family
ID=76233639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110470311.4A Active CN112953842B (zh) | 2021-04-28 | 2021-04-28 | 处理rdma网络拥塞的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112953842B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411263A (zh) * | 2021-06-18 | 2021-09-17 | 中国工商银行股份有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN114301641A (zh) * | 2021-12-15 | 2022-04-08 | 中国科学院深圳先进技术研究院 | 一种适用于rdma网络的虚拟化安全网关*** |
CN114338543A (zh) * | 2022-03-14 | 2022-04-12 | 北京指掌易科技有限公司 | 一种网络访问限速方法、装置、设备及存储介质 |
CN115174432A (zh) * | 2022-06-30 | 2022-10-11 | 苏州浪潮智能科技有限公司 | Rdma网络状态监测方法、装置、设备及可读存储介质 |
CN115883465A (zh) * | 2022-12-01 | 2023-03-31 | 迈普通信技术股份有限公司 | 流量控制方法、装置、服务器、***及存储介质 |
CN115883466A (zh) * | 2023-03-03 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 交换机的控制方法及装置、存储介质及电子装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030016808A1 (en) * | 2000-12-26 | 2003-01-23 | Nortel Networks Limited | Dynamic adaptation to congestion in connection-oriented networks |
US20080008092A1 (en) * | 2006-07-06 | 2008-01-10 | Xin Wang | Reducing packet loss for a packet data service during congestion in a transport network |
CN102750229A (zh) * | 2012-05-30 | 2012-10-24 | 福建星网锐捷网络有限公司 | 缓存空间配置方法及装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN110536342A (zh) * | 2019-05-16 | 2019-12-03 | Oppo广东移动通信有限公司 | 一种网络模式控制方法及终端、存储介质 |
CN111357319A (zh) * | 2017-11-14 | 2020-06-30 | T移动美国公司 | 数据拥塞管理***和方法 |
-
2021
- 2021-04-28 CN CN202110470311.4A patent/CN112953842B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030016808A1 (en) * | 2000-12-26 | 2003-01-23 | Nortel Networks Limited | Dynamic adaptation to congestion in connection-oriented networks |
US20080008092A1 (en) * | 2006-07-06 | 2008-01-10 | Xin Wang | Reducing packet loss for a packet data service during congestion in a transport network |
CN102750229A (zh) * | 2012-05-30 | 2012-10-24 | 福建星网锐捷网络有限公司 | 缓存空间配置方法及装置 |
CN108989233A (zh) * | 2017-06-05 | 2018-12-11 | 华为技术有限公司 | 拥塞管理方法及装置 |
CN111357319A (zh) * | 2017-11-14 | 2020-06-30 | T移动美国公司 | 数据拥塞管理***和方法 |
CN110536342A (zh) * | 2019-05-16 | 2019-12-03 | Oppo广东移动通信有限公司 | 一种网络模式控制方法及终端、存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113411263A (zh) * | 2021-06-18 | 2021-09-17 | 中国工商银行股份有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN113411263B (zh) * | 2021-06-18 | 2023-03-14 | 中国工商银行股份有限公司 | 一种数据传输方法、装置、设备及存储介质 |
CN114301641A (zh) * | 2021-12-15 | 2022-04-08 | 中国科学院深圳先进技术研究院 | 一种适用于rdma网络的虚拟化安全网关*** |
CN114301641B (zh) * | 2021-12-15 | 2024-03-19 | 中国科学院深圳先进技术研究院 | 一种适用于rdma网络的虚拟化安全网关*** |
CN114338543A (zh) * | 2022-03-14 | 2022-04-12 | 北京指掌易科技有限公司 | 一种网络访问限速方法、装置、设备及存储介质 |
CN115174432A (zh) * | 2022-06-30 | 2022-10-11 | 苏州浪潮智能科技有限公司 | Rdma网络状态监测方法、装置、设备及可读存储介质 |
CN115174432B (zh) * | 2022-06-30 | 2024-02-13 | 苏州浪潮智能科技有限公司 | Rdma网络状态监测方法、装置、设备及可读存储介质 |
CN115883465A (zh) * | 2022-12-01 | 2023-03-31 | 迈普通信技术股份有限公司 | 流量控制方法、装置、服务器、***及存储介质 |
CN115883465B (zh) * | 2022-12-01 | 2024-04-19 | 迈普通信技术股份有限公司 | 流量控制方法、装置、服务器、***及存储介质 |
CN115883466A (zh) * | 2023-03-03 | 2023-03-31 | 苏州浪潮智能科技有限公司 | 交换机的控制方法及装置、存储介质及电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112953842B (zh) | 2022-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112953842B (zh) | 处理rdma网络拥塞的方法、装置、设备及介质 | |
US10003544B2 (en) | Method and apparatus for priority flow and congestion control in ethernet network | |
US9806960B2 (en) | Method and system for adjusting heavy traffic loads between personal electronic devices and external services | |
EP3442180B1 (en) | Congestion processing method, host, and system | |
US20070226375A1 (en) | Plug-in architecture for a network stack in an operating system | |
US20070226347A1 (en) | Method and apparatus for dynamically changing the TCP behavior of a network connection | |
US8325602B2 (en) | Method and system to manage network traffic congestion in networks with link layer flow control | |
US9509450B2 (en) | Snoop virtual receiver time | |
US11277342B2 (en) | Lossless data traffic deadlock management system | |
AU2023203816B2 (en) | Attack mitigation in a packet-switched network | |
CN116235481A (zh) | 动态片上网络节流 | |
US11108666B2 (en) | Latency prediction and network message microtiming | |
JP5915820B2 (ja) | 通信制御装置、通信制御方法、及び、通信制御プログラム | |
US9300561B2 (en) | Business intelligence-infused smart retransmission processing | |
KR101841143B1 (ko) | 패킷의 재전송으로 인한 지연을 단축시키기 위한 패킷의 플로우 스케줄링 방법 및 장치 | |
Lin et al. | SDCCP: Control the network using software‐defined networking and end‐to‐end congestion control | |
CN116760770A (zh) | 网络参数自动更新方法、装置、电子设备及存储介质 | |
CN115632748A (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN115174588A (zh) | 带宽控制方法、装置、设备、存储介质和程序产品 | |
CN118157965A (zh) | 一种基于SDN的RoCE网络异常流量防护方法、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |