共享存储交换结构中基于滑动窗口的高效组播转发方法

文档序号:7662987阅读:220来源:国知局
专利名称:共享存储交换结构中基于滑动窗口的高效组播转发方法
技术领域
本发明属于以太网交换机系统的前端交换技术,具体涉及一种共 享存储交换结构中基于滑动窗口的高效组播转发方法。
背景技术
Crossbar是一种被广泛用于高速背板交换的交换结构。一个M*N 的Crossbar交换结构具有M个输入端口和N个输出端口 ,这M个输 入和N个输出端口共形成M*N个交汇的开关,若第i个输入端口和 第j个输出端口交汇处的开关闭合,第i个输入端口和第j个输出端 口形成通路,如此形成输入端口 i到输出端口 j的交换。显然在任意 时刻,每个输入端口只能闭合到一个输出端口的交汇开关。通常的 Crossbar结构具有相同的输入和输出端口数,因为若M^N,同一时 刻闭合的交汇开关取决于M,N中较小的数。图1是一个通用的基于 Crossbar的交换模型,这个模型采用NxN的Crossbar作为交换结构 (Switching Fabric),带有输入和输出队列。早先的交换结构仅带有输 出队列,为了提高交换的吞吐率和避免丢包,现在一般使用输入输出 相结合的队列(CIOQ)。但是单一的输入队列将导致线头阻塞(HOL), 因此引入了虚拟输出队列(VOQ),即将每个端口的输入队列按照N个 输出端口细分为N个子队列,这样暂时得不到调度机会的分组不会 阻塞其他后续分组的调度。关于Crossbar调度已有的最重要的算法包 括/SLIP、 WFA等,其中/SLIP在Cisco GSR 12000上得到成功应用。 /SLIP本质上是一种启发式(heuristic)算法,它成型于更早的算法PIM 和/RRM,这一系列算法的共同之处在于,这是一种用空间换时间的 策略,集中式的调度算法需要密集的计算,按照当时的计算能力,设 计一个集中式的调度器缺乏实用性。因此,将调度策略分担到Nx2 个仲裁器(arbiters)上,加快了调度策略的计算时间。
最近台湾学者提出了两阶段的调度模型[1,2],如图2所示。这个模
型在传统的交换矩阵之前加入一个负载分担功能的矩阵。目前的
Crossbar交换矩阵可以称为Birkhoff-vonNeumann矩阵,从端口/到端 q/的流量记为 々0,如此构成了一个矩阵7 =[ ],成为交换结构的 流量矩阵。没有过度占用带宽时,流量矩阵满足-
这个矩阵可以被补充为一个双随机矩阵
双随机矩阵可以按照一系列循环矩阵进行凸分解,即存在整数k和循 环矩阵^以及系数A,使得
s::a尸4, 其中&>0,且id一i
由于诸^都是循环矩阵,这样的分解可以达到100%的吞吐量,如图 3所示。
Crossbar速度快,但成本较高,当前基于Crossbar的交换结构主 要用于大型交换系统的背板交换。
共享型交换结构是一种所有输入输出端口的报文经过切分为固 定长度的"信元"后,这些信元"共享" 一个公共的内存区,经过排 队,重组以后,再从各个输出端口输出的交换模型。这个模型的特点 是有高吞吐量,低延时和高效的内存利用率。芯片的操作被划分为"时 隙",在每一个时隙内,所有的输入端口能够向公共存储器各自存储 一个信元,同时所有的输出端口也能从这个公共的存储器中分别取出 一个信元(如果有发往该目的端口的信元的话)。 一个共享内存交换机 有点类似一个输出缓冲的交换机,也需要达到最优的吞吐率和时延, 为此需要一个集中的存储区管理机制来实现信元的调度和队列的管 理。这个集中的内存缓冲区管理使得交换的容量受限于内存的读/写 的访存时间,即每个时隙需要满足对N个入信元的写入和N个出信 元的读出。
图5是基于链表的Shared Memory交换结构的概念模型,来自不
同端口的信元经过时分复用后形成一个单一的流,此后再转换成并行 的,宽度为信元长度的"字流",继而送入公共的存储空间。在存储 器内部,信元按照到不同的目的端口形成不同的逻辑队列,这些输出
队列的线头(Head of Line, HOL)按顺序被首先取出至输出端口 ,每个 队列取一个。此后,输出流按照时分解复用,从而形成信元在输出端 口输出。每一个逻辑队列由两个指针来管理,即头指针(HP)和尾指针 (TP)。头指针指向队列的头部,也就是HOL,尾指针指向该逻辑队列 的最后一个信元或者下一个空闲地址,使下一个进入该队列的能找到 位置存放。
作为交换/路由设备完成转发功能的核心,按照进入信元的缓存 策略分类,交换结构可以分为输入排队、输出排队和共享存储排队。 其中,前两种实现方式通常还包括一个空分(space-division)单元,如 前文介绍的Crossbar背板交换。已有的研究表明,输出排队能够实现 最优的性能,同时避免诸如线头阻塞(HOL)之类降低系统效率的因 素。与输入或输出排队类型不同,共享存储器的交换结构将交换的功 能全部在一个公共存储器中实现,其排队原理非常类似于输出排队, 且由于各个队列共享存储空间,提高了对存储资源的利用率,加上没 有使用其他空分结构,使得共享存储交换结构有较高的效率和较低的 实现成本,从而在单板交换或大型交换系统的前端交换中占据主导地 位。
传统的交换结构包括信元拷贝交换、地址拷贝交换和优先级处理 交换。为了描述的简单,假定交换结构都是4个输入和4个输出端口, 分别记为#0到#3;共享存储空间均为9个信元大小。 一个从输入端 口#0进入的单播信元要交换到输出端口糾, 一个从输入端口#3进入 的组播信元要交换到输出端口#2和#3,并且有可能发生缓冲区溢出 现象。
图6所示的组播信元拷贝交换结构首先将到来的组播信元复制 到它的每个目的端口的输出队列并存入共享缓存区。因此,这种交换 结构的实现只需在输入侧加上一个信元拷贝电路就行了 。假设发往目
的端口#0和#2的信元分别存储于共享存储区的地址0和地址5,到 输出端口#3的信元因为共享存储区已经占满而被丢弃。存储新来信 元的存储单元被链接到相应输出队列的尾部。图中使用记号O表示新 申请到的地址,每个队列的首地址存储的信元会被各自输出端口发 送。
图7所示的组播地址拷贝交换结构对进入的组播地址信元不进 行复制操作,但是它将其存储区中的地址进行复制并添加到相应的端 口地址拷贝队列(ACQ)中去。在这个例子中,存储区5的地址被复制, 并被放到#2和#3的输出队列中排队。新来的单播信元被存储到地址 0,这个地址加入到糾的输出队列。由于这种结构没有复制组播信元, 因此一个组播信元在所有的目的端口都得到转发之前不能将其从缓 存中释放。为了确定一个组播信元的释放时间,通常采用一个计数器。 组播信元到来时,计数器设置为其目的端口的个数,每个目的端口每 发送一次该组播信元,这个计数器就自减1,当这个计数器变为0时, 说明这个组播信元在缓存中被释放,相应的地址变为空闲。在图7所 示的例子中,存储区地址0和5的计数器分别设为l和2,同时,地 址为1,2,4,6的计数器都减了 1。此时,地址2和地址4变为空闲,因 为计数器都变为1,但地址1和地址6都还在使用。
组播信元的优先级处理方式采用一个专用的组播地址队列 (DMQ)存放组播信元,这个组播信元队列得到高于其他队列的优先 级,这样以来,信元在共享存储区中也不必复制多个拷贝。如图8所 示的优先级处理模型示例中,存储于共享缓存区地址1的组播信元将 被转发到#1和#2输出端口,在此之后,转发到#0和#3单播信元(存 储于地址2和地址4)才被发送,通常采用一种屏蔽电路实现上述操 作,这个电路在有端口要发送组播信元时,将这些端口对单播信元设 为不可见,即对单播输出队列掩盖这些端口,因此,在发送组播信元 时,单播信元被暂时阻塞。
DMQ方案的缺陷在于,当组播流量的负载达到一定程度时,将 严重阻碍单播信元的转发,因为组播信元有较高的优先级。对此,研 究者提出了轮转策略,带权轮转策略等方案[3],但是这又会在很多情
况下造成组播队列的线头拥塞,因为组播队列只有一个。ACQ较好 地解决了拥塞的问题,但是带来了额外的开销,即除信元的存储空间 外,还需要额外的地址队列,他们都共存于公共的共享存储空间。
以FIFO (First In First Out,先入先出)方式实现的ACQ的另一 个不足之处在于其在较大的流量压力下对存储空间利用的瓶颈。如图 9所示的地址队列中,如果端口 0到端口 3按照FIFO方式发送地址 队列所指向的信元,则在一个发送周期后,共享存储区仅释放了两个 单播信元的存储地址,分别为地址5和地址9。

