当前位置: 首页 > 专利查询>清华大学专利>正文

避免死锁的无丢失流量控制方法及装置制造方法及图纸

技术编号:19352030 阅读:352 留言:0更新日期:2018-11-07 17:27
本发明专利技术提供一种避免死锁的无丢失流量控制方法及装置,所述方法包括:对入端口进行数据流量监测,获得所述入端口的当前入队列长度;根据所述当前入队列长度和预设的速率递减函数获得调节速率;将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。本发明专利技术实施例提供的一种避免死锁的无丢失流量控制方法及装置,通过对入端口进行数据流量监测,获得入端口的当前入队列长度,并根据当前入队列长度和预设的速率递减函数获得调节速率,将调节速率发送给出端设备,以使出端设备根据调节速率更新出端口的当前数据发送速率,从而实现出端口的发送速率不为零,避免造成出端口占用并等待,避免死锁发生。

【技术实现步骤摘要】
避免死锁的无丢失流量控制方法及装置
本专利技术涉及网络数据传输
,尤其涉及一种避免死锁的无丢失流量控制方法及装置。
技术介绍
为了避免网络丢包造成的性能损失,IEEE数据中心桥接(DCB)工作组设计了逐跳的基于优先级流量控制(PFC)机制来保证无丢失。PFC通过反馈流量控制信令来控制发送端口状态(暂停/恢复)。PFC观测入端口的队列长度,当队列长度超过XOFF阈值时,该端口向出端口发送暂停(PAUSE)信令,使出端口停止发送;当队列长度低于XON阈值时,向出端口发送恢复(RESUME)信令,使出端口恢复全速发送状态。只要XOFF的设置预留足够的缓存余量来吸收信令反馈时延(从端口生成PAUSE信令到实际的输入速率降为0的时间间隔)中超发的数据分组,那么PFC就可以保证无丢失。但PFC虽然可以保证无丢失,但是在实际运行中会引入网络死锁的问题。死锁是当网络中存在一个缓存循环依赖关系(CBD)时,所有处于这个循环中的交换机暂停出端口的发送,并同时等待着来自入端口的RESUME信令。在实际场景中,虽然死锁发生的概率很小,但是一旦死锁发生,所有处于CBD内的交换机都不能正常工作,并且对于出端口的PAUSE会一直传递到端节点上并暂停所有沿途端口的发送。因此一个局部的死锁可能会使全网丧失数据转发能力。PFC导致死锁的主要原因是当其暂停入端口的发送时,出端口就会处于“占用并等待”(HoldandWait)状态(数据帧占用当前端口的缓存,并等待着下游端口的可用缓存)。“占用并等待”是引发死锁的一个必要条件。
技术实现思路
本专利技术提供一种避免死锁的无丢失流量控制方法及装置,用于解决现有技术中无丢失控制时易出现死锁的问题。第一方面,本专利技术实施例提供一种避免死锁的无丢失流量控制方法,包括:对入端口进行数据流量监测,获得所述入端口的当前入队列长度;根据所述当前入队列长度和预设的速率递减函数获得调节速率;将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。可选地,所述速率递减函数为阶梯函数,满足的条件包含:Bm-Bi≥22-i·C·τ;B1≤Bm-2·C·τ;i=1,2,…,m;R0=C;其中,i为阶梯函数的阶梯级数,m为阶梯函数的总级数,C为线速,τ为反馈时延,Bi为第i级阶梯的起始位置所代表的入队列长度,Ri为第i级阶梯所对应的调节速率。可选地,还包括:当所述调节速率等于入队列的排空速率时,不向所述出端设备发送所述调节速率。第二方面,本专利技术实施例提供一种避免死锁的无丢失流量控制装置,包括:监测模块,用于对入端口进行数据流量监测,获得所述入端口的当前入队列长度;调节模块,用于根据所述当前入队列长度和预设的速率递减函数获得调节速率;发送模块,用于将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。可选地,所述速率递减函数为阶梯函数,满足的条件包含:Bm-Bi≥22-i·C·τ;B1≤Bm-2·C·τ;i=1,2,…,m;R0=C;其中,i为阶梯函数的阶梯级数,m为阶梯函数的总级数,C为线速,τ为反馈时延,Bi为第i级阶梯的起始位置所代表的入队列长度,Ri为第i级阶梯所对应的调节速率。可选地,所述发送模块,还用于:当所述调节速率等于入队列的排空速率时,不向所述出端设备发送所述调节速率。第三方面,本专利技术实施例提供一种电子设备,包括:处理器、存储器、总线及存储在存储器上并可在处理器上运行的计算机程序;其中,所述处理器,存储器通过所述总线完成相互间的通信;所述处理器执行所述计算机程序时实现如上述的方法。第四方面,本专利技术实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述的方法。由上述技术方案可知,本专利技术实施例提供的一种避免死锁的无丢失流量控制方法及装置,通过对入端口进行数据流量监测,获得入端口的当前入队列长度,并根据当前入队列长度和预设的速率递减函数获得调节速率,将调节速率发送给出端设备,以使出端设备根据调节速率更新出端口的当前数据发送速率,从而实现出端口的发送速率不为零,避免造成出端口占用并等待,避免死锁发生。附图说明图1为本专利技术一实施例提供的避免死锁的无丢失流量控制方法的流程示意图;图2为本专利技术一实施例提供的阶梯函数的示意图;图3为本专利技术一实施例提供的避免死锁的无丢失流量控制装置的结构示意图;图4为本专利技术一实施例提供的电子设备的结构示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。图1示出了本专利技术一实施例提供一种避免死锁的无丢失流量控制方法,包括:S11、对入端口进行数据流量监测,获得所述入端口的当前入队列长度;S12、根据所述当前入队列长度和预设的速率递减函数获得调节速率;S13、将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。针对步骤S11-步骤S13,需要说明的是,在本专利技术实施例中,网络数据传输要考虑网络丢包造成的性能损失,因此,需实时对入端设备和出端设备的端口流量进行监测。在本专利技术实施例中,入端设备和出端设备可为交换机,每台交换机连接一台或多台服务端,实现服务端与服务端之间的数据传输。在本专利技术实施例中,入端口流量在排空,出端口流量在发送,要想不造成死锁以及丢失流量,需要保持发送和排空持续进行,发送速率不为零。因此,入端设备对入端口进行数据流量监测,获得所述入端口的当前入队列长度。为了对发送速率进行控制,同时为了使入队列长度增加较慢,因此,需采用递减函数对发送速率进行控制。根据所述当前入队列长度和预设的速率递减函数获得调节速率。该调节速率用于发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。由于本专利技术的调节,发送速率会随之不断降低。队列长度会一直增长到qs,使得发送速率等于Rd。Rd为排空速率。之后队列会稳定在qs,此时发送速率与排空速率相等,队列不再变化。在本专利技术实施例中,所述递减函数为具有递减效果的函数,具体可包含以下几种:(1)线性递减函数,例如:(2)指数递减函数,例如:(3)各类递减函数的分段组合。其中,B为当前入队列长度,R为发送速率,C为线速,Bm是最大队列长度,B0是开始减速的队列长度阈值。其中,线速英文里是linerate。它的具体意思是物理网口的全速发送速度。比如:一个百兆以太网交换机,那么它的每个端口的线速都是100Mbps。需要说明的是,在本专利技术实施例中,凡是一个队列到速率的映射函数能达到“队列稳定在qs附近,发送速率与排空速率相匹配”的目的,都在这个保护范围之内。本专利技术实施例提供的一种避免死锁的无丢失流量控制方法,通过对入端口进行数据流量监测,获得入端口的当前入队列长度,并根据当前入队列长度和预设的速率递减函数获得调节速率,将调节速率发送给出端设备,以使出端设备根据调节速率更新出端口的当前数据发送速率,从而实现出端口的发送速率不为零,避免造成出端口占用并等待,避免死锁发生。本专利技术一实施例提供的一种避免死锁的无丢失流量控制方法,包括:S21、对入端口进行数据流量监测,获得所述入端口的当前入队本文档来自技高网...

