CN102640457B - 用于输入排队交换机的基于差分帧的调度 - Google Patents
用于输入排队交换机的基于差分帧的调度 Download PDFInfo
- Publication number
- CN102640457B CN102640457B CN201080048846.2A CN201080048846A CN102640457B CN 102640457 B CN102640457 B CN 102640457B CN 201080048846 A CN201080048846 A CN 201080048846A CN 102640457 B CN102640457 B CN 102640457B
- Authority
- CN
- China
- Prior art keywords
- time slot
- switch ports
- ports themselves
- dedicated time
- dedicated
- 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.)
- Expired - Fee Related
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/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/522—Dynamic queue service slot or variable bandwidth allocation
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
针对具有虚拟输出队列(VOQ)的输入排队(IQ)交换机,采用基于差分帧的调度方案。差分调度基于2个连续帧中的业务差异来调整先前的调度。为了以低复杂度来保证服务质量(QoS),该调整首先在每个帧中为每个端口对保留一些时隙,然后根据二分顺序来释放过剩的分配并补充不足的分配,其被设计为用于高吞吐量、低抖动、公平和低计算复杂度。
Description
相关申请的交叉引用
本申请要求于2009年11月4日提交的美国临时专利申请No.61/258,097的权益。为了所有的目的,将该临时专利申请的公开内容以引用的方式并入本文中。
背景技术
除非本文中另行指出,否则在本节中描述的材料并非本申请的权利要求的现有技术,且不因为其被本节包括而被承认为现有技术。
可以将网络建模为由对业务进行路由的交换机构成。如果交换机构成的内部加速是一,并将时间分为时隙,则单元传输(cell transfer)就受到唯一的配对约束:即,在时隙中,一个单元可以从输入离开,且一个单元也可以到达一个输出。因此,在单元传输之前需要调度,以计算输入与输出之间的匹配。随着实时应用(比如视频和语音)的快速增长,对调度算法加以更严格的要求,要求这些调度算法具有低计算复杂度,并在吞吐量、延迟、延迟抖动和公平方面实现良好的性能。
之前,提出了逐时隙匹配算法(比如,最大尺寸匹配(MSM))来最大化每个时隙中的吞吐量性能。这些方案一般基于收集到的输入队列的信息来计算在每个时隙中的匹配,并对匹配算法的计算复杂度加以严格的要求,计算复杂度是在设计具有大交换机尺寸的高速路由器中的主要可扩缩性问题之一。在用于逐帧计算输入/输出匹配的基于帧的匹配方案中,每个帧由一定数目的连续时隙构成。这些方案将计算匹配的频率从每个时隙降低到每个帧。
发明内容
本公开描述一种用于在网络环境中调度输入排队交换机的方法。根据一些示例,所述方法可以包括:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述方法还可以包括:根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
本公开还提供一种用于在网络环境中调度输入排队交换机的装置。根据一些示例,所述装置可以包括:存储器,被配置为存储指令,且还存储与交换机端口对相关联的对网络业务进行定向的网络信息数据;以及处理器,耦合到所述存储器,其中,所述处理器适于执行所述指令,当所述指令被执行时,所述指令将所述处理器配置为:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述处理器还可以根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
本公开还描述一种计算机可读存储介质,其具有存储于其上的用于以基于差分帧(differential frame)的方式在网络环境中调度输入排队交换机的指令。根据其它示例,所述指令可以包括:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述指令还可以包括:根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
以上发明内容仅仅是说明性的,而绝不是限制性的。除了上述示例性的各方案、各实施例和各特征之外,参照附图和以下详细说明,将清楚其他方案、其他实施例和其他特征。
附图说明
根据以下说明和所附权利要求,结合附图,本公开的前述和其他特征将更加清楚。在认识到这些附图仅仅示出了根据本公开的一些示例且因此不应被认为是限制本公开范围的前提下,通过使用附图以额外的特征和细节来详细描述本公开,在附图中:
图1示出了示例2入/2出交换机对以及该交换机对的各种置换矩阵;
图2示出了用于产生针对长度为6的圆形阵列的二分顺序(dichotomy order)O的示例;
图3示出了在具有不同帧长度的静态均匀业务下的在根据至少一些实施例的系统中的“吞吐量性能”对“业务负载”的比较;
图4示出了在具有不同帧长度的静态均匀业务下的在根据至少一些实施例的系统中的“抖动性能”对“业务负载”的比较;
图5示出了在均匀业务下的在根据至少一些实施例的系统中的“平均计算复杂度”对“帧长度”对“输入负载”的比较;
图6示出了通用计算设备,该通用计算设备可以用于实现针对输入排队交换机的基于差分帧的网络业务调度;
图7是示出了针对输入排队交换机的基于差分帧的调度的示例方法的流程图,该示例方法可以由诸如图6中的设备600之类的计算设备来执行;
图8示出了示例计算机程序产品的框图,其全部根据本文所述的至少一些实施例来布置。
具体实施方式
在以下详细说明中,参考了作为详细说明的一部分的附图。在附图中,类似符号通常表示类似部件,除非上下文另行指明。具体实施方式部分、附图和权利要求书中记载的示例性实施例并不是限制性的。在不脱离在此所呈现主题的精神或范围的情况下,可以利用其他实施例,且可以进行其他改变。应当理解,在此一般性记载以及附图中图示的本公开的各方案可以按照在此明确公开的多种不同配置来设置、替换、组合、分割和设计。
本公开总体涉及与针对输入排队交换机的基于差分帧的调度相关的方法、装置、系统、设备和/或计算机程序产品等。
简而言之,针对具有虚拟输出队列(VOQ)的输入排队(IQ)交换机,可以采用基于差分帧的调度方案。差分调度可以基于2个连续帧中的业务差异来调整先前的调度。为了以低复杂度来保证服务质量(QoS),该调整可以首先在每个帧中为每个端口对保留一些时隙,然后根据二分顺序来释放过剩的分配并补充不足的分配,其被设计为用于高吞吐量、低抖动、公平和低计算复杂度。
图1示出了根据本文所述的至少一些实施例所布置的示例2入/2出交换机对和针对该交换机对的各种置换矩阵。具有虚拟输出队列(VOQ)的输入排队(IQ)纵横制(crossbar)交换机构成是在高速路由器和交换机的设计中新近的方案。在这种交换机构成中,根据分组的目的地端口,在输入之前将到达的分组进行排队,这称为虚拟输出队列。与传统IQ或输出排队(OQ)方案相比,利用VOQ的IQ方案克服了输出排队方案的糟糕的可扩缩性。另一方面,利用VOQ的IQ避免了由于在现有输入排队方案中的众所周知的队头(head ofline,HOL)阻塞问题所产生的性能劣化。
对于交换机操作,可以使用逐时隙匹配算法(比如最大尺寸匹配(MSM))来最大化每个时隙中的吞吐量性能。这些方案基于收集到的输入队列的信息来计算每个时隙中的匹配。它们对匹配算法的计算复杂度加以严格的要求,计算复杂度是在设计具有大交换机尺寸的高速路由器中的主要可扩缩性问题之一。基于帧的匹配方案逐帧计算输入/输出匹配,其中,每个帧由一定数目的连续时隙构成。它们将计算匹配的频率从每个时隙降低到每个帧。为了进一步减少计算时间,可以使用基于差分帧的调度。网络中的数据业务遵循长期依赖性,且具有自相似的属性。在2个连续帧之间的这种业务相关性构成了基于差分帧的调度的基础。不在每个帧中从头开始计算匹配,而是基于差分帧的调度将先前帧中的调度缺省作为当前帧的调度。然后,调整该调度,以满足当前帧中的业务需求。由于在2个连续帧中的业务差异一般小于1个帧中的绝对业务,因此减轻了计算负担。
针对IQ交换机的网络业务分配的设计目标包括:更低的计算时间、更高的吞吐量、更低的延迟抖动、以及公平。可以通过将业务需求矩阵分解为具有理论最小总权重的置换矩阵的加权组合,来实现优化的吞吐量。每个置换矩阵可以对应于时隙中的匹配。在考虑延迟抖动和公平性能时,可以采用贪婪低抖动分解(GLJD)算法。此外,将业务矩阵分解为置换矩阵的组合,GLJD算法添加了对分解后的置换矩阵中非零项的非重叠位置的附加约束。在分解之后,可以采用加权轮循(Weighted Round Robin,WRR)方案来调度这些分解后的矩阵。备选地,也可以使用具有平滑轮循(Smoothed Round Robin,SRR)的二值矩阵分解(BMD)算法来调度这些分解后的矩阵。然而,有时候向端口对授予了比GLJD和BMD中要求的更多的分配。也被称为过度分配(over-allocation),即使对分解后的置换矩阵进行了理想调度,该现象也可以导致未预期的高抖动和不公平。
如示图100所示,可以将具有2个输入IN1和IN2以及2个输出OUT1和OUT2的交换机对102的连接表示为包含可能的输入-输出连接在内的置换矩阵104。例如,在具有8个时隙1、2、...、8的帧周期中,可以由T来描述2x2交换机的业务需求,其中,Ti,j是从输入i向输出j发送业务所需的时隙。假定示例场景:
[1]
端口对(1,1)、(1,2)和(2,1)具有要发送的4个分组,而端口对(2,2)仅具有要发送的2个分组。BV和GLJD分解产生了以下置换矩阵的加权和:
置换矩阵:
时隙:1 2 3 4 5 6 7 8
向仅需要2个时隙的端口对授予了4个时隙,即1、3、5、7。用于调度的通常方案是选择最早的2个时隙,时隙1和3。在该情况下,在这2个分配之间的间隔(时间差)是2个时隙,而在第2分配和下一帧中的分配之间的间隔不小于6个时隙,从而导致了高抖动。取而代之地,选择时隙1和5可以产生低延迟抖动。此外,过度分配还造成了在端口对之间的短期不公平,因为在头4个时隙期间发送端口对的100%的业务,而在相同时间中仅发送其他端口对的50%的业务。
为了避免由于过度分配带来的未预期的高抖动和不公平,根据一些实施例,可以采用差分二分时隙分配(DDSA),以刚好分配用于容纳每个端口对的业务需求的时隙量。具体地,DDSA执行以下操作来实现良好的性能。第一,DDSA通过将一些时隙专用于每个端口对,将紧密耦合的端口对加以去耦合。在其专用时隙内,端口对不再受调度约束。该操作可以降低调整过程中的计算复杂度。第二,DDSA可以根据具体设计的顺序对专用时隙的分配进行移除和补充,这有助于DDSA实现良好的性能。第三,为了实现高吞吐量,DDSA可以允许端口对借用其他端口对的专用时隙。
不从头构造调度,而是DDSA将上一帧中的调度缺省地视为针对当前帧的调度。然后,根据2个帧中的业务差异,DDSA可以调整调度,以满足当前帧的实际业务需求。一般而言,该调度可以包括2个步骤。如果帧中的请求小于在先帧中的请求,则可以从调度S0中移除冗余分配,否则可以将不足的分配补充到S0中。根据一些实施例的调度算法可以用低复杂度来移除和补充分配,且同时维护高吞吐量、抖动和公平性能。
由于不能用相同时隙来分配具有相同输入或输出端口的2个端口对,端口对彼此紧密地耦合给移除和补充过程增加了复杂度。根据实施例的算法可以将一些时隙专门用于每个端口对。在专用时隙中,端口对不再受到约束。换言之,任何专用时隙可以用于在每个帧中调度,因此减少了在搜索合适时隙时所用的时间。此外,可以根据具体设计的顺序来移除和补充专用时隙的分配,这有助于DDSA实现良好的性能。此外,DDSA可以使得端口对能够在需要时借用其他端口对的专用时隙,以优化吞吐量。
如上所述,根据实施例的DDSA算法可以将时隙集合专门用于每个端口对,以节约搜索分配时隙的时间。在它们对应的专用时隙中,将端口对去耦合,且端口对不再受以下约束:端口不能同时向多于一个端口发送或从多于一个端口接收。在每帧中,端口对可以任意地选择任何专用时隙,这暗示了在选择方面的低复杂度。一般而言,端口对的专用时隙可以满足以下准则。首先,具有相同输入或输出的端口对的专用时隙可能不重叠。其次,端口对的专用时隙的数目能够容纳其业务需求。
为了满足第一准则,DDSA可以将端口对分组,以使得相同组中的端口对不具有相同的输入或输出。然后,DDSA可以逐组分配专用时隙。对于第二标准,DDSA可以尝试将更多的时隙专门用于具有更大业务需求的端口对。具体地,DDSA可以将具有相似业务需求的端口对分在相同组中,然后基于该组内的端口对的业务需求来分配专用时隙。
令Gk描述组k中的端口对,如果(i,j)属于组k,则三维布尔变量Gk i,j等于1,否则等于0。通过分组,可以将约束归纳为:
[2] 以及
[3]
根据一些实施例,可以使用长期统计业务到达率信息来判定专用时隙。令li,j为端口对(i,j)的统计业务率,DDSA可以针对第二准则来最小化组中的端口对的业务到达率的总方差。用vark来表示组k中的端口对的业务到达率的方差,可以发现将所有组中的业务到达率的方差加以最小化的分组,即
可以采用贪婪低抖动分解算法(GLJD)将端口对分组。首先可以按照传入业务率的升序对端口对进行排序,然后可以根据该顺序将不具有相同输入或输出的端口对分为1个矩阵。
将组k中的端口对的最大率定义为rk,该率可以在向组分配L个时隙中用作组k的权重。然后组k中的端口对(i,j)的专用时隙的数目(表示为Ai,j)是或为了良好的抖动和短期公平性能,可以采用公平分组调度或类似的算法。根据实施例的DDSA可以应用最差情况加权公平排队(WF2Q)向组分配时隙。从而,可以将判定专用时隙的过程总结为:
步骤1:通过使用GLJD对端口对进行分组。令即rk是组k中的端口对的最大业务到达率。
步骤2:将rk作为权重,通过使用WF2Q,将时隙分配给每个组。从而,相同组中的端口对具有相同的专用时隙。
图2示出了用于产生针对长度为6的圆形阵列的二分顺序O的示例。不是所有的专用时隙都可以始终被分配给给定端口对。为了避免过度分配,当要求小于专用时隙的数目时,可以选择时隙。为了保障性能,时隙选择可以基于顺序。一方面,该顺序可以使得算法能够以差分方式实现。另一方面,该顺序可以帮助实现高吞吐量、低抖动、以及短期公平。根据一些实施例,可以采用二分顺序用于专用时隙的选择。
可以将由O表示的二分顺序视为对圆形阵列的操作顺序。给定长度M的圆形阵列B和头m个操作位置(数组中的O1、O2、...、Om),可以确定数组中接下来的M-m个操作位置。确定规则可以如下所述:B上每个新的操作位置是由B的之前确定的元素将B划分的最长部分的中间位置。可以将O的产生过程表达为算法:
%输入:M、O1、...、Om;输出:Om+1、...、ON;
计算由O1、...、Om分开的区间
For k=m+1、...、M
Ok是最大区间的中间位置
重新计算由O1、...、Ok分开的区间
示图200示出了使用圆形阵列模型的示例二分顺序产生。在第一步骤212中,选择O1作为元素2。根据算法,在第二步骤214中选择O2为元素5。之后是在步骤216针对O3选择元素3。还可以选择元素4、1或6代替3,且具有类似结果。然而一旦选择元素3,则在步骤218针对O4选择其相对元素6。在步骤220,针对O5选择元素4,根据算法,也可以选择元素1。在示例场景的最终步骤222中,针对O6选择元素1。
对于从专用时隙中进行选择,可以基于二分顺序来移除或补充端口对(i,j)的分配。Oi,j表示端口对(i,j)的特定二分顺序,可以针对端口对(i,j)产生具有长度Ai,j的Oi,j。可以将从专用时隙中进行选择的过程表达为算法:
在实际应用中,突发(burst)是常见的。端口对的专用时隙可能不能容纳传入的突发。为了容纳突发,根据实施例的DDSA算法可以使得端口对能够从其它端口对借用专用时隙用于调度,以优化吞吐量。当一个端口对从其它端口对借用专用时隙时,可以减少其调度间隔,且有可能减少抖动。一般而言,借用时隙的端口对可以不具有大的抖动。为了对用于容纳突发的充足的合适时隙进行定位,可以采用以下方案。
对于具有Ti,j>Ai,j的端口对(i,j),如果在除了专用时隙之外的时隙中输入i和输出j都是空闲的,则该时隙适合其分配。可以通过逐一检查全部L个时隙来定位这些合适的时隙,而这是消耗时间的。然而可以将不合适的时隙加以排除,以减少检查范围并节约时间。在将时隙借给(i,j)之后,具有输入i或输出j的其它端口对不能借用该时隙。即,如果端口对较早地借用了时隙,则其单元可以具有更大的被调度的机会。在吞吐量方面,相对于晚些时候借用的端口对,可以给予更早借用的端口对以更高的优先级。对于公平,可以首先按照吞吐量的升序对端口对进行排序。然后,可以根据该顺序逐一让端口对能够借用。令分别跟踪端口对(i,j)的实时调度的业务和实时吞吐量,可以将公式定义为:
[4]
如果在之前帧期间将端口对的专用时隙借给其它端口对,则在当前帧中,端口对在他们的专用时隙中不受上述约束的属性就不再保持为真。为了保持属性为真,可以设置规则:端口对可以在任何时间取回其专用时隙。可以将专用时隙的借用过程表达为算法:
从而,可以将根据实施例的DDSA算法如下总结,其中,T0是之前帧0中的业务,T1是当前帧1中的业务,以及Tc跟踪了实时调度的业务,且初始时Tc=T0。
判定专用时隙,并针对每个端口对产生二分顺序
Tc=T0
在DDSA中,端口对可以首先取回借给其它端口对的专用时隙,如上述算法中的步骤(a)和(b)所示。这两个步骤使得端口对能够以最高优先级来使用他们的专用时隙。步骤(b)是更新调度的实时业务Tc,不仅包括已被补充了分配的端口对,还包括那些已经被移除了分配的端口对。步骤(c)是移除当前帧中的过度分配。步骤(d)是让具有超过其专用时隙容量的请求的端口对从其它端口对借用专用时隙。上述算法是示例,且不构成对实施例的限制。在针对输入排队交换机的基于差分帧的调度算法中,可以修改步骤的顺序,可以省略一些步骤,或增加其它步骤。
为了确保端口对(i,j)的保留时隙首先服务其自身,从而保障长期公平,如果具有输入i或输出j的其它端口对在上一帧中使用时隙,则可以将其业务追出(chase out)。出于2个主要原因,被追的业务几乎对吞吐量没有影响。首先,具有被追业务的端口对在当前帧中可以具有更小的业务需求。被追的业务在让Tc接近实际业务中可以扮演正面角色。其次,如果需要,可以在后续步骤中调度被追的业务。
对于释放针对端口对(i,j)的分配,可以采用“最后分配最先释放”的规则。具体地,可以首先释放除了保留时隙之外的时隙的分配,然后按照时隙选择顺序的反序来释放对保留时隙的分配。
对于具有一些更多业务的端口对(i,j)需要对附加时隙(其中,输入i和输出j都空闲)定位并分配给端口对。由于为组k中的端口对(i,j)已保留了一定数目Ai,j的时隙,因此可以将搜索范围减少剩余的L-Ai,j个时隙,其中,L是总的可用时隙。为了低抖动、公平以及未来的差分实现的目的,可以采用二分顺序来进行补充分配。更具体地,将表示为SO的二分顺序应用到针对空闲时隙的搜索中。对于组k中的端口对(i,j),产生具有长度L的且头Ai,j个元素等于端口对(i,j)的Ai,j个保留时隙的SO。
接下来,可以按照SO的顺序来确定在时隙中输入i和输出j是否都空闲。如果输入i或输出j已经是忙碌的,则不可以再将时隙分配给端口对(i,j)。从而,将该时隙分配给端口对(i,j)的尝试失败。为了减少搜索时间,尝试失败率应当低。
一般而言,用于补充不足分配的候选时隙随着特定帧中的业务需求的变化而改变。然而,在弱恒定和强恒定业务模型中,候选时隙可以不随着业务需求的小改变而进行过多改变。因此,给定端口对,则可以基于统计业务需求将时隙划分为2类。被划分的2类是:第一时隙组,其更有可能具有补充不足分配的能力,以及第二时隙组,其不太可能补充不足分配。因为基于统计业务率来确定时隙搜索顺序,因此在线计算是没有必要的。
图3示出了在具有不同帧长度的静态均匀业务下的在根据至少一些实施例的系统中的“吞吐量性能”对“业务负载”的比较。在均匀场景下,可以将业务率表达为:
[5]其中,ρ表示归一化输入负载。示图300分别考虑到帧长度L1=128个时隙,L2=256个时隙,L3=512个时隙以及L4=1024个时隙的情况。基于均匀业务率,可以将端口对划分为32个组,且每个组具有L/32个专用时隙。在每个端口对的2个连续专用时隙之间的间隔是均匀的。
当将吞吐量性能332与具有不同帧尺寸的负载334进行比较时,可以看出当负载小于0.8时,吞吐量达到100%。当负载变为1,对于帧尺寸L4=1024个时隙,吞吐量降到0.975,以及对于帧尺寸L1=128个时隙,吞吐量降到0.94。在大的帧尺寸的情况下的丢包率(droppingratio)小于在小的帧尺寸的情况。这可以是因为帧中的传入业务是与帧中的L个时隙相对应的L个i.i.d.随机过程之和。根据“大数定律”,随着帧尺寸的增加(L大)其接近统计到达率。由于基于平均业务率来判定专用时隙,则业务越接近业务平均率,则单元就越没有可能超过它们的专用时隙的容量。从而,丢包率很小。
图4示出了在具有不同帧长度的静态均匀业务下的在根据至少一些实施例的系统中的“抖动性能”对“业务负载”的比较。在根据实施例的DGDA算法中,释放和补充分配都是基于二分顺序的,其尝试在每次调整之后引入最少的抖动。即使业务改变,二分顺序可以确保对端口对的新分配依然具有良好的抖动性能。因此,二分顺序的一个良好属性是其使得抖动性能不容易受到业务变化的影响。考虑到最差情况场景,端口对的业务可以遵从高斯分布,其完全不是自相似的,且特定帧中的组的不同端口对的业务也可以遵从相同的高斯分布。则,端口对的时间平均抖动性能与整体平均抖动性能是相同的。这意味着,即使业务不具有强依赖性,抖动性能也不会受到影响。
示图400将各种帧长度场景下的抖动性能436与业务负载438进行了比较。长的帧长度情况(L4)中的抖动大于在短的帧长度情况(L1)中的抖动。当队列中的单元数目等于0、1、2时,抖动几乎为零,但是当单元的数目增加到3时,抖动快速增加。当单元的数目超过3时,抖动主要随着单元数目的增加而减少。当帧长度等于128个时隙(L1)时,每个端口对的单元的平均数目是128*负载/32=4*负载∈[0,4]。因此,当负载小的时候,具有0、1、2个单元的端口对可以主导总体(population),从而导致非常小的平均抖动。随着负载的增加,平均抖动可以增加,因为在端口对中的排成队的传入单元的数目变为大于2。类似地,当帧长度等于256(L2)和512(L3)个时隙时,在开始时,抖动可以随着业务负载增加而增加。当负载增加到特定值(例如,对于帧长度L1=256个时隙时为0.5,对于帧长度L3=512个时隙时为0.3),占主导地位的端口对不再是具有0、1、2个单元的端口对,且平均抖动几乎保持恒定。当帧长度是L4=1024个时隙时,平均单元数目是1024*负载/32=128*负载,即使当负载是0.2时其也大于3。在总体中占主导地位的端口对是具有多于3个单元的那些端口对。从而,当单元数目超过3时,随着负载的增加,抖动减少。因此,当帧长度L4=1024个时隙时,平均抖动随着负载的增加而保持减少。
图5示出了在均匀业务下的在根据至少一些实施例的系统中的“平均计算复杂度”对“帧长度”对“输入负载”的比较。可以基于统计业务到达率来确定专用时隙,统计业务到达率不随着实时业务的变化而改变。从而,可以离线确定专用时隙。一旦确定了专用时隙,可以在选择专用时隙中使用二分顺序。选择专用时隙的最差情况复杂度是O(N2)。从其它端口对借用专用时隙的复杂度取决于需要借用的端口对的数目以及时隙检查范围。在最差情况场景中,所有端口对可能都不得不借用,且每个端口对不得不检查所有L个时隙。从而,借用专用时隙的最差情况复杂度是O(N2xL)。
因此,上述示例DDSA算法的步骤(a)、(b)和(c)中涉及的计算复杂度是O(N2)。瓶颈在步骤(d)中,其中,最差情况复杂度是O(N2xL)。因此,可以将整体DDSA算法的最差情况复杂度视为O(N2xL)。在实际实现中,不是所有的端口对都必须借用,且对于给定端口对,不是所有的时隙都必须被检查。当网络具有低业务负载时(这可以是更常见的情况),需要借用的端口对数目很小。从而,执行步骤(d)的似然率可以非常小,且复杂度可以低至O(N2)。当网络是重负载时,需要借用的端口对的数目很大,但是将很多时隙排除在检查范围之外。因此,可以不需要最差情况复杂度。
为了分析计算复杂度,可以计算需要借用的端口对的期望数目(表示为E(nc))和时隙检查范围的期望(表示为E(lc))。E(nc)*E(lc)可以用于估计平均计算复杂度。直观上,当E(nc)很大时,E(lc)很小,且反之亦然。为了计算实际值,需要传入业务的统计信息。
在帧与帧之间是静态业务场景和随时间变化的业务场景中,都可以将每个端口对的每个时隙的传入业务的单元到达假定为i.i.d.伯努利。然而,与L个伯努利到达之和相对应的针对给定端口对的帧中的单元数目是二项式过程。如果传入分组未能在后续帧中被调度,则可以假定传入分组被丢弃。从而,分组在缓冲区中最多停留2个帧的时间长度。
对于二项式过程,总体L大于100,且概率ρ/N小于0.05。在该场景中,可以使用期望等于Lρ/N的泊松分布来近似二项式分布。对于给定端口对,可以将帧中的传入单元的数目的概率表达为:
[6]
因此,可以将需要借用的端口对的总数的期望E(nc)表达为:
[7]
示图500示出了“平均情况复杂度”对“最差情况复杂度N2*L”的比(即,E(lc)/(L*E(nc)/N2))。三维图中的轴是平均计算复杂度542、帧长度544和输入负载546。当输入负载在0.8附近时,实现了低于0.02的最大比。对于给定帧长度,E(nc)随着输入负载的增加而增加。当输入负载小于0.7时,E(nc)随着帧长度的增加而减小。当输入负载大于0.8时,E(nc)随着帧长度的增加而增加。当归一化输入负载小于0.5时,E(nc)与N的数量级相同,而不是与N2的数量级相同。负载ρ为1的最大E(nc)小于N2/2。
图6示出了通用计算设备600,其可以用于实现根据本文所述的至少一些实施例来布置的针对输入排队交换机的基于差分帧的网络业务调度。在非常基本的配置602中,计算设备600典型地包括一个或多个处理器604和系统存储器606。存储器总线608可以用于在处理器604和系统存储器606之间通信。
根据所期望的配置,处理器604可以是任意类型的,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器604可以包括一级或多级缓存(例如,一级高速缓存存储器612)、处理器核614、以及寄存器616。示例处理器核614可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任意组合。示例存储器控制器618也可以与处理器604一起使用,或者在一些实施方式中,存储器控制器618可以是处理器604的内部部件。
根据所期望的配置,系统存储器606可以是任意类型的,包括但不限于易失性存储器(如RAM)、非易失性存储器(如ROM、闪存等)或其任意组合。系统存储器606可以包括操作系统620、一个或多个应用程序622和程序数据624。应用程序622可以包括调度模块626,其被布置为采用如上所述的基于差分帧的调度和任何其他过程、方法和功能对输入排队交换机进行调度。。程序数据624可以包括一个或多个分析数据628(例如,网络业务数据、组件特性等等)以及如上面结合至少图1至5所讨论的类似数据。该数据可以用于如本文所述确定交换机的优化网络业务调度。在一些实施例中,应用程序622可以设置为在操作系统620上以程序数据624操作,使得如本文所述的调度交换机业务。这里所描述的基本配置602在图6中由内侧虚线内的部件来图示。
计算设备600可以具有额外特征或功能以及额外接口,以有助于基本配置602与任意所需设备和接口之间进行通信。例如,总线/接口控制器630可以有助于基本配置602与一个或多个数据存储设备632之间经由存储接口总线634进行通信。数据存储设备632可以是可拆除存储设备636、不可拆除存储设备638或其组合。可拆除存储设备和不可拆除存储设备的示例包括磁盘设备(如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(如紧致盘(CD)驱动器或数字通用盘(DVD)驱动器)、固态驱动器(SSD)以及磁带驱动器,这仅仅是极多例子中的一小部分。示例计算机存储介质可以包括以任意信息存储方法和技术实现的易失性和非易失性、可拆除和不可拆除介质,如计算机可读指令、数据结构、程序模块或其他数据。
系统存储器606、可拆除存储设备636和不可拆除存储设备638均是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术,CD-ROM、数字多功能盘(DVD)或其他光存储设备,磁盒、磁带、磁盘存储设备或其他磁存储设备,或可以用于存储所需信息并可以由计算设备600访问的任意其他介质。任何这种计算机存储介质可以是计算设备600的一部分。
计算设备600还可以包括接口总线640,以有助于各种接口设备(例如,输出设备642、外围设备接口644和通信设备666)经由总线/接口控制器630与基本配置602进行通信。示例输出设备642包括图形处理单元648和音频处理单元650,其可被配置为经由一个或多个A/V端口652与多种外部设备(如显示器或扬声器)进行通信。示例外围设备接口644包括串行接口控制器654或并行接口控制器656,它们可被配置为经由一个或多个I/O端口658与外部设备(如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等))或其他外围设备(例如,打印机、扫描仪等)进行通信。示例通信设备666包括网络控制器660,其可以被设置为经由一个或多个通信端口664与一个或多个其他计算设备662通过网络通信链路进行通信。
网络通信链路可以是通信介质的一个示例。通信介质典型地可以由调制数据信号(如载波或其他传输机制)中的计算机可读指令、数据结构、程序模块或其他数据来体现,并可以包括任意信息传送介质。“调制数据信号”可以是通过设置或改变一个或多个特性而在该信号中实现信息编码的信号。例如,但并非限制性地,通信介质可以包括有线介质(如有线网络或直接布线连接)、以及无线介质(例如声、射频(RF)、微波、红外(IR)和其他无线介质)。这里所使用的术语计算机可读介质可以包括存储介质和通信介质。
可以将计算设备600实现为物理服务器、虚拟服务器、计算云、或包括上述任何功能的混合设备的一部分。还可以将计算设备600实现为包括膝上型计算机和非膝上型计算机配置在内的个人计算机。此外,可以将计算设备600实现为联网系统,或实现为通用或专用服务器的一部分。
包括计算设备800在内的联网系统的网络可以包括服务器、客户端、交换机、路由器、调制解调器、互联网服务提供商、以及任何恰当通信介质(例如有线或无线通信)的任何拓扑结构。根据实施例的系统可以具有静态或动态网络拓扑结构。网络可以包括安全网络,比如企业网(例如,LAN、WAN或WLAN),不安全网络,比如无线开放式网络(例如,IEEE 802.11无线网络)或全球网络(例如,互联网)。网络还可以包括适于在一起工作的多个不同网络。这种网络被配置为在本文所述的节点之间提供通信。作为示例,且不作为限制,这些网络可以包括无线介质,比如声学、RF、红外和其它无线介质。此外,网络可以是相同网络或分离的网络的一部分。
示例实施例还可以包括方法。可以用任何数目的方式来实现这些方法,包括本文所述的结构。一个这种方式是通过本公开所述类型的设备的机器操作。另一可选方式是:由执行一些操作的一个或多个人类操作者来执行方法的一个或多个单独操作,同时其他操作由机器来执行。这些人类操作者不需要彼此同处一处,但是都可以具有执行一部分程序的机器。在其它示例中,可以让人类交互自动化,比如通过由机器加以自动化的预先选择的标准。
图7是示出了根据至少一些实施例的针对输入排队交换机的基于差分帧的调度的示例方法的流程图,该示例方法可以由诸如图6中的设备600之类的计算设备来执行。可以在计算机可读介质(比如,计算机600的驱动器640)中将步骤722至726中描述的操作存储为计算机可执行指令。
针对输入排队交换机的基于差分帧的调度的过程可以开始于操作722,“为每个端口对保留时隙”。在操作722,可以将诸如图1中端口对102之类的端口对分组在一起,且如图1所示,按照每个组来保留时隙。可以通过稍微修改低抖动分解来执行该分组。在低抖动分解中,可以将业务率矩阵分解为置换矩阵的组合,且具有对置换矩阵中的非重叠位置的约束。
操作722之后可以是操作724,“释放过剩的分配”。在操作724,可以在已分配的时隙中选择过剩分配并将其释放。该选择可以基于二分顺序。在操作724之后的操作726“补充不足的分组”中,可以找到附加时隙用于补充不足的分配,在附加时隙中,端口对的输入和输出都是空闲的。与在操作724中一样,为了低抖动、公平以及未来的差分实现的目的,此处也可以采用二分顺序。
在操作726之后的操作728“使得能够借用专用时隙”中,在需要增强吞吐量时,可以允许端口对从其他端口对借用时隙。当一个端口对从其他端口对借用专用时隙时,可以降小其调度间隔,且抖动可以降低。从而,根据实施例的针对输入排队交换机的基于差分帧的调度方案可以帮助实现低复杂度、高吞吐量和低抖动,这对于诸如语音和视频之类的延迟敏感应用来说是关键的性能准则。
上述过程中包括的操作用于说明的目的。可以通过具有更少或附加操作的类似过程来实现针对输入排队交换机的基于差分帧的调度。在一些示例中,可以按不同顺序来执行操作。在一些其它示例中,可以消除各种操作。在另一些示例中,可以将各种操作划分为附加操作,或将它们结合在一起成为更少的操作。
图8示出了示例计算机程序产品的框图,其全部根据本文所述的至少一些实施例来布置。在一些示例中,如图8所示,计算机程序产品800可以包括信号承载介质802,信号承载介质802还可以包括机器可读指令804,当由例如处理器来执行机器可读指令804时,机器可读指令804可以提供上面关于图6所描述的功能。从而例如,参见计算设备600,响应于由介质802传递给处理器604的指令804,调度模块626可以承担图8所示的一个或多个任务,以执行与如本文所述的针对输入排队交换机的基于差分帧的调度相关联的行动。这些指令中的一些指令可以包括:为端口对保留时隙,释放过剩的分配,以及补充不足的分组。
在一些实现中,图8所示的信号承载介质802可以包含计算机可读介质806,比如(但不限于):硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、存储器等等。在一些实现中,信号承载介质802可以包含可记录介质808,比如(但不限于):存储器、读/写(R/W)CD、R/W DVD等等。在一些实现中,信号承载介质802可以包含通信介质810,比如(但不限于):数字和/或模拟通信介质(例如,光缆、波导、有线通信链路、无线通信链路等等)。从而例如,可以通过RF信号承载介质向处理器810的一个或多个模块传递程序产品800,其中,通过无线通信介质810(例如,遵循IEEE 802.11标准的无线通信介质)来传递信号承载介质802。
本公开呈现了一种用于在网络环境中调度输入排队交换机的方法。根据一些实施例,所述方法包括:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述方法还可以包括:根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
根据其它实施例,所述方法还可以包括以下一项或多项:对所述交换机端口对进行分组,以使得在相同组中的交换机端口对不具有相同的输入或输出;逐组分配专用时隙,其中,将具有相似业务需求的交换机端口对分在相同组中,然后基于每个组内的交换机端口对的业务需求来分配专用时隙;或将专用时隙用于每个帧中的调度,从而减少在搜索合适时隙时所用的时间。可以基于长期统计业务到达率信息来对时隙进行专用。
根据其它实施例,所述方法还可以包括以下一项或多项:对所述交换机端口对进行分组,从而使得将交换机端口对的业务到达率的总方差最小;基于二分顺序来选择专用时隙,其中,确定可用时隙之间的间隔,并选择最大间隔的中间位置上的时隙;或允许业务请求具有超过其专用时隙的容量的交换机端口对从其他交换机端口对借用专用时隙。
本公开还呈现一种用于在网络环境中调度输入排队交换机的装置。所述装置可以包括:存储器,被配置为存储指令,且还存储与交换机端口对相关联的对网络业务进行定向的网络信息数据;以及处理器,耦合到所述存储器,其中,所述处理器适于执行所述指令,当所述指令被执行时,所述指令将所述处理器配置为:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述处理器还可以根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
根据其它实施例,所述处理器可以对所述交换机端口对进行分组,以使得在相同组中的交换机端口对不具有相同的输入或输出,以及逐组分配专用时隙,以使得将具有相似业务需求的交换机端口对分在相同组中,然后基于每个组内的交换机端口对的业务需求来分配专用时隙。所述处理器还可以将专用时隙用于每个帧中的调度,从而减少在搜索合适时隙时所用的时间,其中,可以基于长期统计业务到达率信息来对时隙进行专用。
根据其它实施例,所述处理器可以对所述交换机端口对进行分组,从而使交换机端口对的业务到达率的总方差最小,以及基于二分顺序来选择专用时隙,使得确定在可用时隙之间的间隔并选择最大间隔的中间位置上的时隙。所述处理器还可以允许业务请求超过其专用时隙的容量的交换机端口对从其他交换机端口对借用专用时隙,以及使交换机端口对能够首先取回借给其它交换机端口对的专用时隙,从而使交换机端口对能够以最高优先级来使用他们的专用时隙。
本公开还呈现了一种计算机可读存储介质,其具有存储于其上的用于以基于差分帧的方式在网络环境中调度输入排队交换机的指令。所述指令可以包括:将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束,且根据预定顺序来移除对专用时隙的分配。所述指令还可以包括:根据所述预定顺序来补充对专用时隙的分配,并使交换机端口对能够借用其他交换机端口对的专用时隙。
根据一些实施例,所述指令还可以包括:使更早借用的交换机端口对优先于较晚借用的另一交换机端口对,使交换机端口对能够首先取回借给其它交换机端口对的专用时隙,从而使交换机端口对能够以最高优先级来使用他们的专用时隙,并针对交换机端口对的总数,对吞吐量进行归一化。
在系统方案的硬件和软件实现方式之间存在一些小差别;硬件或软件的使用一般(但并非总是,因为在特定情况下硬件和软件之间的选择可能变得很重要)是一种体现成本与效率之间权衡的设计选择。可以各种手段(例如,硬件、软件和/或固件)来实施这里所描述的工艺和/或系统和/或其他技术,并且优选的工艺将随着所述工艺和/或系统和/或其他技术所应用的环境而改变。例如,如果实现方确定速度和准确性是最重要的,则实现方可以选择主要为硬件和/或固件的手段;如果灵活性是最重要的,则实现方可以选择主要是软件的实施方式;或者,同样也是可选地,实现方可以选择硬件、软件和/或固件的特定组合。
以上的详细描述通过使用方框图、流程图和/或示例,已经阐述了设备和/或工艺的众多实施例。在这种方框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本公开所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本公开,将具备设计电路和/或写入软件和/或固件代码的能力。
本公开不限于在本申请中描述的具体实施例,这些具体实施例意在说明不同方案。本领域技术人员清楚,不脱离本公开的精神和范围,可以做出许多修改和变型。本领域技术人员根据之前的描述,除了在此所列举的方法和装置之外,还可以想到本公开范围内功能上等价的其他方法和装置。这种修改和变型应落在所附权利要求的范围内。本公开应当由所附权利要求的术语及其等价描述的整个范围来限定。应当理解,本公开不限于具体方法、材料和配置,这些都是可以改变的。还应理解,这里所使用的术语仅用于描述具体实施例的目的,而不应被认为是限制性的。
此外,本领域技术人员将认识到,本公开所述主题的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本公开所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字通用盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路、无线通信链路等)。
本领域技术人员应认识到,上文详细描述了设备和/或工艺,此后使用工程实践来将所描述的设备和/或工艺集成到数据处理系统中是本领域的常用手段。也即,这里所述的设备和/或工艺的至少一部分可以通过合理数量的试验而被集成到数据处理系统中。本领域技术人员将认识到,典型的数据处理系统一般包括以下各项中的一项或多项:系统单元外壳;视频显示设备;存储器,如易失性和非易失性存储器;处理器,如微处理器和数字信号处理器;计算实体,如操作系统、驱动程序、图形用户接口、以及应用程序;一个或多个交互设备,如触摸板或屏幕;和/或控制系统,包括反馈环和控制模块(例如,调整时隙分配度量)。
典型的数据处理系统可以利用任意合适的商用部件(如数据计算/通信和/或网络计算/通信系统中常用的部件)予以实现。本公开所述的主题有时说明不同部件包含在不同的其他部件内或者不同部件与不同的其他部件相连。应当理解,这样描述的架构只是示例,事实上可以实现许多能够实现相同功能的其他架构。在概念上,有效地“关联”用以实现相同功能的部件的任意设置,从而实现所需功能。因此,这里组合实现具体功能的任意两个部件可以被视为彼此“关联”从而实现所需功能,而无论架构或中间部件如何。同样,任意两个如此关联的部件也可以看作是彼此“可操作地连接”或“可操作地耦合”以实现所需功能,且能够如此关联的任意两个部件也可以被视为彼此“能可操作地耦合”以实现所需功能。能可操作地耦合的具体示例包括但不限于物理上可连接和/或物理上交互的部件,和/或无线交互和/或可无线交互的部件,和/或逻辑交互和/或可逻辑交互的部件。
至于本文中任何关于多数和/或单数术语的使用,本领域技术人员可以从多数形式转换为单数形式,和/或从单数形式转换为多数形式,以适合具体环境和应用。为清楚起见,在此明确声明单数形式/多数形式可互换。
本领域技术人员应当理解,一般而言,所使用的术语,特别是所附权利要求中(例如,在所附权利要求的主体部分中)使用的术语,一般地应理解为“开放”术语(例如,术语“包括”应解释为“包括但不限于”,术语“具有”应解释为“至少具有”等)。本领域技术人员还应理解,如果意在所引入的权利要求中标明具体数目,则这种意图将在该权利要求中明确指出,而在没有这种明确标明的情况下,则不存在这种意图。例如,为帮助理解,所附权利要求可能使用了引导短语“至少一个”和“一个或多个”来引入权利要求中的特征。然而,这种短语的使用不应被解释为暗示着由不定冠词“一”或“一个”引入的权利要求特征将包含该特征的任意特定权利要求限制为仅包含一个该特征的实施例,即便是该权利要求既包括引导短语“一个或多个”或“至少一个”又包括不定冠词如“一”或“一个”(例如,“一”和/或“一个”应当被解释为意指“至少一个”或“一个或多个”);在使用定冠词来引入权利要求中的特征时,同样如此。另外,即使明确指出了所引入权利要求特征的具体数目,本领域技术人员应认识到,这种列举应解释为意指至少是所列数目(例如,不存在其他修饰语的短语“两个特征”意指至少两个该特征,或者两个或更多该特征)。
另外,在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
另外,在以马库什组描述本公开的特征或方案的情况下,本领域技术人员应认识到,本公开由此也是以该马库什组中的任意单独成员或成员子组来描述的。
本领域技术人员应当理解,出于任意和所有目的,例如为了提供书面说明,这里公开的所有范围也包含任意及全部可能的子范围及其子范围的组合。任意列出的范围可以被容易地看作充分描述且实现了将该范围至少进行二等分、三等分、四等分、五等分、十等分等。作为非限制性示例,在此所讨论的每一范围可以容易地分成下三分之一、中三分之一和上三分之一等。本领域技术人员应当理解,所有诸如“直至”、“至少”、“大于”、“小于”之类的语言包括所列数字,并且指代了随后可以如上所述被分成子范围的范围。最后,本领域技术人员应当理解,范围包括每一单独数字。因此,例如具有1~3个单元的组是指具有1、2或3个单元的组。类似地,具有1~5个单元的组是指具有1、2、3、4或5个单元的组,以此类推。
尽管已经在此公开了多个方案和实施例,但是本领域技术人员应当明白其他方案和实施例。这里所公开的多个方案和实施例是出于说明性的目的,而不是限制性的,本公开的真实范围和精神由所附权利要求表征。
Claims (18)
1.一种用于在网络环境中调度输入排队交换机的方法,所述方法包括:
将可用时隙的预定部分专门用于每个交换机端口对,其中,交换机端口对在其专用时隙内不受调度约束;
基于圆形阵列模型生成专用时隙的分配的预定二分顺序;
通过所述圆形阵列模型内的相对元素的一个或多个选择根据所述预定二分顺序来移除对专用时隙的分配;
通过所述圆形阵列模型内的相对元素的一个或多个选择根据所述预定二分顺序来补充对专用时隙的分配;
使交换机端口对能够借用其他交换机端口对的专用时隙;
当借用其他交换机端口对的专用时隙时,减少交换机端口对的调度间隔,以减少与交换机端口对相关联的抖动。
2.根据权利要求1所述的方法,还包括:对所述交换机端口对进行分组,以使得相同组中的交换机端口对不具有相同的输入或输出。
3.根据权利要求1所述的方法,还包括:逐组分配专用时隙,其中,将具有相似业务需求的交换机端口对分在相同组中,然后基于每个组内的交换机端口对的业务需求来分配专用时隙。
4.根据权利要求1所述的方法,还包括:将专用时隙用于每个帧中的调度,从而减少在搜索合适时隙时所用的时间。
5.根据权利要求4所述的方法,其中,基于长期统计业务到达率信息来对时隙进行专用。
6.根据权利要求1所述的方法,还包括:对所述交换机端口对进行分组,从而使交换机端口对的业务到达率的总方差最小。
7.根据权利要求1所述的方法,还包括:基于所述二分顺序来选择专用时隙,其中,确定可用时隙之间的间隔,并选择最大间隔的中间位置上的时隙。
8.根据权利要求1所述的方法,还包括:允许业务请求超过其专用时隙的容量的交换机端口对从其他交换机端口对借用专用时隙。
9.根据权利要求8所述的方法,还包括:使交换机端口对能够首先取回借给其它交换机端口对的专用时隙,从而使交换机端口对能够以最高优先级来使用他们的专用时隙。
10.一种用于在网络环境中调度输入排队交换机的装置,所述装置包括:
用于将可用时隙的预定部分专门用于每个交换机端口对的装置,其中,交换机端口对在其专用时隙内不受调度约束;
用于基于圆形阵列模型生成专用时隙的分配的预定二分顺序的装置;
用于通过所述圆形阵列模型内的相对元素的一个或多个选择根据所述预定二分顺序来移除对专用时隙的分配的装置;
用于通过所述圆形阵列模型内的相对元素的一个或多个选择根据所述预定二分顺序来补充对专用时隙的分配的装置;
用于使交换机端口对能够借用其他交换机端口对的专用时隙的装置;
用于当借用其他交换机端口对的专用时隙时、减少交换机端口对的调度间隔、以减少与交换机端口对相关联的抖动的装置。
11.根据权利要求10所述的装置,还包括:用于对所述交换机端口对进行分组以使得相同组中的交换机端口对不具有相同的输入或输出的装置。
12.根据权利要求10所述的装置,还包括:用于逐组分配专用时隙以使得将具有相似业务需求的交换机端口对分在相同组中、然后基于每个组内的交换机端口对的业务需求来分配专用时隙的装置。
13.根据权利要求10所述的装置,还包括:用于将专用时隙用于每个帧中的调度、从而减少在搜索合适时隙时所用的时间的装置。
14.根据权利要求13所述的装置,其中,基于长期统计业务到达率信息来对时隙进行专用。
15.根据权利要求10所述的装置,还包括:用于对所述交换机端口对进行分组、从而使交换机端口对的业务到达率的总方差最小的装置。
16.根据权利要求10所述的装置,还包括:用于基于所述二分顺序来选择专用时隙、以确定可用时隙之间的间隔并选择最大间隔的中间位置上的时隙的装置。
17.根据权利要求10所述的装置,还包括:用于允许业务请求超过其专用时隙的容量的交换机端口对从其他交换机端口对借用专用时隙的装置。
18.根据权利要求17所述的装置,还包括:用于使交换机端口对能够首先取回借给其它交换机端口对的专用时隙、从而使交换机端口对能够以最高优先级来使用他们的专用时隙的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25809709P | 2009-11-04 | 2009-11-04 | |
US61/258,097 | 2009-11-04 | ||
PCT/US2010/055294 WO2011056868A2 (en) | 2009-11-04 | 2010-11-03 | Differential frame based scheduling for input queued switches |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102640457A CN102640457A (zh) | 2012-08-15 |
CN102640457B true CN102640457B (zh) | 2015-01-21 |
Family
ID=43970719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080048846.2A Expired - Fee Related CN102640457B (zh) | 2009-11-04 | 2010-11-03 | 用于输入排队交换机的基于差分帧的调度 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8902912B2 (zh) |
CN (1) | CN102640457B (zh) |
WO (1) | WO2011056868A2 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130094516A1 (en) * | 2011-10-17 | 2013-04-18 | Toyota Infotechnology Center Co., Ltd. | Control Protocol System |
CN110011934B (zh) * | 2019-03-15 | 2020-09-15 | 浙江大学 | 一种用于输入队列交换机的混合队列架构的混合调度方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278696A (zh) * | 1999-06-18 | 2001-01-03 | 日本电气株式会社 | 数据流控制交换机及其调度方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6389010B1 (en) | 1995-10-05 | 2002-05-14 | Intermec Ip Corp. | Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones |
US6970434B1 (en) | 1995-06-07 | 2005-11-29 | Broadcom Corporation | Hierarchical communication system providing intelligent data, program and processing migration |
US6643765B1 (en) | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
AU5686299A (en) | 1998-08-20 | 2000-03-14 | Raycer, Inc. | Method and apparatus for generating texture |
US7423983B1 (en) | 1999-09-20 | 2008-09-09 | Broadcom Corporation | Voice and data exchange over a packet based network |
US6888844B2 (en) | 2000-04-07 | 2005-05-03 | Broadcom Corporation | Method for selecting an operating mode for a frame-based communications network |
JP3596603B2 (ja) * | 2000-10-13 | 2004-12-02 | 日本電気株式会社 | スケジュールシステムとそのスケジュール方法 |
US8023421B2 (en) | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7359384B2 (en) * | 2002-06-10 | 2008-04-15 | Lucent Technologies Inc. | Scheduling of guaranteed-bandwidth low-jitter traffic in input-buffered switches |
ATE504446T1 (de) | 2002-12-02 | 2011-04-15 | Silverbrook Res Pty Ltd | Totdüsenausgleich |
US20050089054A1 (en) * | 2003-08-11 | 2005-04-28 | Gene Ciancaglini | Methods and apparatus for provisioning connection oriented, quality of service capabilities and services |
US20050141804A1 (en) * | 2003-12-24 | 2005-06-30 | Yuanyuan Yang | Group switching method and apparatus for dense wavelength division multiplexing optical networks |
US7758143B2 (en) | 2004-05-27 | 2010-07-20 | Silverbrook Research Pty Ltd | Printhead module having nozzle redundancy |
US7688820B2 (en) | 2005-10-03 | 2010-03-30 | Divitas Networks, Inc. | Classification for media stream packets in a media gateway |
US8089959B2 (en) * | 2006-05-30 | 2012-01-03 | Ted Henryk Szymanski | Method and apparatus to schedule packets through a crossbar switch with delay guarantees |
US7817627B2 (en) | 2007-06-21 | 2010-10-19 | Maged E. Beshai | Large-scale packet switch |
-
2010
- 2010-11-03 US US13/257,305 patent/US8902912B2/en not_active Expired - Fee Related
- 2010-11-03 WO PCT/US2010/055294 patent/WO2011056868A2/en active Application Filing
- 2010-11-03 CN CN201080048846.2A patent/CN102640457B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1278696A (zh) * | 1999-06-18 | 2001-01-03 | 日本电气株式会社 | 数据流控制交换机及其调度方法 |
Non-Patent Citations (1)
Title |
---|
A Framework for Differential Frame-Based Matching Algorithms in Input-Queued Switches;Andrea Bianco;《IEEE Computer and Communications Societies,INFOCOM 2004》;20040331;第一节第6段,第二节第5-11段,第四节第2段 * |
Also Published As
Publication number | Publication date |
---|---|
WO2011056868A2 (en) | 2011-05-12 |
US8902912B2 (en) | 2014-12-02 |
WO2011056868A3 (en) | 2011-10-13 |
CN102640457A (zh) | 2012-08-15 |
US20120008637A1 (en) | 2012-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | Age of information: A new metric for information freshness | |
CN113254197B (zh) | 一种基于深度强化学习的网络资源调度方法及系统 | |
CN113300960B (zh) | 一种基于路由调度与联合优化的时延确定性传输方法 | |
CN110493360B (zh) | 多服务器下降低系统能耗的移动边缘计算卸载方法 | |
Yang et al. | Communication-aware scheduling of serial tasks for dispersed computing | |
CN110990140B (zh) | 一种光电交换网络中分布式机器学习流的调度方法 | |
Kittipiyakul et al. | Delay-optimal server allocation in multiqueue multiserver systems with time-varying connectivities | |
CN106789716B (zh) | Tdma自组网的mac层队列调度方法 | |
CN102752192A (zh) | 基于SCTP的ForCES传输映射层的带宽分配方法 | |
CN102640457B (zh) | 用于输入排队交换机的基于差分帧的调度 | |
Zhou et al. | Multi-task deep learning based dynamic service function chains routing in SDN/NFV-enabled networks | |
CN116208567A (zh) | 跨域数据中心sdn网络资源的流量调度的方法和系统 | |
US9231887B2 (en) | High-performance routers with multi-stage, multi-layer switching and single-stage shared buffering | |
CN117596158A (zh) | 一种基于pmoa算法的列车通信网络流量调度优化方法 | |
CN106911593A (zh) | 一种基于sdn架构的工业控制网络队列调度方法 | |
Ross et al. | Projective cone scheduling (PCS) algorithms for packet switches of maximal throughput | |
Wang et al. | I-CSMA: A link-scheduling algorithm for wireless networks based on Ising model | |
Li et al. | Delay analysis and optimal access strategy in multichannel dynamic spectrum access system | |
CN110536308A (zh) | 一种基于博弈的多节点计算卸载方法 | |
CN116455824A (zh) | 基于强化学习的网络流量负载均衡方法 | |
Iannello et al. | On the optimal scheduling of independent, symmetric and time-sensitive tasks | |
CN113794654B (zh) | 一种tt-fc网络中时间触发消息的分组调度方法 | |
Liu et al. | QoS multicast routing based on particle swarm optimization | |
Neely | Exact queueing analysis of discrete time tandems with arbitrary arrival processes | |
Abidini et al. | Revenue maximization in an optical router node-allocation of service windows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150121 Termination date: 20191103 |
|
CF01 | Termination of patent right due to non-payment of annual fee |