一种基于预分配的流控方法和装置的制作方法

文档序号:7696031阅读:313来源:国知局
专利名称:一种基于预分配的流控方法和装置的制作方法
技术领域
本发明涉及集成电路技术领域,特别是涉及一种基于预分配的流 控方法和装置。
背景技术
集成电路一直按照摩尔定律推进,单芯片所集成的IP( Intellectual Property,知识产权)核数目越来越多,传统的基于总线的片上互连 结构已经在带宽、功耗、可靠性、扩展性等方面表现处越来越多的局 限性,片上通信已经取代计算成为集成电路设计的瓶颈。NoC (Network-on-Chip,片上网络)作为集成电路设计领域的一项关键技 术,用于解决芯片规模增大所带来的片上互连问题。片上网络设计不同于传统的计算机网络设计,具有如下特点1) 面积受限;2)功耗受限;3)业务可预知。因此,设计片上网络时必 须很好的利用上述特点。目前用于片上网络的流控方法主要有两种一种是简单的交换机与交换机之间的流控方法,比如握手等。该 机制只能用于保证在数据传输过程中不会因为缓冲区溢出而造成的 数据包丢失,并没有控制数据包的注入速率;因而,如果数据包的注 入速率过快,网络中将出现拥塞,导致网络性能的下降。另一种流控方法是基于预测的流控方法,该机制通过预测缓冲区 的状态来控制数据包的注入速率,减少滞留在网络中的数据包数目, 从而减少了拥塞概率,提高了片上网络性能。然而,该流控方法具有以下缺点1)在每个路由器上必须额外 增加一个支持该方法的流控制器,相比于原来支持简单交换机与交换 机之间流控方法的路由器增加约18%的面积;2)在该方法中,各个路由器必须实时和相邻的路由器交换缓冲区的状态信息,将增加额外 的能耗。发明内容本发明的目的是提供一种基于预分配的流控方法和装置,利用片 上网络的业务可预知的特点,为片上网络提供一种更高效的流控方 法。为达到上述目的,本发明实施例的技术方案提供一种基于预分配的流控方法,包括以下步骤初始化,获取各个链路尽力而为业务可用的平均带宽;设置每一线路的尽力而为业务的初始注入速率为该线路的平均的业务量;为所有线路尽力而为业务分配最短路径;设置尽力而为业务的目的注入速率,使所有链路的负载因子小于1;根据所述目的注入速率,设计网络接口,改变IP核发送缓冲区中数据的存储和发送方式,实现流控。其中,所述获取各个链路尽力而为业务可用的平均带宽的步骤,具体包括当链路^的带宽为^,且经过链路^的服务质量保证业务的平均业务量为&时,所述链路^的尽力而为业务的平均可用带宽 ^A等于(X-gj 。其中,所述为所有线路尽力而为业务分配最短路径的步骤,具体 包括把所有线路的尽力而为业务按照其平均业务量从大到小排序; 依次为各个线路业务分配最短路径,如果有存在多条最短路径, 选择具有最小的最大负载因子的路径。其中,所述设置尽力而为业务的目的注入速率,使所有链路的负 载因子小于l的步骤,具体包括选出具有最大负载因子的链路;判 断所有链路的最大负载因子是否大于1。如果否,则存储所有线路的 最终注入速率;如果是,则按比例限制流经具有最大负载因子链路的 所有线路的尽力而为业务的注入速率,使该链路的负载因子等于1,重新计算所有链路的负载因子,并重复以上步骤。其中,所述根据目的注入速率,设计网络接口并改变IP核发送 缓冲区中数据的存储和发送方式的步骤,具体包括将等待发送的不 同线路的尽力而为业务被存储在不同的发送缓冲区,每个发送缓冲区根据来自网络接口的读控制信号发送数据;所有发送缓冲区的数据经 过一个或门电路后被送往网络接口发送模块;所述网络接口发送模 块根据所述目的注入速率生成并存储时隙表;根据所述时隙表和打包 缓冲区的状态,通过读控制信号通知所述IP核数据发送信息;将从 所述IP核输入的数据进行打包后存入打包缓冲区,并经过链路控制 器后送往路由器。其中,所述数据发送信息包括数据发送时间和发送数据的缓冲区。本发明实施例的技术方案还提供一种基于预分配的流控装置,包 括IP核和网络接口发送模块,所述IP核,包括或门电路和多个发送 缓冲区,每个发送缓冲区的输出端连接到所述或门电路的输入端;所 述网络接口发送模块,包括打包器、打包缓冲区、链路控制器和注入 速率控制器,所述打包器的输出端连接到所述打包缓冲区的输入端, 所述打包缓冲区的输出端分别连接到链路控制器和注入速率控制器; 所述注入速率控制器的输出端连接到所述多个发送缓冲区,所述或门 电路的输出端连接到所述打包器,所述链路控制器与路由器进行通 信。与现有技术相比,本发明的技术方案具有如下优点 本发明利用片上网络的业务可预知性,通过限制所有线路尽力而 为业务的注入速率使其不超过片上网络各个链路尽力而为业务的平 均可用带宽,从而减小了业务的突发性,减小了拥塞概率,提高片上 网络的性能。由于只需要在网络接口的发送模块中增加一个简单的注 入速率控制器,因此该方法比较节省资源。此外,该方法由于不需要实时和相邻的路由器交换缓冲区的状态信息,因此比较节省功耗。


图l是本发明实施例的一种基于预分配的流控方法的流程图; 图2是本发明实施例的设置尽力而为业务的目的注入速率方法的 流程图;图3是本发明实施例的一种基于预分配的流控装置的结构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式
作进一步详细 描述。以下实施例用于说明本发明,但不用来限制本发明的范围。本发明实施例的一种基于预分配的流控方法的流程如图1所示, 包括以下步骤步骤s101 ,初始化,获取各个链路尽力而为业务可用的平均带宽。 建立片上网络,为服务质量保证业务分配路径,确定所有链路的尽力 而为业务的平均可用带宽;当链路A的带宽为^,且经过链路A的 服务质量保证业务的平均业务量为&时,所述链路A:的尽力而为业务 的平均可用带宽^^等于(W-gj。步骤sl02,设置每一线路的尽力而为业务的初始注入速率为该线 路的平均的业务量。不同源地址或不同目的地址的尽力而为业务属于 不同线路的尽力而为业务,每一线路的尽力而为业务初始的注入速率 都被设置为该线路的平均的尽力而为业务的业务量。步骤sl03,为所有线路尽力而为业务分配最短路径。假如流经链 路A的所有线路的尽力而为业务的注入速率的和为77^,那么链路A 的负载因子《等于77^4,。假如某路径经过M条链路,其负载因子 分别为FpF2,…,巧,那么该路径的最大负载因子等于 M^(^,F2,…,i^。该步骤包括以下步骤首先,把所有线路的尽力而为业务按照其平均业务量从大到小排 序;然后,依次为各个线路业务分配最短路径,如果有存在多条最短路径,选择具有最小的最大负载因子的路径。步骤S104,设置尽力而为业务的目的注入速率,使所有链路的负载因子小于l。本实施例中具体包括以下步骤步骤s201,选出具有最大负载因子的链路。步骤s202,判断所有链路的最大负载因子是否大于1。如果是则 转步骤s203,否则转步骤s205。步骤s203,按比例限制流经具有最大负载因子链路的所有线路的 尽力而为业务的注入速率,使该链路的负载因子等于1。例如,具有 最大负载因子的链路是链路",其负载因子为」且^>1,流经链路 "的所有线路的尽力而为业务的注入速率分别为/《,那么流经链路"的所有线路的尽力而为业务的注入速率分别被限制为/7%, w乂, ^/, w乂…。步骤s204,重新计算所有链路的负载因子,转步骤s201。步骤s205,存储所有线路的最终注入速率。步骤sl05,根据所述目的注入速率,设计网络接口并改变IP核 发送缓冲区中数据的存储和发送方式,实现流控。本实施例中包括如 下过程.-如图3所示的本发明实施例的一种基于预分配的流控装置,在所述IP核中,等待发送的不同线路的尽力而为业务被存储在不同的发 送缓冲区,每个发送缓冲区根据来自NI (NetworkInterface,网络接口 )的读控制信号发送数据;所有发送缓冲区的数据经过一个或门电 路后被送往所述网络接口的发送模块。所述网络接口的发送模块包括 注入速率控制器、打包器、打包缓冲区以及链路控制器,具体数据处 理过程如下1、根据步骤s104所得到的从所述IP核出发的各个线路的最终 注入速率生成时隙表并存储在所述注入速率控制器中,所述注入速率 控制器根据所述的时隙表和打包缓冲区的状态,通过读控制信号通知所述IP核在什么时候发送数据以及发送哪一个线路缓冲区中的数据。 2、从所述IP核输入的数据,首先经过打包器打包后存入打包缓冲区,然后经过LC (Link Controller,链路控制器)后送往路由器。本发明利用片上网络的业务可预知性,通过限制所有线路尽力而 为业务的注入速率使其不超过片上网络各个链路尽力而为业务的平 均可用带宽,从而减小了业务的突发性,减小了拥塞概率,提高片上 网络的性能。由于只需要在网络接口的发送模块中增加一个简单的注 入速率控制器,因此该方法比较节省资源。此外,该方法由于不需要 实时和相邻的路由器交换缓冲区的状态信息,因此比较节省功耗。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领 域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以 做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种基于预分配的流控方法,其特征在于,包括以下步骤初始化,获取各个链路尽力而为业务可用的平均带宽;设置每一线路的尽力而为业务的初始注入速率为该线路的平均的业务量;为所有线路尽力而为业务分配最短路径;设置尽力而为业务的目的注入速率,使所有链路的负载因子小于1;根据所述目的注入速率,设计网络接口,改变IP核发送缓冲区中数据的存储和发送方式。
2、 如权利要求1所述的基于预分配的流控方法,其特征在于,所述获取各个链路尽力而为业务可用的平均带宽的步骤,具体包括 当链路A的带宽为^,且经过链路A的服务质量保证业务的平均业务量为&时,所述链路A:的尽力而为业务的平均可用带宽Jh等 于O广gJ 。
3、 如权利要求1所述的基于预分配的流控方法,其特征在于, 所述为所有线路尽力而为业务分配最短路径的步骤,具体包括把所有线路的尽力而为业务按照其平均业务量从大到小排序; 依次为各个线路业务分配最短路径,如果有存在多条最短路径, 选择具有最小的最大负载因子的路径。
4、 如权利要求1所述的基于预分配的流控方法,其特征在于, 所述设置尽力而为业务的目的注入速率,使所有链路的负载因子小于 1的步骤,具体包括选出具有最大负载因子的链路;判断所有链路的最大负载因子是否大于1,如果否,则存储所有 线路的最终注入速率;如果是,则按比例限制流经具有最大负载因子 链路的所有线路的尽力而为业务的注入速率,使该链路的负载因子等于l,重新计算所有链路的负载因子,并重复以上步骤。
5、 如权利要求1所述的基于预分配的流控方法,其特征在于, 所述根据目的注入速率,设计网络接口并改变IP核发送缓冲区中数据的存储和发送方式的步骤,具体包括将等待发送的不同线路的尽力而为业务被存储在不同的发送缓冲区,每个发送缓冲区根据来自网络接口的读控制信号发送数据;所有发送缓冲区的数据经过一个或门电路后被送往网络接口发 送模块;所述网络接口发送模块根据所述目的注入速率生成并存储时隙表;根据所述时隙表和打包缓冲区的状态,通过读控制信号通知所述 IP核数据发送信息;将从所述IP核输入的数据进行打包后存入打包缓冲区,并经过 链路控制器后送往路由器。
6、 如权利要求5所述的基于预分配的流控方法,其特征在于,所述数据发送信息包括数据发送时间和发送数据的缓冲区。
7、 一种基于预分配的流控装置,其特征在于,包括IP核和网络 接口发送模块,所述IP核,包括或门电路和多个发送缓冲区,每个发送缓冲区 的输出端连接到所述或门电路的输入端;所述网络接口发送模块,包括打包器、打包缓冲区、链路控制器 和注入速率控制器,所述打包器的输出端连接到所述打包缓冲区的输 入端,所述打包缓冲区的输出端分别连接到链路控制器和注入速率控 制器;所述注入速率控制器的输出端连接到所述多个发送缓冲区,所述 或门电路的输出端连接到所述打包器,所述链路控制器与路由器进行 通信。
全文摘要
本发明公开了一种基于预分配的流控方法,包括初始化,获取各个链路尽力而为业务可用的平均带宽;设置每一线路的尽力而为业务的初始注入速率为该线路的平均的业务量;为所有线路尽力而为业务分配最短路径;设置尽力而为业务的目的注入速率,使所有链路的负载因子小于1;根据所述目的注入速率,通过设计网络接口和改变IP核发送缓冲区中数据的存储和发送方式,实现流控。本发明还公开了一种基于预分配的流控装置。本发明利用片上网络的业务可预知性,通过限制所有线路尽力而为业务的注入速率使其不超过片上网络各个链路尽力而为业务的平均可用带宽,从而减小了业务的突发性,减小了拥塞概率,提高片上网络的性能。
文档编号H04L12/56GK101335707SQ20081011783
公开日2008年12月31日 申请日期2008年8月5日 优先权日2008年8月5日
发明者曾烈光, 林世俊, 厉 苏, 金德鹏 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1