CN100570551C - 用于降低流水线处理器中缓冲容量的方法 - Google Patents
用于降低流水线处理器中缓冲容量的方法 Download PDFInfo
- Publication number
- CN100570551C CN100570551C CNB2005800445729A CN200580044572A CN100570551C CN 100570551 C CN100570551 C CN 100570551C CN B2005800445729 A CNB2005800445729 A CN B2005800445729A CN 200580044572 A CN200580044572 A CN 200580044572A CN 100570551 C CN100570551 C CN 100570551C
- Authority
- CN
- China
- Prior art keywords
- packet
- cost information
- interface
- streamline
- grouping
- 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
- 238000000034 method Methods 0.000 title claims abstract description 24
- 239000000872 buffer Substances 0.000 title description 19
- 230000008569 process Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 28
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000005755 formation reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007493 shaping process Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 108010076504 Protein Sorting Signals Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011079 streamline operation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种用于处理器(1)的方法以及一种包括处理流水线(2)和用于数据分组的至少一个接口(3)的处理器。所述方法的特征在于,依靠由第一数据分组(D1)在流水线(2)的至少一部分(P1,...,PK)中的期望驻留时期决定的成本信息(c1)来准许第二数据分组(D2)进入流水线(2)。第一数据分组(D1)可以与第二数据分组相同,但是优选地,第一数据分组(D1)先于第二数据分组(D2)进入流水线(2)。
Description
技术领域
本发明涉及用于包括处理流水线和用于数据分组的至少一个接口的处理器的方法。
背景技术
在流水线网络处理器中,在处理单元或者处理元件中处理数据分组,通过这些处理单元或处理元件来顺序传送数据分组。在异步流水线中,对一处理元件的准入独立于对其他处理元件的准入。在已知流水线处理器中,容许输入流量进入处理元件序列,使得实现恒定码率,或者容许尽可能快速,而没有受控准入限制,由此,由处理性能给出限制。在分组具有不同处理要求或者不同大小的情况下,在处理元件之间需要相对较大的缓冲容量,因为分组可能会排队等待较长一段时间以等待在随后的处理元件中完成。换句话说,由于由流水线带宽[bits/s]以及最小分组大小给出最大分组速率,不同分组可能需要在不同处理元件FIFO中等待,使得PE FIFO大小的总和较大。
发明内容
本发明的目标是降低流水线处理器中所需的缓冲容量。
通过一种用于包括处理流水线和用于数据分组的至少一个接口的处理器的方法来达到该目标,该方法包括的步骤为:依靠由第一数据分组在流水线至少一部分中的期望驻留时期所决定的成本信息,准许第二数据分组进入流水线。
本发明具体适合于同网络处理器相结合。成本信息可取决于第一数据分组在处理流水线的处理元件中的最长驻留时期。成本可以用另外的方式定义。优选的定义如下:假设数据分组D1在时刻TM_ENTRY_1进入空处理流水线并且在时刻TM_EXIT_1退出处理流水线。随后的数据分组D2在时刻TM_ENTRY_2进入处理流水线并且在时刻TM_EXIT_2退出处理流水线。数据分组D1的成本C1基于最小时间差C1=TM_ENTRY_2-TM_ENTRY_1,其将防止数据分组D2等待处理流水线中的任何繁忙处理元件,或者基于大于或等于该时间差的近似值。因此,成本C1基于数据分组D1占用处理流水线中的任何元件而使其无法接受新分组的最长时间,参见下面进一步的讨论。
本发明将避免在处理中的分组之后长时间排队的情况。由于本发明将降低数据分组在流水线的任何部分等待的风险,相对于根据已知技术的流水线,本发明提供了减小了的流水线贮存容量。
在一个实施例中,第一数据分组与第二数据分组相同。换句话说,数据分组的准入取决于分组其自身的成本。由此,可以使用所谓的严格标记散列表元算法(strict token bucket algorithm)来准许数据分组进入流水线,借此,以固定信用量(credit amount)周期性递增散列表元级别,当信用至少大到对应于依次的下一数据分组的成本时,容许该数据分组进入流水线,借此,标记散列表元级别降低,其降低的量对应于所述数据分组的成本。
但是,在优选实施例中,第一和第二数据分组不相同,第一数据分组先于第二数据分组进入流水线。由此,对流水线的准入可以通过所谓的宽松标记散列表元算法来确定,借此,以固定信用量周期性递增散列表元级别。优选地,不管使用严格标记散列表元算法或是宽松标记散列表元算法,在递增标记散列表元的信用级别的每种情况下,信用级别以预定量递增,预定量例如一比特。当信用达到预定值时,例如,当信用为零或者正值,依次的下一数据分组,这里是第一数据分组,被容许进入流水线,借此,标记散列表元级别降低,其降低的量对应于第一数据分组的成本。由于信用值在第一数据分组准入之后取决于后者的成本,且下一数据分组,这里是第二数据分组,直到信用再次达到预定值才会容许进入,因而第二数据分组的准入取决于第一数据分组的成本。这是一个优势,因为分组的准入和前一分组的成本之间的直接相关将进一步降低任何分组等待处理元件完成在前分组的处理的风险。
优选地,不管使用宽松还是严格标记散列表元算法,成本信息都被确定为C=N*T/D,其中C是分组的成本,N是到处理器流水线的分组输入端口或接口的数量,T是流水线中由于分组处理而造成的任何处理元件的最大阻隔时间,D是每一接口处标记散列表元的信用级别的两个连续增量之间的时期。
因此,作为一个例子,如果只有一个输入端口用于分组进入流水线,即N=1,而且如果T=1且D=1的话,则C=1。如果有一个以上的输入端口的话,优选地,使用循环调度来共享流水线。因此,作为一个例子,如果有两个输入端口用于分组进入流水线,即N=2,而且如果T=1且D=1,则C=2。
可替换地,当向处理器提供一个以上的输入端口时,处理能力可以在输入端口之间不对称地共享。由此,每一输入端口K=1,2,3...N可以具有相关联的权重M_K,使得M_1+M_2+...+M_N=N,而且通过输入端口K接收到分组的成本是C_K=M_K*N*T/D。
作为替换方案,成本信息被确定为C≥N*T/D,即成本被设定为至少N*T/D。这在用户不想或不能利用流水线的全部容量的情况下是有用的。
根据一个实施例,取决于第二数据分组在流水线至少一部分中的期望驻留时期的成本信息,与取决于第一数据分组在流水线至少一部分中的期望驻留时期的所述成本信息不同。换句话说,成本信息是“分组特定的”。结果,可以实现分组准入控制的高准确率,因为可以获得有关各个分组的成本信息。优选地,由此,将成本信息储存在各个数据分组的头部中。可替换地,成本信息的其他贮存形式也是可能的,例如,储存在各个分组尾部,或者储存在平行于分组输入缓冲器的单独的控制通道中。
可替换地,或者另外地,成本信息对应于预定的“接口特定的”信息,取决于多个数据分组的成本的假设。由此,在预先已知分组(例如来自一个或多个接口)具有相似的成本的情况下,一般假设使得没有必要读取这样的有关各个分组的信息,并且由此可以简化分组准入的过程。更具体地,在接口处,假定多个或全部分组具有对应于预定信息的相同成本,使得形成接口特定的成本信息。优选地,接口特定的信息基于对多个分组的最大成分的估计。当处理器包括至少两个用于数据分组的接口时,在至少一个接口处的分组的成本信息可以与至少一个另外的接口处的分组的成本信息不同,使得有可能通过特定接口特定的成本假设而高成本地将分组分配给特定接口,而通过另一接口特定的成本假设可以低成本地将分组分配给另一接口。
根据一个替换实施例,流水线处理器包括至少两个用于数据分组的接口,借此,在第一接口的数据分组的成本信息是接口特定的,不同于在第二接口的数据分组的接口特定的成本信息。
作为替换,方法包括以下步骤:检查多个分组,确定分组成本,以及对于具有超过预定值的成本的分组,储存分组信息作为分组特定的成本信息。
优选地,所述的准许第二数据分组进入流水线的步骤是在第一接口处通过使用标记散列表元算法而执行的,借此,标记散列表元的信用可以基于所述成本信息来进行调整,借此,将来自第一接口的标记散列表元的溢出信用转移到在第二接口处的分组准入的溢出标记散列表元(overflow token bucket)。
溢出散列表元使得有可能允许一个更昂贵的分组经由第二接口进入流水线。由此,普通流量分组,这里也被称为传送平面分组,可以通过第一接口而引入,而昂贵的分组可以通过第二接口而引入。优选地,流水线中FIFO缓冲器大小的设计是针对这样的昂贵分组之后堆积的队列的。可替换地,FIFO缓冲器大小的设计是针对一个或多个这样的昂贵分组之后堆积的队列的。优选地,在新的昂贵分组可以发送到流水线中之前再填满该溢出散列表元。这保证了在下一昂贵分组到达并且使得队列再次增长之前,流水线中堆积的缓冲器已返回到正常级别。这样的昂贵分组的例子是用于控制和管理的分组,这里也被称为控制和管理分组,由外部CPU发送到处理器。
优选地,在第二接口,对于其成本信息对应于接口特定的预定值的两个分组都准入,如上所述,对于具有单独的、分组特定的成本信息的分组也准入,如上所述。
本发明的目标还可以通过处理器以及路由器或计算机单元来实现。
一种处理器(1),包括处理流水线(2)和用于数据分组的至少一个接口(3),其特征在于,所述处理器包括整形器(5),所述整形器(5)适合于依靠由第一数据分组(D1)在流水线(2)的至少一部分(P1、...、PK)中的期望驻留时期所决定的成本信息(c1),而准许第二数据分组(D2)进入流水线(2)。
一种路由器或计算机单元,其包括根据上述处理器。
附图说明
在详细说明中,结合附图,将描述本发明的进一步的优点,在附图中:
图1是对应于根据本发明一个实施例的处理器的框图,
图1a和1b是对应于图1的处理器的一部分的框图,
图2是对应于根据本发明进一步的实施例的处理器的一部分的框图,
图3是对应于本发明的另一实施例的处理器的框图,以及
图4是对应于本发明的又一实施例的处理器的一部分的框图。
具体实施方式
图1图示说明了本发明的第一实施例。网络处理器处理流水线1包括异步处理流水线2,异步处理流水线2又包括多个处理元件P1、P2、...、PK。处理元件P1、P2、...、PK中的任何一个可以是用于接入处理设备或者引擎的接入点,如WO 2004/010288中所述,在此将其包括进来参考。数据流量在图中从左向右传递。在数据流量的方向中,在每一处理元件P1、P2、...、PK之前,提供处理元件缓冲器B1、B2、...、BK,是FIFO缓冲器的形式。在每一缓冲器B1、B2、...、BK中,在后续处理元件P1、P2、...、PK中的在先分组的处理期间,可以储存数据分组,在完成所述处理以后,下一分组则被容许进入后续处理元件P1、P2、...、PK。
数据分组D1、D2、D3通过包括输入端口3的接口而进入处理器,并且储存在输入缓冲器4中。每一数据分组D1、D2、D3包括具有有关数据分组的成本的信息c1、c2、c3的头部。(头部可以包括有关数据分组的大小的信息。)成本信息c1、c2、c3取决于有关各个数据分组D1、D2、D3占用处理流水线2中处理元件P1、P2、...、PK中任意一个从而使其无法接受新数据分组的最长时间的信息。
优选地,成本信息c1、c2、c3被确定为如“发明内容”部分中所述的形式,例如c1=N*T/D,其中,在这个例子中,N(输入端口的数量)=1,T是流水线2中任意处理元件P1、P2、...、PK由于处理分组D1而造成的最大阻隔时间,D是输入端口3处的标记散列表元的两个连续信用级别的增量之间的时期,参看下面进一步的描述。
可以用多种方式向各个数据分组分配成本信息。例如,用户预先知道数据分组的处理成本,可以用数据分组发送成本信息,例如在头部中,如图1所示。可替换地,处理器的分类器可以适配为检查分组并且确定分组成分(“预分类”)。作为进一步的替换,如将在下面进一步描述的,所有分组在一接口处的成本可以被设置为相同,即,所有分组的成本对应于预定的接口特定的值。
对流水线2的准入由标记散列表元算法来确定,由分组速率整形器5(这里也被称为整形器5)来执行。整形器5适配为读取与进入的分组D1、D2、D3相关的成本信息c1、c2、c3。优选地,整形器使用所谓的宽松标记散列表元整形器,即,如果信用为负,散列表元级别就周期性地,例如处理器1的每个时钟周期,递增固定的信用量。当信用为零或正时,输入缓冲器4中的顺次下一分组D1被准许进入流水线2,借此,标记散列表元减小,减小的量对应于下一分组D1的成本c1。图1a和1b示意性地描绘了这一机制。输入缓冲器4中的顺次下一分组D1的成本c1是X,并且由于整形器5的散列表元级别为0,分组D1被准许进入流水线2。由此,散列表元级别减小X,输入缓冲器中的下一分组D2将必须等待散列表元级别重新达到零才能被准许进入流水线。
可替换地,使用严格标记散列表元算法,借此,散列表元级别周期性地递增固定信用量,并且,当信用至少大到对应于顺次下一分组D1的成本c1时,该分组D1被准许进入流水线2,借此,标记散列表元级别减小,减小的量对应于分组D1的成本c1。但是,优选地,使用宽松标记散列表元算法,因为其涉及比严格版本更少的操作步骤,其原因在于,在宽松版本中,对分组准入的唯一条件是非负信用级别,因此不必接着在标记散列表元的信用和分组的成本之间进行比较。
由于成本信息基于对流水线中分组D1、D2、D3的操作的预测量,而操作量与分组的处理时间成比例,根据本发明对数据分组的流进行整形将导致分组流适配分组的处理要求,而这又将使得有可能使处理元件缓冲器B1、B2、...、BK保持较小。
在退出流水线2之后,分组在通过输出端口7发送之前储存在输出缓冲器6中。
作为读取储存在分组D1、D2、D3的头部中的成本信息c1、c2、c3的可替换方案,整形器5可以通过接口特定的预定值来调整标记散列表元的级别。优选地,接口特定的值对应于对进入分组的最大成本的估计。
还有可能在接口处混合如上所述的那些其成本信息对应于接口特定的预定值的分组与如上所述的具有单个的、分组特定的成本信息的分组。由此,分类器,诸如上面所述的分类器,可以检查分组并且确定分组成本以及对于具有超过预定值的成本的分组,储存成本信息作为分组特定的成本信息。由此,获得了更多的灵活性和效率,因为可以处理成本非常高的分组,而接口特定的成本信息不必假设不切实际的高值。
参看图2,应该注意到,流水线可以包含至少一个同步元件8,在每一同步元件8之前和之后具有弹性缓冲9、10。但是,这不改变这里所呈现的发明概念。
参看图3,图示说明了本发明的第二实施例。网络处理器1包括异步处理流水线2,类似于参考图1所述的流水线,但是还包括异步元件8,具有弹性缓冲9、10,如参考图2所述。
数据分组D11、...、D1M通过接口进入处理器,每一接口包括输入端口31、32、...、3M,数据分组储存在各个输入缓冲器41、42、...、4M中。流水线仲裁器11、51、52、...、5M包括调度器11和多个整形器51、52、...、5M。特别地,对于输入端口31、32、...、3M和输入缓冲器41、42、...、4M中每一对,提供整形器51、52、...、5M,每一整形器根据标记散列表元算法执行整形。在这个图示中,在接口或输入端口提供的调度器或标记散列表元表示其是由接口或输入端口实体性提供的,或者功能性连接到接口或输入端口。到流水线2的准入是由整形器51、52、...、5M和调度器11确定的,其根据循环算法运算,借此,由调度器11以连续轮询顺序准许整形器51、52、...、5M访问该流水线。除了循环算法之外,还可以使用替换的调度规范,例如加权公平排队、差额循环、差额加权循环、严格优先级排队以及先到先服务。
当分组D11、...、D1M进入到流水线2中时,根据各个接口特定的预定成本值c1、c2、...、cM,调整,即减小,各个标记散列表元信用。在这个实施例中,整形器51、52、...、5M的成本值c1、c2、...、cM彼此不同。由此,在接口接收的分组由于整体***属性而具有类似的对于处理的需要。例如,一个接口可能接收来自线路的将被分类和切换的分组,而另一接口接收来自切换结构的分组,这些分组在传输之前通常需要较少的处理。因此,图3中所示的实施例提供了多个输入缓冲器,每一缓冲器具有特定的成本;例如,每物理/逻辑接口一个缓冲器,其中不同接口具有不同处理需求。当然,作为替换方案,两个或更多整形器可以以相同成本值操作。
在这个实施例中,对于特定整形器51、52、...、5M的接口特定的成本值c1、c2、...、cM被确定为N*T/D,其中N是输入端口31、32、...、3M的数量,T是由于整形器51、52、...、5M准入的分组的处理而在流水线中任何处理元件处的最大阻隔时间,D是在整形器51、52、...、5M的标记散列表元的信用级别的周期性增量。
图3中整形器51、52、...、5M的标记散列表元算法优选是宽松的,如上所述。如果对于到各个整形器51、52、...、5M的标记寄存(deposit)的循环速率高于调度器11对各个整形器51、52、...、5M的轮询速率的话,优选地,每一整形器51、52、...、5M的散列表元级别递增,只要其低于突发大小B。由此,B是调度器11对各个整形器51、52、...、5M的两个连续轮询之间的最大时钟周期数,或最大标记寄存数。结果,没有标记浪费,其中,整形器51、52、...、5M预备传送分组D11、...、D1M,但是调度器11服务另一整形器51、52、...、5M。当然,可以结合严格标记散列表元算法而使用相同策略。
在退出流水线2之后,每一分组D11、...、D1M,在通过各个输出缓冲器61、62、...、6M之后,经由若干输出端口71、72、...、7M之一而被发送。
作为对接口特定的预定成本值c1、c2、...、cM的替换方案,整形器51、52、...、5M可以允许分组D11、...、DM基于每一分组头部中的成本信息而传送,如上参考图1所述。作为进一步的替换,可以使用混合策略,其中,整形器51、52、...、5M中一个或多个使用具有接口特定的预定成本值的策略,并且整形器51、52、...、5M中一个或多个使用具有在分组头部中的成本信息的策略。
某些分组,例如用于处理器的控制和管理的分组,发送自外部CPU,导致在处理元件P1、P2、...、PK处的操作,其消耗更多时钟周期,并且因此具有比在正常流量分组上的常规操作(例如,传送平面引擎访问)更高的成本。写入特定类型的TCAM是这样的控制和管理引擎访问的一个例子。如果流水线元件P1、P2、...、PK的处理速度适配正常流量分组上的常规操作,且流水线仲裁器的分组速率整形器51、52、...、5M被配置为匹配这些处理速度,“消耗较多周期”(cycle-expensive),即高成本的处理,例如,其形式为控制和管理引擎访问,可能引起受影响的处理元件的请求FIFO中请求的堆积。为了避免请求FIFO溢出,后者必须被允许在新的消耗较多周期的控制和管理分组可以被***到可编程流水线2中之前排空。
参看图4,流水线仲裁器PA被示出为具有用于进入数据流量的五个接口31、32、33、34、3X,流水线仲裁器适配为将数据流量传送到处理流水线,如箭头A所示。当然,流水线冲裁器原则上可以包括任意数量的接口。为了解决上述问题,本发明的优选实施例包括在流水线仲裁器PA中规定接口为接口3X,用于低优先级数据分组,这里也被称为控制和管理分组接口3X,诸如用于控制和管理分组。
在这个例子中,四个接口31、32、33、34适合于普通数据流量,这里也被称为传送平面分组。流水线仲裁器PA在每一普通流量接口31、32、33、34提供码率整形器81、82、83、84。优选地,码率整形器81、82、83、84也是宽松标记散列表元。它们对于限制数据突发大小很有用,用于超额订制***中每一接口带宽的限制和保留。可替换地,可以提供仲裁器的一个或多个接口,而不具有这样的码率整形器,例如在固定分组大小通过一个或多个接口的情况中,例如在ATM或其他基于单元(cell-baed)的***中。
如图4中所能看出的,控制和管理分组接口3X不具有如其他接口所提供的分组速率整形器51、52、53、54。分组速率整形器51、52、53、54每一个都包括分组速率整形器标记散列表元T1、T2、T3、T4,用于通过标记散列表元算法对数据流量进行整形,如上参考图3所述。此外,每一分组接口的每一分组速率整形器51、52、53、54还包括溢出标记散列表元TX1、TX2、TX3、TX4。如图4中弯曲箭头所示,每一溢出标记散列表元TX1、TX2、TX3、TX4当各个分组速率整形器标记散列表元T1、T2、T3、T4充满时(更具体地,当其为零或某些其他预定级别时)接收从其中溢出的分组开始标记。优选地,分组速率整形器标记散列表元T1、T2、T3、T4,以及溢出标记散列表元TX1、TX2、TX3、TX4,是宽松标记散列表元,如上所述。
与图3中的实施例类似,图4中的实施例包括调度器11,其根据循环算法操作,借此,以调度器11的连续轮询序列的方式,准许整形器51、52、53、54访问流水线。
根据一个替换方案,调度器11根据严格优先级排队规范,借此,不同的队列可以具有不同的优先级。由此,当调度器11决定接下来服务哪个队列时,规则是:服务具有分组并且不具有比具有分组的任何其他队列更低的优先级的队列。
流水线仲裁器PA包括比较功能12,其将调度器11所服务的整形器51、52、53、54的溢出标记散列表元TX1、TX2、TX3、TX4的级别与控制和管理分组头部信息相比较。
优选地,提供额外的成本信息,其可以在分组的头部中提供,或者在各个分组尾部中提供,或者在平行于分组输入缓冲器的单独的控制通道中提供。额外的成本信息基于传送平面数据分组与控制和管理分组之差,有关于流水线元件由于处理所致的最长繁忙时期。特别分组间距可以相对于传送平面数据分组而为控制和管理分组定义额外成本。例如,如果用于控制和管理的特定分组具有10周期的最坏情况成本,其中传送平面分组具有2周期的成本,则额外成本信息被设置为10-2=8。对于不具有比传送平面分组更大的成本的控制和管理分组,额外成本信息被设置为零。
优选地,用于容许控制和管理分组接口3X中的控制和管理分组进入处理流水线的条件是在调度器11所服务的接口31、32、33、34中当前不存在分组。
优选地,比较功能12比较调度器11所服务的整形器51、52、53、54的溢出标记散列表元TX1、TX2、TX3、TX4的级别与控制和管理分组的额外成本信息。如果溢出标记散列表元TX1、TX2、TX3、TX4的级别为零或正,控制和管理分组被准许进入流水线。由此,调度器11所服务的整形器51、52、53、54的溢出标记散列表元TX1、TX2、TX3、TX4的级别减小,减小的量对应于额外成本信息。同时,对应的分组速率整形器标记散列表元T1、T2、T3、T4也减小,减小的量对应于传送平面分组的成本。因此,如果传送平面分组的成本是2,而控制和管理分组准入流水线的额外成本是8,则分组速率整形器标记散列表元T1、T2、T3、T4减小2,而对应的溢出标记散列表元TX1、TX2、TX3、TX4减小8。
当然,有可能对与控制和管理分组的准入流程进行替换。例如,用于准许控制和管理分组进入的条件可以是至少两个溢出标记散列表元TX1、TX2、TX3、TX4的级别是零或正,借此,当准许分组进入时,至少两个这些溢出标记散列表元减小量为所述额外的成本。此外,可以规定用于控制和管理分组的准入的不同条件,借此,这样的条件的选择是分组特定的。例如,可以向控制和管理分组分配比普通流量分组更高的优先级,并且这样的信息还可以包含在控制和管理分组头部中,用于基于单个分组的优先级决策。
作为进一步的替换方案,对于控制和管理分组的准入,可以使用严格标记散列表元算法。
通过所提议的实施例,如参考图4所述,FIFO的处理元件缓冲器或FIFO B1、B2、...、BK保证在消耗较多周期的控制和管理分组被***之前就被排空。这防止了流水线元件FIFO中产生溢出。相对于已知的现有解决方案,本发明的解决方案提供了对处理能力的有效使用,现有解决方案包括控制平面CPU***虚设(dummy)、不操作的控制和管理分组,这增加了控制平面负荷。
处理器1,以及上述的方法,适用于路由器或用于防火墙应用的计算机单元,还适用于各种计算机单元,其中计算机单元将由于流水线操作而受益。这样的计算机单元的例子是网络计算机单元,诸如:切换器;网关,即,执行不同类型的网络和应用之间的协议转换的计算机单元,以及用于网络服务器的负荷平衡单元。
本发明还适用于包含于数字信号处理的计算机单元,即包含于对来自声音、气象卫星和地震监视器的信号的分析和/或修改中的计算机单元。处理器1所接收到的数据分组在该情况下可能是模拟信号序列的数字表示。使用与本发明有关的数字信号处理的领域例如有:生物医学、声纳、雷达、地震学、语音和音乐处理、成像、多媒体应用以及通信。
Claims (18)
1.一种用于处理器(1)的方法,所述处理器(1)包括处理流水线(2)和用于数据分组的至少一个接口(3),该方法的特征在于:
依靠由第一数据分组(D1)在流水线(2)的至少一部分(P1、...、PK)中的期望驻留时期所决定的成本信息(c1),而准许第二数据分组(D2)进入流水线(2),
其中,所述第一数据分组(D1)先于所述第二数据分组(D2)进入流水线(2),并且,
其中,准许第一数据分组(D1)进入流水线(2)的步骤是使用标记散列表元算法而执行的,借此,当标记散列表元的信用达到预定值时,准许第一数据分组(D1)进入,并且借此,减小标记散列表元信用,其减小的量对应于第一数据分组(D1)的成本信息(c1)。
2.根据权利要求1的方法,其中,所述第一数据分组(D1)与所述第二数据分组相同。
3.根据权利要求1或2的方法,其中,由第二数据分组(D2)在流水线至少一部分中的期望驻留时期所决定的成本信息(c2)不同于由第一数据分组(D1)在流水线至少一部分中的期望驻留时期所决定的所述成本信息(c1)。
4.根据权利要求3的方法,其中,所述成本信息(c1、c2)储存在各个数据分组(D1、D2)的头部中。
5.根据权利要求1或2的方法,其中,所述成本信息(c1)对应于接口特定的预定信息,该预定信息取决于对多个数据分组的成本信息的假设。
6.根据权利要求5的方法,其中,所述接口特定的预定信息对应于对多个分组的最大成本信息的估计。
7.根据权利要求1的方法,其包括:检查多个分组,确定分组成本信息,以及,对于具有超过预定值的成本信息的分组,储存成本信息作为分组特定的成本信息。
8.根据权利要求1的方法,其中,所述用于数据分组的至少一个接口(3)包括第一接口(31、32、33、34)和第二接口(3X),所述的准许第二数据分组(D2)进入流水线(2)的步骤是在第一接口(31、32、33、34)处通过使用标记散列表元算法而执行的,借此,基于所述成本信息(c1)而调整标记散列表元(T1、T2、T3、T4)的信用,借此,将来自第一接口(31、32、33、34)的标记散列表元(T1、T2、T3、T4)的信用溢出转移到用于至少一个分组在第二接口(3X)处的准入的溢出标记散列表元(TX1、TX2、TX3、TX4)。
9.一种处理器(1),包括处理流水线(2)和用于数据分组的至少一个接口(3),其特征在于:
所述处理器包括整形器(5),所述整形器(5)适合于依靠由第一数据分组(D1)在流水线(2)的至少一部分(P1、...、PK)中的期望驻留时期所决定的成本信息(c1),而准许第二数据分组(D2)进入流水线(2),
其中,所述第一数据分组(D1)先于所述第二数据分组(D2)进入流水线(2),并且,
其中,所述整形器(5)适合于通过使用标记散列表元算法而准许第一数据分组(D1)进入流水线(2),借此,当标记散列表元的信用达到预定值时,准许第一数据分组(D1)进入,并且借此,减小标记散列表元信用,其减小的量对应于第一数据分组(D1)的成本信息(c1)。
10.根据权利要求9的处理器,其中,所述第一数据分组(D1)与所述第二数据分组相同。
11.根据权利要求9或10的处理器,其中,由第二数据分组(D2)在流水线至少一部分中的期望驻留时期所决定的成本信息(c2)不同于由第一数据分组(D1)在流水线至少一部分中的期望驻留时期所决定的所述成本信息(c1)。
12.根据权利要求11的处理器,其中,所述成本信息(c1、c2)储存在各个数据分组(D1、D2)的头部中。
13.根据权利要求9或10的处理器,其中,所述成本信息(c1)对应于接口特定的预定信息,该预定信息取决于对多个数据分组的成本信息的假设。
14.根据权利要求13的处理器,其中,所述接口特定的预定信息对应于对多个分组的最大成本信息的估计。
15.根据权利要求9的处理器,包括分类器,其适用于:检查多个分组,确定分组成本信息,以及,对于具有超过预定值的成本信息的分组,储存成本信息作为分组特定的成本信息。
16.根据权利要求9的处理器,其中,所述用于数据分组的至少一个接口(3)包括第一接口(31、32、33、34)和第二接口(3X),所述的整形器(5)适合于在第一接口(31、32、33、34)处通过使用标记散列表元算法而准许第二数据分组(D2)进入流水线(2),借此,基于所述成本信息(c1)而调整标记散列表元(T1、T2、T3、T4)的信用,借此,将来自第一接口(31、32、33、34)的标记散列表元(T1、T2、T3、T4)的信用溢出转移到用于至少一个分组在第二接口(3X)处的准入的溢出标记散列表元(TX1、TX2、TX3、TX4)。
17.一种路由器,其包括根据权利要求9-16中任意一项的处理器。
18.一种计算机单元,其包括根据权利要求9-16中任意一项的处理器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SE04031282 | 2004-12-22 | ||
SE0403128A SE0403128D0 (sv) | 2004-12-22 | 2004-12-22 | A method for a processor, and a processor |
US60/643,580 | 2005-01-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101088065A CN101088065A (zh) | 2007-12-12 |
CN100570551C true CN100570551C (zh) | 2009-12-16 |
Family
ID=34075257
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005800445729A Expired - Fee Related CN100570551C (zh) | 2004-12-22 | 2005-12-20 | 用于降低流水线处理器中缓冲容量的方法 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN100570551C (zh) |
SE (1) | SE0403128D0 (zh) |
TW (1) | TWI394078B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105474168B (zh) | 2014-06-30 | 2018-03-09 | 华为技术有限公司 | 网络装置执行的数据处理方法和相关设备 |
CN108628277B (zh) * | 2018-08-16 | 2020-07-24 | 珠海格力智能装备有限公司 | 工作站的分配处理方法及装置、*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85107692A (zh) * | 1985-10-19 | 1987-05-06 | 霍尼韦尔信息***公司 | 多处理机公用的流水线超高速缓冲存储器 |
CN1232219A (zh) * | 1998-03-23 | 1999-10-20 | 日本电气株式会社 | 流水线型多处理器*** |
WO2002027483A2 (en) * | 2000-09-29 | 2002-04-04 | Intel Corporation | Trace buffer for loop compression |
US6757249B1 (en) * | 1999-10-14 | 2004-06-29 | Nokia Inc. | Method and apparatus for output rate regulation and control associated with a packet pipeline |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001016714A1 (en) * | 1999-09-01 | 2001-03-08 | Intel Corporation | Fast write instruction for micro engine used in multithreaded parallel processor architecture |
KR100800958B1 (ko) * | 2001-10-04 | 2008-02-04 | 주식회사 케이티 | 토큰 버켓을 이용한 트래픽 플로우 제어 방법 |
-
2004
- 2004-12-22 SE SE0403128A patent/SE0403128D0/sv unknown
-
2005
- 2005-09-20 TW TW94132516A patent/TWI394078B/zh active
- 2005-12-20 CN CNB2005800445729A patent/CN100570551C/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN85107692A (zh) * | 1985-10-19 | 1987-05-06 | 霍尼韦尔信息***公司 | 多处理机公用的流水线超高速缓冲存储器 |
CN1232219A (zh) * | 1998-03-23 | 1999-10-20 | 日本电气株式会社 | 流水线型多处理器*** |
US6757249B1 (en) * | 1999-10-14 | 2004-06-29 | Nokia Inc. | Method and apparatus for output rate regulation and control associated with a packet pipeline |
WO2002027483A2 (en) * | 2000-09-29 | 2002-04-04 | Intel Corporation | Trace buffer for loop compression |
Also Published As
Publication number | Publication date |
---|---|
TWI394078B (zh) | 2013-04-21 |
CN101088065A (zh) | 2007-12-12 |
TW200632741A (en) | 2006-09-16 |
SE0403128D0 (sv) | 2004-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11347556B2 (en) | Configurable logic platform with reconfigurable processing circuitry | |
US8250231B2 (en) | Method for reducing buffer capacity in a pipeline processor | |
US8077618B2 (en) | Using burst tolerance values in time-based schedules | |
US6646986B1 (en) | Scheduling of variable sized packet data under transfer rate control | |
US6721796B1 (en) | Hierarchical dynamic buffer management system and method | |
CN101057481B (zh) | 为在网络中路由而利用要以优先级处理的分组的隐式确定来调度分组的方法和设备 | |
US7457296B2 (en) | Method and apparatus for sorting packets in packet schedulers using a connected trie data structure | |
US20090207846A1 (en) | Propagation of minimum guaranteed scheduling rates among scheduling layers in a hierarchical schedule | |
EP0989770B1 (en) | Packet transfer control apparatus and scheduling method therefor | |
WO2006089560A1 (en) | A method of and a system for controlling access to a shared resource | |
Kostrzewa et al. | Dynamic control for mixed-critical networks-on-chip | |
Kranich et al. | NoC switch with credit based guaranteed service support qualified for GALS systems | |
US20060168405A1 (en) | Sharing memory among multiple information channels | |
CN100570551C (zh) | 用于降低流水线处理器中缓冲容量的方法 | |
Kim | Bandwidth and latency guarantees in low-cost, high-performance networks | |
Eugster et al. | Essential traffic parameters for shared memory switch performance | |
US20060153243A1 (en) | Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group | |
EP1774721B1 (en) | Propagation of minimum guaranteed scheduling rates | |
Tobuschat et al. | Selective congestion control for mixed-critical networks-on-chip | |
Eugster et al. | Admission control in shared memory switches | |
Ren et al. | Dynamic Priority Coflow Scheduling in Optical Circuit Switched Networks | |
KR101794765B1 (ko) | 다중 데이터 링크 처리기 상에서 쓰레드 스케줄링 방법 | |
Turner | Design and Analysis of Switching systems | |
US20040190524A1 (en) | Scheduler device for a system having asymmetrically-shared resources | |
CN116686269A (zh) | 一种路由器及片上*** |
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 | ||
C41 | Transfer of patent application or patent right or utility model | ||
TR01 | Transfer of patent right |
Effective date of registration: 20120401 Address after: Stockholm, Sweden Patentee after: A strategic position Lelateniuke company Address before: Stockholm, Sweden Patentee before: Xelerated AB |
|
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: 20091216 Termination date: 20191220 |