片上互连网络中基于可靠性需求的仲裁方法

文档序号:7972118阅读:315来源:国知局
专利名称:片上互连网络中基于可靠性需求的仲裁方法
技术领域
本发明涉及片上互连网络(Network on Chip, NoC)路由器微结构中的仲裁方法,尤其涉及基于应用需求可靠性的仲裁方法。
背景技术
在众核(many-core)主导的片上并行计算系统中,NoC作为基础的通信网络连接各计算和存储单元,I/O设备等,用以传输系统处理的数据和控制信号。其中,仲裁策略是影响NoC的路由微结构的性能,可靠性和功耗的重要因素之一。因此,有必要设计和实现高效的仲裁系统来保证NoC通信质量,进而提高整个众核系统的工作效率和可靠性。一般来说,典型的五端口的NoC微结构如图1所示,包括东南西北四个端口和邻居节点路由器相连,还有一个端口和本地处理单元链接,且五个端口由一个切5的交叉开关提供相互通路。图1所示的现有NoC微结构主要包括五个模块输入,路由计算(RoutingComputation,简称 RC),虚通道申请(Virtual Channel Allocator,简称 VCA),交叉开关申请(Switch Allocator,简称SA)和输出,其中输入主要有多个虚通道(Virtual Channel,简称VC)构成。一个数据包(packet)通常被化分为一个头微片(head flit),多个数据微片(data flit)和一个尾微片(tail flit)串行传输。现有的片上互连网络的路由多采用虫洞流控制机制,因此只有头微片经过RC和VCA,所有微片进行SA操作。由于虚通道和交叉开关作为有限的片上资源会被来自不同端口的微片竞争,因此NoC仲裁系统主要是面向VCA和SA的设计和实现。传统的仲裁主要着眼于公平性和性能的优化,然而随着工艺尺寸的缩小,供电电压的降低,串扰等造成的信号翻转现象,即软错误(soft error),使得NoC面临可靠性挑战。而仲裁策略直接影响了 NoC通信质量,尤其是一个应用中存在不同等级的可靠性需求。例如,H. 264包括A、B、C三种类型数据分割,其中A型分割是头信息划分,包括宏块类型、量化参数和运动矢量,这个信息是最重要的。B型分割是帧内信息划分,帧内信息可以阻止错误的传播,该型数据分割要求给定分片的A型分割有效,相对于帧间信息,帧内信息能更好地阻止漂移效应,因此它比帧间分割更为重要。C型分割是帧间信息划分,包括帧间CBI^s帧间系数,一般情况下它是编码分片的最大分区。帧间分割是最不重要的,它的使用要求A型分割有效,由此不同重要性决定了不同级别的可靠性需求。所以,尝试采用一些可靠性感知信息指导仲裁系统的设计和实现是必要的。然而,业界尚未提出在片上互连网络中基于应用可靠性需求的仲裁方法。