发明内容
本发明的目的在于针对现有组播报文转发机制所存在的问题,提 供一种共享存储交换结构中基于滑动窗口的高效组播转发方法,从而 提高组播信元在各个目的端口转发的同步程度,并降低对共享存储空 间的消耗。
本发明的技术方案如下 一种共享存储交换结构中基于滑动窗口 的高效组播转发方法,包括如下步骤
(1) 对等待输出的信元地址队列按到来顺序编号,若干个连续 的信元地址列构成滑动窗口 ,列的数目构成滑动窗口的宽度附WO , 滑动窗口的两侧分别为滑动窗口的前沿W(S『)和后沿朋0S^);
(2) 取滑动窗口宽度附dOW)的值为『。,前沿M(S『"0,后沿 5£(,)=『0-1;
(3) 对于滑动窗口前沿的组播信元地址,设定端口 /地址队列 头部所指的信元为组播信元MC,, /=0到#~1,其中^为输出端口的 个数,判断该组播信元的当前计数器的值Co"""ikTC,),
第一种情况,如果Cow"/(MO/wW(MC,,S『),/"W(MC〃S『)为滑动 窗口中实例的个数,向后搜索MC,.后面的信元,如果在滑动窗口宽度 的范围内有地址指向单播信元,将这个单播地址临时标记为待发送地 址,否则,将该头部地址临时标记为待发送地址;
第二种情况,如果。"""肘(:,)=/"对(^1^:,,5『),将Mq在当前滑动 窗口中各个地址队列中的全部实例临时标记为待发送地址;
(4) 若位于滑动窗口的前沿的各个信元地址都被标记为待发送, 则将滑动窗口向后平移一个地址长度;
(5) 按照各个端口地址队列的待发送地址发送相应信元,若为 单播信元,随即释放空间;若为组播信元,按照转发的实例数递减信 元的计数器Co"""MC),若计数器为0,才释放空间;然后,转至步骤
(3)。
如上所述的共享存储交换结构中基于滑动窗口的高效组播转发 方法,其中,在步骤(3)中,如果滑动窗口的前沿没有组播信元地 址,将前沿的每个单播信元地址标记为待发送地址,向后平移滑动窗 口一个地址长度,直接转至步骤(5)。
如上所述的共享存储交换结构中基于滑动窗口的高效组播转发 方法,其中,在步骤(3)中,对于第一种情况,如果在滑动窗口宽 度的范围内有地址标记为待发送,则设端口/地址队列头部所指的信 元为单播信元t/C,,向后搜索"C,.后面的信元,如果在滑动窗口宽度的 范围内有地址标记为待发送,则转至步骤(4);否则,将该单播地址 临时标记为待发送地址。
如上所述的共享存储交换结构中基于滑动窗口的高效组播转发 方法,其中,在步骤(3)中,对于第二种情况,如果各个端口地址 队列中已有其它组播信元地址被标记为待发送地址,则比较已标记的 地址和即将标记地址距前沿的位置,距前沿较近的被置为待发送地 址,距前沿较远的如果已被置为待发送地址,就擦去这个标志;若先 前已标记为待发送的信元为单播信元,则让位于这个组播信元地址。
本发明的有益效果在于本发明所提供的方法显著降低了组播信 元的转发跨度,从而降低了组播信元在共享存储区中的逗留时间,该 方法的两个最直接的优点在于提高了组播信元在各个目的端口转发 的同步程度以及降低了对共享存储空间的消耗,其性能至少可以达到 现有的地址拷贝机制,而在给定的组播流量比例和组播扇出条件下, 其性能对DMQ和ACQ有大幅度改善。


