CN101356777B - 在交换结构网络中管理芯片上队列 - Google Patents

在交换结构网络中管理芯片上队列 Download PDF

Info

Publication number
CN101356777B
CN101356777B CN200680047740.4A CN200680047740A CN101356777B CN 101356777 B CN101356777 B CN 101356777B CN 200680047740 A CN200680047740 A CN 200680047740A CN 101356777 B CN101356777 B CN 101356777B
Authority
CN
China
Prior art keywords
queue
chip
asi
trigger condition
state
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
Application number
CN200680047740.4A
Other languages
English (en)
Other versions
CN101356777A (zh
Inventor
S·拉克什马纳穆尔蒂
H·M·威尔金森三世
J·J·塞迪尔
P·多尔米奇
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN101356777A publication Critical patent/CN101356777A/zh
Application granted granted Critical
Publication of CN101356777B publication Critical patent/CN101356777B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6255Queue scheduling characterised by scheduling criteria for service slots or service orders queue load conditions, e.g. longest queue first
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • H04L47/562Attaching a time tag to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9084Reactions to storage capacity overflow
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3036Shared queuing

Abstract

方法和装置及其计算机程序产品,用于实现以下技术:监视交换结构网络的设备的状态,所述设备包括用来存储队列描述符的芯片上队列和用来存储数据分组的数据缓冲器,各队列描述符具有对应的数据分组;检测用来将所述设备从第一状态转换到第二状态的第一触发条件;以及响应于所述第一触发条件检测而恢复所述数据缓冲器中的空间,所述恢复步骤包括选择所述芯片上队列中的一个或多个芯片上队列用于丢弃,以及从所述数据缓冲器移除对应于在选择的一个或多个芯片上队列中的队列描述符的数据分组。

Description

在交换结构网络中管理芯片上队列
背景技术
本发明涉及在交换结构网络中管理芯片上队列。高级交换互连(ASI)是一种基于快速外围设备互连(PCIe)体系结构的技术并能使得各种底板标准化。高级交换互连特殊兴趣小组(ASI-SIG)是一个协作贸易组织,旨在提供交换结构互连标准及其规范,包括它向其成员提供的高级交换核心体系结构规范(Rev.1.1,2004年11月,可在www.asi-sig.com从ASI-SIG得到)。
ASI利用可在PCIe物理和数据链路层上操作的基于分组的事务层协议。ASI体系结构提供许多对于多主机、端对端通讯设备(如刀片服务器、集群、存储阵列、电信路由器以及交换机)常见的特征。这些特征包括支持灵活的拓扑、分组路由选择、拥塞管理、冗余结构以及故障恢复机制。
ASI体系结构需要ASI设备使用基于状态的流控(SBFC)、基于信誉的流控以及注入率限制的组合来支持精细颗粒度的服务质量(QoS)。ASI端点设备还需要在响应SBFC流控消息时遵循严格的指南。通常,各ASI端点设备具有固定窗口,在该窗口中用来在SBFC流控消息被接收用于给定连接控制队列之后中止或重新开始来自该具体连接队列的分组传输。
连接队列通常实现在外部存储器中。ASI端点设备的调度程序使用算法(如加权轮转WRR、加权公平队列WRR或轮转RR)来调度来自连接队列的分组用于在ASI结构上传送。调度程序使用SBFC状态信息作为用来确定合格队列的输入之一。用来提取调度的分组并将他们注入到ASI端点设备的传送管道中的等待时间会高,这归因于由处理管道阶段引入的延迟以及访问外部存储器的等待时间。如果连接队列被流控,则大的等待时间可能会导致不希望的状况。因此,分组需要被再次调度以确保选择的分组与SBFC状态一致。
附图说明
图1是交换结构网络的框图。
图2A是ASI分组格式图。
图2B是ASI路由报头格式。
图3是ASI端点的框图。
图4是在交换结构网络的设备处缓冲器管理过程的流程图。
具体实施方式
参考图1,高级交换互连(ASI)交换结构网络100包括经由物理链路互连的ASI设备。构成网络100的内部节点的ASI设备称作“交换元件”102,以及驻留在网络100的边缘的ASI设备称作“端点”104。在网络100中可包括其他ASI设备(未示出)。这种ASI设备可包括负责列举、配置以及维护网络100的ASI结构管理器,以及将网络100连接到其他通信基础结构(如PCI Express结构)的ASI桥。
各ASI设备102、104具有ASI接口,该接口为由高级交换核心体系结构规范(“ASI规范”)定义的ASI体系结构的一部分。各ASI交换元件102可实现为支持局部化的拥塞控制机制,在ASI规范中称作“基于状态的流控(Status Based Flow Control)”或“SBFC”。SBFC机制规定通过两个相邻ASI设备102、104(如ASI交换元件102及其相邻的ASI端点104)之间或两个相邻的ASI交换元件102之间的链路的业务流的优化。相邻意味着两个ASI设备102、104直接链接,而不会有任何插入的ASI设备104、104。
通常,SBFC机制按照如下方式工作:下游ASI交换元件102将SBFC流控制消息传送到上游ASI端点104。SBFC流控消息提供一些或所有的以下状态信息:业务类指示、仅有序的标记状态、出口输出端口标识符以及请求的调度行为。上游ASI端点104使用状态信息来修改它的调度,使得在下游ASI交换元件102中的目标为拥塞缓冲器的分组被赋予较低优先级。具体来说,上游ASI端点104或者中止(如SBFC消息是ASI Xoff消息)或者重新开始(如SBFC消息是ASI Xon消息)来自连接队列的分组传送,在该连接队列中,所有的分组具有请求的仅有序的标记状态、业务类领域标识、出口输出端口标识符。当分组的传送从连接队列中止时,该连接队列就被称作被“流控”。
在以下描述的示例场景中,从上游ASI端点104向下游ASI交换元件102传送的分组包括ASI协议接口2(PI-2)分组。参考图2A和图2B,各PI-2分组200包括ASI路由报头202、ASI有效载荷204、以及可选地,PI-2循环冗余校验(CRC)206。ASI路由报头202包括路由信息(如转向池210、转向指针212和方向214)、业务类指示216以及避免死锁信息(如仅有序的标记状态218)。ASI有效载荷204含有给定协议的协议数据单元(PDU)或PDU的段,其中所述给定协议例如为(以下仅仅是列举其中的一些)以太网/点对点协议(PPP)、异步传输模式(ATM)、在SONET上的分组(PoS)、通用交换接口(CSIX)。
参考图3,上游ASI端点104包括网络处理器(NPU)302,其配置为缓冲从一个或多个PDU源304a-304n(如线路卡)接收的PDU,并将PDU存储在PDU存储器306中,该PDU存储器306驻留在NPU 302的外部(在所示示例中)。
NPU 302的主调度程序308确定从PDU存储器306检索PDU的顺序。检索的PDU由NPU 302转发到上游ASI端点的PI-2分段与重组(SAR)引擎310。
ASI设备102、104通常实现为将最大的ASI分组大小限制到小于ASI体系结构支持的2176字节的最大ASI分组大小。在从PDU存储器206检索的PDU具有大于可通过ASI结构传送的最大有效载荷大小的分组大小的实例中,PDU被分段成许多段。在一些实现中,在各段被转发到PI-2 SAR引擎301之前,通过NPU 302中的微引擎软件来执行分段。在其他实现中,PDU被转发到PI-2 SAR引擎310,在那里执行分段。
对于每个接收的PDU(或PDU的段),PI-2 SAR引擎310通过将PDU分段成其大小小于网络支持的最大值的多个段、以及各段附加一个ASI路由报头并且可选地计算PI-2 CRC来形成一个或多个PI-2分组。缓冲器管理器312将由PI-2 SAR引擎310形成的各PI-2分组存储到数据缓冲器存储器314(在本说明书中称作“传送缓冲器”或“TBUF”)中。在理想的场景中,TBUF 314具有足够大小以便缓冲通过ASI结构发送的所有PI-2分组。在这种场景中,理想地实现的NPU302具有TBUF 314,对于低数据速率TBUF 314具有大于512MB的大小,而对于高数据速率TBUF 314具有大于2MB的大小。
虽然ASI体系结构并没有对TBUF 314设任何大小限制,但是由于管芯大小和成本限制通常最好实现小得多的大小的TBUF 314(如64K至256KB)。在一个实现中,TBUF 314是可含有达128K数据的随机存取存储器。TBUF 314组织为具有固定大小(elem_size)的元件314a-314n,该固定大小通常为每元件32字节或64字节。给定的长度为L的PI-2分组将被分配TBUF 314的mod(L/elem_size)元件314n。含有PI-2分组的元件314n标明为“被占用”,或者元件314n标明为“可用”。
对于存储在TBUF 314中的各PI-2分组,缓冲器管理器312还创建一个对应的队列描述符、从许多驻留在芯片上存储器318上的连接队列316a-316n中选择队列描述符将要被插入队列的目标连接队列316a、并且将队列描述符附加到目标连接队列316a中的最后队列描述符。缓冲器管理器312记录各队列描述符在它附加到目标连接队列316a的插入队列时间。对目标连接队列316a的选择通常基于对应于将要被插入队列的队列描述符的PI-2分组的业务类指示、及其目的地和通过ASI结构的路径。
为了确保TBUF 314不被过负载,缓冲器管理器312实现用于动态地确定TBUF 314空间分配策略的缓冲器管理方案。通常,缓冲器管理方案遵守以下规则:(1)如果连接队列316a-316n不被流控,则PI-2分组(对应于将被附加到该连接队列316a-316n的队列描述符)在TBUF314中被分配空间以确保在该连接队列316a-316n上的平滑的业务流;(2)如果连接队列316a-316n被流控,则对应于将被附加到该连接队列316a-316n的队列描述符的PI-2分组在TBUF 314中被分配空间直到超过某个可编程的每连接队列阈值为止,在该点,缓冲器管理器312选择几个选项之一以解决该情况;以及(3)仅仅当TBUF占用超过某个阈值时触发分组丢弃和回滚操作以确保该贵重的回滚操作被保持在最小。
参考图4,作为缓冲器管理方案的一部分,缓冲器管理器312监视(402)上游ASI设备104的状态。缓冲器管理器314包括以下中的一个或多个:(1)维持被流控的连接队列316a-316n的总数的计数器;(2)对由该连接队列316a-316n消耗的TBUF元件314a-314n的总数进行计数的每连接队列316a-316n的计数器;(3)指明各连接队列316a-316n的流控状态的位向量;(4)对分配的TBUF元件314a-314n的总数进行计数的全局计数器;以及(5)对于各连接队列316a-316n,指明在连接队列316a-316n的报头处的队列描述符被插入队列的时间的时间标记(“连接队列时间标记的报头”)。当缓冲器管理器312在给定的连接队列316a-316n上执行出列操作时更新连接队列时间标记的报头。
NPU 302具有辅助调度程序320,其对TBUF314中的PI-2分组进行调度用于在ASI结构上经由ASI事务层322、ASI数据链路层324和ASI物理链路层326传送。在一些实现中,ASI设备104包括将NPU302连接到ASI结构的结构接口芯片。在正常的操作模式中,TBUF 314的占用(即在TBUF中被占用元件314a-314n的数目)足够低以便将元件314a-314n加到TBUF 314的速率处于(或低于)在TBUF 314中元件314a-314n被使得可用的速率。即,辅助调度程序320能够跟上主调度程序308填充TBUF元件314a-314n的速率。
当辅助调度程序320调度各PI-2分组用于在ASI结构上传送时,辅助调度程序320向NPU 302的队列管理引擎330发送提交消息。一旦队列管理引擎330接收用于PDU的段已被封装到的所有PI2分组的提交消息,则队列管理引擎330从PDU存储器306移除PDU数据。
一旦检测(404)到触发条件,则缓冲器管理器312发起(406)在TBUF 314中重新要求空间的过程(在本说明书中称作“数据缓冲器元件恢复过程”)以便减轻TBUF 314占用影响。这种触发条件的示例包括:(1)落在某个最小阈值以下的可用TBUF元件314a-314n的数目;(2)超过可编程阈值的流控的队列316a-316n的数目;以及(3)与任何一个超过可编程阈值的流控连接队列316a-316n相关联的TBUF元件314a-314n的数目。
一旦发起数据缓冲器元件恢复过程,则缓冲器管理器312选择(408)一个或多个连接队列316a-316n用于丢弃,并对各选择的连接队列316a-316n执行(410)回滚操作,使得对应于各选择的连接队列316a-316n的TBUF 314的被占用元件314a-314n被标明为可用。回滚操作的一种实现涉及将回滚消息(而不是提交消息)发送到NPU 302的队列管理引擎330。当队列管理引擎330接收PDU的回滚消息时,它重新将PDU插入到连接队列316a-316n的报头并且不会从PDU存储器306移除PDU数据。按此方式,缓冲器管理器312能够在其中可存储其他PI-2分组的TBUF 314中重新要求空间。通常,数据缓冲器元件恢复过程遵循以下两个规则:(1)选择一个或多个连接队列316a-316n以便确保集合的重新要求的TBUF 314空间足够,使得TBUF 314占用落到预定阈值条件以下;以及(2)使要执行的回滚操作的总数最小。
可以通过缓冲器管理器312执行数据缓冲器元件恢复过程来实现四种示例技术。在给定场景中使用的特定技术可取决于PDU的源304a-304n。即,应用的技术可以是线路卡特定的,以便最佳适合具体线路卡配置的操作条件。
在一个示例中,缓冲器管理器312检查各连接队列的计数器以及指示连接队列是否被流控的位向量,并识别在分配给连接队列316a-316n的TBUF 314中具有最大数目的被占用元件314a-314n的流控连接队列316a-316n。缓冲器管理器312标记识别的流控连接队列316a-316n用于丢弃,并对该连接队列发起回滚操作。分配给该连接队列316a-316n的TBUF 314中的被占用元件314a-314n被标明为可用,并且缓冲器管理器312重新评估(412)触发条件。如果触发条件没有消除(即,重新要求的TBUF 314空间不够),则缓冲器管理器312识别具有次最大数目的TBUF 314中分配的被占用元件314a-314n的流控连接队列316a-316n,并重复该过程(在408)直到触发条件消除(即变为出错)为止,在该点,缓冲器管理器返回到监视(402)NPU 302的状态。通过选择具有相对较大数目的分配的被占用元件314a-314n的流控队列316a-316n,缓冲器管理器312能够消除触发条件,同时使对其执行回滚操作的连接队列316a-316n的数目最小。
在另一示例中,缓冲器管理器312检查各连接队列的连接队列时间标记的报头以及指示连接队列316a-316n是否被流控的位向量,并识别具有最早的连接队列时间标记的报头的流控连接队列316a-316n。缓冲器管理器312对识别的流控连接队列316a-316n进行标记用于丢弃,并发起对该连接队列316a-316n的回滚操作。分配给该连接队列316a-316n的TBUF 314的被占用元件314a-314n被标明为可用,并且缓冲器管理器312重新评估(412)触发条件。如果触发条件没有消除,则缓冲器管理器312识别具有次最早的连接队列时间标记的报头的流控连接队列316a-316n,并重复过程(在408)直到触发条件消除为止。通过选择最老的流控队列316a-316n(如由最早的连接队列时间标记的报头所反映),缓冲器管理器312能够消除触发条件,同时重新标明具有最老SBFC状态的TBUF 314的元件314a-314n。
在第三示例中,缓冲器管理器312检查各连接队列的连接队列时间标记的报头以及指示连接队列316a-316n是否被流控的位向量,并识别具有最近的连接队列时间标记的报头的流控连接队列316a-316n。缓冲器管理器312对识别的流控连接队列316a-316n进行标记用于丢弃,并发起对该连接队列316a-316n的回滚操作。分配给该连接队列316a-316n的TBUF 314的被占用元件314a-314n被标明为可用,并且缓冲器管理器312重新评估触发条件。如果触发条件没有消除(即,重新要求的TBUF 314空间不够),则缓冲器管理器312识别具有次最近的连接队列时间标记的报头的流控连接队列316a-316n,并重复过程(在408)直到触发条件消除为止。通过选择最新的流控队列316a-316n(如最近的连接队列时间标记的报头所反映),缓冲器管理器312工作在以下前提下:最新的流控连接队列316a-316n不可能受控于紧接着的ASI Xon消息(发信号通知重新开始来自连接队列316a-316n的分组传送)。因此,对最新的流控连接队列316a-316n执行回滚操作使得缓冲器管理器312能够重新要求TBUF 314的元件314a-314n,同时使得较老的流控队列316a-316n能被维持,因为这些更可能受控于ASI Xon消息。图4的技术在上游ASI端点中能特别有效地工作,在该端点处Xon和Xoff事务按轮转方式发生。
在第四示例中,数据缓冲器元件恢复过程在流控连接队列316a-316n的数目超过某个阈值时触发。当此发生时,缓冲器管理器312基于占用(即使用各连接队列的每连接队列计数器)、最老元件(即识别最早的连接队列时间标记报头)、最新元件(即识别最近的连接队列时间标记报头)或通过施加轮转方案来选择连接队列316a-316n用于丢弃。缓冲器管理器312重复地选择连接队列316a-316n用于丢弃直到流控连接队列316a-316n的数目降到触发阈值以下为止。
在上述示例中,实现的NPU 302具有芯片上连接队列316a-316n,芯片上连接队列316a-316n具有比芯片外连接队列短的响应时间。这些较短的响应时间使得NPU 302能满足严格的响应时间要求,这些要求是用于在SBFC流控消息被接收用于该具体连接队列316a-316n之后中止或重新开始来自给定连接队列316a-316n的分组的传送。实现的上游ASI端点还具有缓冲器管理器312,该缓冲器管理器312动态地管理缓冲器利用以便即使在考虑到管芯大小和成本限制而TBUF314大小相对较小时防止缓冲器过负载。
本发明的一个实施例的技术可通过一个或多个可编程处理器执行,该处理器可执行计算机程序以通过对输入数据进行操作并生成输出来执行实施例的功能。这些技术还可通过专用逻辑电路执行,并且本发明的一个实施例的装置可实现为专用逻辑电路,如一个或多个FPGA(现场可编程门阵列)和/或一个或多个ASIC(专用集成电路)。
适于执行计算机程序的处理器例如包括通用和专用微处理器以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器会接收来自存储器(如存储器330)的指令和数据。存储器可包括许多种类的存储媒体,其包括但不限于易失存储器、非易失存储器、闪存、可编程变量或状态、随机存取存储器(RAM)、只读存储器(ROM)、闪存或其他静态或动态存储媒体。在一个示例中,机器可读指令或内容可从机器可访问介质形式提供到存储器。机器可访问介质可表示任何按机器(如ASIC、专用功能控制器或处理器、FPGA或其他硬件设备)可读形式提供(即存储或传送)信息的机制。例如,机器可访问介质可包括:ROM;RAM;磁盘存储媒体;光存储媒体;闪存存储器设备;电、光、声或其他形式的传播信号(如载波、红外信号、数字信号)等。处理器和存储器可以由专用逻辑电路补充或结合在该电路中。
已经按特定实施例的形式描述了本发明。其他实施例落在所附权利要求的范围内。例如,本发明实现的步骤可按不同的顺序执行并且仍然取得希望的结果。

Claims (25)

1.一种在交换结构网络中管理芯片上队列的方法,包括:
监视交换结构网络的设备的状态,所述设备包括用来存储队列描述符的芯片上队列和用来存储数据分组的数据缓冲器,各队列描述符具有对应的数据分组,其中所述监视包括对于各芯片上队列维持时间标记,所述时间标记指示与所述芯片上队列的报头处的队列描述符相关联的插入队列时间;
检测用来将所述设备从第一状态转换到第二状态的第一触发条件,其中所述第一触发条件基于所述设备的状态;以及
响应于所述第一触发条件检测而恢复所述数据缓冲器中的空间,所述恢复步骤包括选择所述芯片上队列中的一个或多个芯片上队列用于丢弃,以及从所述数据缓冲器移除对应于在选择的一个或多个芯片上队列中的队列描述符的数据分组,
其中所述第一触发条件包括被流控的所述芯片上队列的数目超过预定阈值的指示。
2.如权利要求1所述的方法,其中所述监视步骤包括监视由数据分组占用的数据缓冲器空间的数量。
3.如权利要求1所述的方法,其中所述监视步骤包括维持识别被流控的芯片上队列的数目的计数器。
4.如权利要求1所述的方法,其中所述监视步骤包括对于各芯片上队列识别对应于所述芯片上队列的队列描述符的数据分组所占用的数据缓冲器空间的数量。 
5.如权利要求1所述的方法,其中所述监视步骤包括维持指示各芯片上队列的流控状态的位向量。
6.如权利要求1所述的方法,其中所述第一触发条件指示由数据分组占用的数据缓冲器空间的数量超过预定阈值。
7.如权利要求1所述的方法,其中所述第一触发条件指示对应于芯片上队列的队列描述符的数据分组占用的数据缓冲器空间的数量超过预定阈值。
8.如权利要求1所述的方法,其中所述第一触发条件指示被流控的芯片上队列的数目超过预定阈值。
9.如权利要求1所述的方法,其中所述选择步骤包括使被选择用于丢弃的芯片上队列的数目最小,同时使从所述数据缓冲器恢复的空间的数量最大。
10.如权利要求1所述的方法,其中所述选择步骤包括确定哪一个流控芯片上队列与占用最大数量的缓冲器空间的数据分组相关联,并基于所述确定来选择流控芯片上队列用于丢弃。
11.如权利要求1所述的方法,其中所述选择步骤包括确定哪一个流控芯片上队列具有最老的报头队列描述符,并基于所述确定来选择流控芯片上队列用于丢弃。
12.如权利要求1所述的方法,其中所述选择步骤包括确定哪一个流控芯片上队列具有最新的报头队列描述符,并基于所述确定来选择流控芯片上队列用于丢弃。
13.如权利要求1所述的方法,还包括:
重复所述恢复直到用来将所述设备从第二状态转换到第一状态的第二触发条件被检测到为止。
14.如权利要求13所述的方法,其中所述第二触发条件指示由数据分组占用的数据缓冲器空间的数量低于预定阈值。
15.如权利要求1所述的方法,其中所述交换结构网络包括高级交换互连(ASI)结构,所述设备包括ASI端点或ASI交换元件,并且各芯片上队列包括ASI连接队列。
16.如权利要求1所述的方法,其中所述设备包括网络处理器单元,所述网络处理器单元包括高级交换互连(ASI)接口。
17.如权利要求1所述的方法,其中所述设备包括结构接口芯片,所述结构接口芯片通过第一高级交换互连(ASI)接口连接到网络处理器单元,并通过第二ASI接口连接到ASI结构。
18.如权利要求1所述的方法,其中所述设备包括网络处理器单元和高级交换互连(ASI)接口。
19.一种用于在交换结构网络中管理芯片上队列的装置,包括:
配置成监视交换结构设备的状态并检测用来将交换结构设备从第一状态转换到第二状态的第一触发条件的部件,所述设备包括用来存储队列描述符的芯片上队列和用来存储数据分组的数据缓冲器,各队列描述符具有对应的数据分组,其中所述第一触发条件基于所述设备的状态,其中所述监视包括对于各芯片上队列维持时间标记,所述时间标记指示与所述芯片上队列的报头处的队列描述符相关联的插入队列时间;以及
配置成响应于所述第一触发条件检测而恢复所述数据缓冲器中的空间的部件,其中所述恢复所述数据缓冲器中的空间的部件包括用来选择所述芯片上队列中的一个或多个芯片上队列用于丢弃的部件,以及用来从所述数据缓冲器移除对应于在选择的一个或多个芯片上队列中的队列描述符的数据分组的部件,
其中所述第一触发条件包括被流控的所述芯片上队列的数目超过预定阈值的指示。
20.如权利要求19所述的装置,还包括:
配置成恢复所述数据缓冲器中的空间直到用来将所述设备从第二状态转换到第一状态的第二触发条件被检测到为止的部件。
21.如权利要求20所述的装置,其中所述第二触发条件指示由数据分组占用的数据缓冲器空间的数量低于预定阈值。
22.一种交换结构设备,包括:
处理器;
用来存储队列描述符的芯片上队列;
用来存储对应于所述队列描述符的数据分组的第一存储器;
缓冲器管理器,用于:
监视交换结构设备的状态并检测用来将所述设备从第一状态转换到第二状态的第一触发条件,其中所述第一触发条件基于所述设备的状态,其中所述监视包括对于各芯片上队列维持时间标记,所述时间标记指示与所述芯片上队列的报头处的队列描述符相关联的插入队列时间;以及
响应于所述第一触发条件检测,执行第一存储器空间恢复过程,所述过程包括选择所述芯片上队列中的一个或多个芯片上队列用于丢弃,以及从所述第一存储器中移除对应于在选择的一个或多个芯片上队列中的队列描述符的数据分组,
其中所述第一触发条件包括被流控的所述芯片上队列的数目超过预定阈值的指示。
23.如权利要求22所述的交换结构设备,其中所述第一存储器包括多个缓冲器元件,根据数据分组是否存储在所述缓冲器元件中而将各缓冲器元件标明为可用或被占用。
24.如权利要求23所述的交换结构设备,其中所述缓冲器管理器将分配给选择的一个或多个芯片上队列的缓冲器元件标明为可用。
25.如权利要求22所述的交换结构设备,其中所述交换结构网络包括高级交换互连(ASI)结构,所述设备包括ASI端点或ASI交换元件,并且各芯片上队列包括ASI连接队列。
CN200680047740.4A 2005-12-21 2006-12-11 在交换结构网络中管理芯片上队列 Expired - Fee Related CN101356777B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/315,582 2005-12-21
US11/315,582 US20070140282A1 (en) 2005-12-21 2005-12-21 Managing on-chip queues in switched fabric networks
PCT/US2006/047313 WO2007078705A1 (en) 2005-12-21 2006-12-11 Managing on-chip queues in switched fabric networks

Publications (2)

Publication Number Publication Date
CN101356777A CN101356777A (zh) 2009-01-28
CN101356777B true CN101356777B (zh) 2014-12-03

Family

ID=38007265

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200680047740.4A Expired - Fee Related CN101356777B (zh) 2005-12-21 2006-12-11 在交换结构网络中管理芯片上队列

Country Status (4)

Country Link
US (1) US20070140282A1 (zh)
CN (1) CN101356777B (zh)
DE (1) DE112006002912T5 (zh)
WO (1) WO2007078705A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7971247B2 (en) * 2006-07-21 2011-06-28 Agere Systems Inc. Methods and apparatus for prevention of excessive control message traffic in a digital networking system
JP4658098B2 (ja) * 2006-11-21 2011-03-23 日本電信電話株式会社 フロー情報制限装置および方法
DE102009002007B3 (de) * 2009-03-31 2010-07-01 Robert Bosch Gmbh Netzwerkcontroller in einem Netzwerk, Netzwerk und Routingverfahren für Nachrichten in einem Netzwerk
WO2010118556A1 (en) * 2009-04-16 2010-10-21 Telefonaktiebolaget Lm Ericsson (Publ) A method of and a system for providing buffer management mechanism
CN107005494B (zh) * 2014-12-24 2021-03-19 英特尔公司 用于在交换机中缓冲数据的装置和方法
DE102015121940A1 (de) * 2015-12-16 2017-06-22 Intel IP Corporation Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht
US10749803B1 (en) * 2018-06-07 2020-08-18 Marvell Israel (M.I.S.L) Ltd. Enhanced congestion avoidance in network devices
US10853140B2 (en) * 2019-01-31 2020-12-01 EMC IP Holding Company LLC Slab memory allocator with dynamic buffer resizing
JP7180485B2 (ja) * 2019-03-22 2022-11-30 株式会社デンソー 中継装置およびキュー容量制御方法
CN112311696B (zh) * 2019-07-26 2022-06-10 瑞昱半导体股份有限公司 网络封包接收装置及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US6175902B1 (en) * 1997-12-18 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for maintaining a time order by physical ordering in a memory

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526344A (en) * 1994-04-15 1996-06-11 Dsc Communications Corporation Multi-service switch for a telecommunications network
US6567417B2 (en) * 2000-06-19 2003-05-20 Broadcom Corporation Frame forwarding in a switch fabric
US7042842B2 (en) * 2001-06-13 2006-05-09 Computer Network Technology Corporation Fiber channel switch
US7151744B2 (en) * 2001-09-21 2006-12-19 Slt Logic Llc Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US6934951B2 (en) * 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) * 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US20030202520A1 (en) * 2002-04-26 2003-10-30 Maxxan Systems, Inc. Scalable switch fabric system and apparatus for computer networks
US20030235194A1 (en) * 2002-06-04 2003-12-25 Mike Morrison Network processor with multiple multi-threaded packet-type specific engines
US7443836B2 (en) * 2003-06-16 2008-10-28 Intel Corporation Processing a data packet
US20040252687A1 (en) * 2003-06-16 2004-12-16 Sridhar Lakshmanamurthy Method and process for scheduling data packet collection
US20050050306A1 (en) * 2003-08-26 2005-03-03 Sridhar Lakshmanamurthy Executing instructions on a processor
US20050068798A1 (en) * 2003-09-30 2005-03-31 Intel Corporation Committed access rate (CAR) system architecture
US7308526B2 (en) * 2004-06-02 2007-12-11 Intel Corporation Memory controller module having independent memory controllers for different memory types

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592622A (en) * 1995-05-10 1997-01-07 3Com Corporation Network intermediate system with message passing architecture
US6175902B1 (en) * 1997-12-18 2001-01-16 Advanced Micro Devices, Inc. Method and apparatus for maintaining a time order by physical ordering in a memory

