CN113647069A - 针对云交换机排队偏移的遥测 - Google Patents
针对云交换机排队偏移的遥测 Download PDFInfo
- Publication number
- CN113647069A CN113647069A CN202080026697.3A CN202080026697A CN113647069A CN 113647069 A CN113647069 A CN 113647069A CN 202080026697 A CN202080026697 A CN 202080026697A CN 113647069 A CN113647069 A CN 113647069A
- Authority
- CN
- China
- Prior art keywords
- hysteresis threshold
- queue
- data packets
- hysteresis
- threshold
- 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
- 238000000034 method Methods 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 13
- 238000003860 storage Methods 0.000 claims description 9
- 238000010801 machine learning Methods 0.000 claims description 4
- 230000003247 decreasing effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 14
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 239000004744 fabric Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
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/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/22—Traffic shaping
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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
-
- 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/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- 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
-
- 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/62—Queue scheduling characterised by scheduling criteria
- H04L47/625—Queue scheduling characterised by scheduling criteria for service slots or service orders
- H04L47/6255—Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
可以提供针对云交换机排队偏移的遥测。可以为网络交换机的队列指定第一滞后阈值和第二滞后阈值。接着,可以为队列的每个传入分组确定相对于第一滞后阈值和第二滞后阈值的队列位置。可以确定在第一预定时段中包括队列位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数量。然后,可以基于交叉的数量、第一滞后阈值、和第二滞后阈值中的一者或多者,改变被发送给网络交换机的队列的数据分组的数量。
Description
本申请是2020年3月27日作为PCT国际专利申请提交的,并且要求2019年4月5日提交的美国非临时专利申请第16/376,617号的优先权的权益,这些申请的全部公开内容在此通过引用整体并入。
技术领域
本公开一般地涉及数据存储。
背景技术
数据中心是用于容纳计算机系统和相关组件(例如,网络结构和存储系统)的设施。数据中心通常包括冗余或备用电源、冗余数据通信连接、环境控件(例如,空调、灭火)、和各种安全设备。
附图说明
包含在本公开中并构成本公开的一部分的附图示出了本公开的各种实施例。在附图中:
图l是数据中心的框图;
图2是提供针对云交换机排队偏移的遥测的方法的流程图;
图3是示出数据中心的交换机处的队列的传入分组的队列位置的图表;以及
图4是示出针对数据中心的交换机处的队列流的滞后阈值的动态调节的图表;以及
图5是计算设备的框图。
具体实施方式
概述
可以提供针对云交换机排队偏移(excursion)的遥测。可以为网络结构的网络交换机的队列指定第一滞后阈值和第二滞后阈值。接着,可以为队列的每个传入分组确定相对于第一滞后阈值和第二滞后阈值的队列位置。可以确定第一预定时段中包括队列位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数量。然后,可以基于交叉的数量、第一滞后阈值、和第二滞后阈值中的一者或多者,改变被发送给网络交换机的队列的数据分组的数量。
前述概述和以下示例实施例均仅是示例和说明性的,不应被视为限制所描述和要求保护的本公开的范围。此外,除了在此所阐述的内容之外,还可以提供特征和/或变化。例如,本公开的实施例可以涉及示例实施例中所描述的各种特征组合和子组合。
示例实施例
以下详细说明参照附图。在可能的情况下,在附图和以下描述中使用相同的附图标记来指代相同或相似的元素。虽然可以描述本公开的实施例,但是修改、改编、和其他实现方式是可能的。例如,可以对附图中所示的元素进行替换、添加、或修改,并且可以通过替换、重新排序、或向所公开的方法添加阶段来修改本文所描述的方法。因此,以下详细描述不限制本公开。相反,本公开的适当范围由所附权利要求限定。
数据中心的网络结构可以包括大约500到1000个叶交换机和8到16个脊交换机。每个叶交换机可以连接到大约32到98个服务器。每个服务器又可以托管大约20个虚拟服务器(例如,端点),对于每个叶交换机而言估计有大约1000到2000个端点。这种复杂性可能导致数据中心的网络结构的功能运作缺乏可见性。此外,如此大量的交换机和每个交换机的大量端点的存在可能使跟踪每个交换机的性能变得更加困难。
一些传统的交换机管理过程对于交换机处的队列占用采用基于滞后的报告结构。然而,这样的传统过程仅报告对于在给定时段内通过高水位线(water mark)的队列占用的计数。这种有限的信息在识别故障交换机或平衡交换机上的负载时可能没有用。此外,此类过程并不提供确定高水位线的可靠方法。
本公开的实施例可以提供管理数据中心的网络结构的交换机的性能的过程。可以为数据中心的网络结构的交换机处的队列流指定第一阈值和第二阈值。滞后阈值可被应用于传输队列入队时间处的队列大小、队列中数据分组入队时间和出队时间之间的延时(latency),或它们两者。
可以为流的每个传入数据分组确定相对位置和延时。可以通过将传入数据分组入队时的队列大小与滞后阈值进行比较从而确定队列大小是高于、低于滞后阈值还是介于滞后阈值之间来确定相对位置。此外,传入数据分组可被标记以入队时间。于是,延时可被确定为在出队时数据分组的入队时间和出队时间之间的时间间隙。因此,延时可以表示传入数据分组在队列中花费的时间量。可以在两个度量中收集相对位置和延时数据。这两个度量中的每个度量又可以与计数器相关联。对于该流,当测量值通过第一滞后阈值然后通过第二阈值时,计数器可被递增一次。计数器可以提供交叉的数量(即,流遭受由针对流的两个滞后阈值中的间隙所指定的抖动的次数)的计数。因此,计数器可以提供有关网络交换机处的负载是恒定的还是不稳定的指示。
在示例实施例中,对于流,滞后阈值可以被动态地调节。例如,可以通过采用预定时段的聚合队列水平来确定队列水平曲线的积分而动态地调节滞后阈值。即,当队列被使用较少时,可以降低滞后阈值,并且相反地,当队列被使用较多时,可以增大滞后阈值并且使滞后阈值间隔得更宽。滞后阈值的动态调节可使得阈值保持与网络交换机处的流量的数量相关并且被定期穿过,以使计数器持续计数。
在示例实施例中,可以是使用学习过程来动态地调节滞后阈值。例如,学习过程可以基于滞后阈值的历史数据来训练。学习过程然后可被用来预测滞后阈值。因此,所预测的滞后阈值可以提供有关在预定时段内网络交换机处的延时或负载的指示,该指示可被用于改变网络交换机处的负载。例如,可以改变交换机处的传入数据分组的数量以平衡网络交换机处的延时,或者可以通过重定向去往网络交换机的传入数据分组来改变网络交换机处的负载。
图1是根据本公开实施例的包括网络的数据中心100的框图。如图1所示,数据中心100可以包括多个服务器105、多个叶交换机110、和多个脊路由器115。多个服务器105可以包括但不限于,第一服务器120、第二服务器125、第三服务器130、第四服务器135、第五服务器140、和第六服务器145。多个叶交换机110可以包括但不限于,第一叶交换机150、第二叶交换机155、第三叶交换机160、第四叶交换机165、第五叶交换机170、和第六叶交换机175。多个脊路由器115可以包括但不限于,第一脊交换机180和第二脊交换机185。在示例实施例中,将多个服务器105连接到多个叶交换机110并且将多个叶交换机110连接到多个脊路由器115的网络也可以被称为数据中心网络或网络。
图1所示的网络可以包括但不限于,Clos网络或Fat-Tree网络。Fat-Tree网络可以通过交错许多较小的交换机来模拟非常大的交换机,从而降低成本并提高可扩展性。Fat-Tree网络的好处可能包括但不限于,基于相同成本的多路径的交换结构的可用性、简化的网络、以及每个网络节点上充分利用的链路带宽。Fat-Tree还可以允许网络按需渐进地缩放和扩展。图1的网络可被组织成两个或更多个阶段,但上面如图所示将逐连接性地解析为两个阶段,北面是超脊层(即,RIFT中的结构顶部(Top of Fabric)或ToF),它可被完全网格化为南面的叶层。如图1所示,多个脊路由器115可以包括上述的超脊层,并且多个叶交换机110可以包括上述的叶层。
多个服务器105中的每一个可以连接到多个叶交换机110中的相应一个叶交换机。多个叶交换机110可以实现第2层桥接和第3层路由功能。多个叶交换机110中的每一个可以连接到多个脊路由器115中的每一个。多个脊路由器115可以在数据中心100中提供冗余路径和连接。例如,多个脊路由器115可以包括多个端口,这些端口用于接收数据分组并将接收到的数据分组转发到目的地地址。多个叶交换机110和多个脊路由器115之间的连接可以图示出连接性并且可以不包括实际链路。
图2是阐述根据本公开的实施例的提供针对云交换机排队偏移的遥测的方法200中所涉及的一般阶段的流程图。方法200可以由上文关于图1所描述的多个服务器105、多个叶交换机110、或多个脊路由器115中的任一者来实现。以下关于图5更详细地描述的计算设备500可以包括用于多个服务器105、多个叶交换机110、或多个脊路由器115中的任一者的工作环境。下面将更详细地描述实现方法200的各阶段的方式。
方法200可以在块205处开始并且进行到块210,在块210处可以提供网络交换机处的队列。可以针对交换机的端口处的传入数据分组提供此队列。此队列可用于存储传入数据分组以供网络交换机转发。例如,可以为第一脊交换机180和第二脊交换机185中的每个脊交换机的每个端口提供队列,以用于从第一叶交换机150、第二叶交换机155、第三叶交换机160、第四叶交换机165、第五叶交换机170、和第六叶交换机175中的一个或多个接收到的传入数据分组。在示例实施例中,第一脊交换机180和第二脊交换机185中的每个脊交换机可以包括多个网络端口并且可以为每个网络端口提供队列。
在块210处提供队列之后,方法200可以进行到块215,在块215处可以指定第一滞后阈值和第二滞后阈值。可以为队列中的每个流指定第一滞后阈值和第二滞后阈值,也可以只为队列中的一个流指定第一滞后阈值和第二滞后阈值。此外,可以为队列大小和流的延时中的每一个指定第一滞后阈值和第二滞后阈值。第一滞后阈值可以低于第二滞后阈值,第一滞后阈值和第二滞后阈值之间的间隙表示队列的抖动。例如,可以针对要在第一脊交换机180和第二脊交换机185中的每个脊交换机处接收的数据分组的队列指定第一滞后阈值和第二滞后阈值。在示例实施例中,第一滞后阈值和第二滞后阈值可以表示第一脊交换机180和第二脊交换机185中的每个脊交换机处的负载。
一旦在块215处指定了第一滞后阈值和第二滞后阈值,方法200就可以前进到块220,在块220处可以为每个传入数据分组确定相对于第一滞后阈值和第二滞后阈值的队列位置。队列位置可以基于队列大小来确定,队列大小可以表示在传入数据分组之前已经在队列中排队的数据分组的数量。可以用队列大小对传入数据分组进行标记。
此外,可以基于传入数据分组的延时来确定队列位置。例如,可以用表示传入数据分组到达队列的时间戳的入队时间来对传入数据分组进行标记。可以在数据分组出队时通过确定当前时间和入队时间之间的差值来确定数据分组的延时。在示例实施例中,可以存储所确定的队列大小和队列的传入数据分组的延时。
在块220处确定了传入数据分组的队列位置之后,方法200可以进行到块225,在块225处可以确定第一预定时段内包括队列位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数量。例如,可以在网络交换机处启动计数器。可以将传入数据分组的队列位置与队列的第一滞后阈值和第二滞后阈值进行比较并在图表上表示出来。图3示出了表示示例队列位置的示例图表300。当队列位置通过第一阈值然后通过第二阈值时,计数器可被递增。在示例实施例中,计数器可以提供有关队列处的负载是恒定的还是不稳定的(例如,波动的)的指示。
一旦在块225处确定了交叉的数量,方法200就可以进行到块230,在块230处可以基于交叉的数量、第一滞后阈值、和第二滞后阈值中的一者或多者来改变发送给网络交换机的队列的数据分组的数量。例如,当第一预定时段的交叉的数量大于预定值时,可以改变数据分组的数量。类似地,当第二滞后阈值高于预定水平时,可以减少发送给网络交换机的数据分组的数量。此外,当第二滞后阈值低于预定水平时,可以增加发送给网络交换机的数据分组的数量。可以通过将数据分组流量引导向网络交换机或远离网络交换机来改变数据分组的数量。
一旦在块230处改变了队列的数据分组的数量,方法200就可以进行到块235,在块235处可以调节第一滞后阈值和第二滞后阈值中的每一个以用于第二预定时段。例如,可以调节第一滞后阈值和第二滞后阈值以用于紧接在第一预定时段之后的下一预定时段。可以基于表示队列位置对第一滞后阈值和第二滞后阈值的通过数量的历史数据来调节第一滞后阈值和第二滞后阈值。
图4示出了示出对第一滞后阈值和第二滞后阈值的调节的示例图表400。如图4所示,在由0到1表示的第一预定时段中,第一阈值被通过七次(即,M=7),而第二阈值被通过零次(即,N=0)。因此,对于由1至2表示的第二预定时段,降低第一滞后阈值和第二滞后阈值。第一滞后阈值和第二滞后阈值可被降低一定量,该量反映队列位置相对于第一滞后阈值和第二滞后阈值的整体(integral)。如图4所示,在第二预定时段(即,1到2)期间,第一滞后阈值被通过四次(即,M=4),而第二滞后阈值被通过七次(即,N=7)。因此,对于第二预定时段之后的由2至3表示的第三预定时段,第一滞后阈值和第二滞后阈值被增大。第一滞后阈值和第二滞后阈值被增大一定量,该量反映队列位置相对于第一滞后阈值和第二滞后阈值的积分。如图4所示,在第三预定时段(即,2到3)期间的增大之后,第一滞后阈值被通过八次(即,M=8),而第二滞后阈值不被通过(即,N=7)。
在示例实施例中,对于随后的时段,可以通过预测传入数据分组的队列位置来调节第一滞后阈值和第二滞后阈值。队列位置可以通过采用学习过程来预测。可以使用第一滞后阈值和第二滞后阈值的历史数据来训练和加强学习过程。然后可以使用经过训练的学习过程来预测第一滞后阈值和第二滞后阈值,所预测的第一滞后阈值和第二滞后阈值可以表示在即将到来的时段中网络交换机上的延时和负载。可以实施一项或多项纠正措施来平衡延时。例如,当所预测的延时小于另一队列的延时或预期的延时时,可以将额外的数据分组流量引导到该队列。相反,当所预测的延时大于另一队列的延时或预期的延时时,可以将一个或多个数据分组流量引导离开该队列。另外,当所预测的延时大于另一队列的延时或预期的延时时,可以对网络交换机进行标记以供进一步分析。
因此,如图4所示,第一滞后阈值和第二滞后阈值可以是移动的;例如,它们可能随着队列水平曲线的积分(例如,采用超过10毫秒的聚合队列水平)而演变。因此,如果队列被使用较少,则滞后阈值可能会降低,相反,如果队列被使用较多,则滞后阈值可能会上升并且间隔更宽。这可使得滞后阈值保持与流量的数量相关并且仍可被定期穿过,因此计数器可持续计数。
虽然本公开的实施例不限于特定的机器学习技术,但可以使用经典的强化学习来关联所获得的值和对网络的影响(例如,以预测和避免incast/拥塞损失)。如果机器学习报告足够大,则可维护滞后阈值的历史,其可提供关于最后一秒的队列行为的提示。例如,每10毫秒聚合一次,可为每个滞后阈值提供每秒100个点。结果可以包括关于队列操作的密集且信息丰富的信息。在块235处调节第一滞后阈值和第二滞后阈值之后,方法200可以在结束块240处终止。
本公开的实施例可以提供有关数据中心交换机中的队列活动的密集且信息丰富的报告方式。滞后阈值可以充当滞后边界,并且可以保持对于高水平(即,第二滞后阈值)和低水平(即,第一滞后阈值)被通过多少次的计数。这些水平和它们的距离可能会随着使用的积分而变化。队列停留在高电平之上的时间越长,高水平就可能变得越高。低水平可徐缓地跟随高水平,两者之间的距离可随着高水平而增大。在测量时,两个水平的值可以是对于队列历史(例如,可以在学习机中提供)的指示。
根据实施例,一种方法可以包括:为网络交换机的队列指定第一滞后阈值和第二滞后阈值;为队列处的多个传入分组中的每一个确定相对于第一滞后阈值和第二滞后阈值的队列位置;确定第一预定时段中包括队列位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数目;以及基于交叉的数量、第一滞后阈值、和第二滞后阈值中的至少一者,改变队列处的多个传入数据分组的数量。
该方法还可以包括:基于第一预定时段中的交叉的数量,修改网络交换机处的队列的第一滞后阈值和第二滞后阈值,以用于第二预定时段。修改第一滞后阈值和第二滞后阈值可以包括:当第一预定时段中的交叉的数量小于预定数量时,降低第一滞后阈值和第二滞后阈值。降低第一滞后阈值和第二滞后阈值可以包括:使得第一滞后阈值比第二滞后阈值降低得更多。
根据示例实施例,修改第一滞后阈值和第二滞后阈值可以包括:当第一预定时段中的交叉的数量大于预定数量时,增大第一滞后阈值和第二滞后阈值。增大第一迟滞阈值和第二迟滞阈值可以包括:使得第一迟滞阈值比第二迟滞阈值增大得更多。此外,修改第一滞后阈值和第二滞后阈值可以包括:通过机器学习来修改第一滞后阈值和第二滞后阈值。另外,修改第一滞后阈值和第二滞后阈值包括:基于第一滞后阈值和第二滞后阈值对应的历史数据来预测第一滞后阈值和第二滞后阈值。
在示例实施例中,改变被发送给队列的多个传入数据分组的数量可以包括:当第二滞后阈值大于预定值时,减少被发送给队列的多个传入数据分组的数量。此外,改变被发送给网络交换机的队列的多个传入数据分组的数量可以包括:当第二滞后阈值小于预定值时,增大被发送给队列的多个传入数据分组的数量。
根据示例实施例,一种装置可以包括:存储装置;和耦合到存储装置的处理单元。处理单元可用于:在端口处提供队列;为队列指定第一滞后阈值和第二滞后阈值;并且为队列处的多个传入数据分组中的每一个确定相对于第一滞后阈值和第二滞后阈值的队列位置。处理单元还可以用于:确定第一预定时段中包括队列位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数量;并且基于交叉的数量、第一滞后阈值、和第二滞后阈值中的至少一者来改变多个传入数据分组的数量。
本公开的实施例可以提供一种非暂态计算机可读介质,存储有一组指令。该组指令在被运行时执行一种方法,该方法包括:为网络交换机处的队列的延时指定第一滞后阈值和第二滞后阈值;确定在队列处接收的多个数据分组中的每一个的延时;以及针对多个数据分组中的每一个确定延时相对于第一滞后阈值和第二滞后阈值的相对位置。该组指令在被运行时执行的所述方法还包括:确定第一预定时段中包括相对位置通过第一滞后阈值并随后通过第二滞后阈值的交叉的数量;以及基于交叉的数量、第一滞后阈值、和第二滞后阈值中的至少一者,改变在队列处接收的多个数据分组的数量。
图5示出了计算设备500。如图5所示,计算设备500可以包括处理单元510和存储器单元515。存储器单元515可以包括软件模块520和数据库525。当在处理单元510上运行时,软件模块520可以执行用于提供针对云交换机排队偏移的遥测的过程,包括例如以上关于图2描述的方法200的任何一个或多个阶段。计算设备500例如可以为多个服务器105、多个叶交换机110、和多个脊路由器115提供操作环境。多个服务器105、多个叶交换机110、和多个脊路由器115可以在其他环境中运行并且不限于计算设备500。
计算设备500可以使用个人计算机、网络计算机、大型机、路由器、或其他类似的基于微型计算机的设备来实现。计算设备500可以包括任何计算机操作环境,例如,手持设备、多处理器系统、基于微处理器的或可编程的发送器电子设备、小型计算机、大型计算机等。计算设备500还可以在其中任务由远程处理设备执行的分布式计算环境中实现。前述系统和设备是示例并且计算设备500可以包括其他系统或设备。
例如,本公开的实施例可以被实现为计算机进程(方法)、计算系统、或制品(例如,计算机程序产品或计算机可读介质)。计算机程序产品可以是计算机系统可读并且编码了用于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算系统可读并且编码了用于执行计算机进程的指令的计算机程序的载波上的传播信号。因此,本公开可以体现在硬件和/或软件(包括固件、驻留软件、微代码等)中。换言之,本公开的实施例可以采用计算机可用或计算机可读存储介质上的计算机程序产品的形式,该存储介质中包含供指令运行系统使用或与其结合使用的计算机可用或计算机可读程序代码。计算机可用或计算机可读介质可以是能够包含、存储、传送、传播、或传输程序以供指令执行系统、装置、或设备使用或与其结合使用的任何介质。
计算机可用或计算机可读介质可以是例如但不限于,电子、磁、光、电磁、红外、或半导体系统、装置、设备、或传播介质。更具体的计算机可读介质示例(非穷尽列举),计算机可读介质可以包括以下项:具有一根或多根电线的电连接、便携式计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、和便携式光盘只读存储器(CD-ROM)。请注意,计算机可用或计算机可读介质甚至可以是纸的或其他合适的在其上打印了程序的介质,因为程序可以通过电子方式捕获(例如,通过对纸或其他介质的光学扫描),然后必要时以合适的方式被编译、解析、或以其他方式处理,然后存储在计算机存储器中。
虽然已经描述了本公开的某些实施例,但可以存在其他实施例。此外,虽然本公开的实施例已经被描述为与存储在存储器和其他存储介质中的数据相关联,但是数据也可以存储在其他类型的计算机可读介质上或从其他类型的计算机可读介质读取,这些其他类型的计算机可读介质是例如,辅助存储设备(如硬盘、软盘、或CD-ROM)、来自互联网的载波、或其他形式的RAM或ROM。此外,根据本公开实施例的语义数据可以被分析而不被存储。在这种情况下,当数据流量通过例如,缓存服务器或网络路由器时,可以使用在线数据挖掘技术。此外,在不脱离本公开的情况下,可以通过任何方式修改所公开的方法的各阶段,包括通过重新排序这些阶段和/或插入或删除阶段。
此外,本公开的实施例可以在包括离散的电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或包含电子元件或微处理器的单个芯片上实施。本公开的实施例还可以使用能够执行诸如,逻辑与(AND)、逻辑或(OR)、和逻辑非(NOT)之类的逻辑运算的其他技术来实施,包括但不限于机械、光学、流体、和量子技术。另外,本公开的实施例可以在通用计算机内或在任何其他电路或系统中实施。
本公开的实施例可以通过片上系统(SOC)实施,其中,图1中所示的每个或许多组件可以集成到单个集成电路上。这种SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、和各种应用功能,所有这些都可以集成(或“烧制”)到芯片衬底上作为单个集成电路。当通过SOC操作时,这里关于本公开的实施例描述的功能可以通过与计算设备500的其他组件集成在单个集成电路(芯片)上的专用逻辑来执行。
本公开的实施例在上面,例如参考根据本公开的实施例的方法、系统、和计算机程序产品的框图和/或操作图而被描述。各块中注明的功能/动作可以不按任何流程图中所示的顺序进行。例如,根据所涉及的功能/动作,连续示出的两个块实际上可以基本上同时执行,或者块有时可以以相反的顺序执行。
对于这里描述的每种方法,提供了被布置为执行该方法的对应装置和存储指令集(该组指令在被运行时执行所述方法)的非暂态计算机可读介质。
虽然说明书包括示例,但本公开的范围由以下权利要求指示。此外,虽然已经以结构特征和/或方法动作特定的语言描述了说明书,但权利要求不限于上述特征或动作。相反,上述特定特征和动作是作为本公开的实施例的示例公开的。
Claims (20)
1.一种方法,包括:
为网络交换机的队列指定第一滞后阈值和第二滞后阈值;
为所述队列处的多个传入数据分组中的每一个确定相对于所述第一滞后阈值和所述第二滞后阈值的队列位置;
确定第一预定时段中包括所述队列位置通过所述第一滞后阈值并随后通过所述第二滞后阈值的交叉的数量;以及
基于所述交叉的数量、所述第一滞后阈值、和所述第二滞后阈值中的至少一者,改变所述队列处的所述多个传入数据分组的数量。
2.根据权利要求1所述的方法,还包括:
基于所述第一预定时段中的所述交叉的数量,修改针对所述网络交换机处的所述队列的所述第一滞后阈值和所述第二滞后阈值,以用于第二预定时段。
3.根据权利要求2所述的方法,其中,修改所述第一滞后阈值和所述第二滞后阈值包括:当所述第一预定时段中的所述交叉的数量小于预定数量时,降低所述第一滞后阈值和所述第二滞后阈值。
4.根据权利要求3所述的方法,其中,降低所述第一滞后阈值和所述第二滞后阈值包括:使得所述第一滞后阈值比所述第二滞后阈值降低得更多。
5.根据权利要求2所述的方法,其中,修改所述第一滞后阈值和所述第二滞后阈值包括:当所述第一预定时段中的所述交叉的数量大于预定数量时,增大所述第一滞后阈值和所述第二滞后阈值。
6.根据权利要求5所述的方法,其中,增大所述第一滞后阈值和所述第二滞后阈值包括:使得所述第一滞后阈值比所述第二滞后阈值增大得更多。
7.根据权利要求2至6中任一项所述的方法,其中,修改所述第一滞后阈值和所述第二滞后阈值包括:通过机器学习来修改所述第一滞后阈值和所述第二滞后阈值。
8.根据权利要求2至7中任一项所述的方法,其中,修改所述第一滞后阈值和所述第二滞后阈值包括:基于所述第一滞后阈值和所述第二滞后阈值对应的历史数据来预测所述第一滞后阈值和所述第二滞后阈值。
9.根据前述权利要求中任一项所述的方法,其中,改变被发送给所述队列的所述多个传入数据分组的数量包括:当所述第二滞后阈值大于预定值时,减少被发送给所述队列的所述多个传入数据分组的数量。
10.根据前述权利要求中任一项所述的方法,其中,改变被发送给所述网络交换机的所述队列的所述多个传入数据分组的数量包括:当所述第二滞后阈值小于预定值时,增大被发送给所述队列的所述多个传入数据分组的数量。
11.一种装置,包括:
存储装置;和
耦合到所述存储装置的处理单元,其中,所述处理单元能操作以:
在端口处提供队列;
为所述队列指定第一滞后阈值和第二滞后阈值;
为所述队列处的多个传入数据分组中的每一个确定相对于所述第一滞后阈值和所述第二滞后阈值的队列位置;
确定第一预定时段中包括所述队列位置通过所述第一滞后阈值并随后通过所述第二滞后阈值的交叉的数量;并且
基于所述交叉的数量、所述第一滞后阈值、和所述第二滞后阈值中的至少一者,改变所述多个传入数据分组的数量。
12.根据权利要求11所述的装置,其中,所述处理单元能操作以确定所述队列位置包括所述处理单元能操作以:
确定所述队列的所述多个传入数据分组中的每一个的延时;并且
将所确定的延时与所述第一滞后阈值和所述第二滞后阈值进行比较。
13.根据权利要求12所述的装置,其中,所述处理单元能操作以确定所述队列的所述多个传入数据分组中的每一个的延时包括所述处理单元能操作以:
为所述多个传入分组中的每一个标记入队时间;并且
将所述多个传入分组中的每一个出队时的延时确定为自所述入队时间以来的时间量。
14.根据权利要求11至13中任一项所述的装置,其中,所述队列被提供在数据中心网络的脊交换机的所述端口处。
15.根据权利要求14所述的装置,其中,所述脊交换机能操作以从所述数据中心网络的一个或多个叶交换机接收所述多个传入分组。
16.一种非暂态计算机可读介质,存储有一组指令,所述指令在被运行时执行由该组指令运行的方法,所述方法包括:
针对网络交换机处的队列的延时,指定第一滞后阈值和第二滞后阈值;
为在所述队列处接收的多个数据分组中的每一个确定所述延时;
为所述多个数据分组中的每一个确定所述延时相对于所述第一滞后阈值和所述第二滞后阈值的相对位置;
确定第一预定时段中包括所述相对位置通过所述第一滞后阈值并随后通过所述第二滞后阈值的交叉的数量;以及
基于所述交叉的数量、所述第一滞后阈值、和所述第二滞后阈值中的至少一者,改变在所述队列处接收的所述多个数据分组的数量。
17.根据权利要求16所述的非暂态计算机可读介质,其中,为所述队列的所述延时指定所述第一滞后阈值和所述第二滞后阈值包括:基于针对所述队列的所述第一滞后阈值和所述第二滞后阈值的历史数据,针对所述队列的所述延时指定所述第一滞后阈值和所述第二滞后阈值。
18.根据权利要求16或17所述的非暂态计算机可读介质,其中,为所述多个数据分组中的每一个确定所述延时包括:
为所述多个数据分组中的每一个标记入队时间;并且
将所述多个数据分组中的每一个出队时的延时确定为自所述入队时间以来的时间量。
19.根据权利要求16至18中任一项所述的非暂态计算机可读介质,其中,改变在所述队列处接收的所述多个数据分组的数量包括:响应于确定所述交叉的数量超过预定值,减少所述多个数据分组的数量。
20.根据权利要求16至19中任一项所述的非暂态算机可读介质,其中,改变在所述队列处接收的所述多个数据分组的数量包括:响应于确定所述第二滞后阈值大于预定值,减少所述多个数据分组的数量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/376,617 | 2019-04-05 | ||
US16/376,617 US10904157B2 (en) | 2019-04-05 | 2019-04-05 | Telemetry for cloud switches queuing excursion |
PCT/US2020/025391 WO2020205587A1 (en) | 2019-04-05 | 2020-03-27 | Telemetry for cloud switches queuing excursion |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113647069A true CN113647069A (zh) | 2021-11-12 |
CN113647069B CN113647069B (zh) | 2024-07-02 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050185581A1 (en) * | 2004-02-19 | 2005-08-25 | International Business Machines Corporation | Active flow management with hysteresis |
US20050262266A1 (en) * | 2002-06-20 | 2005-11-24 | Niclas Wiberg | Apparatus and method for resource allocation |
US20080225705A1 (en) * | 2007-03-12 | 2008-09-18 | Janarthanan Bhagatram Y | Monitoring, Controlling, And Preventing Traffic Congestion Between Processors |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
CN103532877A (zh) * | 2013-10-29 | 2014-01-22 | 华北科技学院 | 一种保障无线传感器网络信息实时传输的调度方法 |
US20140068205A1 (en) * | 2012-09-04 | 2014-03-06 | Advanced Micro Devices, Inc. | Systems and methods for managing queues |
US20140328175A1 (en) * | 2013-05-01 | 2014-11-06 | Cisco Technology, Inc. | Utilizing latency control to alleviate bufferbloat |
US20160337258A1 (en) * | 2015-05-13 | 2016-11-17 | Cisco Technology, Inc. | Dynamic Protection Of Shared Memory Used By Output Queues In A Network Device |
CN107948103A (zh) * | 2017-11-29 | 2018-04-20 | 南京大学 | 一种基于预测的交换机pfc控制方法及控制系统 |
CN109565476A (zh) * | 2016-08-29 | 2019-04-02 | 思科技术公司 | 使用共享全局存储器储备进行队列保护 |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050262266A1 (en) * | 2002-06-20 | 2005-11-24 | Niclas Wiberg | Apparatus and method for resource allocation |
US20050185581A1 (en) * | 2004-02-19 | 2005-08-25 | International Business Machines Corporation | Active flow management with hysteresis |
US20080225705A1 (en) * | 2007-03-12 | 2008-09-18 | Janarthanan Bhagatram Y | Monitoring, Controlling, And Preventing Traffic Congestion Between Processors |
US20140068205A1 (en) * | 2012-09-04 | 2014-03-06 | Advanced Micro Devices, Inc. | Systems and methods for managing queues |
US20140328175A1 (en) * | 2013-05-01 | 2014-11-06 | Cisco Technology, Inc. | Utilizing latency control to alleviate bufferbloat |
CN103414761A (zh) * | 2013-07-23 | 2013-11-27 | 北京工业大学 | 一种基于Hadoop架构的移动终端云资源调度方法 |
CN103532877A (zh) * | 2013-10-29 | 2014-01-22 | 华北科技学院 | 一种保障无线传感器网络信息实时传输的调度方法 |
US20160337258A1 (en) * | 2015-05-13 | 2016-11-17 | Cisco Technology, Inc. | Dynamic Protection Of Shared Memory Used By Output Queues In A Network Device |
CN109565476A (zh) * | 2016-08-29 | 2019-04-02 | 思科技术公司 | 使用共享全局存储器储备进行队列保护 |
CN107948103A (zh) * | 2017-11-29 | 2018-04-20 | 南京大学 | 一种基于预测的交换机pfc控制方法及控制系统 |
Non-Patent Citations (3)
Title |
---|
孙立峰, 胡晓峰: "虚拟实景空间实时漫游的缓存与调度策略", 小型微型计算机系统, no. 03 * |
臧韦菲;兰巨龙;胡宇翔;: "一种基于SDN的多路径流调度机制", 计算机应用研究, no. 06 * |
赵东平;张德运;高磊;郑卫斌;: "Web流语义感知的改进队列管理算法", 西安交通大学学报, no. 10, 20 October 2006 (2006-10-20) * |
Also Published As
Publication number | Publication date |
---|---|
US20200322281A1 (en) | 2020-10-08 |
US10904157B2 (en) | 2021-01-26 |
EP3949296A1 (en) | 2022-02-09 |
WO2020205587A1 (en) | 2020-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Curtis et al. | Mahout: Low-overhead datacenter traffic management using end-host-based elephant detection | |
US9967188B2 (en) | Network traffic flow management using machine learning | |
US7478154B2 (en) | Storage system with link selection control | |
US20180026878A1 (en) | Scalable deadlock-free deterministic minimal-path routing for dragonfly networks | |
Aiello et al. | Adaptive packet routing for bursty adversarial traffic | |
Yan et al. | Cab: A reactive wildcard rule caching system for software-defined networks | |
Zheng et al. | Sentinel: Failure recovery in centralized traffic engineering | |
US11451494B2 (en) | Packet order recovery in a programmable edge switch in a data center network | |
CN111865781A (zh) | 用于路径优化的方法、设备和计算机程序产品 | |
Syed et al. | Fault-tolerant dynamic scheduling and routing for TSN based in-vehicle networks | |
Zahavi et al. | Distributed adaptive routing convergence to non-blocking DCN routing assignments | |
CN116114233A (zh) | 自动流管理 | |
Huang et al. | QDAPS: Queueing delay aware packet spraying for load balancing in data center | |
CN110519302A (zh) | 一种防报文攻击的方法和装置 | |
US11876718B2 (en) | Graded throttling for network-on-chip traffic | |
Li et al. | Survey on traffic management in data center network: from link layer to application layer | |
Diao et al. | Flex: A flowlet-level load balancing based on load-adaptive timeout in DCN | |
US8139499B2 (en) | Method and arrangement for determining transmission delay differences | |
US10171354B2 (en) | Communication processing system, communication processing apparatus, communication processing method, and storage medium | |
US10904157B2 (en) | Telemetry for cloud switches queuing excursion | |
KR101311572B1 (ko) | 가상 네트워크에서 사전 지식없이 승인을 제어하고 데이터 플로우에 리소스를 할당하기 위한 방법 | |
CN113647069B (zh) | 针对云交换机排队偏移的遥测 | |
Silva et al. | Controlling network latency in mixed hadoop clusters: Do we need active queue management? | |
KR20190120057A (ko) | 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘 | |
CN111901237A (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 | ||
GR01 | Patent grant |