一种基于层次化Q-routing规划的路由方法技术

技术编号:29162827 阅读:116 留言:0更新日期:2021-07-06 23:04
本发明专利技术公开了一种基于层次化Q‑routing规划的路由方法,是通过感知网路的拥塞情况和互联链路使用情况,全局分层次并行规划得到高效率的数据传输链路。本发明专利技术的算法是一种基于查找表的路由算法,路由算法将规划后的方向存储在各个路由器节点的学习模块里的路由表中,数据包通过访问所在路由器节点的学习模块里的路由表得到路径信息。本发明专利技术在拆分式Q‑routing基础上构造了层次化设计,利用多层拥塞感知器及多层并行学习大大降低了算法的收敛时间,从而提高了片上网络数据传输效率,还压缩了路由表,减少了硬件资源消耗。

【技术实现步骤摘要】
一种基于层次化Q-routing规划的路由方法
本专利技术属于集成电路片上网络的通信
,特别涉及一种基于层次化Q-routing规划的片上网络路由方法。
技术介绍
随着摩尔定律逐渐失效,半导体工艺的发展逐渐放缓,单核处理器的工作频率遇到瓶颈难以快速增长。传统总线结构的片上系统(SystemonChip,SoC)扩展性差、并行度低等缺点日趋明显,要想提高整颗芯片的工作频率,需要使用传统总线以外的新方法,即片上网络(NetworkonChip,NoC)通信。NoC具有良好的扩展性,可以并行地处理芯片内部多个IP核的数据,有效解决了功耗、性能、面积等问题。NoC包括拓扑结构、路由算法和交换技术等方面,本专利研究其中的路由算法。路由算法为在NoC中的数据包提供传输方向,是NoC中极为重要的一环。一种优良的路由算法将通过迅速、合理的路径规划,提高传输效率,增大吞吐量。拆分式Q-routing是一种基于强化学习的片上网络路由算法。用以在源路由器节点到目标路由器节点之间寻找到耗时最短的路由路径。可以较好解决NoC在传输大量数据时带来的数本文档来自技高网...

【技术保护点】
1.一种基于层次化Q-routing规划的路由方法,是应用于由w个路由器节点、w个资源节点和若干条互连通道所组成的片上网络中,所述路由器节点包含输入端口、输出端口、拥塞感知器、多路选通器、访问路由表;其特征是,在所述路由器节点中设置学习模块;所述学习模块包括:学习方式仲裁器、层次化控制模块、路由表选择模块、3个子学习模块、3个路由表;所述路由方法是按如下步骤进行:/n步骤1:将所有路由器节点按照如下规则划分三层网络结构,从而形成金字塔结构;所述规则为:/n在第1层网络结构中将w个路由器节点以每x