发明内容
本发明要解决的技术问题是考虑基于众核系统的应用中不同类型数据不同等级可靠性需求的问题,实现高效的可靠性感知仲裁设计,在尽可能减少性能损失和额外开销的条件下,满足应用在NoC中的通信可靠性需求。
因此,本发明的目的是提供一种片上互连网络的基于可靠性需求的仲裁方法,其特征在于,包括如下步骤(1)为数据包的各微片设置可靠性信息;( 根据所述可靠性信息对所述微片的仲裁请求进行响应。一些实施例中,所述可靠性信息包括历史信息,所述历史信息记录仲裁成功或失败的动态改变。一些实施例中,所述历史信息由计数器表示,其中当仲裁成功,则所述计数器的值重置为零,否则进行加1取模操作。一些实施例中,所述可靠性信息还包括可靠性需求信息,并且所述可靠性需求信息包括高可靠性需求和一般可靠性需求。一些实施例中,所述可靠性需求信息用η比特的标志位来记录,并且所述标志位设在所述微片中。一些实施例中,若多个所述微片的所述历史信息相同,则根据所述可靠性需求对所述历史信息相同的多个微片进行仲裁。一些实施例中,若多个所述微片的所述历史信息相同,则根据所述可靠性需求对所述历史信息相同的多个微片进行仲裁。一些实施例中,若多个所述微片的所述可靠性需求相同,则使用轮询仲裁进行优先级设置和选择。应用本发明可以充分优化片上互连网络中VCA和SA的仲裁机制,能够保证高可靠性需求的应用优先传输,减少在网络中的通信延迟,减少传输过程中软错误发生概率。同时还采用仲裁历史信息解决饿死问题,保证整个可靠感知的仲裁方法的有效和高效,具有重要实用价值。结合附图,根据下文的通过示例说明本发明主旨的描述可清楚本发明的其他方面和优点。


结合附图,通过下文的述详细说明,可更清楚地理解本发明的上述及其他特征和优点,其中图1示出了现有NoC的微结构;图2为示出根据本发明实施例的仲裁方法的流程图。
具体实施例方式参见示出本发明实施例的附图,下文将更详细地描述本发明。然而,本发明可以以许多不同形式实现,并且不应解释为受在此提出之实施例的限制。相反,提出这些实施例是为了达成充分及完整公开,并且使本技术领域的技术人员完全了解本发明的范围。这些附图中,为清楚起见,可能放大了层及区域的尺寸及相对尺寸。以通用的NoC路由器结构为例,描述根据本发明的仲裁方法。实施例中,采用了名词虫洞交换机制、路由计算RC、虚通道的申请仲裁器VCA及交叉开关的申请仲裁器SA。在虫洞交换机制下,微片作为最小的通信单元,路由器收到报头微片后不等待包尾到达就向下级路由传递,在网络中以流水方式传送。当任一微片发生阻塞时,整个传送路径都被占用。路由计算RC系指根据网络中微片中的源-目的信息用以计算路由路径,可以基于路由表配置,也可以采用定制的逻辑模块实现下一跳路由节点的计算。虚通道的申请仲裁器VCA系指为了解决虫洞交换机制的阻塞问题,通常采用增加虚通道的方法。基本思想是在每个物理通道上设置多个缓冲区,即虚通道VC,每个区对应一条虚通道,所有虚通道以时分复用方式共享该物理通道.由此可以是其它数据包绕过阻塞的数据包,提高物理通道利用率和网络吞吐率。同时虚通道的引入可以较容易地实现自适应无死锁算法。属于同一个数据包的多个微片独占同一个VC,这就需要头微片从多个虚通道通过高效的仲裁机制申请到可用的VC。交叉开关的申请仲裁器系指由于交叉开关作为多个端口直接的直连通路,需要n: 1的仲裁器从多个并发的端口请求中选择高优先级的微片先行传输。本发明的技术方案是在通过应用的不同等级可靠性信息,通信数据微片的可靠性相关的感知信息指导路由器中VCA和SA仲裁优先级的配置。和传统的无可靠感知的仲裁方法不同,在本发明中,仲裁优先级的基于可靠性信息配置策略考虑的主要因素有(a)微片仲裁的历史信息基于优先级的仲裁必须解决的一个关键问题就是“饿死”,即防止优先级低的微片的请求永远无法得到响应。尤其是在基于虫洞交换机制的网络传输中,“饿死”会导致尾随在优先级低微片之后的微片都被堵塞,引起网络局部停滞,进而影响整个网络通信质量。针对此问题,本发明拟记录微片仲裁的历史信息,有效避免饿死。同时,为了减少实现开销,对于记录历史信息的计数器进行循环取模操作,譬如2,4等经验值。记录历史信息的计数器的值随着仲裁成功或失败动态改变,具体为当仲裁成功则计数器值重置为零,否则进行加1取模操作。(b)应用的可靠性需求基于一个应用中传输数据的重要性不同,它对可靠性的需求等级也有差异。因此,可靠性的需求等级表现为不同等级。举例来说,可把网络传输的数据粗略分为两级,即,高可靠性需求和一般可靠性需求。即只需η比特的标志位来记录可靠性的需求等级。同时,鉴于可靠性需求的生存周期是从进入网络开始到离开网络为止,且可靠性需求的标志位的值保持不变,所以由各微片携带此标志位。在本发明中,NoC中可靠性感知的仲裁机制如图2所示,通过上述两种可靠性感知仲裁的相关信息应用的可靠性需求,微片仲裁的历史信息协同Round Robin的轮询仲裁进行优先级设置和选择。现详细描述根据本发明的片上互连网络的基于可靠性需求的仲裁方法。首先,为数据包各微片设置可靠性信息。一实施例中,所述可靠性信息包括历史信息,所述历史信息记录仲裁成功或失败的动态改变。本实施例中,所述历史信息由计数器表示。当仲裁成功,则所述计数器的值重置为零,否则进行加1取模操作。为了减少实现开销,对于记录历史信息的计数器进行循环取模操作,譬如2,4等经验值。记录历史信息的计数器的值随着仲裁成功或失败动态改变,具体为当仲裁成功则计数器值重置为零,否则进行加1取模操作。另一实施例中,所述可靠性信息还包括可靠性需求信息,并且所述可靠性需求信息包括高可靠性需求和一般可靠性需求。如前所述,基于一个应用中传输数据的重要性不同,它对可靠性的需求等级也有差异。因此,可靠性的需求等级表现为不同等级。本实施例中,例如可把网络传输的数据粗略分为两级,S卩,高可靠性需求和一般可靠性需求。由此,即只需η比特的标志位来记录可靠性的需求等级。本实施例中,所述可靠性需求信息用1比特的标志位来记录,并且所述标志位设在所述数据包的微片中。由于整个通信带宽是一样的,所以无论是头,数据还是尾微片都添加此标志位,因此,所述标志为放在每个微片中。接着,根据所述可靠性信息对所述数据包微片的仲裁请求进行响应。由多个微片组成的各个数据包以微片为基本单位都需要仲裁,即VCA和SA保证通信正常进行。每当进行VCA和SA时,需要发出仲裁请求。仲裁请求以对应的1位硬件信号线存在,独立于数据包。在多个虚通道的头微片进行VCA仲裁时,同时发生请求的微片构成一个逻辑上的请求队列。此外,在多个端口的各种类型微片进行SA仲裁,也形成请求队列。当仲裁成功时,微片对应的历史信息计数器重置为0。反之,仲裁失败队列对应的历史信息计数器则进行加1取模操作。在多个端口的各种类型微片进行SA仲裁时操作和上述操作类似。具体地,对于一个特定的仲裁请求来说仲裁成功则计数器值重置为零,否则就是仲裁失败则进行加1取模操作。而对于所有请求来说,就是仲裁成功计数器值重置为零,仲裁失败队列中所有对应的历史信息计数器均进行1取模操作。—些实施例中,若多个所述微片的所述历史信息相同,则根据所述可靠性需求信息对所述历史信息相同的多个微片进行仲裁。由于可能有多个微片的历史信息相同,因此,在此种情况下,需要根据历史信息相同的多个微片的可靠性需求信息进行仲裁。本实施例中,对可靠性需求信息为高可靠性需求的微片进行优先响应。另一些实施例中,若多个所述微片的所述可靠性需求相同,则使用轮询仲裁进行优先级设置和选择。由于可能有多个微片的可靠性需求信息相同,因此,在此种情况下,则使用业界常用的一般仲裁办法进行仲裁。本实施例中,采用经典的Round Robin进行仲裁。现参考图2描述根据本发明的仲裁方法的具体实现。在步骤SlOl中,完成仲裁的初始化工作,保证开始新一轮的仲裁选择。在步骤S102中,读取请求队列中M个请求信息,以便进行仲裁处理。在步骤S103中,对读取的请求信息进行比较,按照历史信息的等级进行排序,选择出历史信息等级最高的一个,如果选择成功,此次仲裁失败队列中的其他请求对应的历史信息的计数器进行加1取模操作,并跳转到步骤S106操作。在步骤S104中,如果N个请求历史信息等级相同,则再按照应用可靠需求的标志位进行排序,如果是高可靠性需求,则优先级高,如果选择成功,此次仲裁失败队列中的其他请求对应的历史信息的计数器进行加1取模操作,则跳转到步骤S106操作。在步骤S105中,如果L个请求可靠性需求等级相同,则采用经典的Round Robin进行仲裁,如果选择成功,此次仲裁失败队列中的其他请求对应的历史信息的计数器进行加1取模操作,则跳转到步骤S107操作。在步骤106中,对选中的请求进行响应和服务,并准备进入新一轮仲裁,跳回步骤S101。本实施例中,M、N、L俱为自然数。应用本发明可以充分优化片上互连网络中VCA和SA的仲裁机制,能够保证高可靠性需求的应用优先传输,减少在网络中的通信延迟,减少传输过程中软错误发生概率。同时还采用仲裁历史信息解决饿死问题,保证整个可靠感知的仲裁方法的有效和高效,具有重要实用价值。因本技术领域的技术人员应理解,本发明可以以许多其他具体形式实现而不脱离本发明的精神或范围。尽管业已描述了本发明的实施例,应理解本发明不应限制为这些实施例,本技术领域的技术人员可如所附权利要求书界定的本发明精神和范围之内作出变化和修改。
权利要求
1.一种片上互连网络的基于可靠性需求的仲裁方法,其特征在于,包括如下步骤(1)为数据包的各微片设置可靠性信息;(2)根据所述可靠性信息对所述微片的仲裁请求进行响应。
2.如权利要求1所述的仲裁方法,其特征在于,所述可靠性信息包括历史信息,所述历史信息记录仲裁成功或失败的动态改变。
3.如权利要求2所述的仲裁方法,其特征在于,所述历史信息由计数器表示,其中当仲裁成功,则所述计数器的值重置为零,否则进行加1取模操作。
4.如权利要求1所述的仲裁方法,其特征在于,所述可靠性信息还包括可靠性需求信息,并且所述可靠性需求信息包括高可靠性需求和一般可靠性需求。
5.如权利要求4所述的仲裁方法,其特征在于,所述可靠性需求信息用η比特的标志位来记录,并且所述标志位设在所述微片中。
6.如权利要求5所述的仲裁方法,其特征在于,若多个所述微片的所述历史信息相同,则根据所述可靠性需求对所述历史信息相同的多个微片进行仲裁。
7.如权利要求6所述的仲裁方法,其特征在于,若多个所述微片的所述可靠性需求相同,则使用轮询仲裁进行优先级设置和选择。
全文摘要
一种片上互连网络的基于可靠性需求的仲裁方法,其特征在于,包括如下步骤(1)为数据包的各微片设置可靠性信息;(2)根据所述可靠性信息对所述微片的仲裁请求进行响应。应用本发明可以充分优化片上互连网络中VCA和SA的仲裁机制,能够保证高可靠性需求的应用优先传输,减少在网络中的通信延迟,减少传输过程中软错误发生概率。同时还采用仲裁历史信息解决饿死问题,保证整个可靠感知的仲裁方法的有效和高效,具有重要实用价值。
文档编号H04L12/56GK102394829SQ20111035884
公开日2012年3月28日 申请日期2011年11月14日 优先权日2011年11月14日
发明者付宇卓, 刘婷, 焦佳佳 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1