CN101141399A - 共享存储交换支持组播的双门限端口队列控制方法 - Google Patents

共享存储交换支持组播的双门限端口队列控制方法 Download PDF

Info

Publication number
CN101141399A
CN101141399A CNA2007101640151A CN200710164015A CN101141399A CN 101141399 A CN101141399 A CN 101141399A CN A2007101640151 A CNA2007101640151 A CN A2007101640151A CN 200710164015 A CN200710164015 A CN 200710164015A CN 101141399 A CN101141399 A CN 101141399A
Authority
CN
China
Prior art keywords
port
threshold
multicast
queue
cell
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
Application number
CNA2007101640151A
Other languages
English (en)
Inventor
汪洋
余少华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan FiberHome Networks Co Ltd
Original Assignee
Wuhan FiberHome Networks Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan FiberHome Networks Co Ltd filed Critical Wuhan FiberHome Networks Co Ltd
Priority to CNA2007101640151A priority Critical patent/CN101141399A/zh
Publication of CN101141399A publication Critical patent/CN101141399A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于以太网交换机的数字信息传输控制技术领域,具体涉及一种共享存储交换支持组播的双门限端口队列控制方法。该方法使用有效业务量作为控制各个端口队列门限的主要依据,让各个端口承担相同的流量压力,从而使系统保持均衡状态。在经典的有效带宽的基础上,结合输入的流量速率和分配的缓冲区大小一起来定义输出端口的有效业务量,是对流量压力的准确度量。双门限的使用使得公共存储空间既能够保持在平均意义下的平衡,又能实现突发时段的调剂,并且对组播的信元的转发也可以纳入这个工作框架。模拟结果显示,在不同的流量模式下,这种方法均比传统的动态门限算法在效率和公平性上有较大提升。

Description