图1为带有输入输出队列和VOQ的交换结构模型示意图。 图2为两阶段调度模型示意图。
图3为通过Birkhoff-von Neumann的循环矩阵分解达到100%吞 吐率的示意图。
图4为用二部图来等价求解循环矩阵的示意图。
图5为基于链表的Shared Memory交换结构模型示意图。
图6为组播信元拷贝的交换结构示意图。
图7为组播信元的按地址拷贝方式示意图。
图8为组播信元的优先级处理方式示意图。
图9为FIFO方式下ACQ的性能瓶颈及一种启发式的改善措施 示意图。
图IO为滑动窗口的定义方式示意图。
图11为待发送地址的选取方式示意图。
图12为组播信元调度的抢占方式示意图。
图13为发生抢占时组播信元调度的转发跨度示意图。
图14为多抢占的组播信元的转发跨度示意图。
图15为滑动窗口宽度与组播信元转发跨度的对比图。
图16为不同滑动窗口宽度时存储区占用情况的对比图。
具体实施例方式
下面结合附图和实施例对本发明进行详细的描述。 滑动窗口的组播-单播混合地址队列(Sliding Window Based Promiscuous Address Copy Queue, SWPACQ)旨在提供一种局部的优 化策略,滑动窗口的宽度规定了所能进行优化的范围。通过对窗口范 围内的信元做转发的选择,能够有效地提高传统的ACQ方式在转发 单播-组播混合流量时所面临的存储和转发的低效问题。 首先,介绍一些记法和定义。
定义1滑动窗口由若干连续的列构成,其中每一列为按到来顺 序排队的等待输出的信元地址。列的数目构成滑动窗口的宽度
附^(s『),如图io所示,图中带阴影的方框表示组播信元,字母仅用 于标识队列中的位置而不表示地址,滑动窗口的两侧分别称为滑动窗 口的前沿i^(s『)和后沿5五(s『)。
定义2滑动窗口内位于相同存储地址的组播信元MC在地址队
列中的一个位置称为该组播信元在该位置的实例。这些实例所跨的最 大列间距称为该组播信元的队列跨度,简称跨度,记为
ewewe印aw(MC,S『),滑动窗口中实例的个数记为/"W(MC,S『)。图10 中,队列位置A,B,C所指的组播信元在滑动窗口内的跨度为3,实例 数为2;而队列位置E,D所指的组播信元在滑动窗口中的跨度为4, 实例数为2。
使用地址拷贝队列机制的每个组播信元都有自己的转发计数器, 用于记录需要转发的端口的个数,每当这个组播信^i的一个实例被转 发出去,该计数器自减l,当计数器的值变为O,则释放该组播信元 的地址,计组播信元当前的计数器的值为On^(M:)。显然有以下的 性质
性质1 Cow""MC)》/"W(MC,Sfr)
滑动窗口用于选取窗口宽度范围内每个输出地址队列中转发优 先级最高的信元,为此,首先规定滑动窗口的宽度附c/(s『)的值,这 个值取决于对历史数据的估计和转发引擎的计算速度,太大的窗口宽 度将加重转发引擎的计算强度和时间。
本发明的具体算法描述如下
首先对各个地址队列按照顺序编号,如图10所示,编号从最靠 近输出侧的0开始。滑动窗口调度机制按照以下步骤进行
步骤0:取滑动窗口宽度附d(S『)的值为『。,前沿FE(S『)-0,后 沿朋同=『0-1。
步骤l:若滑动窗口的前沿没有组播信元地址,将前沿的每个(单 播)信元地址标记为待发送地址,向后平移滑动窗口一个地址长度, 转至步骤4。
步骤2:若滑动窗口的前沿中包含组播信元地址,按照以下子步
对、0到iV-1,其中W为输出端口的个数
步骤2.1:设端口/地址队列头部所指的信元为组播信元MC,,考 虑该组播信元的当前计数器的值Co"W(MCi),分两种情况
(1) 若Cow""MC,.)〉/"W(MC,.,S『),向后搜索MC,后面的信元,如果 在滑动窗口宽度的范围内有地址标记为待发送,则转步骤2.2;否则, 如果在滑动窗口宽度的范围内有地址指向单播信元,将这个(单播)地 址临时标记为待发送地址;否则,将该头部地址临时标记为待发送地 址;
(2) 若Cow""MC,.) = /"W(MC,.,S『),尝试将在当前滑动窗口中各 个地址队列中的全部实例临时标记为待发送地址若各个端口地址队 列中已有其它组播信元地址被标记为待发送地址,则比较已标记的地 址和即将标记地址据前沿的位置,距前沿较近的被置为待发送地址, 距前沿较远的如果已被置为待发送地址,就擦去这个标志。若先前已 标记为待发送的信元为单播信元,则让位于这个组播信元地址。如图 11示,输出端口 1在选取待发送地址时,用參指示的信元地址最后 让位于用O指示的信元地址。
步骤2.2:设端口/地址队列头部所指的信元为单播信元t/C,,向 后搜索C/C,后面的信元,如果在滑动窗口宽度的范围内有地址标记为 待发送,则转下一步;否则,将该(单播)地址临时标记为待发送地址;
步骤3:若位于滑动窗口的前沿的各个信元地址都被标记为待发 送,则将滑动窗口向后平移一个地址长度。
步骤4:按照各个端口地址队列的待发送地址发送相应信元,若 为单播信元,随即释放空间;若为组播信元,按照转发的实例数递减 信元的计数器Co"""MC),若计数器为0,才释放空间。
步骤5:转至步骤l。
本发明所提供算法的性能分析如下
首先考虑SWPACQ的算法复杂性,在步骤1和步骤3中,需要 判断滑动窗口前沿的iV的地址,计算量为iV,步骤2中有iV个循环,
每个循环内部至多有iV个子循环,搜索深度至多为^,因此整个步骤
2的计算量至多为w《,故整个SWPACQ的算法复杂性为o(jv2气)。 特别地,当取『。=1时,也就是没有使用滑动窗口的传统ACQ算法。
如前所述,SWPACQ能够在局部范围内优化对共享存储空间的 利用,为了研究其对系统性能的影响,首先给出如下的定义
定义3组播信元的系统逗留时间为该信元写入共享存储空间到 其最后一个实例被转发出去的时间间隔,记为w(似c)。组播信元的第 一个实例和最后一个实例转发的时间间隔称为组播信元的转发跨度,
<formula>formula see original document page 13</formula>
滑动窗口算法能在窗口范围内实现转发优化,因此下面的性质是
显然的-
性质2 Fww必萍(MC)《g固eS拜(MC)
转发跨度刻画了一个组播信元向多个目的端口转发在时间上同 步的程度,较小的转发跨度对于交互式实时应用(如网络会议)是有利 的。组播信元地址在各个端口地址队列中的次序是一致的。因此有下 面的性质
性质3若组播信元Md和MC2的实例共存于某个端口地址队 列,在这个队列中,Md的实例先于MC2的实例(即Md的实例距输 出端口较近),若Md的实例和MC2的实例还共存于其它端口地址队 列,则在这些队列中,Md的实例都先于MC2的实例。因此"先于" 关系与组播信元实例在哪个端口的位置无关。
表l图6中组播信元的存储空间的释放
转发周期ACQ SWPACQ
1 0 1〇
2 0 0
3 2〇 1
4 0 1參 6 1參 0
如前所述,使用滑动窗口的调度过程中,可能出现多次选择发送
组播信元的情形,这种称为组播信元的调度冲突。在图12中,端口
3发生了调度冲突,根据算法步骤2.1的(2),用O指示的信元地址获 胜,但这将导致用參和令指示的组播信元的发送延迟,我们称O抢占 了攀和令,端口 5的情形是类似的。表1显示了图6所示的组播信元 分布按照传统的ACQ和SWPACQ两种方式信元存储空间释放时间 的对比。调度冲突是不可避免的,发生了调度冲突将显著降低 SWPACQ的转发效率,为此需要给出其对性能影响的估计。首先有 下列性质
性质4若滑动窗口中组播信元的所有实例都在滑动窗口内部, 且前沿存在至少一个组播信元地址,则调度前沿信元地址的周期中, 公共缓存中至少可以释放一个组播信元的存储空间。
证明设滑动窗口的前沿有组播信元Md的地址,信元Md在 调度前沿信元地址的周期l中将其所有实例转发出去的充要条件是 其没有任何实例被抢占,若Md在该调度周期中没有把所有实例全 部转发出去,则Md被另一个组播信元抢占,记为MC2。对MC2施 以同样推导,由于输出端口数有限,最后必然有一个MCn,该组播信 元所有实例位于滑动窗口内且不被任何其他组播信元抢占,因此,周 期To中至少有MCn的所有实例被全部转发,从而释放其存储空间。
由性质3不难看出,组播信元地址的"先于"关系等价于"抢占" 关系。即是说,若Md的实例先于MC2的实例,当且仅当Md的实 例抢占了 MC2的实例。为了研究发生抢占时组播信元调度的转发跨 度,记组播信元地址到滑动窗口前沿的距离为该信元实例的前沿距 离。在图13中,设滑动窗口的前沿即为最下一行。左图中,标记參 的组播信元地址在端口2的前沿距离为1,而右图中,标记參的组播 信元地址在端口 2的前沿距离为2。对于发生冲突时,被抢占的组播 信元的转发跨度,有以下性质
性质5 SWPACQ调度方式中,设组播信元MC,和Mq都有实例位 于滑动窗口前沿,若抢占了 MC2且两个组播信元的全部实例都位 于滑动窗口内,则MC2的转发跨度fbn^WSj^m(MC2)为MC2在发生冲突 的端口上的最小前沿距离+1。
证明按照SWPACQ算法步骤2和步骤3, MC,在非冲突端口
上的实例以及MC,的全部实例在滑动窗口的前沿调度周期中就可以 全部调度出去,而下一次调度Mq的剩余实例,需要等到这些实例下 移到滑动窗口前沿时发生,且一次可以全部转发完毕,而这个下移的 时间正好就是Mq在发生冲突的端口上的最小前沿距离,故其转发跨
度为最小前沿距离+1。
根据性质5,图7中左图里标记*的组播信元的转发跨度为2,右 图中标记*的组播信元的转发跨度为3。此性质给出了两个组播信元 发生抢占时的转发跨度计算。以下记被抢占信元位于发生冲突的端口 上的最小前沿距离的实例为该信元的关键实例,图13中两个示例中 标记*的组播信元的关键实例位于端口 2。发生多次抢占的情形要复 杂些设组播信元MC"A/q,Mq都有实例位于滑动窗口前沿,若MC, 抢占了Mq,Mq抢占了Mq,并且这3个组播信元的全部实例都位于 滑动窗口内,则Mq的转发跨度分两种情况(l)若Mq的关键实例 所在的端口上后续有MC3实例,则这个实例被调度的周期决定了 MC3 的转发跨度;(2)若MC2的关键实例所在的端口上后续没有MC3实例, 则其他端口上位于Mq的关键实例调度周期之后的具有最小前沿距 离的那些Mq实例决定了MC;的转发跨度。如图14所示,组播信元 暴抢占了组播信元o,组播信元o抢占了组播信元令。组播信元o的关 键实例位于端口3,这个关键实例所在的端口上没有后续令实例, 在其他端口上,且在o的关键实例转发周期之后的具有最小前沿距离 的实例位于端口2,该实例的前沿距离+1即为令的转发跨度。
设每个时隙进入共享缓存的信元中组播信元占的比例为p ,组播 信元的平均扇出为/ 。进一步假设每个组播信元的实例等概率地分布 到iV个输出端口,则一个时隙中每个端口地址队列中进入一个组播信 元实例的概率为<formula>formula see original document page 15</formula>。结合性质5,可以得到一个有用 的估计式
性质6记<formula>formula see original document page 15</formula>,若在某一个时刻组播信元MC,和Mq同时 到达滑动窗口的前沿,但MC,抢占了Mq,当滑动窗口足够宽时,MC2 的转发跨度不超过S(S》2)的概率
<formula>formula see original document page 15</formula>
证明由假设条件,MC,有实例到达滑动窗口的前沿,且MC,抢 占了Mq, MC,的转发跨度至少为2。记Mq位于前沿的实例所在的 端口为端口q。由性质5,端口 q上如果有Mq进入,且其前沿距离 为n,则MC,的转发跨度至多为w+l。由前面的分析,每个时隙MC,进 入端口q的概率为户。,显然,端口q上Mq的实例的前沿距离为"的 概率为(1-P。)""尸。。从而,M(^的转发跨度不超过S的总概率至少为 U(l-W。。
下面通过模拟研究与分析进一步介绍本发明的特点。 模拟一台8*8个共享存储交换结构,采用被广泛认可的ON-OFF 模型来生成输入流量。全部的存储区大小为2000信元。数据按照 100//,个ON-OFF单数据源的叠加生成,其中/z,用来调节流量的强度, 即载荷。对于单个的ON-OFF数据源,以0.2的概率进入ON状态, 平均逗留时间为IO个时隙,平均每时隙产生2个信元。进入OFF的 概率为0.8,其平均逗留时间为3.75时隙。输入和输出的线速为//,取 1时叠加后数据的平均流量。在ON状态,每个时隙中以比例^产生 组播信元。沿用[8]提出的组播扇出模型,每个组播信元扇出的端口
数;r满足以下截断的几何分布
g("=Pro[JT = A:]= (1-H《")0<《<1 w为输出端 口数,《为常数此时
对两个关键的性能参数进行比较首先比较的是组播信元的平均 转发跨度。选取三种不同的组播浓度,^分别取值为0.2,0.25,0.3,《取 0.3。得到的转发跨度的对比如图15所示,不难看出,使用SWPACQ 算法,当滑动窗口的宽度从l(即传统的ACQ算法)按照IO为步长递 增9次至91,不管在何种组播浓度的情形下,组播信元的平均转发 跨度几乎都随着窗口的宽度的增加有明显下降,如前所述,这个结果 对于交互式的实时应用非常有利。其次比较的是对共享存储空间的占 用情况,此时固定一个组播浓度;p =0.2,取400个时隙长的观察区间,分别就窗口宽度为1,51,91对比运行期的公共存储区的占用情况。图 16的结果显示,滑动窗口宽度的加大显著优化了转发的效率,使得 在相同的流量条件下,系统中排队的信元数量较ACQ有相当程度的 下降,在滑动窗口宽度为51时,对共享存储区的占用都下降了 12% 到18%,若取更宽的滑动窗口,下降的程度更高。因此,在高负荷 的网络负载的条件下,SWPACQ在选择合适的窗口宽度时能有效降 低系统的丢包率。
参考文献 Cheng-Shang Chang, Duan-Shin Lee and Yi-Shean Jou, Load balanced Birkhoff-von Neumann switches, part I: one-stage buffering, Computer Communications, Vol. 25, pp. 611-622, 2002. [2] Cheng-Shang Chang, Duan-Shin Lee and Ching-Ming Lien, Load balanced Birkhoff-von Neumann switches, part II: multi-stage buffering, Computer Communications, Vol. 25, pp. 623-634, 2002. [3] H. Jonathan Chao, Cheuk H. Lam, Eiji Oki, Broadband Packet Switching Technologies - A Practical Guide to ATM Switches and IP Routers John Wiley & Sons Inc, 2001 Takahiro Okoge, Hiroshi Inai, and Jiro Yamakita A Shared-Memory ATM Switch
with Multicast Function, Electronics and Communications in Japan, Part 1, Vol.
82, No. 10, pp. 316-324, 1999 [5] Sanjeev Kumar, The Sliding-Window Packet Switch: A NewClass of Packet Switch
Architecture With Plural Memory Modules and Decentralized Control, IEEE
JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, VOL. 21, NO. 4,
pp656-673, MAY 2003 [6]朱胜琼,《自主研发万兆以太网核心交换芯片(12GE+1X10GE)中快速过滤单元的 研究和设计》,
武汉邮电科学研究院硕士学位论文,2006,3 [7]彭建辉,《自主研发万兆位以太网核心交换芯片(12GE+1X10GE)中存储管理单元 的研究与设计》,
武汉邮电科学研究院硕士学位论文,2006,权利要求
1.一种共享存储交换结构中基于滑动窗口的高效组播转发方法,包括如下步骤(1)对等待输出的信元地址队列按到来顺序编号,若干个连续的信元地址列构成滑动窗口,列的数目构成滑动窗口的宽度Wid(SW),滑动窗口的两侧分别为滑动窗口的前沿FE(SW)和后沿BE(SW);(2)取滑动窗口宽度Wid(SW)的值为W0,前沿FE(SW)=0,后沿BE(SW)=W0-1;(3)对于滑动窗口前沿的组播信元地址,设定端口i地址队列头部所指的信元为组播信元MCi,i=0到N-1,其中N为输出端口的个数,判断该组播信元的当前计数器的值Count(MCi),第一种情况,如果Count(MCi)>Inst(MCi,SW),Inst(MCi,SW)为滑动窗口中实例的个数,向后搜索MCi后面的信元,如果在滑动窗口宽度的范围内有地址指向单播信元,将这个单播地址临时标记为待发送地址,否则,将该头部地址临时标记为待发送地址;第二种情况,如果Count(MCi)=Inst(MCi,SW),将MCi在当前滑动窗口中各个地址队列中的全部实例临时标记为待发送地址;(4)若位于滑动窗口的前沿的各个信元地址都被标记为待发送,则将滑动窗口向后平移一个地址长度;(5)按照各个端口地址队列的待发送地址发送相应信元,若为单播信元,随即释放空间;若为组播信元,按照转发的实例数递减信元的计数器Count(MC),若计数器为0,才释放空间;然后,转至步骤(3)。
2. 如权利要求1所述的共享存储交换结构中基于滑动窗口的高 效组播转发方法,其特征在于在步骤(3)中,如果滑动窗口的前 沿没有组播信元地址,将前沿的每个单播信元地址标记为待发送地 址,向后平移滑动窗口一个地址长度,直接转至步骤(5)。
3. 如权利要求1所述的共享存储交换结构中基于滑动窗口的高 效组播转发方法,其特征在于在步骤(3)中,对于第一种情况,2如果在滑动窗口宽度的范围内有地址标记为待发送,则设端口 /地址队列头部所指的信元为单播信元f/q,向后搜索c/c,后面的信元,如果在滑动窗口宽度的范围内有地址标记为待发送,则转至步骤(4);否 则,将该单播地址临时标记为待发送地址。
4.如权利要求1所述的共享存储交换结构中基于滑动窗口的高 效组播转发方法,其特征在于在步骤(3)中,对于第二种情况, 如果各个端口地址队列中已有其它组播信元地址被标记为待发送地 址,则比较已标记的地址和即将标记地址距前沿的位置,距前沿较近 的被置为待发送地址,距前沿较远的如果已被置为待发送地址,就擦 去这个标志;若先前已标记为待发送的信元为单播信元,则让位于这 个组播信元地址。
全文摘要
本发明属于以太网交换机系统的前端交换技术,具体涉及一种共享存储交换结构中基于滑动窗口的高效组播转发方法。该方法采用输出滑动窗口的优化方式不再使用严格的FIFO式的信元转发,而是在一定的范围(窗口宽度)内选取合适的信元进行转发。这种转发方式显著降低了组播信元的转发跨度,从而降低了组播信元在共享存储区中的逗留时间。它的两个最直接的优点在于提高了组播信元在各个目的端口转发的同步程度以及降低了对共享存储空间的消耗。模拟结果显示,选择适当的窗口宽度可以有效提高系统在上述两个方面的性能,但是过度地加大窗口的宽度并不能无限提高系统的性能反而加大了计算复杂性。
文档编号H04L12/56GK101188556SQ20071016401
公开日2008年5月28日 申请日期2007年10月16日 优先权日2007年10月16日
发明者余少华, 洋 汪 申请人:武汉烽火网络有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1