使用背压机制主动管理中心队列缓冲区分配的方法和系统技术方案

技术编号:3547128 阅读:210 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种用于数据传输网络的交换节点的包流控制方法、系统和程序产品。该方法包括根据交换节点的中心队列中当前可用的未使用空间的数量及端口的存储设备中当前空闲的存储空间的数量,主动管理该中心队列中分派给该交换节点的端口的空间分配。在进一步的方面,该方法包括分别跟踪未分配空间和空出的已分配空间,即已用于缓冲端口所接收的包、但自从上次管理更新以来由于从中心队列中移除了一个包而空出的空间。每个端口都被提供了空出的当前分配给该端口的空间和一定数量的、中心队列中当前未分配的空间,以分配给该端口的一个或多个虚拟通道。

【技术实现步骤摘要】
使用背压机制主动管理中心队列缓冲区分配的方法和系统
本专利技术一般涉及通过数据传输网络交换节点的包流(packet flow)控制,尤其涉及通过根据节点的中心队列中当前可用的未使用空间数量主动管理分派给交换节点端口的、中心队列中的空间分配,而便利于包流的技术。
技术介绍
用于数据通信(或传输)网络的传统交换节点使用在其输入端口处或其输出端口处的专用缓冲区。这些专用缓冲区将这些端口连接到交换逻辑并便利了通过数据通信网络传输的数据包的流控制,其中该交换逻辑将由输入端口接收的数据包引导到适当的输出端口。数据传输网络中的常见数据通信流模式常导致网络交换节点端口处的极其不同的通信流量,并且这些不同的通信流量通常随着时间而变化。因此,专用于网络交换节点中各个端口的缓冲区的使用常常不能很好地与数据通信流量特性相匹配。在繁忙的端口中可能出现输入端口阻塞,因为当缓冲区的队列前面的数据包等待被交换到繁忙的输出端口时它的缓冲区容量已满。同时,仅接收少量通信流的其他端口的缓冲区具有不能被利用的可用空闲空间。
技术实现思路
通过提供用于数据传输网络的交换节点的包流控制的方法克服了先有技术的缺点并提供了其他的优点。该方法包括主动管理分派给交换节点的各端口的、该交换节点的中心队列中的空间分配。该中心队列中空间分配-->的主动管理基于中心队列中当前可用的未使用空间的数量和端口的存储设备中当前空闲的存储空间的数量。管理中心队列中空间分配的该技术的进一步的方面包括分别跟踪当前未分配的未使用空间,和分配给该交换节点的端口、但由于包从中心队列中被传输到输出端口而空出的未使用空间。向每个端口(例如,接近于周期性地)提供空出的当前分配给它的空间和中心队列中一定数量的当前未分配的空间。对在中心队列中向端口的空间分配进行主动管理的又一方面包括动态地向端口的一个或多个虚拟通道(virtual lane)分配提供给该端口的那些未使用空间量。这里还描述并要求保护对应于上述方法的系统和计算机程序产品。通过本专利技术的技术实现了其他的特征和优点。下面详细描述了本专利技术的其他实施例和方面,且这些均被认为是所要求保护的本专利技术的一部分。附图说明在本说明书后面的权利要求中具体指出并清楚地要求保护了本专利技术的主题。从以下结合附图的详细描述中可清楚地了解本专利技术的上述及其他目的、特征和优点,其中:图1示出了根据本专利技术一个方面的采用包流控制的数据传输网络的交换节点的一个实施例;图2是根据本专利技术一个方面的用于管理对数据传输网络的交换节点的端口的中心队列缓冲区分配的技术的一个方面的流程图;图3A和图3B示出了根据本专利技术一个方面的用于管理对交换节点的端口的中心队列缓冲区分配的技术的另一方面的流程图,其中分派给端口的、中心队列中的空间被进一步分配给该端口的虚拟通道;图4示出了根据本专利技术一个方面的用于图1的交换节点实施例的端口控制逻辑的一个实施例;图5示出了根据本专利技术一个方面的用于图4的端口控制逻辑实施例的虚拟通道计算器的一个实施例;及-->图6示出了根据本专利技术一个方面的图5的运算逻辑的一个实施例的流程图。具体实施方式总的来说,这里描述的是用于数据传输网络的交换节点的包流控制技术。在一个方面,该技术主动地和动态地管理一交换节点的中心队列中的空间分配,这些空间是给予该交换节点的各端口以用于包缓冲的。这一中心队列中空间分配的主动和动态管理是基于该中心队列中当前可用的未使用空间数量。在另一方面,该技术包括在一端口的一个或多个虚拟通道之间分派给予该端口的空间分配。中心队列中的空间以n字节块(也称作“块”(chunk))来分配。每个块由一个信用(credit)来代表。根据分派给一个端口的虚拟通道的中心队列空间数量,该端口可以向链路的发送端授予相应数量的信用以进行流控制。下面参照图1描述根据本专利技术的一方面,采用了包流控制的数据传输网络的交换节点的一个实施例。交换节点的该实施例包括连接到中心队列140的多个输入端口(110、120和130)和同样连接到中心队列140的多个输出端口(160、170和180)。图1中示出的交换节点实施例还包括中心队列控制逻辑150。中心队列控制逻辑150连接到中心队列140,输入端口110、120和130以及输出端口160、170和180。输入端口110通过接收器和链路协议引擎单元112连接到通信链路。接收器和链路协议引擎单元112连接到先进先出(FIFO)寄存器114和端口控制逻辑116。输入端口110的FIFO寄存器114连接到中心队列140。输入端口120和130也是同样设置的。输出端口160的FIFO寄存器162连接到中心队列140及输出端口160的发射器和链路协议引擎单元164。发射器和链路协议引擎单元164转而连接到端口控制逻辑166和通信链路。输出端口170和180也是同样设置的。下列的讨论概述了通过图1中所示的交换节点实施例100的数据包流-->和该交换节点的各组成部分的交互作用。作为例子,假设通过交换节点100的数据包流,其中数据包由输入端口110接收并最后通过输出端口160输出。在数据包由接收器和链路协议引擎单元112接收之后,它被放置到FIFO寄存器114中。从FIFO寄存器114,包被缓冲在中心队列140中。端口控制逻辑116将被指派了该包的虚拟通道可用的空间减少等于该包大小的量。端口根据包的属性(例如该包的服务级别字段)和服务级别到虚拟通道映射表来确定该包的虚拟通道。当目的输出端口不忙于传输另一包时,缓冲于中心队列140中的包可被传输到输出端口160的FIFO寄存器162。数据包由发射器和链路协议引擎单元164从FIFO寄存器162中读出,以便通过链路传输。在准备传输中将接收到的包从中心队列140传递给FIFO寄存器162使分配给一端口的虚拟通道的空间空出。这一空出的空间被中心队列控制逻辑150返还给从其接收到该包的端口的虚拟通道,以便维护中心队列140中为所有这多个端口的空间分配。此外,根据中心队列140中可用的未使用空间数量,来主动管理中心队列140中对该交换节点的端口的空间分配。中心队列140中的未使用空间包括当前未分配给该交换节点的任何端口的空间和空出的已分配空间,即当前分配给一端口的一虚拟通道并已用于缓冲一接收到的包,但因为该包被传递给一输出端口的FIFO寄存器而空出的空间。空出的已分配空间也可以由于输入端口丢弃已接收的包而产生。在用于主动管理中心队列140中对交换节点的端口的空间分配的技术的一个实施例中,该管理分布于中心队列控制逻辑150和多个端口的端口控制逻辑之中。图2是根据本专利技术的一方面,用于将中心队列中的空间分配给图1中示出的交换节点实施例的端口的中心队列控制逻辑的一个实施例的流程图200。参照图2,将在空间分配管理中使用的几个参数初始化210以开始该过程。这些包括:SharedCredits,其是以信用为单位度量的、中心队列中可用的未分配空间数量,OfferRC,其是以信用为单位度量的空出的已分配空间数量,及MaxOffer,其是中心队列中可用的、在每个管-->理间隔可由图1的中心队列控制逻辑150提供给一端口的未分配空间的最大数量。在参数的初始化之后,使用规定的规则选出一个端口以向其提供信用,即未使用空间的数量212,来本文档来自技高网...

