CN109462553A - 一种基于时延的动态队列管理芯片实现方法 - Google Patents
一种基于时延的动态队列管理芯片实现方法 Download PDFInfo
- Publication number
- CN109462553A CN109462553A CN201811242967.5A CN201811242967A CN109462553A CN 109462553 A CN109462553 A CN 109462553A CN 201811242967 A CN201811242967 A CN 201811242967A CN 109462553 A CN109462553 A CN 109462553A
- Authority
- CN
- China
- Prior art keywords
- time
- interval
- time delay
- message
- queue
- 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.)
- Pending
Links
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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/28—Flow control; Congestion control in relation to timing considerations
- H04L47/283—Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
- H04L47/562—Attaching a time tag to queues
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明揭示了一种基于时延的动态队列管理芯片实现方法,包括报文进入交换机后,计算报文通过队列所需的第一时间;将第一时间与预置的期望时延比较,若小于,则报文通过,若大于,则继续记录第一时间超过预期时延的持续时间,并将该持续时间与预置的间隔相比,若小于,则报文通过,若大于,则将报文丢弃。本发明直接通过时延来衡量拥塞,比使用队列长度更为准确,同时可以更直接的满足低时延的需求。
Description
技术领域
本发明涉及一种交换机网络中控制时延技术,尤其是涉及一种基于时延的动态队列管理芯片实现方法。
背景技术
近几年,随着大数据、云计算、人工智能等应用和服务高速发展,人们对网络的性能要求越来越高。在一些高性能计算等时延敏感型业务中,低时延是性能的关键指标,同时随着数据量的不断增加,突发流量越来越多,在保证低时延的同时还要能够吸收一定的突发流量。
目前交换机网络中都是通过主动队列管理方法来保证流量的转发性能,现有的技术主要有RED(Random Early Detection,随机早期检测)等,这些技术都是通过控制队列长度来达到控制时延和吸收突发流量的目的。
上述现有技术目前虽然取得了不错的效果,但是有以下几点问题:1、队列管理的最终目的是降低延迟的同时允许必要的突发流量,通过队列长度来衡量拥塞是不准确的,比如相同的队列长度,如果不同的出口速率,带来的延迟是不一样的;2、现有的技术,配置的参数较为复杂,不同的场景需要不同的参数,无法动态调整,实际使用中不方便部署。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于时延的动态队列管理芯片实现方法。
为实现上述目的,本发明提出如下技术方案:一种基于时延的动态队列管理芯片实现方法,包括:
S1,报文进入交换机后,通过加时间戳的方式计算报文通过队列所需的第一时间;
S2,将所述第一时间与预置的期望时延比较,若小于所述期望时延,则报文通过,若大于期望时延,则进入步骤S3;
S3,记录所述第一时间超过预期时延的持续时间,并将所述持续时间与预置的间隔相比,若小于所述间隔,则报文通过,若大于,则进入步骤S4;
S4,将报文丢弃或在报文中标记ECN字段。
优选地,所述方法还包括:
S5,若后面的报文的第一时间还是大于期望时延,则动态调整间隔,丢包数越多,间隔越小,直至第一时间小于期望时延。
优选地,S1中,芯片在报文进入队列时打上第一时间戳,在报文出队列时打上第二时间戳,所述第一时间等于所述第二时间戳与第一时间戳之差。
优选地,所述期望时延和间隔均为可配置的,所述期望时延通过芯片的DsQueue.desiredTime表来配置,间隔通过芯片的DsQueue.interval表来配置。
优选地,所述S3包括:
S31,在报文通过队列的时间等于或略超过所述期望时延时,记录当前时间,并根据所述当前时间和间隔,设置一个第二时间,所述第二时间等于当前时间与间隔之和;
S32,报文将自身的所述第二时间戳与所述第二时间比较,若小于,则报文出队列转发;若大于,则进入所述步骤S4。
优选地,所述第二时间由芯片计算出,计算后更新到芯片的DsQueue.timeThrd中。
优选地,若后面的报文的第一时间小于期望时延,则重新从S2开始判断,所述报文的第二时间也重新计算,同时更新到所述DsQueue.timeThrd中。
优选地,所述S5具体包括:芯片在丢弃报文时,记录一个所述丢包数,将间隔与丢包数成反比调整,即丢包数越多,间隔设置越小。
优选地,所述将间隔与丢包数成反比调整具体为:将间隔的各二进位向右移丢包数个位,形成新的间隔,即new_interval=interval>>drop_cnt,其中,new_interval表示调整后的新的间隔,interval为调整前的间隔,drop_cnt为丢包数。
优选地,调整间隔后,将调整后的间隔更新到芯片的DsQueue.interval表中。
本发明的有益效果是:
1、本发明提出一种基于时延的动态队列管理芯片实现方法,通过监测每个报文在队列中的通过时间,来控制报文所占用的队列缓存,能够实现在降低报文转发延时的同时允许必要的报文突发流量。
2、本发明直接通过时延来衡量拥塞,比使用队列长度更为准确,同时可以更直接的满足低时延的需求。
3、本发明动态调整间隔,可以区分不同时延的流量,拥塞时更多的丢弃时延大且数量多的流量,这样可以更为公平的保证延时低报文的流量。
4、本发明的参数配置简单,能够有效且简单的满足目前网络的性能需求,易于在实际部署中使用。
附图说明
图1是本发明方法的流程示意图;
图2是本发明芯片实现的原理示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种基于时延的动态队列管理芯片实现方法,直接通过时延来衡量拥塞,更为准确,同时可以更直接的满足低时延的需求。
结合图1和图2所示,本发明实施例所揭示的一种基于时延的动态队列管理芯片实现方法,包括:
S1,报文进入交换机后,通过加时间戳的方式计算报文通过队列所需的第一时间sojourn time。
具体地,每个报文进入交换机内的队列时,芯片通过时间引擎给报文打上第一时间戳timestamp_enq,报文出队列时,打上第二时间戳timestamp_deq,那么报文通过队列所需的第一时间就可以根据这两个时间戳计算出来,即sojourn time=timestamp_deq-timestamp_enq。
S2,将第一时间与预置的期望时延比较,若小于期望时延,则报文通过,若大于期望时延,则进入步骤S3。
具体地,本发明主要需要配置两个参数,一个是这里的期望时延Target,另一个是下述的间隔interval。其中,期望时延是指交换机最大可接受的时延,只要报文通过时间(即上述第一时间)在target范围内,则认为没有拥塞,使用时延来衡量拥塞比以往的通过队列长度来衡量更为准确。本实施例中,芯片通过其内的DsQueue.desiredTime表来配置期望时延。间隔Interval是指在触发丢包之前,允许时延超过target持续多长时间,这是为了保证队列可以吸收一定的突发流量,不是时延一旦超过target就开始丢包,芯片设置了一个interval,只有持续超过interval的时间才会丢包,这样可以吸收一定的突发流量。本实施例中,芯片通过其内的DsQueue.interval表来配置间隔interval。
芯片比较第一时间sojourn time与期望时延target的大小,target是由用户配置,芯片通过读取上述表项DsQueue.desiredTime来获得。若sojourn time<target,则报文出队列正常转发;若sojourn time>=target,则记录超过预期时延的持续时间并与interval比较,详见下面步骤S3。
S3,记录第一时间超过预期时延的持续时间,并将持续时间与预置的间隔相比,若小于间隔,则报文通过,若大于,则进入步骤S4。
具体地,本实施例中,在报文通过队列的时间sojourn time等于或略大于期望时延时,记录为当前时间,并根据该当前时间和上述间隔interval,设置一个第二时间time_thrd,其中,time_thrd=当前时间+interval,这里的interval是由用户配置,芯片通过读取上述DsQueue.interval表来获得;第二时间time_thrd由芯片计算,计算后会更新到芯片的DsQueue.timeThrd表项中。
每个报文将自身出队列时的上述第二时间戳timestamp_deq与第二时间time_thrd相比较,若timestamp_deq<time_thrd,则报文出队列正常转发;若timestamp_deq>=time_thrd,则进入下述步骤S4。
S4,将报文丢弃或在报文中标记ECN字段。
具体地,报文丢弃时,芯片会记录一个丢包数drop_cnt,用于后续动态调整间隔使用。报文的丢弃也可以通过ECN(Explicit Congestion Notification,显示拥塞通知)技术来替换,ECN是一种拥塞通知技术,当发生拥塞时,会在报文中设置ECN字段,来告知其他设备本设备已经拥塞。
优选地,本发明实施例的一种基于时延的动态队列管理芯片实现方法,还包括:
S5,若后面的报文的第一时间还是大于期望时延,则动态调整间隔,丢包数越多,间隔越小,直至第一时间小于期望时延。
具体地,即报文在步骤S4丢弃之后,若后面来的报文还是sojourn time>=target,那么芯片会动态调整间隔interval,时延长的报文越多则丢的越多,这样可以更为公平的保证延时低报文的流量。具体的处理是:将间隔interval与上述丢包数drop_cnt成反比的调整,即drop_cnt越大,interval越小,丢包越快。本实施例中,将间隔interval与丢包数drop_cnt成反比的调整的具体做法为:芯片通过右移来实现,将间隔的各二进位向右移丢包数个位,形成新的间隔,即new_interval=interval>>drop_cnt,,其中,new_interval表示调整后的新的间隔。每次更新完interval,需要将new_interval更新到DsQueue.interval表中。通过这样动态的调整interval,可以区分不同时延的流量,拥塞时更多的丢弃时延大且数量多的流量。
若后面的报文sojourn time又小于target时,则重新从步骤S2开始判断,相应的第二时间time_thrd也会在下一次sojourn time>=target时重新计算,同时也会更新到DsQueue.timeThrd表项中。
本发明通过检测时延来衡量拥塞,比以往根据队列长度更为准确,同时可以更直接的满足低时延的需求。另外,本发明的参数容易配置,能够有效且简单的满足目前网络的性能需求,在实际部署中方便使用。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
Claims (10)
1.一种基于时延的动态队列管理芯片实现方法,其特征在于,所述方法包括:
S1,报文进入交换机后,通过加时间戳的方式计算报文通过队列所需的第一时间;
S2,将所述第一时间与预置的期望时延比较,若小于所述期望时延,则报文通过,若大于期望时延,则进入步骤S3;
S3,记录所述第一时间超过预期时延的持续时间,并将所述持续时间与预置的间隔相比,若小于所述间隔,则报文通过,若大于,则进入步骤S4;
S4,将报文丢弃或在报文中标记ECN字段。
2.根据权利要求1所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述方法还包括:
S5,若后面的报文的第一时间还是大于期望时延,则动态调整间隔,丢包数越多,间隔越小,直至第一时间小于期望时延。
3.根据权利要求2所述的基于时延的动态队列管理芯片实现方法,其特征在于,S1中,芯片在报文进入队列时打上第一时间戳,在报文出队列时打上第二时间戳,所述第一时间等于所述第二时间戳与第一时间戳之差。
4.根据权利要求3所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述期望时延和间隔均为可配置的,所述期望时延通过芯片的DsQueue.desiredTime表来配置,间隔通过芯片的DsQueue.interval表来配置。
5.根据权利要求3所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述S3包括:
S31,在报文通过队列的时间等于或略超过所述期望时延时,记录为当前时间,并根据所述当前时间和间隔,设置一个第二时间,所述第二时间等于当前时间与间隔之和;
S32,报文将自身的所述第二时间戳与所述第二时间比较,若小于,则报文出队列转发;若大于,则进入所述步骤S4。
6.根据权利要求5所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述第二时间由芯片计算出,计算后更新到芯片的DsQueue.timeThrd中。
7.根据权利要求6所述的基于时延的动态队列管理芯片实现方法,其特征在于,若后面的报文的第一时间小于期望时延,则重新从S2开始判断,所述报文的第二时间也在下一次报文的第一时间>=期望时延时重新计算,同时更新到所述DsQueue.timeThrd中。
8.根据权利要求2所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述S5具体包括:芯片在丢弃报文时,记录一个所述丢包数,将间隔与丢包数成反比调整,即丢包数越多,间隔设置越小。
9.根据权利要求8所述的基于时延的动态队列管理芯片实现方法,其特征在于,所述将间隔与丢包数成反比调整具体为:将间隔的各二进位向右移丢包数个位,形成新的间隔,即new_interval=interval>>drop_cnt,其中,new_interval表示调整后的新的间隔,interval为调整前的间隔,drop_cnt为丢包数。
10.根据权利要求9所述的基于时延的动态队列管理芯片实现方法,其特征在于,调整间隔后,将调整后的间隔更新到芯片的DsQueue.interval表中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242967.5A CN109462553A (zh) | 2018-10-24 | 2018-10-24 | 一种基于时延的动态队列管理芯片实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811242967.5A CN109462553A (zh) | 2018-10-24 | 2018-10-24 | 一种基于时延的动态队列管理芯片实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109462553A true CN109462553A (zh) | 2019-03-12 |
Family
ID=65608183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811242967.5A Pending CN109462553A (zh) | 2018-10-24 | 2018-10-24 | 一种基于时延的动态队列管理芯片实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109462553A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112087396A (zh) * | 2020-09-16 | 2020-12-15 | 盛科网络(苏州)有限公司 | 基于时延标记ecn的报文处理方法及系统 |
CN112787951A (zh) * | 2020-08-07 | 2021-05-11 | 中兴通讯股份有限公司 | 拥塞控制方法、装置、设备和计算机可读存储介质 |
CN113132246A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种流量控制方法及相关设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272290A (zh) * | 2008-05-12 | 2008-09-24 | 中国电信股份有限公司 | Ip网络中路径拥塞状态的测量方法、测量装置和转发装置 |
CN102859950A (zh) * | 2010-02-25 | 2013-01-02 | 斯凯普公司 | 估计拥塞的方法 |
CN103338133A (zh) * | 2013-06-28 | 2013-10-02 | 盛科网络(苏州)有限公司 | 动态监测报文转发端口拥塞的方法及装置 |
US9185045B1 (en) * | 2015-05-01 | 2015-11-10 | Ubitus, Inc. | Transport protocol for interactive real-time media |
CN105099940A (zh) * | 2014-05-05 | 2015-11-25 | 中兴通讯股份有限公司 | 队列管理方法和装置 |
CN106330761A (zh) * | 2015-06-30 | 2017-01-11 | 中兴通讯股份有限公司 | 基于队列时延的拥塞控制方法及装置 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
CN108696455A (zh) * | 2017-04-11 | 2018-10-23 | 华为技术有限公司 | 用于处理业务流的方法及装置 |
-
2018
- 2018-10-24 CN CN201811242967.5A patent/CN109462553A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272290A (zh) * | 2008-05-12 | 2008-09-24 | 中国电信股份有限公司 | Ip网络中路径拥塞状态的测量方法、测量装置和转发装置 |
CN102859950A (zh) * | 2010-02-25 | 2013-01-02 | 斯凯普公司 | 估计拥塞的方法 |
CN103338133A (zh) * | 2013-06-28 | 2013-10-02 | 盛科网络(苏州)有限公司 | 动态监测报文转发端口拥塞的方法及装置 |
CN105099940A (zh) * | 2014-05-05 | 2015-11-25 | 中兴通讯股份有限公司 | 队列管理方法和装置 |
US9185045B1 (en) * | 2015-05-01 | 2015-11-10 | Ubitus, Inc. | Transport protocol for interactive real-time media |
CN106330761A (zh) * | 2015-06-30 | 2017-01-11 | 中兴通讯股份有限公司 | 基于队列时延的拥塞控制方法及装置 |
CN108696455A (zh) * | 2017-04-11 | 2018-10-23 | 华为技术有限公司 | 用于处理业务流的方法及装置 |
CN107995127A (zh) * | 2017-12-13 | 2018-05-04 | 深圳乐信软件技术有限公司 | 一种过载保护方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113132246A (zh) * | 2019-12-30 | 2021-07-16 | 华为技术有限公司 | 一种流量控制方法及相关设备 |
CN113132246B (zh) * | 2019-12-30 | 2024-04-26 | 华为技术有限公司 | 一种流量控制方法及相关设备 |
CN112787951A (zh) * | 2020-08-07 | 2021-05-11 | 中兴通讯股份有限公司 | 拥塞控制方法、装置、设备和计算机可读存储介质 |
CN112787951B (zh) * | 2020-08-07 | 2024-02-27 | 中兴通讯股份有限公司 | 拥塞控制方法、装置、设备和计算机可读存储介质 |
CN112087396A (zh) * | 2020-09-16 | 2020-12-15 | 盛科网络(苏州)有限公司 | 基于时延标记ecn的报文处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11032205B2 (en) | Flow control method and switching device | |
KR102317523B1 (ko) | 패킷 제어 방법 및 네트워크 기기 | |
US10772005B2 (en) | Systems and methods for tracking and calculating network usage in a network with multiple user plane functions | |
CN107508719B (zh) | 测量网络时延的方法、装置及网络节点 | |
CN109462553A (zh) | 一种基于时延的动态队列管理芯片实现方法 | |
WO2021083269A1 (zh) | 网络流量的限速方法、装置、中控设备和网关 | |
WO2020244448A1 (zh) | 一种拥塞控制方法、设备及计算机可读介质 | |
US10033644B2 (en) | Controlling congestion controlled flows | |
US20080298248A1 (en) | Method and Apparatus For Computer Network Bandwidth Control and Congestion Management | |
US20230164078A1 (en) | Congestion Control Method and Apparatus | |
US9614777B2 (en) | Flow control in a network | |
EP3018868B1 (en) | Congestion method, device and system | |
Tian et al. | P-PFC: Reducing tail latency with predictive PFC in lossless data center networks | |
WO2020063299A1 (zh) | 统计活跃流数目的方法、网络设备和系统 | |
US20200351626A1 (en) | Systems and methods for distributed charging in digital telecommunications networks | |
WO2020192397A1 (zh) | 一种发送设备的调整方法和通信装置 | |
CN107547442A (zh) | 数据传输缓存队列分配方法及装置 | |
US20180302329A1 (en) | Output rates for virtual output queues | |
US20150195209A1 (en) | Congestion Notification in a Network | |
US20190306870A1 (en) | Dejittering System | |
CN109995608B (zh) | 网络速率计算方法和装置 | |
CN111200558B (zh) | 一种flowlet负载分担方法及装置 | |
CN109787922B (zh) | 一种获取队列长度的方法、设备及计算机可读存储介质 | |
CN115037688A (zh) | 一种流量拥塞控制方法及装置 | |
CN114765585B (zh) | 一种服务质量检测方法、报文处理方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 215101 unit 13 / 16, 4th floor, building B, No. 5, Xinghan street, Suzhou Industrial Park, Jiangsu Province Applicant after: Suzhou Shengke Communication Co.,Ltd. Address before: Unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, 215000 Jiangsu Province Applicant before: CENTEC NETWORKS (SUZHOU) Co.,Ltd. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190312 |
|
WD01 | Invention patent application deemed withdrawn after publication |