共享存储交换支持组播的双门限端口队列控制方法
技术领域
本发明属于以太网交换机的数字信息传输控制技术领域,具体涉及一种共享存储交换支持组播的双门限端口队列控制方法。
背景技术
交换结构是交换/路由设备完成转发功能的核心,按照进入信元的缓存策略分类,可以分为输入排队、输出排队和共享存储排队。其中前两种实现方式通常还包括一个空分(space-division)单元,典型的如Crossbar[1]。大量的研究表明,输出排队能够实现最优的性能,同时避免诸如线头阻塞(HOL)之类降低系统效率的因素。与输入或输出排队类型不同,共享存储器(SM)的交换结构将交换的功能全部在一个公共存储器中实现,其排队原理非常类似于输出排队,且由于各个队列共享存储空间,提高了对存储资源的利用率[2],加上没有使用其他空分结构,使得共享存储交换结构有较高的效率和较低的实现成本,从而在单板交换或大型交换系统的前端交换中占据主导地位[3]
共享存储交换结构的一个难点在于存储器的管理和分配。就实现而言,进入的报文在存到共享缓存之前,通常都被等分为固定长度的信元,存储于共享缓存中的信元按照到不同的输出端口组织为不同的输出队列。在系统负载较重时,各个队列会竞争对共享缓存的使用,特别是在不均匀流量条件下,重负载端口的队列会大量挤占公共缓存而影响其他端口对缓存的正常使用。因此,如何对交换结构的效率和公平性做出折衷一直是个研究热点。
对队列进行门限控制是通常采取的措施,此外还有不使用门限而对信元进行推出(push out,PO)操作的算法[4]。PO算法在理论上是最理想的,但其实现困难,因此一般作为一个基准的参考算法和其他算法进行对比。传统的门限算法包括静态门限(ST),动态门限(DT)[5][6]等。其中ST缺乏对流量场景的适应性,DT受到广泛关注,但文献[7]证明其表现不稳定,原因在于它试图用一个简单的线性模型来计算非线性的排队系统。最近提出的研究包括使用衰减函数来计算每队列的门限[8],这个算法将DT提出的全局的动态门限方法细化为每个队列的动态门限,并认为一个输出端口队列所需要向共享存储区索要的空间与剩余的空闲存储区大小成正比,而与这个输出端口队列当前的长度成反比。当剩余的缓冲区的大小处于关键值时,为了最大程度地提高存储器的利用率,鼓励较短的队列优先向剩余存储器申请空间。文献[7]提出使用模糊逻辑和遗传算法来进行计算,并提出了在线计算和离线计算相结合的思想来解决遗传算法难以在交换芯片控制器内实时完成的困难。
受组播的应用(如IPTV等)的推动,为了让共享存储交换结构也同时能够高效地转发组播流量,通常采用两种机制来进行组播和单播的混合分组转发[1]。第一种是使用专用组播信元队列(DedicatedMulticast Queue,DMQ)的共享存储,其原理如图1所示,组播信元总是有最高的优先级,只有当组播信元队列为空,或者组播队列的线头(Head of Line,HOL)不是发往同一个端口时,才对发往这个端口的单播信元进行输出操作;另一种是使用地址拷贝的队列(Address CopyQueue,ACQ),每个输出队列以FIFO方式保存信元在存储空间中的地址。一个组播信元的地址会出现在多个端口的输出地址队列中,如图2所示,其中带阴影的信元地址指向相同的组播信元,这个组播信元存放于公共的共享存储空间。此外,每个组播信元有自己的计数器,用于记录需要转发的端口数。
DMQ方案的缺陷在于,当突发组播流量的带宽达到一定程度时,将严重妨碍单播信元的正常转发,因为一般而言组播信元具有相对较高的优先级。对此,研究者提出了轮转策略,带权重轮转策略等方案[1],但是这些策略又会在很多情况下造成组播队列的线头拥塞,因为组播队列一般情况下只有一个。ACQ较好地解决了拥塞问题,因此虽然它也有别的弱点,如还需要额外的空间来存放地址队列,但仍然成为共享存储交换结构支持组播的主要机制。
如前所述,已有的门限控制算法本身尚存诸多问题,缺乏对组播考虑是另一个重要的掣制。为此,需要寻求能够在组播-单播的混合流量环境下都能够提供高效的信元准入(门限)机制,这种机制应该满足以下要求:(1)易于在线计算;(2)适应流量场景;(3)维持组播和单播信元占用缓存资源的合理平衡;(4)实现系统效率和公平的合理折衷。
对信元在共享存储空间的准入问题,也就是端口队列的门限问题的研究一般都确定了几点可以衡量其算法性能的准则,譬如信元丢失率,共享缓存利用率等,从而对各自提出的算法在性能上进行对比。但遗憾的是,虽然这些研究的出发点都试图解决各个队列之间的公平性的问题,但是都缺乏一种有效的准则来衡量算法的公平性,最后都只能按照系统总体性能或效率来度量其算法。
发明内容
本发明的目的在于提供一种共享存储交换支持组播的双门限端口队列控制方法,该方法能够让每个端口承担相同的流量压力,而在有突发流的片刻能彼此互相借用一定的存储空间,从而使系统达到效率和公平性的最优。
本发明的技术方案如下:一种共享存储交换支持组播的双门限端口队列控制方法,该方法根据各个端口Porti监控得到的流量μi的大小,将输出端口按照流量强度分为三类:非活动端口SI、活动端口SII、过载端口SIII,对每个端口Porti确定两个门限值,低门限值Thi lower和高门限值Thi upper,对各个输入端口按如下流程进行并行处理:
(1)取信元,判断输出端口Porti所属的类型;
(2)取输出端口Porti队列长度qi和Thi upper,若 q i = Th i upper , 丢弃该信元,转至步骤(1),否则,将信元加入该端口输出队列尾端等待发送,并设置qi=qi+1;
(3)取输出端口Porti队列长度qi和Thi lower,若 q i ≥ Th i lower , 重新确定各个端口的低门限值Thi lower和高门限值Thi upper,并转至步骤(1)。
如上所述的共享存储交换支持组播的双门限端口队列控制方法,其中,在步骤(1)中判断输出端口Porti所属的类型时,指定两个阈值0<Гact<1和1<Гover,当0≤μi<Гact时,Porti∈SI;当Гact<μi<Гover时,Porti∈SII;当Гover≤μi时,Porti∈SIII
如上所述的共享存储交换支持组播的双门限端口队列控制方法,如果Porti∈SI,设置THi lower在数值上等于活动端口的阈值Гact·M/Λ,Thi upper为一个块,大小为M/Λ,其中,M为端口输出队列所占用的缓存总合,Λ为全部缓存所分成的大小相等的块的个数。
如上所述的共享存储交换支持组播的双门限端口队列控制方法,如果Porti∈SII或者Porti∈SIII,取 Th i lower = Buf i ,取Thi upper为能容纳Thi lower的以M/Λ为粒度的最小存储块,其中,Bufi为各个活动端口或过载端口的预分配缓存,M为端口输出队列所占用的缓存总合,Λ为全部缓存所分成的大小相等的块的个数。
如上所述的共享存储交换支持组播的双门限端口队列控制方法,其中,根据下列三个公式计算各个活动端口或过载端口的预分配缓存Bufi
Figure A20071016401500072
上式中,K为一个常数,BT为流量的有效带宽。
如上所述的共享存储交换支持组播的双门限端口队列控制方法,其中,组播信元的门限通过下述方式表示:
Bufm=λ·具有组播信元端口的门限的最大者
公式中,Bufm为组播信元的缓存空间,λ为组播信元的平均到达率。
本发明的有益效果在于:本发明使用有效业务量作为控制各个端口队列门限的主要依据,该方法旨在让各个端口承担相同的流量压力,从而使系统保持均衡状态。在经典的有效带宽的基础上,结合输入的流量速率和分配的缓冲区大小一起来定义输出端口的有效业务量,是对流量压力的准确度量。双门限的使用使得公共存储空间既能够保持在平均意义下的平衡,又能实现突发时段的调剂,对组播的信元的转发也可以纳入这个工作框架。通过模拟结果显示,在不同的流量模式下,这种方法均比传统的动态门限算法在效率和公平性上有较大提升。
附图说明
图1为专用组播信元队列DMQ的共享存储原理图。
图2为地址拷贝队列ACQ的混合流量转发机制原理图。
图3为利用虚门限来求常数K的原理图。
图4为系统公平度的定义原理图。
图5为DT算法在α=2,1,0.5时的组播丢包情况示意图。
图6为本发明的方法和DT算法(α=1)在过载时的空闲存储器的大小示意图。
图7为本发明的方法和DT算法(α=1)在过载时的效率对比图。
图8为本发明的方法和DT算法(α=1)在过载时公平性的对比图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
对有效带宽(effective bandwidth)或有效容量的研究始于对ATM交换系统对多种服务流的容纳问题,Chang,Kesidis,Courcoubetis等人借助于平稳过程队列的渐进性质和概率中的大偏差理论,逐渐形成了比较成熟的有效带宽理论[9]-[11]。本发明可以借助有效流量带宽的观点来建立一种公平性的衡量机制。这可以直观地描述如下:设一段时间到某个端口的流量为一个平稳过程,现在需要在共享存储区中划分一定大小的空间来容纳这个到来的信元流。假如这个划分的空间为无限大,那么这个信元流的有效带宽可以按照上述经典的有效带宽理论,流量有效带宽:
B ∞ = lim t → ∞ 1 tθ log Ee θX ( 0 , t ) - - - ( 1 )
其中X(0,t)表示时间区间(0,t)之间到来信元的累加量,而θ是一个与QoS相关的变量,即队列长度溢出概率,也就是
Pr ( q ( ∞ ) ≥ x 0 ) ≈ e - θ x 0 = ϵ - - - ( 2 )
其中q(t)表示t时刻队列的长度[12]。这里队列溢出与假设的“无限大缓存”并无矛盾,因为无限大缓存是个假设的条件,在这种假设下,可以得到实际队列长度超过给定的长度x0的概率。然而实际分配的存储空间不可能是无限大,那么从直觉可以看出,实际分配得到的存储空间越小,相对于这个分配到的越小的空间,实际的流量有效带宽就会越大。这是因为,空间越小,可以腾挪或周转的空间就越小,所以流量的相对带宽就会越大。
在信元没有优先级区别的情况,基于以上分析,可以考虑将每个输出队列相对于分配得到的存储空间的有效流量作为衡量各个队列公平性的一种度量,也就是说,对于一个共同的信元丢失概率ε,如果每个队列分配到的存储空间使得各自进入的流量觉得它们拥有相同“宽裕”程度的空间,从而溢出这个空间的概率都维持在ε水平,那么可以认为这种分配方案是公平的。
设共享存储交换结构输入端口和输出端口均为N个,公共存储器大小为M,将时间离散化为时隙,每个输入和输出端口的线速均为每时隙1个单位。到各个输出端口的队列由到这些端口的流量负载来决定,记时隙t到输出端口i的流速为xi(t),i=1,…,N,而从时隙s到时隙t之间到端口i的累积流量为xi[s,t]。由于各个输入端口的线速也都是1,不难看出,对任意时刻t,都成立0≤xi(t)≤N和 Σ i = 1 N x i ( t ) ≤ N , x i [ s , t ] = Σ k = s t x i ( k ) .
公式(1)的计算十分复杂,作为一种近似,以一个较大的T来替换公式(1)中的极限计算,因此,重新定义BT=logEeθX(0,T]/(Tθ)作为有效带宽的表达式。但即便如此,这个表达式仍然不适合在实际应用中采用。为了给出有效流量的可行计算方法,先采用两个具体的模型来分析。
首先考虑泊松流,设xi(t)为一个输入强度为λ的泊松过程。显然xi(0,T]服从强度为λT的泊松分布,故BT=logEeθX(0,T]/(Tθ)=λ(eθ-1)/θ。给定丢包率ε时,考虑到前面的条件x0很大,从(2)式得知θ很小,因此忽略θ的高阶小量,得到
BT≈λ(1+θ/2)=λ(1+(-logε)/(2x0))    (3)
可以看出在泊松流的假设下,BT具有λ(1+K/bufi)的形式。其中K为一个常数,依赖于QoS的选取,bufi为分配给指定端口的缓冲区大小。
根据广泛采用的ON-OFF模型,这个模型的一个单数据源处于两种状态:处于ON状态时以恒定速率Rp发送数据,处于状态OFF时不发送数据。记α为从OFF状态到ON状态的变迁率,β为从ON状态到OFF状态的变迁率,若xi(t)为N个独立的单数据的叠加,利用状态转移矩阵的最大特征值可以得到[13]
B T = 1 Tθ log Ee θX ( 0 , T ] = N ( R p 2 - α + β 2 θ ) + N ( R p 2 - α + β 2 θ ) 2 + αR p θ
对之进行一些代数处理:由(2),θ=(-logε)/x0,此外记
p = α α + β , k = βx 0 R p ( 1 - p ) ( - log ϵ )
B T NR p = 1 - k 2 + ( 1 - k 2 ) 2 + kp - - - ( 4 )
由假设x0很大,因此k很大,对(4)作泰勒展开并忽略1/k的高阶小量(详细推导略),得到:
B T = NR p p ( 1 + 1 k - 1 ) - - - ( 5 )
同样的道理,如果使用输入流的Bernoulli模型或者Gaussian模型,计算等效带宽都得到形式上同(3)和(5)相似的表达式,即形如
BT=μ(1+K/Buf)    (6)
的等效带宽表达式。其中Buf为分配得到的缓存大小,而k在流量特征与QoS参数给定的条件下是一个常数,μ是输入流量的平均速率。在等效带宽的意义下,公式(6)正是直觉上“缓存换带宽”的理论解释:对于一个事先给定的缓存大小Buf1,稳定状态时的丢包率δ1可以由公式(2)近似得到;如果增加缓冲区,稳定状态时的丢包率δ2必然降低。这意味着如果仍然满足于以前的丢包率δ1,这个增加了的缓冲区可以承受更大的平均流量,即(6)中Buf的增大可以“换取”更大的μ而保持BT不变。此外,BT通常比平均速率要大,这个性质不仅在公式(3)、(5)中得到反映,还可以直接通过BT的定义BT=logEeθX(0,T]/(Tθ)以及log函数的凹性直接得到。因此,在“实时”环境中,选用公式(6)作为诸输出队列所承载的流量强度的经验表达式是合理的,其中k待定。
k的计算是基于历史流量数据完成的,由于k是流量模型特征而不是流量大小的反映,故它是一个比较稳定的量,可以和对门限粗略值的计算离线进行。为此,将全部缓存分为Λ个大小相等的块,对门限按照块的粒度确定。首先按照定义来计算某个输出端口i的有效带宽。取A个时隙为一个时段,在B个连续时段上计算有效带宽的统计值。此时,这B连续的时段包括的时隙为:
T={0,1,…A-1,A,…,2A-1,2A,…,AB-1}
记时隙α(α∈T)末端口i的队列长度为qi(α),由单时隙的输出能力为1,则qi(α)=max{qi(α-1)+xi(α)-1,0},每个时段到达的流量为 Total j = Σ α = 0 α = jA - 1 x i ( α ) ( j = 1 , · · · , B ) , 并且B个连续的时段中的总到达流量为 Total AB = Σ j = 1 B Total j , 设有一个虚拟的门限为b0,则这期间总的信元丢失数为
Figure A20071016401500113
取合适的b0,使得LossAB/TotalAB=ε,则这个b0即为所求的虚拟门限,如图3所示.记θ=(-logε)/b0,那么
Figure A20071016401500114
即为按照定义BT=logEeθX(0,T](Tθ)所求的值。再令
B T = μ i ( 1 + K b 0 ) = Total AB AB ( 1 + K b 0 ) - - - ( 7 )
通过公式(7)可以求出k的值。
考虑公式(6),为了让各个端口都具有相同的等效带宽,则下列两个等式成立:
μi(1+K/Bμfi)=BT     (8)
∑Bμfi=M             (9)
其中M为端口输出队列所占用的缓存总合。在组播ACQ情形下,如图2所示,总的缓存大体可以划分为两部分,一部分用于存储组播信元,余下的部分才用于划分给诸端口。因此M实际上是全部存储空间BufTotal除掉一部分用于存储组播信元空间Bufm后的剩余部分。
一般而言,这两个等式可以联合得到每个Bufi的值,但是在特殊情形,公式(8)、(9)可能无解,譬如μi=0时。因此根据具体的流量场景,公式(8)、(9)尚需做进一步的修改。
离线计算主要基于一段时间内对进入各个端口输出队列的流量采集,也就是通过B个时段的连续采样得到输出队列所面临的流量场景。这个计算根据各个端口监控得到的流量μi,即公式(7)中的TotalAB/(AB)。根据μi的大小,将输出端口按照流量强度分为三类:I类为非活动端口,记为SI;II类为活动端口,记为SII;III类为过载端口,记为SIII。对三者的分类按照经验的阈值进行:即指定两个阈值0<Γact<1和1<Γover,当0≤μi<Γact时,Porti∈SI;当Γact<μi<Γover时,Porti∈SII;当Γover≤μi时,Porti∈SIII
为了对输入的信元有高效而不失公平准入机制,我们采用每端口的双门限操作。对每个端口Porti确定两个门限值:低门限Thi lower和高门限Thi upper,Thi lower用于触发各个端口门限的再计算,Thi upper用于判断是否丢弃信元,各个输入端口并行处理的流程如下:
(1)取信元,判断目的端口,设目的端口为Porti
(2)取输出Porti队列长度qi和Thi upper,若 q i = Th i upper , 丢弃该信元,转至步骤(1);否则将信元加入端口i输出队列尾端等待发送,设置qi=qi+1;
(3)取输出Porti队列长度qi和Thi lower,若 q i ≥ Th i lower , 通知控制器重新计算各个Thi lower和Thi upper,转至步骤(1)。
q i < Th i lower 的情况下,不进行任何丢包或重新修改门限的动作。
因此,如何确定各个Thi lower和Thi upper是整个操作的关键。为了得到这两个值,需要结合公式(8)、(9)和各个特定端口的类别来一起计算,以下分情况讨论:
若Porti∈SI,此时因为μi太小,故该端口的流量几乎可以忽略,因此设置Thi lower在数值上等于活动端口的阈值Γact·M/Λ,注意到缓存的分配是以大小为M/Λ的块为粒度的,此时设置Thi upper为一个块,大小为M /Λ;
由于SI中的端口不参与以有效业务量为依据的输出端口门限计算,因此SII和SIII中的端口门限计算需要对公式(9)式进行修改,这些端口的缓存在SI使用的剩余存储空间中划分:
&Sigma; i &Element; S II &cup; S III Buf i = M - | S I | &CenterDot; M / &Lambda; - - - ( 10 )
对于Porti∈SIII,此时端口过载。如前所述,已经得到了该端口在一段时间内的平均流速μi≥Γover。此时,必须对这个端口的队列加以控制,否则会快速增长。根据公式(8)和(10)计算各个活动或过载端口的预分配缓存Bufi,取 Th i lower = Buf i , 而取Thi upper为能容纳Thi lower的以M/Λ为粒度的最小存储块。
在图2所示的ACQ的组播实现方式中,不难看出以下两点:1)每个单播信元与其地址拷贝具有一对一的映射关系,而每个组播信元与其地址拷贝(实例)具有一对多的映射关系;2)单播信元与组播信元共享公共的存储空间,且每个端口的门限实际上是为单播信元设置了准入机制。对于组播信元,由于存在不同的实例需要进入不同的端口地址拷贝队列,因此不能使用每个端口的门限来对组播信元进行准入控制。显然,应该为组播信元分配多大的空间,即组播信元的门限设置是一个需要和前面分析的端口门限并列考虑的问题。假设可以求得组播信元的缓存空间Bufm,则公式(8)和(10)中的M满足
M=BufTotal-Bufm    (11)
为了计算Bufm的大小,考虑熟知的Little公式:L=λW,并将其限制于组播信元的缓存与释放,其中L是组播信元队列的长度,λ是组播信元的平均到达率,而W是组播信元的平均等待时间。显然,在平衡状态下,L可以理解为组播信元所要占用的存储空间。因此有:
Bufm=L=λW        (12)
上式中系统组播信元的到达率λ是一个较易测得的量,而对于组播信元的平均等待时间W,若不对组播流量作充分简化的假设,难以给出显示的解。但考虑到(12)式的目的不外计算组播信元的进入共享存储空间的门限,如果能给出一个W的合理上界而不对组播流量作过多的假设,对于实际应用仍然是可行的。为此考虑任意一个组播信元CM,这个信元有r个实例,分别位于端口Porti1,…,Portir,这些端口如果存在地址拷贝的门限Ti1,…,Tir则显然该组播信元的等待时间 W M &le; max { T i 1 , &CenterDot; &CenterDot; &CenterDot; , T i r } &le; max { Buf k | 端口k具有组播信元流,可以使用这样的记法是因为已经将每个端口的转发速度定义为单位1。从而,组播信元的门限可以使用L这个宽松的上界来表示:
Bufm=λ·具有组播信元端口的门限的最大者
由前面的分析,组播信元的门限和诸端口的门限共同划分了公共的存储空间(这里忽略信元地址拷贝所占的少量存储区域)。因此,联合公式(9),(10),(11),(12)可以得到计算端口门限和组播门限所共同需要满足的约束,集中表述如下:
Figure A20071016401500146
上述方程中μi,λ为针对流量场景的测量值,而B实际上表示SII和SIII端口所承担的共同的流量压力,这个值可以通过联立(8’),(13),(14)诸式求得,尽管这个值本身可能我们并不关心,但却成为计算Bufi,Bufm的纽带。在每个端口的双门限算法中,若qi超过了低门限Thi lower,则触发整个系统各个输出端口门限的重新计算,这种情况容易在流量场景发生快速变化下发生。但是在骨干网中,由于聚合效应,各个端口的流量通常比较稳定,因而场景的变化通常是非常平滑的。为了能更有效地动态捕捉场景特征,而不是到了某个端口的队列要到达“警戒线”时才进行重计算,交换系统除了使用触发重计算外,还需使用定时重计算的机制。而对于组播门限Bufm,由于在公式(14)中已经作了较宽松的估计,因此Bufm将作为组播信元的硬丢包门限。组播流量的到达率λ可以采用定时采样平均的方法得到,这与端口门限的定时重计算是一样的。
对于门限控制算法的效率问题,有下列几个直觉上的准则。1)效率一般以整个共享存储交换结构运行期的性能来衡量而不针对单个特定端口或特定的数据流,在这个意义下,通常希望“过载”的输入条件下公共存储空间的利用率尽可能高;2)在存储区利用率一定时,系统应该有尽可能低的丢包率。考虑下式:
          inputi=outputi+droppedi+Δqi    (11)
