计算机系统中的基于信用的流动控制的方法、系统和设备的制作方法

文档序号:7598895阅读:127来源:国知局
专利名称:计算机系统中的基于信用的流动控制的方法、系统和设备的制作方法
技术领域
本公开内容涉及用于计算机系统的协议的领域。更具体而言,本公开内容关于一种在计算机系统中用于基于信用(credit)的流动控制的新方法、系统和设备。
背景技术
尽管所要求主题的范围并不受这方面的限制,但是人们注意到一些实施例可以包括来自下列的一并待决的申请的主题序号为10/833,963的首次专利申请,其题目为“Simplified Two-HopProtocol”,代理人编号P15925并且发明人为Ling Cen。
计算机系统可以允许将节点与点到点(PtP)的网络相连接。典型地,在PtP网络内协议控制通信。例如,可以将所述协议分成物理层、链路层和协议层。所述链路层可以经由多个VC缓冲器提供虚拟信道(VC)服务。
典型地,这样设计所述VC缓冲器的大小,以致当在所述节点之间发送分组时,在物理链路上没有泡泡(bubble)或浪费。各种因素会影响所述链路层缓冲器的大小,诸如往返行程行进时间、I/O延迟、链接缓冲器延迟和多节点判优延迟。因此,所述链接缓冲器大小是基于从单元传输到信用返回之间的平均往返行程时延的。因此,每个用于物理链路的VC缓冲器的大小依照所述往返行程时延而确定(如图1所示)。然而,这是非常低效的。例如,系统对于典型配置往往在每个节点要利用53,280位,所述典型配置是每个方向上五个VC、144位链接单元、60条目的接收器缓冲器和10条目的发送缓冲器。所述数目53,280曾是通过将所述接收器的存储器需求[(VC的#)5×64×144]加上所述发送器的存储器需求[(VC的#)5×10×144]而加以确定的。

发明内容
根据本发明的一个方面,本发明的目的是提供一种用于链路层协议的方法,包括为每个虚拟信道VC保留单个链接单元或分组;
存储多个链接单元的多个缓冲器索引;和共享其余的链接缓冲器。
根据本发明的另一个发面,本发明的目的是提供一种设备,包括用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及所述主接收器和发送缓冲器的大小至少部分地根据往返行程延迟而加以确定。
根据本发明的又一个方面,本发明的目的是提供一种链路层协议,包括用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及VC的链接单元的发送器,用于表明所述链接单元是否利用了保留的信用或共享的VC缓冲器;如果使用了所述共享的VC缓冲器而没有使用所述保留的信用,那么所述保留的信用被用于预先确定的功能。
根据本发明的再一个方面,本发明的目的是提供一种系统,包括耦合到点到点网络的至少两个处理器;用于点到点网络的链路层协议且用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及所述主接收器和发送缓冲器的大小至少部分地根据往返行程延迟而加以确定。


本发明是通过举例的方式加以描述的,并且不限于附图中的那些图。
图1举例说明了现有技术。
图2依照一实施例举例说明了所利用的示意图。
图3举例说明了依照实施例用于所利用方法的流程图。
图4举例说明了依照实施例所利用的图表。
图5举例说明了依照一个实施例的系统。
具体实施例方式
下列描述提供了用于改进的多核心处理器性能的方法和设备,而不管功率约束。在下面描述中,陈述了许多具体细节以便对本发明提供更彻底的了解。然而应当理解,不拘泥于此具体细节本领域的技术人员也可以实施本发明。本领域的那些普通技术人员利用所包含的描述能够在不进行不必要的试验的情况下实现适当的逻辑电路。
如前所述,用于多节点系统的协议存在问题。现有技术将VC的数目与VC缓冲器的数目相匹配,并且每个VC缓冲器的大小依照往返行程延迟而加以确定。作为对比,所要求的主题通过对每个VC包括至少一个主缓冲器并且共享其余的链接缓冲器来有效地利用VC缓冲器。所要求的主题可以降低V缓冲器C的存储器大小和/或在分组首部中利用较少的位。在说明书的图2-5中将更详细地论述所要求的主题。
图2依照一实施例举例说明了所利用的示意图200。在一个实施例中,示意图200举例说明了在用于多节点计算机系统的两个协议层之间用于链路层的协议。
所述示意图描述用于使发送和接收数据和信息变得方便的高效的链路层。在一个实施例中,所述链路层使发送和接收那些包含数据、控制信息和/或首部信息的分组变得方便。
在一个实施例中,所述协议和示意图允许所述接收器为每个VC保留一个链接单元或一个完全分组,而同时共享其余的链接缓冲器。例如,一个VC允许发送(Tx)链接缓冲器102和接收器(Rx)链接缓冲器104。依照列表缓冲器或FIFO(108和106)共享用于发送器108和接收器106的其余的链接缓冲器,所述列表缓冲器或者FIFO针对每个VC而加以维护。所述列表缓冲器针对每个VC而加以维护。例如,所述列表缓冲器108用于所述主发送缓冲器并且所述列表缓冲器106用于所述主接收器缓冲器104。
在一个实施例中,所述列表缓冲器用于为各自的VC存储所有链接单元的缓冲器索引。如果阻塞了一特别VC的一个链接单元列表,那么所述协议允许切换到另一VC的链接单元列表,这在实际上与从一个VC的链接缓冲器切换到另一个相类似。因此,允许所述VC在没有障碍或阻塞的情况下从另一VC行进,并且单一的主缓冲器被利用。
在一个实施例中,主发送或接收器缓冲器的存储器大小至少部分地基于(往返行程延迟)+(VC的数目)-(1)。在同样的实施例中,每个主缓冲器的大小适用于发送器和接收器这两者。
因此,所要求的主题使这样一种协议变得方便,所述协议对于每个节点利用下列的、存储器比特数目接收(VC的数目)5×(7)×(64-4)×(列表缓冲器的大小)发送(VC的数目)5×(4)×(14)+(VC的数目)5×(10+4)×(144),因此,用于所述接收和发送缓冲器的比特数目结果是14,468位,同现有技术相比在存储器需求上下降了明显的4x。
然而,所要求的主题并不局限于上述存储器需求的例子。本领域技术人员应当理解可以修改VC的数目或,共享的链接缓冲器或列表缓冲器的数目。
图3举例说明了依照实施例用于所利用方法的流程图。所述方法描述了用于定义链路层协议的高效存储器应用的一个例子。块302描述了为每个虚拟信道(VC)保留一个链接单元或分组。随后,块304描述了在链接缓冲器或FIFO中存储多个链接单元的多个缓冲器索引。因此,至少部分地根据所述列表缓冲器或先进先出寄存器(FIFO)来共享其余的链接缓冲器,如块306所描述。
在一个实施例中,来自列表缓冲器或FIFO的条目的索引编址用于所述单一链接单元的单一主缓冲器。如果由于任何原因阻塞了一个列表,那么所述链路层控制切换到另一虚拟信道的列表。
图4举例说明了依照实施例所利用的图表。在一个实施例中,所述图表举例说明了用于新信用通过编码(credit passing endoding)的模式。例如,当发送一特别VC的链接单元时,所述发送器利用在所述链接单元中的位,用于表明此链接单元是否正在使用着所述保留的信用或共享的VC缓冲器。在一个实施例中,所述发送器最初利用所述共享的VC缓冲器资源,并且必要时将利用所述保留的信用。因此,如果所述共享的VC缓冲器具有适当的大小,那么并不频繁地使用所述保留的信用。因此,这使得节约了那些可用于信用通过的位。例如,可以返回具有VC字段和信用字段的信用,如图4所描述的。在一个用于链接缓冲器管理的实施例中,在平常的分组中返回所述共享VC信用。作为对比,在专用链接分组中返回所述保留的信用。因此,在首部中的位可以用于其它目的,诸如性能判定函数。
图5描述了依照一个实施例的系统。在一个实施例中,所述系统是与芯片组504相耦合的处理器502,所述芯片组504与存储器506相耦合。在一个实施例中,所述系统是用于处理器的多节点的点到点网络。例如,所述芯片组执行并使各个操作变得方便,诸如在处理器和存储器之间的存储器事务。在一个实施例中,所述系统包括结合说明书的图2-4所描述的一个或所有上述实施例,以使基于信用的流动控制变得方便。
虽然在附图中已经描述并示出了一定的示例性实施例,然而应当理解,这类实施例仅仅说明而并非限制本宽泛的发明,而且本发明不局限于所示出并描述的具体结构和布置,这是因为那些本领域的普通技术人员在学习这一公开内容时可以想到各种其它修改。
权利要求
1.一种用于链路层协议的方法,包括为每个虚拟信道VC保留单个链接单元或分组;存储多个链接单元的多个缓冲器索引;和共享其余的链接缓冲器。
2.如权利要求1所述的方法,其中存储多个缓冲器索引包括在链接缓冲器或先进先出存储器FIFO中存储多个缓冲器索引。
3.如权利要求2所述的方法,其中共享其余的链接缓冲器至少部分地以所述缓冲器是否用于接收或发送数据为基础。
4.如权利要求1所述的方法,其中共享其余的链接缓冲器允许为阻塞的第一VC从一个链接单元列表进行切换,所述链路层从第一VC的链接缓冲器切换到第二VC的链接缓冲器。
5.一种设备,包括用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及所述主接收器和发送缓冲器的大小至少部分地根据往返行程延迟而加以确定。
6.如权利要求5所述的设备,其中所述设备是链路层。
7.如权利要求5所述的设备,其中如果阻塞了第一VC的链接缓冲器或FIFO,所述设备使从第一VC的链接缓冲器或FIFO向第二VC的链接缓冲器或FIFO的切换变得方便。
8.一种链路层协议,包括用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及VC的链接单元的发送器,用于表明所述链接单元是否利用了保留的信用或共享的VC缓冲器;如果使用了所述共享的VC缓冲器而没有使用所述保留的信用,那么所述保留的信用被用于预先确定的功能。
9.如权利要求8所述的链路层协议,其中所述链路层协议被用作与物理层通信的装置。
10.如权利要求8所述的链路层协议,其中如果阻塞了第一VC的链接缓冲器或FIFO,那么所述链路层协议使从第一VC的链接缓冲器或FIFO向第二VC的链接缓冲器或FIFO的切换变得方便。
11.如权利要求8所述的链路层协议,其中所述预先确定的功能供性能判定使用。
12.一种系统,包括耦合到点到点网络的至少两个处理器;用于点到点网络的链路层协议且用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及VC的链接单元的发送器,用于表明所述链接单元是否利用了保留的信用或共享的VC缓冲器;如果使用了所述共享的VC缓冲器而没有使用所述保留的信用,那么所述保留的信用被用于预先确定的功能。
13.如权利要求12所述的系统,其中所述链路层协议被用作与物理层通信的装置。
14.如权利要求12所述的系统,其中如果阻塞了第一VC的链接缓冲器或FIFO,那么所述链路层协议使从第一VC的链接缓冲器或FIFO向第二VC的链接缓冲器或FIFO的切换变得方便。
15.如权利要求12所述的系统,其中所述预先确定的功能供性能判定使用。
16.一种系统,包括耦合到点到点网络的至少两个处理器;用于点到点网络的链路层协议且用于每个虚拟信道VC的主发送缓冲器和主接收器缓冲器;多个链接缓冲器,至少部分地根据用于每个虚拟信道的链接缓冲器或FIFO而加以共享;以及所述主接收器和发送缓冲器的大小至少部分地根据往返行程延迟而加以确定。
17.如权利要求16所述的系统,其中如果阻塞了第一VC的链接缓冲器或FIFO,那么所述链路层协议使从第一VC的链接缓冲器或FIFO向第二VC的链接缓冲器或FIFO的切换变得方便。
全文摘要
本发明提供一种用于链路层协议的系统、设备和方法,其利用一个主缓冲器并且根据一个列表缓冲器或者FIFO来共享其余的链接单元。
文档编号H04L12/56GK1620063SQ200410087779
公开日2005年5月25日 申请日期2004年10月28日 优先权日2003年10月28日
发明者L·岑 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1