【技术保护点】
一种用于数据传输网络的交换节点的包流控制方法,所述方法包括:为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配,其中该主动管理基于中心队列中当前未使用空间的数量;以及其中该主动管理包括根据该多个端口中一个端口的存 储设备中当前空闲的存储空间数量,判定该端口是否接受所提供的空间以由该端口用于缓冲所接收的数据包,该所提供的空间包括一定数量的、中心队列中当前未使用的空间。

【技术特征摘要】
US 2004-4-9 10/822,7951.一种用于数据传输网络的交换节点的包流控制方法,所述方法包括:为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配,其中该主动管理基于中心队列中当前未使用空间的数量;以及其中该主动管理包括根据该多个端口中一个端口的存储设备中当前空闲的存储空间数量,判定该端口是否接受所提供的空间以由该端口用于缓冲所接收的数据包,该所提供的空间包括一定数量的、中心队列中当前未使用的空间。2.权利要求1的方法,其中所述判定进一步包括:(i)计算用于该端口的当前信用总数,其中该当前信用总数定义为中心队列中对于该端口的空间分配与当前用于缓冲所接收的数据包的空间分配数量之间的差;(ii)将当前信用总数与该端口的存储设备中当前空闲的存储空间的数量进行比较;(iii)如果该端口的存储设备中当前空闲的存储空间的数量大于当前信用总数,则接受所提供的空间;以及(iv)如果该端口的存储设备中当前空闲的存储空间的数量小于当前信用总数,则拒绝所提供的空间。3.权利要求1的方法,其中所述判定进一步包括:将该端口的存储设备中当前空闲的存储空间的数量乘以调整因子,其中该调整因子用于解决在该端口的输入处的第一带宽与该端口和中心队列之间的第二带宽之间的差。4.权利要求3的方法,其中所述乘步骤产生调整后的空闲端口存储空间的度量,且所述判定进一步包括:(i)计算用于该端口的当前信用总数,其中该当前信用总数被定义为中心队列中对于该端口的空间分配与当前用于缓冲所接收的数据包的空间分配数量之间的差;(ii)将当前信用总数与调整后的空闲端口存储空间的度量进行比较;(iii)如果调整后的空闲端口存储空间的度量大于当前信用总数,则接受所提供的空间;以及(iv)如果调整后的空闲端口存储空间的度量小于当前信用总数,则拒绝所提供的空间。5.权利要求4的方法,其中该调整因子被设为基本上等于由该端口每单位时间接收的数据中由于第一带宽和第二带宽之间的差而导致的将保留在该端口的存储设备中超过该单位时间的时间段的部分的比例的倒数。6.权利要求4的方法,其中所述方法进一步包括:如果作为上述判定的结果而接受所提供的空间,则由端口信用管理器根据该端口的至少一个虚拟通道的空间需求向该至少一个虚拟通道分配所提供的空间。7.权利要求4的方法,其中:所述方法进一步包括计算中心队列中分派给该端口的各虚拟通道的空间分配中剩余的未使用空间的数量,其中中心队列中分派给该端口的一虚拟通道的空间分配中剩余的未使用空间的数量包括分派给该虚拟通道,但当前未用于存储所接收的数据包的数量;以及所述计算进一步包括对中心队列中分派给该端口的各虚拟通道的空间分配中剩余的未使用空间的数量进行求和。8.权利要求1的方法,其中所述主动管理进一步包括:如果所述判定结果为拒绝所提供的空间,则将所提供的空间返还给中心队列作为返还空间;以及将该返还的空间添加到中心队列中当前未使用空间的数量中。9.权利要求8的方法,其中:所述返还空间包括空出的、中心队列中当前指派给该端口的虚拟通道的已分配空间;以及所述主动管理进一步包括从该虚拟通道的当前空间债务中扣除代表包括在该返还空间中的空出的已分配空间的数量,其中该虚拟通道的当前空间债务包括中心队列中分派给该虚拟通道的空间分配超过目标分配的空间数量。10.一种用于数据传输网络的交换节点的包流控制系统,所述系统包括:    用于为数据传输网络的交换节点的多个端口主动管理中心队列中的空间分配的装置,其中该主动管理基于中心队列中当前未使用空间的数量;以及其中该用于主动管理的装置包括用于根据该多个端口中一个端口的存储设备中当前空闲的存储空间数量,判定该端口是否接受所提供的空间以由该端口用于缓冲所接收数据包的装置,该所提供的空间包括一定数量的、中心队列中当前未使用的空间。11.权利要求10的系统,其中所述用于判定的装置进一步包括:(i)用于计算用于该端口的当前信用总数的装置,其中该当前信用总数定义为中心队列中对于该端口的空间分配与当前用于缓冲所接收的数据包的空间分配数量之间的差;(ii)用于将当前信用总数与该端口的存储设备中当前空闲的存储空间的数量进行比较的装置;(iii)用于如果该端口的存储设备中当前空闲的存储空间的数量大于当前信用总数,则接受所提供的空间的装置;以及(iv)用于如果该端口的存储设备中当前空闲的存储空间的数量小于当前信用总数,则拒绝所提供的空间的装置。12.权利要求10的系统,其中所述用于判定的装置进一步包括:用于将该端口的存储设备中当前空闲的存储空间的数量乘以调整因子的装置,其中该调整因子用于解决在该端口的输入处的第一带宽与该端口和中心队列之间的第二带宽之间的差。13.权利要求12的系统,其中所述用于乘的装置产生调整后的空闲端口存储空间的度量,且所述用于判定的装置进一步包括:(i)用于计算用于该端口的当前信用总数的装置,其中该当前信用总数被定义为中心队列中对于该端口的空间分配与当前用于缓冲所接收的数据包的空间分配数量之间的差;(ii)用于将当前信用总数与调整后的空闲端口存储空间的度量进行比较的装置;(iii)用于如果调整后的空闲端口存储空间的度量大于当前信用总数,则接受所提供的空间的装置;以及(iv)用于如果调整后的空闲端口存储空间的度量小于当前信用总数,则拒绝所提供的空间的装置。14.权利要求13的系统,其中该调整因子被设为基本上等于由该端口每单位时间接收的数据中由于第一带宽和第二带宽之间的差而导致的将保留在该端口的存储设备中超过该单位时间的时间段的部分的比例的倒数。15.权利要求13的系统,其中所述系统进一步包括:用于如果作为上述判定的结果而接受所提供的空间,则由端口信用管理器根据该端口的至少一个虚拟通道的空间需求向该至少一个虚拟通道分配所提供的空间的装置。16.权利要求13的系统,其中:所述系统进一步包括用于计算中心队列中分派给该端口的各虚拟通道的空间分配中剩余的未使用空间的数量的装置,其中中心队列中分派给该端口的一虚拟通道的空间分配中剩余的未使用空间的数量包括分派给该虚拟通道,但当前未用于存储所接收的数据包的数量;以及所述用于计算的装置进一步包括用于对中心队列中分派给该端口各该虚拟通道的空间分配中剩余的未使用空间的数...

【专利技术属性】
技术研发人员:SH赖德
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1