其中Δq表示时隙末的队列长度与时隙刚开始时队列长度之差。下列两条性质是显然的:i)|Δqi|≤Bufi
                  ii)droppedi>0inputi>outputi=1
基于以上分析,定义单端口的相对丢包系数为: RL i = dropped i input i &CenterDot; 1 &mu; i
相对对包系数RLi的含义是丢包率与端口输入流量均值的比,这样的定义可以避免单纯地从丢包的绝对数量来衡量端口的服务能力而不顾流量的大小。显然,端口的相对丢包可以平行地应用于组播队列,不再赘述。进一步定义系统的效率函数如下:
E=exp(公共存储空间的利用率-1)·exp(-∑LRi)
这个定义式符合直觉上对“效率”的理解:如果公共存储区已用满,则效率仅跟各个端口的相对丢包系数相关;否则空闲的缓冲区越大,或者与此同时丢包的数量越小,系统效率越低。例如在丢包了100字节时,空闲存储区为200字节时的系统应该比空闲存储区为20字节的效率要低。
与效率紧密相联系的另一个性能参数是公平性。前面已经对发生丢包的端口定义了相对丢包系数,对于队列未超过门限的端口,需要一种能够衡量在给定门限条件下端口空闲程度的参数。为此定义非过载端口(SI和SII类端口)在没有发生丢包时的空闲系数为:
Ii=(Bufi-Qi)/BufTotal
同相对丢包系数一样,空闲系数也可应用于组播队列,只需将相关的Bufi和Qi取为组播队列的门限和实际队长即可。
定义系统在一段时间内的公平指数:将组播队列看成是位于一个特殊的端口PM,包括PM的诸端口在Δ时间段中的繁忙程度,
从而,定义系统的公平度
Fairness &Delta; = max i , j &Element; { I , . . . , N } &cup; P M | B i - B j |
其含义如图4所示。
下面通过仿真研究与分析进一步介绍本发明的特点。
模拟一个8×8的共享存储交换结构,全部的存储区大小为16000信元。数据按照100μi个ON-OFF单数据源的叠加生成,其中μi用来调节流量的强度,即载荷。对于单个的ON-OFF数据源,以0.2的概率进入ON状态,平均逗留时间为10个时隙,平均每时隙产生2.5个信元。进入OFF的概率为0.8,其平均逗留时间为3.75时隙。输入和输出的线速为当μi=1时叠加后数据的平均流量。全局存储空间被划分为256个相等大小的块,活动端口和过载端口的阈值分别为Γact=0.25和Γover=1.15。
用流量场景来描述单播的流量,流量场景用一个1×8的向量来表示,如[0,0.1,0.2,0.4,0.7,0.8,1,1.2],其中第i个分量表示发往端口i的流量载荷。对于组播信元而言,其信元的到达仍然按照前述ON-OFF源生成,组播的扇出按照一些典型的分布确定,取最小扇出fmin=2,最大扇出fmax=8,每次模拟生成的组播信元扇出fi按照分别几何分布来生成,在生成一个fi后,随机地在1到8号输出端口选择fi个端口作为该组播信元的目的端口。为了模拟网络流量的变迁,对单播数据流的模拟采用场景的变换来实现,模拟中采用了连续的三个场景:[0,0.1,0.2,0.4,0.5,0.7,1,1.2]→[0.6,0.7,0.2,1,1.1,0.6,0.5,0.4]→[1.2,1,0.7,0.5,0.4,0.2,0.1,0],每个场景持续一秒,其中第三个场景是第一个场景中各个端口流量的反序。
首先观察DT算法在不同的α取值下对组播信元的影响,为此,调整输入组播信元的两个主要参数:组播信元在整个输入信元中的比例MultiPortion和组播扇出的参数Foutp。组播扇出数f采用以Foutp为参数的几何分布,得到的结果如表1所示。可以看出,对于固定的MultiPortion和Foutp,DT算法随着α的增大而使组播信元丢包率增大。在组播信元的比例不高时,DT算法不管使用何种α,组播信元的丢失率都保持在较低的水平,而随着组播信元的比例升高,DT算法逐渐显示出不足,即组播信元的丢失率显著增高。MultiPortion=0.3时DT算法在不同的α下的丢包率如图5所示。
表1本发明算法和DT算法的组播丢包率对比
  MultiPortion=0.1   MultiPortion=0.3   MultiPortion=0.5
  Foutp=0.5   Foutp=0.2   Foutp=0.2   Foutp=0.5   Foutp=0.2   Foutp=0.5
  DT(α=2)   <0.001   <0.001   0.29   0.29   0.33   0.31
  DT(α=1)   <0.001   <0.001   0.26   0.25   0.22   0.19
  DT(α=0.5)   <0.001   <0.001   0.13   0.11   0.17   0.17
  本发明算法   0   0   0   0   <0.001   <0.001