【技术特征摘要】
1.一种基于层次化Q-routing规划的路由方法,是应用于由w个路由器节点、w个资源节点和若干条互连通道所组成的片上网络中,所述路由器节点包含输入端口、输出端口、拥塞感知器、多路选通器、访问路由表;其特征是,在所述路由器节点中设置学习模块;所述学习模块包括:学习方式仲裁器、层次化控制模块、路由表选择模块、3个子学习模块、3个路由表;所述路由方法是按如下步骤进行:
步骤1:将所有路由器节点按照如下规则划分三层网络结构,从而形成金字塔结构;所述规则为:
在第1层网络结构中将w个路由器节点以每x2个节点划分为一组,从而构成由个虚拟路由器组所构成的第1层网络结构;
在第2层网络结构中将个虚拟路由器组以每y2个节点划分为一组,从而构成由个虚拟路由器组所构成的第2层网络结构;
在第3层网络结构中将个虚拟路由器组以z2个节点划分为一组,从而构成由1个虚拟路由器组所构成的第3层;
3个子学习模块和3个路由表对应各个层的网络结构;每个子学习模块均包括:R矩阵、Q矩阵、Q值比较器;
令L1i,h表示第1层网络结构中第i个路由器节点所对应的第h个子学习模块,i<x2,h=1,2,3;
令Lji表示第j层网络结构中第i个虚拟路由器组,j≠1;
令L3i:L2i表示第3层网络结构的第i个虚拟路由器组中处于第2层网络结构的第i个虚拟路由器组;
令L3i:L2i:L1i,h表示第3层网络结构的第i个虚拟路由器组中处于第2层网络结构中第i个虚拟路由器组内的第1层网络结构中的第i个路由器节点所对应的第h个子学习模块;
步骤2:各个路由器节点在各层网络结构中进行拥塞程度感知与并行学习;
步骤2.1:以L3i:L2i:L1i,1作为当前路由器节点第1个子学习模块;对于处于第1层网络结构中当前路由器节点,通过自身的拥塞感知器对自身的输入端口进行占用率计数,对自身的输出端口进行流量计数,从而得出各条路径上的第1层拥塞等级,并存入第1层网格结构中L3i:L2i:L1i,1所表示的第1个子学习模块的R矩阵中;
对处于第2层网络结构中L3i:L2i:L1i,2所表示的第2个子学习模块,通过对第2层网络结构中第i个虚拟路由器组内各节点的拥塞等级进行平均池化,得到池化后的拥塞等级并存入第2层网络结构中L3i:L2i:L1i,2所表示的第2个子学习模块的R矩阵中;
对处于第3层网络结构中L3i:L2i:L1i,3所表示的第3个子学习模块,通过对第3层网络结构中第i个虚拟路由器组内各节点的拥塞等级进行平均池化,得到池化后的拥塞等级并存入最顶层网络结构中L3i:L2i:L1i,3所表示的第3个子学习模块的R矩阵中;
步骤2.2:初始化i=0;
步骤2.3:将L3i:L2i:L1i,h,h=1,2,3所表示的子学习模块里的奖励值均初始化为目的奖励值;将其他的路由器节点中子学习模块里的奖励值均初始化为0;
步骤2.4:对处于第1层网络结构中L3i:L2i:L1i,1所表示的第1个子学习模块,读取与其邻接路由器节点上的子学习模块的最大奖励值,并根据L3i:L2i:L1i,1所表示的第1个子学习模块中R矩阵,对所读取的最大奖励值进行加权处理,得到加权后的奖励值,并选择加权后的最大奖励值传给所有的邻接路由器节点;
对处于第2层网络结构中L3i:L2i:L10,2所表示的第2个子学习模块,读取与L3i:L2i:L10,2所表示的第2个子学习模块相邻的虚拟路由器组中处于同一位置上的第2个子学习模块的最大奖励值,并作为L3i:L2i所表示的第i个虚拟路由器组中所有节点的最大奖励值;根据第L3i:L2i:L10,2所表示的第2个子学习模块中R矩阵,对所读取的最大奖励值进行加权处理,得到加权后的奖励值,并选择加权后的最大奖励值传给与L3i:L2i:L10,2所表示的第2个子学习模块相邻的虚拟路由器组中处于同一位置上的第2个子学习模块;
对处于第3层网络结构中L3i:L2i:L10,3所表示的第3个子学习模块,读取与L3i:L2i:L10,3所表示的第3个子学习模块相邻的虚拟路由器组中处于同一位置上的第3个子学习模块的最大奖励值,并作为第3层网络结构中第i个虚拟路由器组L3i中所有节点的最大奖励值;根据第3层网络结构中L3i:L2i:L10,3所表示的第3个子学习模块中R矩阵,对所读取的最大奖励值进行加权处理,得到加权后的奖励值,并选择加权后的最大奖励值传给与L3i:L2i:L10,3所表示的第3个子学习模块相邻的虚拟路由器组中处于同一位置上的第3个子学习模块;
步骤2.5:当得到各个路由器节点的各个子学习模块的下一跳的路径信息后,每个路由器节点的各个子学习模块的下一跳的路径信息并行传输至所述层次化控制模块中;
步骤3:在所述层次化控制模块中对路径信息进行修正,即:自高层网络结构...

【专利技术属性】
技术研发人员:李桢旻翁晓峰王镜涵李天瑜马宇晴杜高明宋宇鲲
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽;34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1