【技术保护点】
1.一种避免死锁的无丢失流量控制方法,其特征在于,包括:对入端口进行数据流量监测,获得所述入端口的当前入队列长度;根据所述当前入队列长度和预设的速率递减函数获得调节速率;将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。

【技术特征摘要】
1.一种避免死锁的无丢失流量控制方法,其特征在于,包括:对入端口进行数据流量监测,获得所述入端口的当前入队列长度;根据所述当前入队列长度和预设的速率递减函数获得调节速率;将所述调节速率发送给出端设备,以使所述出端设备根据所述调节速率更新出端口的当前数据发送速率。2.根据权利要求1所述的方法,其特征在于,所述速率递减函数为阶梯函数,满足的条件包含:Bm-Bi≥22-i·C·τ;B1≤Bm-2·C·τ;i=1,2,…,m;R0=C;其中,i为阶梯函数的阶梯级数,m为阶梯函数的总级数,C为线速,τ为反馈时延,Bi为第i级阶梯的起始位置所代表的入队列长度,Ri为第i级阶梯所对应的调节速率。3.根据权利要求1所述的方法,其特征在于,还包括:当所述调节速率等于入队列的排空速率时,不向所述出端设备发送所述调节速率。4.一种避免死锁的无丢失流量控制装置,其特征在于,包括:监测模块,用于对入端口进行数据流量监测,获得所述入端口的当前入队列长度;调节模块,用于根据所述当前入队列长度和预设的速率递减函数获得调节速率;发送模块,用于将所述调节...

【专利技术属性】
技术研发人员:任丰原钱坤
申请(专利权)人:清华大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1