实验的结果和文献[7]所提到的结论是一致的,即DT算法选取较大的α对组播非常不利,但是如果选取较小的α,如[5]所述,将降低共享存储器的利用率,为此作为折衷,选取α=1是合适的。
图5还显示了一个特殊的现象,就是在α=0.5时,DT算法在局部的组播信元“丢包率”甚至超过了1。这种不正常的现象是因为,在某个时隙,由于门限骤然下降,此时按照DT的丢包策略,不仅丢弃了本时隙进入的组播信元,而且还丢弃了前面若干个时隙堆积起来尚未转发出去的组播信元。因此,此时就出现丢弃的信元比进入的信元还多的情形,也就在形式上造成了“丢包率”大于1的现象。
在α=0.5,MultiPortion=0.3,Foutp=0.2的情形下,实验得到的空闲存储器的大小如图6所示。图中显示了本发明的算法能够在发生过载的情形下更充分地利用存储空间,这对于降低系统的丢包率是有正面作用的。图7和图8分别显示了运行期间按照前面建立的效率和公平性框架得到的规一化的效率和公平性曲线,对于这两种指标,本发明提出的方法都较DT有显著提高。
参考文献:
[1]H.Jonathan Chao,Cheuk H.Lam,Eiji Oki,Broadband Packet Switching Technologies-A PracticalGuide to ATM Switches and IP Routers John Wiley & Sohs Inc,2001
[2]Sanjeev Kumar,The Sliding-Window Packet Switch:A NewClass of Packet Switch ArchitectureWith Plural Memory Modules and Decentralized Control,IEEE Journal On Selected Areas InCommunications,VOL.21,NO.4,pp656-673,MAY 2003
[3]Michael V.Lau,Sam Shieh,Pei-Feng Wang,Brandon Smith et al Gigabit Ethernet Switches Using aShared Buffer Architecture IEEE Communications Magazine,Volume 41,Issue 12,pp.76-84,2003
[4]Ruey-Bin Yang,Yuan-Sun Chu,Cheng-Shong Wu,Ming-Cheng Liang Pushout with virtualthresholds buffer management scheme in a shared buffer ATM switch International,Journal of NetworkManagement Volume 13,Issue 2,pp.147-154,2003
[5]Abhijit K.Choudhury,and Ellen L.Hahne Dynamic Queue Length Thresholds for Shared-MemoryPacket Switches IEEE/ACM Transactions On Networking,VOL.6,NO.2,pp.130-140 1998
[6]Tetsuo Zouta,Hiroshi Inai,and Jiro Yamakita,Dynamic Threshold Control in an ATM Switch withShared Memory Buffer Electronics and Communications in Japan,Part 1,Vol.83,No.4,2000
[7]Giuseppe Ascia,Vincenzo Catania,and Daniela Panno An Evolutionary Management Scheme inHigh Performance Packet Switches IEEE/ACM Transactions On Networking,VOL.13,NO.2,pp.262-275.2005
[8]B.Gaziz and Z.Ghassemlooy Dynamic buffer management using per-queue thresholds,InternationalJournal Of Communication Systems Volume 19,Issue 9,2006
[9]George Kesidis,Jean Walrand and Cheng-Shang Chang,″Effective bandwidths for multiclassMarkov fluids and other ATM sources,″IEEE/ACM Transactions On Networking,Vol.1,pp.424-428,1993
[10]Costas Courcoubetis,Richard Weber Buffer Overflow Asymptotics for a Buffer Handling ManyTraffic Sources Journal Of Applied Probability,Vol.33,No.3,pp.886-903,1996
[11]Costas Courcoubetis Vasilios A.Siris George D.Stamoulis Application and evaluation of largedeviation techniques for traffic engineering in broadband networks Proceedings of the 1998 ACMSIGMETRICS joint international conference on Measurement and modeling of computer systems,Madison,US,pp.212-221,1998
[12]Cheng-Shang Chang Performance Guarantees in Communication Networks,Springer Verlag,2000
[13]Mischa Schwartz BroadBand Integrated Networks,Prentice Hall PTR,New Jersey,1996
[14]Alexander Kesselman,Zvi Lotker,Yishay Mansour,Buffer Overflow Management in QoSSwitches,SIAM J.COMPUT.Vol.33,No.3,pp.563-583,2004
[16]Ellen L.Hahne and Abhijit K.Choudhury Dynamic Queue Length Thresholds for Multiple LossPriorities IEEE/ACM Transactions On Networking,Vol.10,NO.3,JUNE 2002

