分组传输优先级信道分配的制作方法

文档序号:6534697阅读:269来源:国知局
分组传输优先级信道分配的制作方法
【专利摘要】本发明公开了一种方法,包括向第二节点广播一个缓冲区存储空间的总分配,所述总分配小于缓冲区的空间,所述总分配分成多个分配,其中每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配、接收第二节点发送来的第一分组类型的一个分组并将此分组存储到缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲区空间大于广播的第一分组类型的缓冲空间。
【专利说明】分组传输优先级信道分配
[0001]优先权彳目息
[0002]本专利申请要求1111111 11卜等人于2013年6月17日提交的、申请号为13/919,193、名称为《分组传输优先级信道分配》的非美国临时专利申请的优先权,此非美国临时专利申请之前已要求了 11111=[化等人于2012年7月31日提交的、申请号为61/677,884、名称为《分组传输优先级信道分配》的美国临时专利申请的优先权,这两份专利申请的全部内容通过引用合并于此。
[0003]关于联邦政府资助研宄或开发的声明
[0004]不适用。
[0005]微缩胶片附录的引用
[0006]不适用。
技术背景
[0007]分组传输系统可用来在多个节点之间分享信息,其中,节点可以是网络化系统中与其它电子元件交流的任意一个电子元件。例如,节点可能是计算系统(如计算机)中的存储设备或处理机。计算系统可能具有多个能互相交流的节点。节点可能使用数据缓冲区来存储收到的临时分组,直至它们被处理。分组可以通过物理链路从一个节点发送至另一个节点,物理链路可分为多个虚拟信道。这些虚拟信道可进一步分成不同的虚拟信道等级,具备不同的分组优先级。然而,对不同优先级分组的不均衡的业务分配可能导致缓冲受限。例如,分配给某一特定分组类型或优先级的缓冲区可能会被超额订购,导致此分组类型的缓冲区出现拥塞,而分配给另一种分组类型的缓冲区可能没被充分利用,从而导致缓冲资源未得到有效利用。数据传输中的高时延会降低总体服务质量(如幻。此外,如果一个或多个节点被超额订购,吞吐量和链路利用度会大大降低,反过来又增加了分组排队、占用了大部分可用缓冲区。因此,有必要优化缓冲区的分配。


【发明内容】

[0008]在一个实施例中,本发明采用了一种方法,包括向第二节点广播一个缓冲区存储空间的总分配,所述总分配小于所述缓冲区的空间,所述总分配分成多个分配,其中所述多个总分配中的每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配、接收所述第二节点发送来的第一分组类型的分组并将此分组存储到所述缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于为第一分组类型广播的缓冲空间。
[0009]在另一个实施例中,本发明采用了一种方法,包括向第二节点广播一个缓冲区存储空间的总分配,所述总分配等于缓冲区的空间,所述总分配分成多个分配,其中每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配、接收第二节点发送来的第一分组类型的分组并将此分组存储到缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于广播的第一分组类型缓冲空间。
[0010]在另一个实施例中,本发明采用了一种装置,包括一个缓冲器、一个用于向第二节点广播缓冲区存储空间总分配的发送机,所述总分配小于缓冲区的空间,所述总分配分成多个分配,其中每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配,和一个耦合于缓冲器的用于接收第二节点发送来的第一分组类型的分组并将此分组存储到缓冲区的接收机,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于广播的第一分组类型缓冲空间。
[0011]结合参阅以下【具体实施方式】、附图和权利声明可更加清楚地了解上述
【发明内容】
和其它内容。

【专利附图】

【附图说明】
[0012]要完全了解本发明,请参考以下简要说明,结合参阅附图和【具体实施方式】,其中,相同参考数字代表相同部件。
[0013]图1是一个互联网络系统实施例。
[0014]图2是缓冲区分配和相应的缓冲信用分配示例。
[0015]图3是一个缓冲区分配实施例。
[0016]图4阐释了两个节点间的数据通信。
[0017]图5是一个实施例中优先级分组存储方法的流程图。
[0018]图6是一个分组传输系统的不意图。

【具体实施方式】
[0019]一开始就应知道,本发明虽然提供了以下一个或多个实施例的说明性实施方式,本发明的系统和/或方法可以使用多种技术来实现,无论是已知技术还是已存在的技术。本发明决不局限于以下所阐述的示意性实施方式、附图和技术,包括此处所阐述的示例性设计和实施方式,在附加的权利要求范围或同等权利范围内可对其进行修订。
[0020]图1阐释了一个互联网络系统100的实施例。所述系统100可能包括多个节点,例如节点110、节点120、节点130和节点140。作为说明性例子,一个节点可以是一个系统芯片(30(:)上的一个独特的电子元件,也可以是多个芯片上的一个芯片,例如计算机系统主板上的一个芯片。也就是说,节点可以位于不同的芯片上或同一芯片上的不同元件上,分别用于芯片间或者芯片内通信。尽管出于说明性目的只阐述了 4个节点,系统可使用任何数量的节点。本发明使用系统100来做全网状的阐释说明;但是,此处所用的缓冲图不局限于任何特定的系统拓扑或互联。例如,节点可组成环状或按任何顺序排列的任何其他结构形式。
[0021]在系统100中,节点110到节点140互联成全网状,这样,每个节点均可通过单跳直接和系统中另一节点通信。节点可具备双向通信能力,既可发送分组至其它节点,也可从其它节点接收分组。发送节点和接收节点(以下分别称为发送机和接收机)可分别使用数据缓冲区来临时存储分组。例如,节点110可以是一个带缓冲区的发送机,缓冲区存储即将发送至其它节点的分组。节点110可将缓冲区的分组转发至节点120(即接收机这些分组随后被存储于节点120的缓冲区,直至被处理。
[0022]分组可根据分组类型进行划分。例如,分组可分为数据分组或控制分组。数据分组可包含与节点或程序(例如净负荷)相关的数据,控制分组包含控制一个节点或程序所需要的信息。数据分组可根据系统时延要求进一步进行分类。语音呼叫或视频聊天可能需要低延时以达到满意的串流传播,而网络下载则能接受高时延。
[0023]此外,不同的数据分组和控制分组可根据优先级进行分类。启动事务的控制分组的优先级可能低于结束事务的控制分组。例如一个高速缓存一致性事务可能实现[1缓存和12缓存之间的通信以提高并维持缓存内容的一致性。此事务的第一步可为向12缓存发送写入请求(例如从除11之外的节点向12缓存发送写入请求)。然后12缓存可向11缓存发送一个“侦听”请求,让其检查缓存内容并根据需要更新缓存内容。接着11缓存可向12缓存发送“侦听”回复、确认侦听完成。[1缓存收到[2缓存确认写入的最终回复后,事务可能执行完毕。在高速缓存一致性事务中,高优先级可分配给将要结束一个事务的分组,而启动此事务的分组则可被授以较低的优先级。执行事务中间步骤的分组可能被授以相应的中间优先级。不同类型、不同优先级的分组可存储于不同的缓冲区。
[0024]一个数据缓冲区可划分成一个共享缓冲区和多个专用缓冲区。共享缓冲区可容纳不同的分组类型,而专用缓冲区只分配给某一特定的分组类型。虚拟信道可用来将发送节点缓冲区的分组转发至接收节点缓冲区。虚拟信道可指节点间的物理链路,其带宽分配于逻辑子信道。每个信道可分配于一个专用缓冲区,专用缓冲区用以存储某一特定类型的分组。分组可根据不同的分组类型(例如数据或控制)和不同的优先级(例如高优先级或低优先级)进行划分。
[0025]共享缓冲区容易发生队头¢100阻塞,传输队列头部的分组出现拥塞。队列后部的分组只能等被阻塞的分组发送出去后才可以传输。为了缓解队头阻塞,可对分组进行调度,根据优先级分配将分组传输至指定的缓冲区。传统的专用缓冲区可以仅限于一种指定的分组类型使用;然而,传输突发的下降会限制所述缓冲区。由于缓冲信用系统的原因,专用缓冲区还可能导致低缓冲区使用率。
[0026]缓冲信用系统可用来确保传输分组前,接收机具备足够的空间来接收此分组。缓冲信用可发送至一个发送机并设定一个值,这个值表示内存单元。可给每一个接收机缓冲空间单位分配一个缓冲信用。例如,当一个分组被发送至接收机缓冲区时,发送机的缓冲区计数(或计数器)可能减少。当一个分组从接收机缓冲区移除时,发送机的缓冲区计数可能增加。一旦缓冲区计数降到最小值(如0)时,发送机可以知道某个特定的缓冲区已经满了,需要等到收到可发送分组消息的时候再发送分组。
[0027]图2是一个缓冲区205和相应的缓冲信用225的划分示例。缓冲区205连同缓冲信用225可称为缓冲区映射200。如图2所示,一个缓冲区205可分成一个共享缓冲空间或缓冲区域210 (称为共享缓冲区)和II个专用缓冲空间或缓冲区域220 (称为专用缓冲区),其中,=多2。共享缓冲区210可能包含可用于存储各种类型分组的未被分配的空间,而每个专用缓冲区220可被分配来存储某一特定分组类型(例如优先级)下的某一不同分组类型。缓冲区205可执行于接收节点处,例如图1互联系统100中的节点。一个发送机和一个接收机之间的数据业务可划分成不同的分组类型,分组类型可根据分组的优先级进行确定。假设在一个拥有4种分组类型的系统中,!1 = 4。例如,最高优先级的分组可指定为分组类型1,而最低优先级的分组可指定为分组类型4。分组类型2和3可能包含相应的中间优先级的分组。可为每个业务类型分配一个专用缓冲区220。在传统缓冲系统中,分组类型1可存储于专用缓冲区1,分组类型2可存储于专用缓冲区2,以此类推。如果相关联的专用缓冲区满了,可使用共享缓冲区210来存储任一分组类型。例如,如果专用缓冲区2达到了存储容量极限,类型2的分组则可存储于共享缓冲区,只要共享缓冲区有足够的空间。
[0028]接收节点可将一指定类型的分组数据存储于专用缓冲区220中分配给这一指定分组类型的空间。决定一个缓冲区205是否可用的依据为图2所示的发送节点处相应的缓冲信用。根据操作要求,一个存储单元(如特定的字节数)分配一个信用。缓冲信用系统可包括共享信用230和多个01个)不同的专用信用240。发送机为每种数据类型提供与专用缓冲区240对应的专用信用240计数。同样,可能存储分配给共享缓冲区210的共享信用230。所述缓冲信用可用来判定接收机缓冲区的状态。
[0029]由于共享缓冲区不断地接收和发送分组,共享信用值也相应调整。在一个实施例中,一个接收机(如节点110)可判定其已准备好处理当前存储于专用缓冲区(例如专用缓冲区220)的一个分组。所述接收机可将所述分组移出来,并将此空余空间消息告知发送机。这条消息则为所述分组所留下的存储单元的信用。
[0030]最终,发送机可能追踪缓冲信用,相应地减少或增加缓冲信用值。假设一个专用缓冲区220占用了 1千字节(11(8)内存,每字节分配一个信用(例如1028个字节或11(8分配1028个信用一个发送机一开始可能拥有1028个信用,每发送一个字节到接收机,就减少一个信用。当一个特定分组类型的1028个分组字节全部发送完毕后,对应的专用缓冲区的缓冲信用计数为0。由于有分组从对应的接收机缓冲区移出,发送机可从接收机处收回信用,并相应地增加缓冲信用计数。缓冲信用系统可使发送机通过监测缓冲区的可用性来判断某一特定节点的缓冲区是否可以接收分组。
[0031]本领域普通技术人员可知,图2所示的缓冲分区显示的是一个方便的逻辑结构,在实践中无法执行。也就是说,缓冲区205实际上不能被划分成多个区域。然而,缓冲区205可作为一个共享内存池,供各种类型的分组使用。缓冲区按照分配给各种分组类型的信用进行管理。
[0032]传统的分组传输模型采用固定大小的共享缓冲区和固定大小的专用缓冲区。假设每种分组类型下的分组数量大体相同,则传统分组传输系统可以有效运作。但是,在业务分配不均的情况下,此系统不能有效地传输分组。例如,如果分组类型2的业务量增加,则专用缓冲区2可能超负荷而其它专用缓冲区却可能处于闲置状态或者没有得到充分利用。因此,有必要优化缓冲区的分配和管理,更好地处理不同分组类型业务的不均衡分配。
[0033]本发明提供了优化缓冲区分配和管理的方法及装置。为了提高数据缓冲效率,可采用使接收机为某一特定类型的分组预留缓冲空间的方式来优化分组传输系统。接收节点可置于一特定大小的缓冲区旁,将存储空间更小的缓冲区广播给发送机。这些预留的空间可用于高优先级业务或在接收业务分配不均的情况下存储某一特定分组类型。因此,这种方法可使不同类型的分组使用可用的专用缓冲区,其中,多个相应的虚拟信道可用于缓冲区之间的传输。此外,系统可采用一种方法,这种方法能让一种分组类型的分组使用预留给其它分组类型使用的专用缓冲空间,以确保这种分组类型的分组得到处理,而不因其它分组类型的使用而被阻塞。因此,缓冲区和/或信道的分配可通过诸如处理不均衡业务分配等方法来提高分组缓冲性能。
[0034]图3是一个缓冲区300的分配实施例。缓冲区300可执行于一个节点处,例如图1中的任意一个节点。缓冲区300可能包含一个共享缓冲区301和多个专用缓冲区310、320、330和340。出于说明性目的,图3只显示了 4个专用缓冲区,但是此系统可以使用任意数量的专用缓冲区。专用缓冲区1310可存储类型1分组,专用缓冲区2320可存储类型2分组。同样,专用缓冲区3330可存储类型3分组,专用缓冲区4340可存储类型4分组。专用缓冲区310到340均可进一步划分为如下2个区域:310八、3108、320八、3208、330八、3308、340八和3408。缓冲区域310八-340八可用来做专用缓冲区的预留缓冲区并被广播至发送机。缓冲区310八-340八依旧可称为专用缓冲区。缓冲空间3108-3408为专用缓冲区中的不被广播的共享空间,对发送机保持透明。这些缓冲空间3108-3408可称为“借来的专用缓冲区”。借来的专用缓冲区3108-3408可以是接收机预留下来处理溢出的存储空间,当共享缓冲区301,或者说专用缓冲区310八-340八中的任何一个出现缓冲溢出的时候,可使用借来的专用缓冲区。虽然图中所示的借来的专用缓冲区3108-3408是不相连的区域,但是在缓冲区300中它们可以不相连,也可以相连。
[0035]借来的专用缓冲区3108-3408可合起来处理成一个单个的借来的专用缓冲区。进一步地,图3所示的缓冲区可以是一个方便的逻辑结构,使各种分组类型的信用分配形象化。缓冲区300实际上不能被划分成多个区域,但根据缓冲空间总分配,可为每种分组类型设置一定的空间(分配),每种分组类型所分配的空间被广播至另一节点。借来的专用缓冲区所分配的空间不可广播至另一节点。缓冲区300可根据分配给每种分组类型的信用值进行管理。
[0036]接收机可以将某一特定类型的分组数据存储至专用缓冲区中分配给这一数据类型的区域中。如果接收机收到了超过所述分配空间所能存储的所述特定类型的数据,则接收机可将此数据存储至共享缓冲区301。根据系统需要或要求,接收机可预先配置或修改共享缓冲区301与专用缓冲区(310到340)之间的空间分配比例。例如,如果接收机观察到不同优先级的业务有分配不均的趋势,接收机可能会多分配一些空间给共享缓冲区301。同样,根据系统需要或要求,接收机可预先配置或修改借来的专用缓冲区3108-3408与专用缓冲区310八-340八之间的空间分配比例。这个方案可以使接收机在不同类型数据量相对变化很大的情况下接收更多数据。因此,接收机可访问缓冲存储区并对这些区域进行相应划分。
[0037]在一个实施例中,发送机知道专用缓冲区310八-340八和共享缓冲区301。接收机可以将各种类型的传输数据填满专用缓冲区31(^-3401当一个专用缓冲区(例如310^已经满了,接收机可将信用流发送给发送机,这样,发送机会认为专用缓冲区还有可用空间,所以继续向接收机发送对应于所述被填满的专用缓冲区的分组类型的分组。接收机收到这些分组后,将其放置于借来的专用缓冲区。这样,发送机可能不知道专用缓冲区的真实情况,以为专用缓冲区已经被清空,可进一步使用,从而继续向其发送数据。
[0038]假设专用缓冲区310、320、330和340均有~字节的存储空间,且不存在共享缓冲区301,则总缓冲空间为相字节。接收机在每一专用缓冲区中预留1(1〈吣字节的空间,并将向发送机(发送机可以是图1中的另一个节点)广播每个专用缓冲区只有1字节的分组存储空间。广播的1字节缓冲空间可为专用缓冲区310八-340八,而预留的字节的缓冲空间可为借来的专用缓冲空间3108-3408。因此接收机总共有#⑶-1)字节的预留缓冲空间用来存储溢出分组。在这个方案下,假设发送机开始发送多于正在发送的其它类型的分组数的类型2分组。专用缓冲区2320可以开始将类型2分组存储至分配有1字节空间的专用缓冲区320八,直到320八被填满。由于缓冲区还有空闲空间(例如3108-3408中#⑶-1)的预留空间),接收机可向发送机发回一个信用,这样更多分组被发送至缓冲区,直到缓冲区中所述空闲空间被填满。接收机本质上有能力将分组存储至预留空间并向发送机发回信用,直到缓冲区被填满为止。而且,接收机还可以预留一小部分的、不能被任何类型的分组所借用的专用缓冲空间。所述存储空间可被预留下来,这样,相应类型的分组可继续存储在合适的专用缓冲区以保证缓冲系统的运行效率。
[0039]优化后的缓冲系统具备另一个特点,即聚焦于按优先级将分组传输至多个专用缓冲区。图4阐释了两个节点间的数据通信。方案500包含一个发送机510和一个接收机520。发送机510可以是第一节点的一部分,发送机520可以是第二节点的一部分。发送机510可包含一个缓冲区512,此缓冲区512耦合于一个多路复用器514。多路复用器514可从缓冲区512选择分组进行传输。接收机520可包含一个缓冲区522。
[0040]所述发送机510和所述接收机520之间的通信可通过虚拟信道来实现。任意两个节点(例如一个包含发送机510的节点和一个包含接收机520的节点)间的物理信道可划分成虚拟信道或逻辑信道,每种信道可用于传输一种特定类型的分组。举例来说,两个节点间的物理信道可以使用有线连接,如使用节点间通信的专用线路或共享总线,也可以使用无线连接(例如射频通信)。虚拟信道可指定给不同优先级的分组。一个给定的传输信道可指派给某一个等级,这样分组传输就可以按等级来管理。例如虚拟信道……%可指派给分组等级3,虚拟信道、、132……比可指派给分组等级匕在另一个实施例中,多个分组等级可分配于同一个信道等级。
[0041]一个分组可分配一个优先级。高优先级的分组在优先级传输中被优先对待,即优先选择高优先级分组进行传输和/或增加其信道带宽。信道带宽和缓冲空间可根据分组的优先级和数据业务中特定类型的分组频率进行重新分配。可通过增加优先级指标来提高分组的优先级。例如,优先级为1的分组等级使用信道等级匕和化,优先级为2的分组等级使用信道等级、和2)3。优先级为II的分组等级使用信道等级匕、113、23、26......118
和11)3,以此类推。
[0042]在一个实施例中,较高优先级的分组可以使用指派给较低优先级分组的传输信道和/或专用缓冲区。例如,假设传输优先级为II的分组,其中II为整数(数字越大代表优先级越高)。如果所述优先级的专用缓冲区满了,接收机可将此专用缓冲区内的分组存储至低一级优先级(即优先级=-1)的专用缓冲区,如果优先级11-1的专用缓冲区还有空间的话。如果优先级11-1的专用缓冲区满了,那么,接收机将优先级II的分组存储至更低一级优先级(即优先级=-2),以此类推。因此,优先级为II的分组能存储于指派给优先级为1、2……
或II的分组的专用缓冲区中的任何一个,但是不能存储于指派给优先级为111(111%)的分组的专用缓冲区。在这个方案下,发送机对每个专用缓冲区和共享缓冲区进行独立缓冲计数(或计数器),并根据缓冲计数判断级别为1、2……=-1的专用缓冲区是否有可用空间,从而选定一个优先级为II的分组进行传输。
[0043]专用缓冲区的某些部分可以选择性地预留起来,不被更高优先级的分组借用。这可以保证较低优先级的分组有一定的缓冲空间,防止被高优先级分组阻塞。例如,假设传输一个优先级为II的分组。如果优先级为II的分组的专用缓冲区满了,接收机可将此专用缓冲区内的分组存储至低一级优先级(即优先级11-1)的专用缓冲区,如果优先级11-1的专用缓冲区还有空间的话。接收机可在优先级11-1的专用缓冲区预留一些空间给优先级为11-1的分组使用,而不允许优先级为II的分组存储于此。在这种情况下,接收机将检查更低一级优先级(即优先级=-2)的专用缓冲区是否有可用空间,以此类推。
[0044]高优先级分组之间共享资源可以促进互联网络系统中临时数据存储的缓存一致性事务的进行。所述缓存一致性事务可用来确认数据在多个缓存中更新。由于分组用于此事务中的不同步骤(例如从开始到完成),分组的优先级也相应地增加。因此,高优先级的分组可使用指派给低优先级分组的专用缓冲区以提高系统效率。
[0045]图5是缓冲空间分配方法实施例的一个流程图600。流程图600的步骤可在一个接收节点(如图1中的一个节点)上执行。流程图开始于方框610,在方框610中,一个接收节点可向第二节点广播一个缓冲区存储空间的总分配,所述总分配小于缓冲区的空间,所述总分配分成多个分配,其中每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配。通过广播,接收机让发送机知道每种分组类型的可用信用(可用信用表示每种分组类型的分配分组类型可以是本发明中讨论的一种优先级或任何其它分组归类依据。接下来,在方框620中,可以接收从第二节点发送来的第一分组类型的分组。接下来,在方框630中,此分组可存储到缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于广播的第一分组类型的缓冲空间。也就是说,此分组可导致缓冲空间超过第一分组类型的广播空间。最后,在方框640中,第一分组类型的信用状况可报告给第二节点。所述信用状况可表明第一分组类型占用的空间小于或等于第一分组类型的广播空间。因此,节点可以使用缓冲区没有被广播的多余空间来欺骗发送机(即第二节点),使其认为第一分组类型没有超出广播的分配空间。进一步地,一个实施例可选择性地将缓冲区划分成多个区域,每一所述区域包含多个专用缓冲区和一个借来的专用缓冲区,所述借来的专用缓冲区对耦合于此节点的第二节点保持透明,每一个所述专用缓冲区用来存储一种不同分组类型,所述多个分配对应所述多个区域,其中,缓冲区的分组存储包含将分组存储至借来的专用缓冲区。借来的专用缓冲区代表没有向第二节点广播的缓冲空间。缓冲区空间和存储空间的总分配之间相差一个借来的专用缓冲区。
[0046]流程图600可稍作改变,使总分配等于方框610中的缓冲空间。在这个场景下,一个缓冲区中没有任何空间未被广播(即所有的可用空间都被广播了)。在这个场景下,一个实施例可选择性地将缓冲区划分成多个区域,每一所述区域包含一个第一专用缓冲区和一个第二专用缓冲区,所述第一专用缓冲区用来存储第一分组类型的分组,所述第二专用缓冲区用来存储第一或者第二分组类型的分组,所述多个区域对应多个空间分配,其中,缓冲区的分组存储包含将分组存储至第一专用缓冲区。图4将进一步阐述这种类型的操作。
[0047]一个具备足够处理能力、内存或缓冲资源和网络吞吐量的网络装置或电子元件可使用本发明所描述的至少一些特性或方法来处理承担的必要负载。例如,本发明所描述的特性或方法可通过使用硬件、固件和/或安装于硬件上的软件来执行。图6是适合用来执行本发明中的一个或多个元件实施例的一个节点700的示意图。节点700可包含一个发送机710、一个接收机720、一个缓冲器730、一个处理器740和一个存储器750,设置方法见图6。示意图中虽然只有一个处理器,但处理器740可以是一个或多个中央处理器(⑶⑴芯片、多个核(例如多核处理器〉、多个现场可编程门阵列(冲以)、多个专用集成电路0310和/或多个数字信号处理器①一?)。发送机710和接收机720可分别用来发送和接收分组,缓冲器730可用来临时存储分组。缓冲器730可包含多个专用缓冲区,例如图3和图5所示的缓冲区。缓冲器730可选择性地包含如图3所示的一个共享缓冲区和/或一个借用的专用缓冲区。分组可通过一个物理信道从节点700处转发,所述物理信道可划分成多个前文所述的虚拟信道。
[0048]存储器750可包含二级存储器、只读存储器¢01)和随机存取存储器(狀1)。狀1可以是任何类型的狀1(例如静态狀1),可包含一个或多个高速缓冲存储器。二级存储器通常包含一个或多个磁盘驱动器或磁带驱动器。在麵不能存储所有工作数据的情况下,二级存储器可用做非易失性存储器或溢出数据存储设备。二级存储器可用来存储载于狀1上的被选中执行的程序。可用来存储指令和程序执行中的可读数据。801是一个非易失性存储设备。相对于二级存储器的大存储容量,通常只有很小的存储容量。用来存储易失性数据和指令。801和的存取速度通常大于二级存储器的存取速度。
[0049]节点700可执行本发明中所述的方法和算法,包括流程图600。例如,处理器740可控制缓冲器730的分区并可追踪缓冲信用。处理器740可向发送机710发出发送分组的指令并可读取接收机720接收到的分组。虽然图中所示的处理器740是节点700的一部分,但它也可以不是节点700的一部分。例如,处理器740可以是耦合于节点700的通信处理器。
[0050]应理解,处理和/或加载可执行的指令至图6所示的节点700,处理器740和存储器750中至少有一个会发生变化,使系统700发生部分变化、成为一个特殊的具备本发明所述的功能的机器或装置。电气工程师和软件工程师有必要知道,通过加载可执行的软件至计算机来执行所述功能的方式可通过公认的设计规则转换成通过硬件操作来执行所述功能。决定在软件上执行概念还是硬件上执行概念,关键在于对设计稳定性和设计产品数量的考虑,而不是其它将软件域转换成硬件域时涉及的因素。通常情况下,首选不断变化的设计来执行软件,因为重新开发硬件要比重新开发软件设计昂贵。通常情况下,一个稳定的且被大量生产的设计产品会在硬件执行中得到优先考虑,例如专用集成电路0310,因为硬件操作用的大批量生产产品会比软件产品便宜。一个设计通常一开始会通过软件的形式进行开发和测试,然后通过公认的设计规则转换成将软件指令通过固线来实现的专用集成电路中的同等硬件操作方式。同样,和一条新的专用集成电路控制的机器是一个特殊的机器或装置一样,一台编程和/或装载有可执行指令的计算机也可被视为一个特殊的机器或装置。
[0051]本发明列出了至少一个实施例,本领域的普通技术人员可对实施例和/或实施例的特征进行的改变、组合和/或修订,属于本发明的发明范围。对本发明中实施例的特征进行组合、整合和/或删除而得出的替代性实施例也属于本发明的发明范围。本发明使用的是明确表示的数字范围或限度,所述明确表示的范围或限度包含处于此明确表示的范围或限度内的相同数量级的迭代范围或限度(例如,从约1到约10包括2、3和4等;大于0.10包括0.11,0.12和0.13等)。例如,本发明若列出了一个最低限为札、最高限为的数字范围,那么此范围中的任何数字也视为被具体列出。具体地说,此范围内的以下数字被具体列出4 = 1^+1^ ,其中』是1 %到100 %中的一个变量,其增量为1 %,也就是说,匕是1%、2%、3%、4%、5%......50%.51%.52%......95%、96%、97%、98%、99%或 100%。而且,如前所示的两个I?数字所确定的数字范围也被具体说明了。如无特殊说明,“约”表示后面的数字乘以—广10%。权利说明中描述某一因素时使用的“可选择性地”表示这个因素可用,也可不用,两种选择都属于权利范围。范围更广的术语如“包含”和“有”包含了范围更窄的术语如“由……组成”、“主要由……组成”和“主要包括”所表示的内容。相应地,专利保护范围不限于以上所述的内容,而是由下面的权利要求所决定。专利保护范围包括权利要求所声明的技术的所有同等技术。每一条权利要求均可作为具体的说明,且都是本发明的实施例。本发明不承认所使用的参考为先前技术,尤其不承认出版日期迟于本发明 优先权日:期的参考。本发明所引用的能对本发明提供示例、程序指导或起到其它补充作用的所有专利、专利申请和出版物均包含在本发明的参考中。
[0052]尽管本发明已经提供了若干实施例,但应当理解,在不脱离本发明的宗旨和权利要求所保护的范围的前提下,所公开的系统和方法可以以许多其它特定形式来实现。本发明中的示例应当被视为示意性的而非限制性的,并且本发明不限于这里给出的细节。例如,各种元件或组件可以组合或集成到另一系统中,或者可以忽略或不实现某些特定特征。
[0053]此外,在不脱离本发明的宗旨和权利要求所保护的范围的前提下,在各个实施例中离散地或分开地描述或示意的技术、系统、子系统和方法可以与其它系统、模块、技术或方法进行组合或整合。其它所示或所讨论的彼此耦合、直接耦合或通信的元件可以通过某一接口、设备或中间组件以电、机械或其它方式进行间接耦合或通信。在不脱离本发明的宗旨和权利要求所保护的范围的前提下,本领域的技术人员可以探索和提出其它更改、替代和备选方案。
【权利要求】
1.一种方法,其特征在于,包括: 向第二节点广播一个缓冲区存储空间的总分配,所述总分配小于所述缓冲区的空间,所述总分配分成多个分配,其中所述多个分配中的每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配; 接收所述第二节点发送来的第一分组类型的分组; 将所述分组存储到所述缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于为所述第一分组类型广播的空间。
2.根据权利要求1所述的方法,其特征在于,进一步包括: 接收所述分组后,将所述第一分组类型的信用状况报告给所述第二节点,提示所述第一分组类型占用的空间小于或等于为所述第一分组类型广播的空间。
3.根据权利要求2所述的方法,其特征在于,进一步包括: 判断在存储所述分组后缓冲区还有可用空间,其中,报告所述第一分组类型的信用状况是对所述判断做出的响应。
4.根据权利要求2所述的方法,其特征在于,各种分组类型的分组在缓冲区中所占用的空间大于广播的总分配。
5.根据要求2所述的方法,其特征在于,进一步包括: 将所述缓冲区划分成多个区域,每一所述区域包含多个专用缓冲区和一个借来的专用缓冲区,所述借来的专用缓冲区对耦合于此节点的第二节点保持透明,每一所述专用缓冲区用来存储不同分组类型,所述多个分配对应所述多个区域,其中,缓冲区的分组存储包含将分组存储至借来的专用缓冲区。
6.根据要求1所述的方法,其特征在于,所述多个区域进一步包含一个共享缓冲区,所述共享缓冲区用于存储不同优先级的多个分组。
7.根据要求6所述的方法,其特征在于,进一步包括: 将信用流发送至第二节点,所述信用用于共享缓冲区和专用缓冲区,其中,专用缓冲区的某些信用对应存储于借来的专用缓冲区内的分组。
8.根据要求5所述的方法,其特征在于,所述第一分组类型为第一优先级,所述第二分组类型为第二优先级,所述第一优先级高于第二优先级,所述方法进一步包括: 在接收所述分组前,从所述第二节点接收所述第二优先级的第二分组,所述分组和第二分组为一个高速缓存一致性事务中的一部分;及 将所述第二分组写入所述第二专用缓冲区。
9.根据要求8所述的方法,其特征在于,所述分组的优先级高于第二分组的优先级,因为在所述高速缓存一致性事务中所述分组在所述第二分组之后接收。
10.根据要求9所述的方法,其特征在于,多个专用缓冲区耦合于所述节点和所述第二节点之间的物理信道,所述物理信道划分为多个虚拟信道,每一虚拟信道分配给至少一个相应的分组优先级。
11.一种方法,其特征在于,包括: 向第二节点广播一个缓冲区存储空间的总分配,所述总分配等于缓冲区的空间,所述总分配分成多个分配,其中所述总分配中的每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况用于管理所述多个分配; 接收所述第二节点发送来的第一分组类型的分组; 将所述分组存储到所述缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲空间大于为所述第一分组类型广播的缓冲空间。
12.根据要求11所述的方法,其特征在于,进一步包括: 接收所述分组后,将所述第一分组类型的信用状况报告给所述第二节点,提示所述第一分组类型占用的空间小于或等于为第一分组类型广播的空间。
13.根据要求12所述的方法,其特征在于,进一步包括: 判断在存储所述分组后缓冲区还有可用空间,其中,所述报告第一分组类型的信用状况是对所述判断做出的响应。
14.根据要求12所述的方法,其特征在于,进一步包括: 将所述缓冲区划成为多个区域,每一所述区域包含一个第一专用缓冲区和一个第二专用缓冲区,所述第一专用缓冲区用于存储第一分组类型的分组,所述第二专用缓冲区用于存储第一或第二分组类型的分组,所述多个区域对应所述多个分配,其中,缓冲区的分组存储包含将所述分组存储至所述第一专用缓冲区。
15.根据要求14所述的方法,其特征在于,第一分组类型为第一优先级,第二分组类型为第二优先级,所述第一优先级高于第二优先级,所述方法进一步包括: 在接收所述分组前,从所述第二节点接收所述第二优先级的第二分组,所述分组和所述第二分组为一个高速缓存一致性事务中的一部分;及 将所述第二分组写入所述第二专用缓冲区。
16.根据要求14所述的方法,其特征在于,预留所述第二专用缓冲区的一部分用于存储所述第二优先级的分组,所述第二专用缓冲区剩余的空间用于存储所述第一优先级和所述第二优先级的分组。
17.根据权利要求16所述的方法,其特征在于,所述多个区域进一步包含一个第三专用缓冲区,所述第三专用缓冲区用于存储所述第一优先级、第二优先级或第三优先级的分组,所述方法进一步包括: 从所述第二节点接收所述第一优先级的第二分组; 再次判断所述第一专用缓冲区已满; 判断所述第二专用缓冲区的剩余空间已满,所述第二专用缓冲区的所述部分没有满;以及 响应于所述第二专用缓冲区已满的判断,将所述第二分组写入所述第三专用缓冲区。
18.根据权利要求14所述的方法,其特征在于,所述多个区域进一步包含一个共享缓冲区,所述方法进一步包括: 从所述第二节点接收所述第二优先级的第二分组; 判断所述第二专用缓冲区已满;以及 响应于所述第二专用缓冲区已满的判断,将所述分组写入所述共享缓冲区。
19.一种装置,其特征在于,包括: 缓冲器; 发送机,用于向第二节点广播一个缓冲区存储空间的总分配,所述总分配小于缓冲区的空间,所述总分配分成多个分配,其中所述多个分配中的每个分配被广播为一种分组类型的专用分配,每种分组类型的信用状况被用来管理所述多个分配; 耦合于缓冲器的接收机,用于: 接收所述第二节点发送来的第一分组类型的分组;以及 将所述分组存储到缓冲区,因所述分组之缘故,所述第一分组类型占用的缓冲区空间大于为所述第一分组类型广播的空间。
20.根据要求19所述的装置,其特征在于,进一步包括: 耦合于缓冲器的处理器,用于: 将所述缓冲区划分成多个区域,每一所述区域包含多个专用缓冲区和一个借来的专用缓冲区,每一所述专用缓冲区用于存储不同的分组类型,所述多个分配对应所述多个区域,其中,缓冲区的分组存储包含将分组存储至借来的专用缓冲区。
21.根据要求20所述的装置,其特征在于,所述处理器进一步用于: 判断所述分组的所述多个专用缓冲区中的一个专用缓冲区已满; 响应于所述判断,指示接收机将所述分组写入所述借来的专用缓冲区。
22.根据要求21所述的装置,其特征在于,所述装置进一步包含: 耦合于处理器的发送机, 所述处理器进一步响应所述判断,指示所述发送机向所述节点发送所述专用缓冲区的信用。
23.根据权利要求22所述的装置,其特征在于,所述第一分组类型为第一优先级,第二分组类型为第二优先级,所述第一优先级高于第二优先级,所述接收机进一步用于在接收所述分组前接收从所述节点发送来的所述第二优先级的第二分组,所述分组和所述第二分组为一个高速缓存一致性事务中的一部分,所述处理器进一步用于指示接收机将所述第二分组写入所述多个专用缓冲区中的第二专用缓冲区。
【文档编号】G06F15/78GK104508654SQ201380040893
【公开日】2015年4月8日 申请日期:2013年7月30日 优先权日:2012年7月31日
【发明者】林奕林, 贺成洪, 史洪波, 张纳新 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1