[发明专利]一种基于数据包偏转统计的网络流量控制方法有效
申请号: | 201410090412.9 | 申请日: | 2014-03-12 |
公开(公告)号: | CN103825833B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | 方娟;姚治成 | 申请(专利权)人: | 北京工业大学 |
主分类号: | H04L12/801 | 分类号: | H04L12/801;H04L12/24 |
代理公司: | 北京思海天达知识产权代理有限公司11203 | 代理人: | 张慧 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据包 偏转 统计 网络流量 控制 方法 | ||
技术领域
本发明属于计算机体系结构领域,具体涉及一种基于网络数据包偏转统计的无缓存片上网络(Bufferless NoC)拥塞控制方法。
背景技术
随着半导体技术的不断发展,单一芯片上集成的核心越来越多,传统的总线通信方式不再能够满足片上部件的通信需求,而基于包交换的片上网络(Network-on-Chips,NoC)由于其扩展性和效率等方面优势成为当今主流的片上互联解决方案。NoC的设计通常受限于面积和功耗能,为了进一步减小该方面的开销,一种不同于传统基于虚拟通道的片上网络,无缓存片上网络成为近期的研究热点。在无缓存片上网络中,所有网络路由中的缓存都被去掉,因此其路由方式不同于传统片上网络。
无缓存片上网络路由中没有可以存储数据包(flit)的缓存,当多个flit竞争同一个路由端口时,只能有一个flit可以获得该端口,其它所有竞争失败的数据包都将从其它端口发出,这种flit被转发到其它端口的情况称之为flit发生了偏转。发生偏转的flit被偏转到其它路由后,同样按照原来的方式进行路由,所以它在选择端口的时候和其它flit发生端口竞争。虽然无缓存片上网络去掉了所有的缓存,但是这种偏转机制使得其比较容易发生网络拥塞。在无缓存片上网络中,一旦一个网络节点发生拥塞,偏转机制就会把该节点的拥塞扩展到整个网络中,对整个系统的性能造成严重影响。
目前,无缓存片上网络中的拥塞控制研究引起了国内外技术人员越来越多的关注。文献[1](Nychis,George P.,et al.On-chip networks from a networking perspective:Congestion and scalability in many-core interconnects.ACM SIGCOMM Computer Communication Review42.4(2012):407-418.)提出了一种拥塞控制技术,把网络当成一个黑盒子,通过注入节点的饥饿率和平均每条指令的注入率来判断网络的拥塞和需要进行注入限制的节点。该项技术存在的一个最大问题就是无法知道网络中具体的拥塞情况,当网络发生拥塞时仅仅只是限制注入率高的节点,那些注入率高的非拥塞节点的性能将会受到影响。
发明内容
针对现有技术中存在的上述问题,本发明提出一种基于网络数据包偏转统计的网络流量控制方法,通过记录网络中的数据偏转情况,确定具体网络拥塞源,并对拥塞源进行注入控制,有效地减少了无缓存片上网络的拥塞程度。
为了实现上述目的,本方发明采用以下技术方案。
一种基于数据包偏转统计的网络流量控制方法,包括以下步骤:
步骤1,添加集中式网络拥塞控制器及网络路由部件。
步骤1.1,在片上网络中添加一个集中式网络拥塞控制器。
集中式网络拥塞控制器CC(Centralized Controller),可以是一个具体的处理器核,通过时钟中断来进行网络拥塞控制,也可以是一个专一的逻辑控制部件。
步骤1.2,在每个无缓存片上网络路由中添加以下部件:
(1)一个长度和处理器核数相同的偏转计数器组,记为DRC(Deflection Record Counter);
(2)一个统计路由注入端口发生饥饿情况的饥饿计数器,记为SRC(Starvation Record Counter);
(3)一个用于记录注入数据包数量的注入计数器,记为JRC(Injection Record Counter);
(4)一个用于记录处理器执行指令数的指令计数器,记为IRC(Instruction Record Counter);
(5)一个用于限制路由注入快慢的节流寄存器,记为TRR(Throttle Rate Register)。
步骤2,统计片上网络流量数据及网络状态。
步骤2.1,路由统计其接受到的所有flit的偏转情况。
由偏转计数器组DRC统计接受到的所有flit的偏转次数,每一个计数器对应一个路由器。例如,计数器组中的编号为1计数器记录的数据是网络中编号为1的路由发出的数据包在该路由节点上发生的偏转次数。当某个flit在某个路由上发生偏转时,相应的偏转计数器加1。
步骤2.2,统计饥饿数。
当路由有数据包需要注入到网络中时,需要先检测它有没有可用的空闲端口,如果没有,数据包注入操作在当前周期内不能完成,延迟到下一个周期。这种不能注入数据包的情况称之为该路由发生了饥饿。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410090412.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种番茄醋饮料
- 下一篇:一种具有去黑头功能的手工皂