Also Published As

Publication number Publication date
DE112006002912T5 (de) 2009-06-18
CN101356777A (zh) 2009-01-28
US20070140282A1 (en) 2007-06-21
WO2007078705A1 (en) 2007-07-12

Similar Documents

Publication Publication Date Title
CN101356777B (zh) 在交换结构网络中管理芯片上队列
CN101199168B (zh) 监控通信链路的队列的方法、设备和系统
KR100823785B1 (ko) 시스템 패브릭에서의 개방 루프 정체 제어를 위한 방법,장치, 제품 및 시스템
US7352695B2 (en) Switch and a switching method
US7839797B2 (en) Event-driven flow control for a very high-speed switching node
JP4070610B2 (ja) データ・ストリーム・プロセッサにおけるデータ・ストリームの操作
CN106817317B (zh) 具有入口控制的业务量管理
CN100401791C (zh) 数据网络节点及交换协议数据单元的方法
US7889659B2 (en) Controlling a transmission rate of packet traffic
US7151744B2 (en) Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US7715419B2 (en) Pipelined packet switching and queuing architecture
US7027457B1 (en) Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches
US7835279B1 (en) Method and apparatus for shared shaping
CN113728595A (zh) 促进通过网络接口控制器(nic)进行高效主机存储器访问的系统和方法
US7400638B2 (en) Apparatus and methods for managing packets in a broadband data stream
US20050147032A1 (en) Apportionment of traffic management functions between devices in packet-based communication networks
CN109684269B (zh) 一种pcie交换芯片内核及工作方法
US20070171917A1 (en) Apparatus and method for implementing multiple high speed switching fabrics in an ethernet ring topology
US7631096B1 (en) Real-time bandwidth provisioning in a switching device
CN104995884A (zh) 分布式无交换机互连
US7680043B2 (en) Network processor having fast flow queue disable process
CN116114233A (zh) 自动流管理
TWI411264B (zh) 非阻塞式網路系統及其封包仲裁方法
US20080205287A1 (en) Apparatus and method for controlling the transfer of communication traffic to multiple links of a multi-link system
US7209489B1 (en) Arrangement in a channel adapter for servicing work notifications based on link layer virtual lane processing

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141203