Claims (6)

1.一种共享存储交换支持组播的双门限端口队列控制方法,其特征在于:该方法根据各个端口Porti监控得到的流量μi的大小,将输出端口按照流量强度分为三类:非活动端口SI、活动端口SII、过载端口SIII,对每个端口Porti确定两个门限值,低门限值Thi lower和高门限值Thi upper,对各个输入端口按如下流程进行并行处理:
(1)取信元,判断输出端口Porti所属的类型;
(2)取输出端口Porti队列长度qi和Thi upper,若 q i = Th i upper , 丢弃该信元,转至步骤(1),否则,将信元加入该端口输出队列尾端等待发送,并设置qi=qi+1;
(3)取输出端口Porti队列长度qi和Thi lower,若 q i &GreaterEqual; Th i lower , 重新确定各个端口的低门限值Thi lower和高门限值Thi upper,并转至步骤(1)。
2.如权利要求1所述的共享存储交换支持组播的双门限端口队列控制方法,其特征在于:在步骤(1)中判断输出端口Porti所属的类型时,指定两个阈值0<Γact<1和1<Γover,当0≤μi<Γact时,Porti∈SI;当Γact<μi<Γover时,Porti∈SII;当Γover≤μi时,Porti∈SIII
3.如权利要求2所述的共享存储交换支持组播的双门限端口队列控制方法,其特征在于:如果Porti∈SI,设置Thi lower在数值上等于活动端口的阈值Γact·M/Λ,Thi upper为一个块,大小为M/Λ,其中,M为端口输出队列所占用的缓存总合,Λ为全部缓存所分成的大小相等的块的个数。
4.权利要求2所述的共享存储交换支持组播的双门限端口队列控制方法,其特征在于:如果Porti∈SII或者Porti∈SIII,取 Th i lower = Buf i , 取Thi upper为能容纳Thi lower的以M/Λ为粒度的最小存储块,其中,Bufi为各个活动端口或过载端口的预分配缓存,M为端口输出队列所占用的缓存总合,Λ为全部缓存所分成的大小相等的块的个数。
5.权利要求4所述的共享存储交换支持组播的双门限端口队列控制方法,其特征在于:根据下列三个公式计算各个活动端口或过载端口的预分配缓存Bufi
Figure A2007101640150003C1
上式中,K为一个常数,BT为流量的有效带宽。
6.权利要求3或4或5所述的共享存储交换支持组播的双门限端口队列控制方法,其特征在于:组播信元的门限通过下述方式表示:
Bufm=λ·具有组播信元端口的门限的最大者
公式中,Bufm为组播信元的缓存空间,λ为组播信元的平均到达率。
CNA2007101640151A 2007-10-16 2007-10-16 共享存储交换支持组播的双门限端口队列控制方法 Pending CN101141399A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007101640151A CN101141399A (zh) 2007-10-16 2007-10-16 共享存储交换支持组播的双门限端口队列控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007101640151A CN101141399A (zh) 2007-10-16 2007-10-16 共享存储交换支持组播的双门限端口队列控制方法

Publications (1)

Publication Number Publication Date
CN101141399A true CN101141399A (zh) 2008-03-12

Family

ID=39193148

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007101640151A Pending CN101141399A (zh) 2007-10-16 2007-10-16 共享存储交换支持组播的双门限端口队列控制方法

Country Status (1)

Country Link
CN (1) CN101141399A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873269A (zh) * 2010-06-24 2010-10-27 杭州华三通信技术有限公司 数据转发设备和端口缓存的分配方法
CN101938394A (zh) * 2010-09-14 2011-01-05 四川九洲电器集团有限责任公司 一种数据报文的总线传输方法
CN101321070B (zh) * 2008-07-16 2011-08-24 中兴通讯股份有限公司 一种可疑用户的监控系统及方法
CN102263701A (zh) * 2011-08-19 2011-11-30 中兴通讯股份有限公司 队列调整方法及装置
CN101739214B (zh) * 2008-11-13 2011-12-07 英业达股份有限公司 一种共享储存设备下自平衡数据访问压力的方法
CN106954192A (zh) * 2017-03-22 2017-07-14 上海斐讯数据通信技术有限公司 一种报文发送方法及系统
CN107347039A (zh) * 2016-05-05 2017-11-14 深圳市中兴微电子技术有限公司 一种共享缓存空间的管理方法及装置
CN107466016A (zh) * 2017-10-10 2017-12-12 北京邮电大学 一种基于用户移动性的小小区缓存设备分配算法
CN109995673A (zh) * 2017-12-29 2019-07-09 中国移动通信集团四川有限公司 数据发送方法、装置、设备及介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101321070B (zh) * 2008-07-16 2011-08-24 中兴通讯股份有限公司 一种可疑用户的监控系统及方法
CN101739214B (zh) * 2008-11-13 2011-12-07 英业达股份有限公司 一种共享储存设备下自平衡数据访问压力的方法
CN101873269A (zh) * 2010-06-24 2010-10-27 杭州华三通信技术有限公司 数据转发设备和端口缓存的分配方法
CN101873269B (zh) * 2010-06-24 2014-03-19 杭州华三通信技术有限公司 数据转发设备和端口缓存的分配方法
CN101938394A (zh) * 2010-09-14 2011-01-05 四川九洲电器集团有限责任公司 一种数据报文的总线传输方法
CN101938394B (zh) * 2010-09-14 2012-05-30 四川九洲电器集团有限责任公司 一种数据报文的总线传输方法
WO2013026324A1 (zh) * 2011-08-19 2013-02-28 中兴通讯股份有限公司 队列调整方法及装置
CN102263701A (zh) * 2011-08-19 2011-11-30 中兴通讯股份有限公司 队列调整方法及装置
CN107347039A (zh) * 2016-05-05 2017-11-14 深圳市中兴微电子技术有限公司 一种共享缓存空间的管理方法及装置
CN107347039B (zh) * 2016-05-05 2020-02-21 深圳市中兴微电子技术有限公司 一种共享缓存空间的管理方法及装置
CN106954192A (zh) * 2017-03-22 2017-07-14 上海斐讯数据通信技术有限公司 一种报文发送方法及系统
CN107466016A (zh) * 2017-10-10 2017-12-12 北京邮电大学 一种基于用户移动性的小小区缓存设备分配算法
CN107466016B (zh) * 2017-10-10 2019-11-05 北京邮电大学 一种基于用户移动性的小小区缓存设备分配方法
CN109995673A (zh) * 2017-12-29 2019-07-09 中国移动通信集团四川有限公司 数据发送方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN101141399A (zh) 共享存储交换支持组播的双门限端口队列控制方法
US11290395B1 (en) Emulating output queued behavior in a virtual output queue switch
US9342339B2 (en) Method and system for congestion management in a fibre channel network
US6580721B1 (en) Routing and rate control in a universal transfer mode network
US6067301A (en) Method and apparatus for forwarding packets from a plurality of contending queues to an output
CA2271883C (en) Many dimensional congestion detection system and method
EP1430642B1 (en) Method and system for congestion avoidance in packet switching devices
KR100588947B1 (ko) 스위칭 장치 및 스위칭 방법
US20060029080A1 (en) Using burst tolerance values in time-based schedules
US10686714B2 (en) Traffic management for high-bandwidth switching
US6345040B1 (en) Scalable scheduled cell switch and method for switching
CN107592966B (zh) 对网络设备中的输出队列所使用的共享存储器的动态保护
US7283558B2 (en) Distributed weighted fair arbitration and forwarding
US6947418B2 (en) Logical multicast packet handling
Wu et al. Network congestion avoidance through packet-chaining reservation
Lin et al. Two-stage fair queuing using budget round-robin
Neeser et al. Occupancy sampling for terabit CEE switches
Chu et al. Partial sharing and partial partitioning buffer management scheme for shared buffer packet switches
Martinez et al. A new cost-effective technique for QoS support in clusters
Garcia et al. Recn-dd: A memory-efficient congestion management technique for advanced switching
US7420919B1 (en) Self converging communication fair rate control system and method
Martinez et al. A switch architecture guaranteeing QoS provision and HOL blocking elimination
Wang et al. An Effective-Traffic Based Dual-Threshold Queue Control Scheme in Shared Memory Switch
US20040085960A1 (en) Method for sharing the bandwidth available for unicast and multicast flows in an asynchronous switching node
Lee et al. An efficiency study of different model-based and measurement-based connection admission control techniques using heterogeneous traffic sources

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20080312