CN111522775A - 片上网络路由装置及其控制方法 - Google Patents

片上网络路由装置及其控制方法 Download PDF

Info

Publication number
CN111522775A
CN111522775A CN202010320744.7A CN202010320744A CN111522775A CN 111522775 A CN111522775 A CN 111522775A CN 202010320744 A CN202010320744 A CN 202010320744A CN 111522775 A CN111522775 A CN 111522775A
Authority
CN
China
Prior art keywords
routing
routing node
learning
data transmission
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010320744.7A
Other languages
English (en)
Other versions
CN111522775B (zh
Inventor
李桢旻
翁晓峰
王镜涵
沈烨钦
杜高明
王晓蕾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN202010320744.7A priority Critical patent/CN111522775B/zh
Publication of CN111522775A publication Critical patent/CN111522775A/zh
Application granted granted Critical
Publication of CN111522775B publication Critical patent/CN111522775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种片上网络路由装置及其控制方法,所述控制方法包括,于所述片上网络路由装置的每个路由器配置一学习模块,每个所述路由器与一所述学习模块构成一路由节点;每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;按照所述最佳数据传输路径进行数据传输。本发明的片上网络路由装置及其控制方法,可加快网络收敛速度、提高并行数,大大提高路径规划的速率,同时只需要获取目的路由节点的位置信息,就可以找到合适的路径,不仅减少了资源的占用,而且可以缩短了路径规划的时间。

Description

片上网络路由装置及其控制方法
技术领域
本发明涉及多模态数据特征学习技术领域,特别涉及一种片上网络路由装置及其控制方法。
背景技术
路由算法是影响片上网络性能的主要因素之一。静态片上网络架构,如X-Y路由算法,在大量数据传输时,功耗增加、路由器温度升高,产生“热点”。“热点”往往容易导致数据堵塞,数据延迟,让芯片不可靠、寿命下降。因此,需要改进算法使片上网络变为动态的架构以提高数据传输效率(因为路由算法可以为每个数据包优化传输路径,减少整体传输时间从而提高效率),减少堵塞(因为没有路由算法或路由算法没有及时优化传输路径,大量数据包选择相同链路导致单一或多条链路堵塞)、“热点”和数据传输延时(因为消息从源节点到目的路由节点经过的跳数直接由经过的实际路径决定),保证片上网络芯片在高速通信的同时还有良好的温度,从而保障芯片安全可靠。
目前有很多动态自适应的算法,机器学习中的Q-learning算法,具有极强的自适应性,能自主地和环境交互而推演出最佳的路径信息,并且只要学习结果收敛之后,一定能得到一条有限长的路径,这样就避免了死锁的情况。但该传统算法的缺点是在单一时间内只能有一个agent(智能体)和环境交互,学习过程较慢,并且随机数和贪婪策略使得该算法不一定能探索到所有的空间,从而找到一条较优的路径。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种片上网络路由装置及其控制方法,用于解决现有技术中音视频协同学习方法不适合无标签数据的技术问题。
为实现上述目的及其他相关目的,本发明提供一种片上网络路由装置的控制方法,所述控制方法包括:
于所述片上网络路由装置的每个路由器配置一学习模块,每个所述路由器与一所述学习模块构成一路由节点;
每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;
按照所述最佳数据传输路径进行数据传输。
在一可选实施例中,所述每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习的步骤之前还包括,将每个所述路由节点的堵塞状态信息写入该路由节点的学习模块中。
在一可选实施例中,所述控制方法还包括步骤:
当所述路由节点的故障检测模块检测到故障时,故障信息会发送并写入到该路由节点的所述学习模块中,该路由节点的所述学习模块识别到故障信息后重新进行路径规划。
在一可选实施例中,所述堵塞状况信息包括目的路由节点信息、通路信息、多级堵塞状态信息、器件边缘信息以及临时损坏信息。
在一可选实施例中,所述按照所述最佳数据传输路径进行数据传输的步骤包括:
将目的路由节点信息打包进待传输数据包的头微片中,以形成第一数据包;
将所述第一数据包输入选定的路由节点中,所述路由节点根据与所述第一数据包的头微片中的目的路由节点对应的最佳数据传输路径进行数据传输。
在一可选实施例中,所述每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径的步骤包括:
每个所述路由节点的所述学习模块同时获取相邻的各所述路由节点的所述学习模块中存储的最大奖励值;
在每个所述路由节点内,经过单位学习时间后,根据相邻的各所述路由节点的学习模块的堵塞状态信息,按照预设公式对相邻的各所述路由节点的所述学习模块中存储的最大奖励值进行计算,以获取多个加权奖励值;
取多个加权奖励值中的最大值作为本地路由节点的最大奖励值;
重复以上三个步骤,直到将最长的一条路径学习完成,以获取一所述目的路由节点的路由表;
重复执行以上四个步骤,直至各所述目的路由节点的路由表都准备完毕。
在一可选实施例中,当每个所述路由节点具有四个数据传输方向时,所述预设公式包括
Figure BDA0002461287650000021
其中,Q(cs,A)表示本地路由节点的A方向的加权奖励值,Q(ns,A)表示下一跳所述路由节点存储的最大奖励值,cs表示本地,ns表示下一跳,A表示方向,γ1表示一级堵塞系数,γ2表示二级堵塞系数,γ1、γ2介于0-1之间,且γ12,Q(cs,max)表示本地路由节点存储的最大奖励值。
为实现上述目的及其他相关目的,本发明还提供一种片上网络路由装置,包括:
按照预设网络拓扑结构连接的若干路由节点,每个所述路由节点包括相互连接的路由器和学习模块;
其中,每个所述路由节点的所述学习模块用于分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;每个所述路由节点的所述路由器用于按照所述最佳数据传输路径进行数据传输。
在一可选实施例中,所述路由器包括故障检测模块,输入端口,交叉开关矩阵,以及输出端口,所述学习模块分别所述故障检测模块、所述交叉开关矩阵连接。
在一可选实施例中,所述学习模块包括:
路由算法存储单元,用于存储实现所述学习模块的功能的计算机程序;
第一矩阵,用于存储相应的所述路由节点的各个相邻方向的堵塞状态信息;
第二矩阵,用于存储相应的所述路由节点学习后各个数据传输方向的加权奖励值;
方向选择矩阵,用于存储所述第二矩阵中各个数据传输方向的加权奖励值中的最大值所对应的数据传输方向和目的路由节点信息;
路由表,用于存储复制出来的方向选择矩阵。
本发明的片上网络路由装置及其控制方法,采用了拆分式并行Q学习的片上网络容错路由算法,也即每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径,这加快网络收敛速度、提高并行数,大大提高了路径规划的速率,同时只需要获取目的路由节点的位置信息,就可以找到合适的路径,不仅减少了资源的占用,而且也缩短了路径规划的时间;
本发明的片上网络路由装置及其控制方法中,基于拆分式并行Q学习的片上网络容错路由算法中,除了将随机数并行化以外,还将随机数随机选择方向变为全选方向,每一个路由节点的每一个数据传输方向都可以并行工作,从而可以保证覆盖率达到100%;
本发明的片上网络路由装置及其控制方法中,基于拆分式并行Q学习的片上网络容错路由算法没有使用随机数,在保证覆盖率的情况下,其收敛时间也大大缩短;
本发明的片上网络路由装置及其控制方法中,基于拆分式并行Q学习的片上网络容错路由算法在多级堵塞时规划路径更灵活。
附图说明
图1显示为本发明的片上网络路由装置控制方法的流程示意图。
图2显示为本发明的片上网络路由装置的局部架构示意图。
图3显示为本发明的片上网络路由装置中单个路由节点与相邻路由节点的连接示意图。
图4显示为本发明的具体实施例中搭载分布式Q模块的新型路由器互联架构。
图5显示为本发明的具体实施例中片上网络堵塞情况的结构示意图。
图6显示为本发明的具体实施例中Q矩阵最终奖励值示意图。
图7显示为本发明的具体实施例中Q模块的路径规划信息示意图。
图8显示为本发明的具体实施例中数据包从PE1进入R1并访问路由表,选通输出的结构示意图。
图9显示为本发明的具体实施例中故障检测模块位置及工作示意图。
图10显示为本发明的具体实施例中数据包格式示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1-10。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
请参阅图1所示,本发明的实施例介绍一种片上片上网络路由装置的控制方法,该片上片上网络路由装置的控制方法通过拆分式并行Q学习的片上网络容错路由算法来实现,以此加快网络收敛速度、提高并行数,大大提高路径规划的速率,只需要获取目的节点的位置信息,就可以找到合适的路径,不仅减少了资源的占用,也缩短了路径规划的时间。具体地,本发明的拆分式并行Q学习的片上网络容错路由算法,通过收集网络拥塞信息以及链路使用情况,使数据包始终选择通向终点且传输效率较优的链路进行路由。该算法利用每个路由器10向各个方向探索,并行化获取片上网络堵塞信息,利用Q-learning(Q学习)实时快速地计算出数据包最优路径,使片上网络变为动态的架构,数据流量由全局分担,提升数据传输效率和性能,减少堵塞和数据传输过程中的延时,提高容错率和吞吐率。该路由器10还具备较好的扩展性,能应用到不同规模大小的片上网络中。
下面将结合附图来具体阐述本发明的技术方案。
请参阅图1,所述片上网络路由装置控制方法包括如下步骤:
步骤S10、于所述片上网络路由装置的每个路由器10配置一学习模块20,每个所述路由器10与一所述学习模块20构成一路由节点100;
步骤S20、每个所述路由节点100的所述学习模块20分别获取相邻的各所述路由节点100的学习模块20的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;
步骤S30、按照所述最佳数据传输路径进行数据传输。
在步骤S10中,请参阅图1,进行片上网络路由装置的配置,也即于所述片上网络路由装置的每个路由器10配置一学习模块20,每个所述路由器10与一所述学习模块20构成一路由节点100。其中,图2示出了本发明的片上网络路由装置的局部架构示意图;图3示出了本发明的片上网络路由装置中单个路由节点100与相邻路由节点100的连接示意图。
请参阅图2和图3,所述片上片上网络路由装置包括按照预设网络拓扑结构连接的若干路由节点100,每个所述路由节点100包括相互连接的路由器10和Q智能学习模块20(以下简称Q模块20或学习模块20),也即本发明的片上网络路由装置包括由若干路由器10组成的片上网络,以及有若干学习模块20组成的学习网络,每个所述路由节点100的路由器10和Q模块20之间不进行数据包传输,而相邻的两个路由节点100的Q模块20之间相互连接传输奖励值信息(包含权重值、跳数以及路径长短信息等)以用于路径规划。具体地,如图2所示,在本发明中,将Q模块20部署到每个路由器节点上,每个路由器10和部署在其上的Q模块20合起来作为一个路由节点100;如图3所示,在一个片上网络中,每个节点同时并行学习,每个节点的Q模块20有m(m为正整数)个学习方向(对应于每个路由器10具有m个数据传输方向)可以同时并行学习。需要说明的是,本发明的Q模块20的规模可以随着路由器10的例化而变大、自适应性很强。
请参阅2,在本发明中,每个路由器10至少包括依次设置的故障检测模块11、输入端口13(input port)、交叉开关矩阵14(crossbar)和输出端口16(output port)四个部。路由器10的输入和输出端口16的数据根据片上网络的规模决定;作为示例,输入端口13的个数例如为m+1个,其中一个路由器10的m个输入端口13分别与相邻的m个路由器10连接,剩余一个输入端口13作为local(本地)方向的端口(本地输入端口13),路由器10下面对应的终端PE发包数据从这里进入片上网络,该终端PE发送数据例如也可由发包器(injector)代替;作为示例,输出端口16的个数例如为m+1个,其中一个路由器10的m个输出端口16分别与相邻的m个路由器10连接,剩余一个输出端口16作为local(本地)方向的端口(本地输出端口16),数据包到达目的路由器10后从该方向进入终端PE。
需要说明的是,本发明的路由器除了具有容错功能:对于软错误(传输过程中的瞬时数据错误),用奇校验来判断数据包的数据是否正确,一旦数据错误,路由器就停止该数据包的传输,并等待终端PE重新发送;对于硬错误(硬错误即路由器节点损坏或数据管道损坏,数据不能正确通过故障区域),利用故障检测模块11来检测,当检测到硬错误时,利用Q模块20重新进行路径规划。
具体地,请参阅图2,在本发明中,所述故障检测模块11与下文将要介绍的Q模块20的R矩阵21连接;在数据包进入输入端口13的时候,会经过故障检测模块11,故障检测模块11用于检测路由器10的硬错误,所述故障检测模块11包含流量计数器和低电平计数器(也称为电平判断状态机),流量计数器用于监测流量计数器向R矩阵21提供堵塞状况信息和器件故障状态,低电平计数器累计传输线路中连续低电平的数目,向R矩阵21提供故障状态。具体地,利用流量计数器,计数器根据一段时间内的发包数量判断堵塞程度,但是在一段较长时间内计数器都没有计数,则判定该方向的数据管道损坏;利用电平判断,在流量计数器旁设计一个低电平计数器,数据管道默认时为高电平,输出端口16发送数据时先发送起始位(例如01)表示数据开始传输,而故障检测利用了数据管道的默认电平,如果管道中连续一段时间为非高电平(即高阻态或低电平),则判断该方向的数据管道损坏。
需要说明的是,在本发明中,请参阅图9,当路由节点100的所述学习模块20识别到故障信息后会重新进行路径规划;具体地,当判断某一条通道损坏后,故障检测模块11返回给Q模块20一个错误标志位,表示该线路损坏;Q模块20根据错误的位置,将该状态写入R矩阵21,此时可看作故障状态=器件边缘状态=全堵塞状态,这样下次学习时,agent将按照全部堵塞的权重向该方向的Q矩阵更新奖励值,最后达到绕开故障区域的作用。
请参阅图2,所述路由器10的每个输入端口13与故障检测模块11之间还设置有一个FIFO(First Input First Output,先进先出队列12),用于数据缓冲,防止传输压力过大,导致数据错误或者延迟增加;所述路由器10的每个输出端口16与交叉开关矩阵14之间还设置有一个FIFO(First Input First Output,先进先出队列15),用于数据缓冲,防止传输压力过大,导致数据错误或者延迟增加。
在本发明中,请参阅图3,所述Q模块20包括路由算法单元(未图示),R矩阵21(也即第一矩阵),Q矩阵(也即第二矩阵,未图示),方向选择矩阵(未图示),以及路由表22。所述路由算法单元用于实现存储Q-learning的路由算法的计算机程序,该计算机程序用于实现所述Q模块20的路径规划功能,其可由mem类型的存储器或者reg寄存器来实现所述第一矩阵用于存储所属路由节点100的各个相邻方向的堵塞状态信息,其可由mem类型的存储器或者reg寄存器来实现。所述R矩阵21用于存储所属路由节点100的m个相邻方向的堵塞状态信息,包含目的路由节点、通路、多级堵塞、器件边缘以及临时损坏等信息,其可由mem类型的存储器或者reg寄存器来实现。Q矩阵用于存储所属路由节点100学习后各个数据传输方向的加权奖励值(其定义见下文),其可由mem类型的存储器或者reg寄存器来实现,Q矩阵中的加权奖励值代表着距离目的节点的期望值,奖励值越大,选择这条路径到目的地更快。所述方向选择矩阵用于存储所述,Q矩阵中各个数据传输方向的加权奖励值中的最大值所对应的数据传输方向(其作为最佳数据传输路径)和目的路由节点信息;该方向选择矩阵例如可由mem(memory)类型的存储器(也可采用reg寄存器)来实现,地址为目的节点,数据为表示m个方向的m位独热码,所述Q矩阵中加权奖励值代表着距离目的节点的期望值,加权奖励值越大,选择这条路径到目的地更快。所述路由表22用于存储复制出来的方向选择矩阵,复制出的路由表22可供不同方向传输来的数据包寻径访问,由方向选择矩阵复制出来的路由表22例如可由reg寄存器(也可采用mem类型的存储器)实现,以适应高速的访问与应答;在本发明中,路由表22仅存储本地节点的方向信息,比传统路由算法极大的减少了路由表22存储资源。
本发明的路由算法的工作原理是,在一个单位学习时间内,Q矩阵分别从m个方向的路由节点100同时读取相邻路由节点100的Q矩阵的最大奖励值,多个单位学习时间后目的路由节点的奖励值会按链式法则依次传递到每个路由节点100的Q矩阵中。本发明的路由算法的路径规划的收敛时间比普通自适应路由算法快,且规划的路径更好。在本发明中,Q矩阵用于同时读取m个方向的路由节点100的奖励值信息,模拟传统Q-learning算法中选取动作探索环境,但是在本发明的路由算法中没有使用随机数选取动作,而是采用全覆盖式探索,能保证探索到所有的空间,并且大大降低了路径规划的时间。需要说明的是,本发明的路由算法单元可由GPU(Graphics Processing Unit,图形处理器),ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)或FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)来实现,基于成本以及执行时间考量,例如可选用半定制电路的FPGA来实现本发明的路由算法。
当一个数据包请求向某个目的路由节点发送时,所述路由工作流程是按以下步骤进行:
首先,进行初始化,以让每个路由节点100都准备完毕所有目的路由节点的路由表22,也即让每个所述路由节点100的所述学习模块20分别获取相邻的各所述路由节点100的学习模块20的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径(步骤S20),包括如下子步骤:
步骤S21、在初始化阶段初期,先将整个路由网络的拥塞状况量化为特定的值,写入R矩阵21,将目的路由节点的信息也写入R矩阵21,也即将每个路由节点100的量化后的拥塞状况和目的路由节点信息(将所述量化后的拥塞状况和目的路由节点信息定义为拥塞状态信息)写入该路由节点100的学习模块20中;
步骤S22、在初始化阶段,学习节点(路由节点100的学习模块20)分别读取m个方向上对应节点的下一跳最大奖励值,也即每个所述路由节点100的所述学习模块20同时获取相邻的各所述路由节点100的所述学习模块20中存储的最大奖励值,模拟传统Q-learning算法中选取动作探索环境,没有使用随机数选取动作,而是采用全覆盖式探索,能保证探索到所有的空间,并且大大降低了路径规划的时间;
步骤S23、初始化阶段,在每个路由节点100内,经过单位学习时间后,相邻的m个路由节点100的Q矩阵,经过预设公式计算之后,获取m个加权奖励值,将m个加权奖励值分别存到本路由m个方向的reg(register,寄存器)处,同时,取m个加权奖励值作比较,把最大的值作当前路由节点100(或称为本地路由节点100)的奖励最大值,供其他相邻方向上的路由节点100在学习时调用);
步骤S24、反复进行x次步骤S22~S23,直到将最长的一条路径学习完成,以获取一所述目的路由节点的路由表22,其中,x取决于路由网络大小,当网络为n*n时,x=n*n-1,此时完成一节轮转;
步骤S25、每完成一节轮转,说明对于某个目的路由节点,该条件下的路由网络的路由查找表都准备完毕,等到所有的目的节点对应的网络情况都学习完(重复步骤S22~S24共n*n次,n*n为网络大小),一次轮转完成,每个路由节点100都准备完毕所有目的节点的路由表22,换句话说,各所述目的路由节点的路由表22都准备完毕,初始化阶段结束。
然后,利用准备完毕的路由表22进行数据传输,也即按照所述最佳数据传输路径进行数据传输(S30),包括如下子步骤:
步骤S31、发包阶段,终端PE里的发包器将目的路由节点信息打包进待传输数据包头微片,以形成第一数据包,第一数据包由输入端口13进入路由器10,然后传入路由器10的交叉开关矩阵14(crossbar模块),交叉开关矩阵14将头微片中目的路由节点信息传入Q模块20中;
步骤S32、Q模块20将传入的第一数据包携带的目的路由节点信息作为路由表22的地址,找出第一数据包下一跳的方向(独热码表示),回传给交叉开关矩阵14;
步骤S33、交叉开关矩阵14根据独热码进行方向选通,根据选通结果将第一数据包传递给相对应方向的输出端口16,到此,第一数据包在一个路由器10内的传输过程完成;
步骤S34、继续进行数据包传输(重复步骤S31~S33),直到第一数据包到达目的路由节点。
需要说明的是,在本发明中,每个数据包的传输是并行的,可以同时进行步骤步骤S31-步骤S34。需要说明的是,在本发明中,在数据传输过程中,故障检测模块11可以实时更新堵塞信息并重新进行路径规划。也就是说,数据包在使用复制出来的路由表22进行数据传输时,Q模块20同时在更新堵塞状态信息、路径规划,将路径信息存入方向选择矩阵中,一定的时间间隔之后复制到路由表22中供数据包头微片信息访问。路径规划的速度非常快,动态路径能满足实时性要求。
本发明通过利用了FPGA硬件的并行性特点大大加快了学习的速度,本发明的路由算法将原来Q-learning的学习过程由串行改拆成了并行;传统的Q-learning算法,在某一时间,只能有一个agent存在于整个网络,而拆分式并行Q-learning路由算法把agent从起点探索到终点的一次长过程拆分为许多个小的探索行为,并且可以同时进行,长路径上的每一个路由节点100都被拆分为一个小探索行为的节点。具体地,原来的学习过程是每过一个时间单位,agent向前探索一步并传递一次奖励值,假设当有一条无分支的路径总长度为x个节点,agent完成一次探索的时间为x个时间单位;而本发明的拆分式的路由算法则是,每过一个时间单位,路径上的所有节点都要传递奖励值给相邻一个节点,但只有存储着目的路由节点奖励值信息的节点才是当前有效的传递节点,经过x个时间单位后,目的节点的奖励值体现到起始节点的路由表22中,也就是说传统的Q-learning类似于长跑,而拆分式的算法类似于接力。对于一条无分支的路径来说,两种算法并没有太大的区别,但是如果上升到整个路由网络中,并行化有如下优势:传统的Q-learning很难让探索过程并行化,原因之一是两个或以上的agent随机探索,如果刚好探索到同一个节点时,同时存储奖励值数据时会发生竞争-冒险现象;拆分式可以允许更高的并行数目,该算法除了每个路由器节点可以并行以外,每个路由器节点中的每个方向也可以并行,也就是说拆分式的算法理论上比传统的算法的探索效率上高出m*n倍(m为每个节点的方向数,n为该网络的总路由器10数目)。
一般情况下,强化学习在应用领域普遍采用多agent(每个agent单独使用随机数)探索环境以实现随机数并行化;每个agent初始行动是随机的,之后根据反馈和不同的机器学习算法,agent动作随机性逐渐减小,经长时间迭代后,逐渐收敛出一条最优的选择路径;传统的路由算法由于使用了随机数来控制方向,在探索过程中不稳定,这是因为在经过很长时间的收敛之后,还仍有部分方向并没有被探索到,使用随机数来控制方向的方法并不能保证网络中的每一个节点的每一个状态都被探索到,也就是说覆盖率不是100%。而本发明除了将随机数并行化以外,还将随机数随机选择方向变为全选方向,由于拆分式的路由算法每一个节点的每一个方向都可以并行工作,这就说明拆分式的算法可以保证覆盖率达到100%;在寻找最优路径的问题中,传统的算法覆盖率低,那么其找最优路径的效果也不如拆分式的算法;拆分式的算法在学习结果(准确率)上更好。
另外,在本发明中,由于拆分式算法没有使用随机数,在保证覆盖率的情况下,其收敛时间也大大缩短,这是因为使用随机数会遇到状态重复的情况,这会导致收敛时间增加,而拆分式的算法就可以保证每种情况都可以探索到,并且只探索一次。
另外,本发明的的基于拆分式并行Q学习的片上网络容错路由算法在多级堵塞的情况下规划路径时表现的更为灵活。传统的路由算法只能选择靠近目的陆地节点的方向,选择性更少,从而导致堵塞程度无法有效的降低;而本发明的路由算法能在一定的堵塞程度时选择远离目的节点的方向(这些方向本身是无堵塞或更低堵塞程度),从而达到整个片上网络的堵塞程度下降的目的。
请参阅图1-10,下面将结合一个具体的实施例来说明本发明的技术方案。
在该具体实施例中,首先进行片上网络路由装置的配置的步骤(步骤S10)。请参阅图片上网络路由装置采用2D-mesh拓扑结构,例如可包括9个路由器节点(以下简称路由器10),每个路由器10例如可有4个数据传输方向。如图3所示,为了收集网络各路由器10的信息,计算权值,规划路径,需要在网络中增加例如9个Q智能学习模块20。所述的Q智能学习模块20(以下简称Q模块20,或学习模块20)和2D-mesh网络中的路由器10R逐个相连,彼此之间传输堵塞状态信息与数据包路径信息,不进行数据包的传输。各个Q模块20得到堵塞状态信息后,开始快速并行地智能学习,规划出每个目的路由节点的最佳数据传输路径,并将路径信息保存到Q模块20的方向选择矩阵中,复制出4个路由表22寄存器以供不同方向传输来的数据包寻径访问。需要说明的是,在一可选示例中,也可以只复制出1个具有4个读出端口和1个写入端口的路由表22寄存器来代替4个路由表22寄存器的功能-供不同方向传输来的数据包寻径访问。需要说明的是,在其他实施例中,所述片上网络路由装置也可以采用其他拓扑结构,所述网络路由装置中路由器10及Q模块20的个数也可以根据实际需要进行调整。
在该具体实施例中,每个路由器10至少包括依次设置的故障检测模块11、先进先出队列12、输入端口13(input port)、交叉开关矩阵14(crossbar)、先进先出队列15以及输出端口16(output port),所述路由器10的各单元的功能详细描述详见上文相关部分描述。
在该具体实施例中,Q模块20包含Q-learning的学习过程(路由算法单元)和R矩阵21(第一矩阵)、Q矩阵(第二矩阵)、方向选择矩阵及路由表22,所述Q模块20的各单元的功能详细描述详见上文相关部分描述,在此不做赘述。请参阅图4,在一个3x3大小的片上网络中,每个节点同时并行学习;每个节点的Q模块20有4个学习方向可以同时学习。
本路由算法的工作原理在于:在一个单位学习时间内,Q矩阵分别从4个方向的路由节点100同时读取相邻Q矩阵的最大奖励值,多个单位学习时间后目的路由节点的Q奖励值会按链式法则依次传递到每个路由节点100的Q矩阵中。
本实施例的片上网络堵塞情况如图5所示:R1到R4为一级堵塞,R3到R6为二级堵塞,R5到R6为二级堵塞、R5到R8为一级堵塞。以下将用一个数据包请求从1号路由节点100向9号路由节点100(目的路由节点)发送作为案例,解释所述路由算法的流程:
首先,进行初始化(初始化阶段里数据包不允许被发送到路由器10网络中),以让每个路由节点100都准备完毕所有目的路由节点的路由表22,也即让每个所述路由节点100的所述学习模块20分别获取相邻的各所述路由节点100的学习模块20的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径(步骤S20),具体包括如下子步骤:
步骤S21、在初始化阶段初期,先将整个路由网络的拥塞状况量化为特定的值,写入R矩阵21,将目的路由节点的信息也写入R矩阵21:将目的路由节点的信息量化为3’b000,将通路信息量化为3’b001,将一级堵塞状态信息量化为3’b010,将二级堵塞状态信息量化为3’b011,多级堵塞状态信息依次类推,器件边缘信息以及器件临时失活信息量化为3’b111;具体的量化指标为:通路:一段时间内通过路由节点100的数据包数量为0;一级堵塞:一段时间内通过路由节点100的数据包数量为X1;二级堵塞:一段时间内通过路由节点100的数据包数量为X2;以此类推;通过器件临时失活信息这个信号,可以实现路由器10的容错功能。需要说明的是,这个阶段里数据包不允许发送到路由器10网络中;
步骤S22、在初始化阶段,除目的路由节点R9的奖励值设置为1000外,其余的路由节点100奖励值初始化为0;Q模块20分别读取4个相邻方向上对应路由节点100的下一跳奖励最大值;对于图5所示的片上网络堵塞情况,具体来说,R6、R8在第一个单位学习时间内能得到R9的奖励值信息;R3、R5、R7在第一个单位学习时间得到的奖励值为0;R3、R5、R7在第二个单位学习时间能分别得到R6、R8的奖励值信息;以此类推,所有路由节点100最终都能得到目的路由节点R9的奖励值信息;
步骤S23、初始化阶段,在每个路由节点100内,经过单位学习时间后,相邻的4个路由节点100的Q矩阵奖励最大值,经过公式(1)(2)计算之后,获取4个加权奖励值,将获取4个加权奖励值分别存到本地路由节点100的4个方向的reg(寄存器)处;
计算公式为:(1)
Figure BDA0002461287650000121
(2)
Figure BDA0002461287650000122
其中Q(cs,A)表示本地路由节点100的A方向的加权奖励值,Q(ns,A)下一跳路由节点100的最大奖励值,cs表示本地,ns表示下一跳,A表示方向,γ1表示一级堵塞系数,γ2表示二级堵塞系数,其中,γ为(0,1)之间的值,且γ12,Q(cs,max)表示本地路由节点100存储的最大奖励值;作为示例:γ1=0.9,γ2=0.8;
由公式(2),取4个方向的加权奖励值作比较,把最大的加权奖励值作当前节点的最大奖励值Q(cs,max),供其他相邻方向上的路由节点100在学习时调用。以下将以几个路由节点100作为实例分析其奖励值:
对于R9来说,本地节点的奖励值1000是最大奖励值;
对于R6来说,Q(6,max)=Q(6,9)=1000;
对于R5来说,Q(5,6)=γ2*Q(6,9)=γ2*1000;Q(5,8)=γ1*Q(8,9)=γ1*1000;Q(5,4)=Q(4,7)-1=Q(7,8)-2=Q(8,9)-3=997;Q(5,2)不予考虑;对于R5来说,最大奖励值Q(5,max)=Q(5,4)=997;
步骤S24、反复进行x次步骤2~3,直到最坏的路由堵塞状态信息,也即最长的路径规划信息也传递完毕,其中,x取决于路由网络大小,本网络为3*3时,x=3*3-1=8,此时完成一节轮转,对于目的路由节点R9,最终Q模块20中的奖励值以及路由表22的方向信息如图6、图7所示;
步骤S25、每完成一节轮转,说明对于某个目的路由节点(譬如R9),该条件下的路由网络的路由查找表都准备完毕,等到所有的目的路由节点对应的网络情况都学习完(对于每个目的路由节点,重复步骤2~4共3*3次,3*3为网络大小),一次轮转完成,每个路由节点100都准备完毕9个目的路由节点的路由表22,表中有目的路由节点的地址和对应的最佳数据传输方向,这个路由表22能提供任意方向来的数据包到任意目的路由节点的最佳路径信息,初始化阶段结束。
然后,利用准备完毕的路由表22进行数据传输,也即按照所述最佳数据传输路径进行数据传输(S30)。对于目的路由节点R9,最终Q模块20中的奖励值以及路由表22的方向信息如图6、图7所示;根据奖励值信息可以得到一条最优路径(也称之为最佳数据传输路径),即R1-R2-R5-R4-R7-R8-R9,按照该最佳传输路径进行数据传输,包括如下子步骤:
步骤S31、如图8所示,发包阶段,R1路由节点100接收到从PE1发出来的数据包(待传输数据包),PE1中的发包器将目的路由节点信息(R9)编码为4’b1001打包进数据包头微片,构成第一数据包,然后第一数据包由PE1-R1的输入端口13进入路由器节点,然后传入R1的交叉开关矩阵14(crossbar模块);交叉开关矩阵14将头微片中目的路由节点信息4’b1001传入Q模块20中;其中,如图10所示,第一数据包的头微片格式如下:每个数据包含数据包ID,目的地编号,数据信息;
步骤S32、Q模块20将传入的第一数据包携带的目的信息4’b1001作为路由表22的地址,查找到R1下一跳的最佳路径方向为东(E,4’b0001),回传给交叉开关矩阵14;
步骤S33、交叉开关矩阵14根据独热码4’b0001,将方向东选通,根据选通结果将数据包传递给方向东的输出端口16,到此,数据包在R1路由器10内的传输过程完成;
步骤S34、继续进行数据包传输(重复执行步骤S31~S33的步骤)根据Q模块20的奖励值信息可以得到一条最优路径,即R1-R2-R5-R4-R7-R8-R9,按这条路径将数据包传送到R9。
需要说明的是,该具体实施例中,数据包传输是并发的,可以同时进行步骤S31~S34,也就是说,除了PE1发出的数据包以外,其他的PE也能发出数据包,同时在片上网络上进行数据传输;同时,该具体实施例中,在数据传输过程中,故障检测模块11可以实时更新堵塞信息并重新进行路径规划。也就是说,数据包在使用复制出来的路由表22进行数据传输时,Q模块20同时在更新堵塞状态信息、路径规划,将路径信息存入方向选择矩阵中,一定的时间间隔之后复制到路由表22中供数据包头微片信息访问。路径规划的速度非常快,动态路径能满足实时性要求。
需要说明的是,在该具体实施例中,请参阅图9,当路由节点100的所述学习模块20识别到故障信息后会重新进行路径规划;具体地,当判断某一条通道损坏后,故障检测模块11返回给Q模块20一个错误标志位,表示该线路损坏;Q模块20根据错误的位置,将该状态写入R矩阵21,此时可看作故障状态=器件边缘状态=全堵塞状态,这样下次学习时,agent将按照全部堵塞的权重向该方向的Q矩阵更新奖励值,最后达到绕开故障区域的作用。
在本文的描述中,提供了许多特定细节,诸如部件和/或方法的实例,以提供对本发明实施例的完全理解。然而,本领域技术人员将认识到可以在没有一项或多项具体细节的情况下或通过其他设备、***、组件、方法、部件、材料、零件等等来实践本发明的实施例。在其他情况下,未具体示出或详细描述公知的结构、材料或操作,以避免使本发明实施例的各方面变晦涩。
在整篇说明书中提到“一个实施例(one embodiment)”、“实施例(anembodiment)”或“具体实施例(a specific embodiment)”意指与结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中,并且不一定在所有实施例中。因而,在整篇说明书中不同地方的短语“在一个实施例中(in one embodiment)”、“在实施例中(inan embodiment)”或“在具体实施例中(in a specific embodiment)”的各个表象不一定是指相同的实施例。此外,本发明的任何具体实施例的特定特征、结构或特性可以按任何合适的方式与一个或多个其他实施例结合。应当理解本文所述和所示的发明实施例的其他变型和修改可能是根据本文教导的,并将被视作本发明精神和范围的一部分。
还应当理解还可以以更分离或更整合的方式实施附图所示元件中的一个或多个,或者甚至因为在某些情况下不能操作而被移除或因为可以根据特定应用是有用的而被提供。
另外,除非另外明确指明,附图中的任何标志箭头应当仅被视为示例性的,而并非限制。此外,除非另外指明,本文所用的术语“或”一般意在表示“和/或”。在术语因提供分离或组合能力是不清楚的而被预见的情况下,部件或步骤的组合也将视为已被指明。
如在本文的描述和在下面整篇权利要求书中所用,除非另外指明,“一个(a)”、“一个(an)”和“该(the)”包括复数参考物。同样,如在本文的描述和在下面整篇权利要求书中所用,除非另外指明,“在…中(in)”的意思包括“在…中(in)”和“在…上(on)”。
本发明所示实施例的上述描述(包括在说明书摘要中所述的内容)并非意在详尽列举或将本发明限制到本文所公开的精确形式。尽管在本文仅为说明的目的而描述了本发明的具体实施例和本发明的实例,但是正如本领域技术人员将认识和理解的,各种等效修改是可以在本发明的精神和范围内的。如所指出的,可以按照本发明所述实施例的上述描述来对本发明进行这些修改,并且这些修改将在本发明的精神和范围内。
本文已经在总体上将***和方法描述为有助于理解本发明的细节。此外,已经给出了各种具体细节以提供本发明实施例的总体理解。然而,相关领域的技术人员将会认识到,本发明的实施例可以在没有一个或多个具体细节的情况下进行实践,或者利用其它装置、***、配件、方法、组件、材料、部分等进行实践。在其它情况下,并未特别示出或详细描述公知结构、材料和/或操作以避免对本发明实施例的各方面造成混淆。
因而,尽管本发明在本文已参照其具体实施例进行描述,但是修改自由、各种改变和替换意在上述公开内,并且应当理解,在某些情况下,在未背离所提出发明的范围和精神的前提下,在没有对应使用其他特征的情况下将采用本发明的一些特征。因此,可以进行许多修改,以使特定环境或材料适应本发明的实质范围和精神。本发明并非意在限制到在下面权利要求书中使用的特定术语和/或作为设想用以执行本发明的最佳方式公开的具体实施例,但是本发明将包括落入所附权利要求书范围内的任何和所有实施例及等同物。因而,本发明的范围将只由所附的权利要求书进行确定。

Claims (10)

1.一种片上网络路由装置的控制方法,其特征在于,所述控制方法包括:
于所述片上网络路由装置的每个路由器配置一学习模块,每个所述路由器与一所述学习模块构成一路由节点;
每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;
按照所述最佳数据传输路径进行数据传输。
2.根据权利要求1所述的片上网络路由装置的控制方法,其特征在于,所述每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习的步骤之前还包括,将每个所述路由节点的堵塞状态信息写入该路由节点的学习模块中。
3.根据权利要求1所述的片上网络路由装置的控制方法,其特征在于,所述控制方法还包括步骤:
当所述路由节点的故障检测模块检测到故障时,故障信息会发送并写入到该路由节点的所述学习模块中,该路由节点的所述学习模块识别到故障信息后重新进行路径规划。
4.根据权利要求1所述的片上网络路由装置的控制方法,其特征在于,所述堵塞状况信息包括目的路由节点信息、通路信息、多级堵塞状态信息、器件边缘信息以及临时损坏信息。
5.根据权利要求1所述的片上网络路由装置的控制方法,其特征在于,所述按照所述最佳数据传输路径进行数据传输的步骤包括:
将目的路由节点信息打包进待传输数据包的头微片中,以形成第一数据包;
将所述第一数据包输入选定的路由节点中,所述路由节点根据与所述第一数据包的头微片中的目的路由节点对应的最佳数据传输路径进行数据传输。
6.根据权利要求1-5中任意一项所述的片上网络路由装置的控制方法,其特征在于,所述每个所述路由节点的所述学习模块分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径的步骤包括:
每个所述路由节点的所述学习模块同时获取相邻的各所述路由节点的所述学习模块中存储的最大奖励值;
在每个所述路由节点内,经过单位学习时间后,根据相邻的各所述路由节点的学习模块的堵塞状态信息,按照预设公式对相邻的各所述路由节点的所述学习模块中存储的最大奖励值进行计算,以获取多个加权奖励值;
取多个加权奖励值中的最大值作为本地路由节点的最大奖励值;
重复以上三个步骤,直到将最长的一条路径学习完成,以获取一所述目的路由节点的路由表;
重复执行以上四个步骤,直至各所述目的路由节点的路由表都准备完毕。
7.根据权利要求6所述的片上网络路由装置的控制方法,其特征在于,当每个所述路由节点具有四个数据传输方向时,所述预设公式包括
Figure FDA0002461287640000021
其中,Q(cs,A)表示本地路由节点的A方向的加权奖励值,Q(ns,A)表示下一跳所述路由节点存储的最大奖励值,cs表示本地,ns表示下一跳,A表示方向,γ1表示一级堵塞系数,γ2表示二级堵塞系数,γ1、γ2介于0-1之间,且γ12,Q(cs,max)表示本地路由节点存储的最大奖励值。
8.一种片上网络路由装置,其特征在于,包括:
按照预设网络拓扑结构连接的若干路由节点,每个所述路由节点包括相互连接的路由器和学习模块;
其中,每个所述路由节点的所述学习模块用于分别获取相邻的各所述路由节点的学习模块的堵塞状态信息后进行并行学习,以获取每个目的路由节点的最佳数据传输路径;每个所述路由节点的所述路由器用于按照所述最佳数据传输路径进行数据传输。
9.根据权利要求8所述的片上网络路由装置,其特征在于,所述路由器包括故障检测模块,输入端口,交叉开关矩阵,以及输出端口,所述学习模块分别所述故障检测模块、所述交叉开关矩阵连接。
10.根据权利要求8所述的片上网络路由装置,其特征在于,所述学习模块包括:
路由算法单元,用于存储实现所述学习模块功能的计算机程序;
第一矩阵,用于存储相应的所述路由节点的各个相邻方向的堵塞状态信息;
第二矩阵,用于存储相应的所述路由节点学习后各个数据传输方向的加权奖励值;
方向选择矩阵,用于存储所述第二矩阵中各个数据传输方向的加权奖励值中的最大值所对应的数据传输方向和目的路由节点信息;
路由表,用于存储复制出来的方向选择矩阵。
CN202010320744.7A 2020-04-22 2020-04-22 片上网络路由装置及其控制方法 Active CN111522775B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010320744.7A CN111522775B (zh) 2020-04-22 2020-04-22 片上网络路由装置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010320744.7A CN111522775B (zh) 2020-04-22 2020-04-22 片上网络路由装置及其控制方法

Publications (2)

Publication Number Publication Date
CN111522775A true CN111522775A (zh) 2020-08-11
CN111522775B CN111522775B (zh) 2023-05-16

Family

ID=71904446

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010320744.7A Active CN111522775B (zh) 2020-04-22 2020-04-22 片上网络路由装置及其控制方法

Country Status (1)

Country Link
CN (1) CN111522775B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113079093A (zh) * 2021-04-12 2021-07-06 合肥工业大学 一种基于层次化Q-routing规划的路由方法
CN114697249A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 芯片及其控制方法、计算机可读存储介质和电子设备
CN115022231A (zh) * 2022-06-30 2022-09-06 武汉烽火技术服务有限公司 一种基于深度强化学习的最优路径规划的方法和***
WO2024060730A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 流量控制方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络***及方法
CN104579951A (zh) * 2014-12-29 2015-04-29 合肥工业大学 片上网络中新颖的故障与拥塞模型下的容错方法
CN107395503A (zh) * 2017-08-25 2017-11-24 东南大学 一种基于线性规划的片上网络路由方法
WO2019154483A1 (en) * 2018-02-07 2019-08-15 Hochschule Anhalt Method of adaptive route selection in a node of a wireless mesh communication network corresponding apparatus for performing the method of adaptive route selection and corresponding computer program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973482A (zh) * 2014-04-22 2014-08-06 南京航空航天大学 具有全局通信事务管理能力的容错片上网络***及方法
CN104579951A (zh) * 2014-12-29 2015-04-29 合肥工业大学 片上网络中新颖的故障与拥塞模型下的容错方法
CN107395503A (zh) * 2017-08-25 2017-11-24 东南大学 一种基于线性规划的片上网络路由方法
WO2019154483A1 (en) * 2018-02-07 2019-08-15 Hochschule Anhalt Method of adaptive route selection in a node of a wireless mesh communication network corresponding apparatus for performing the method of adaptive route selection and corresponding computer program

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李荥等: "一种基于Q学习的无线传感网络路由方法", 《计算技术与自动化》 *
赵巍等: "一种片上网络容错路由算法", 《长春理工大学学报(自然科学版)》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114697249A (zh) * 2020-12-31 2022-07-01 Oppo广东移动通信有限公司 芯片及其控制方法、计算机可读存储介质和电子设备
CN114697249B (zh) * 2020-12-31 2023-07-04 Oppo广东移动通信有限公司 芯片及其控制方法、计算机可读存储介质和电子设备
CN113079093A (zh) * 2021-04-12 2021-07-06 合肥工业大学 一种基于层次化Q-routing规划的路由方法
CN113079093B (zh) * 2021-04-12 2022-03-15 合肥工业大学 一种基于层次化Q-routing规划的路由方法
CN115022231A (zh) * 2022-06-30 2022-09-06 武汉烽火技术服务有限公司 一种基于深度强化学习的最优路径规划的方法和***
CN115022231B (zh) * 2022-06-30 2023-11-03 武汉烽火技术服务有限公司 一种基于深度强化学习的最优路径规划的方法和***
WO2024060730A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 流量控制方法和装置

Also Published As

Publication number Publication date
CN111522775B (zh) 2023-05-16

Similar Documents

Publication Publication Date Title
CN111522775B (zh) 片上网络路由装置及其控制方法
US10496770B2 (en) System level simulation in Network on Chip architecture
JP4679522B2 (ja) エラー訂正を利用した高度並列スイッチング・システム
KR900006791B1 (ko) 패킷 스위치식 다중포트 메모리 n×m 스위치 노드 및 처리 방법
Kohler et al. Fault tolerant network on chip switching with graceful performance degradation
JP4763405B2 (ja) データ・フロー・アプリケーションのためのネットワーク・オン・チップ半自動通信アーキテクチャ
CN111683014B (zh) 一种高速互连网络的路由路径追踪方法及***
EP0200780A1 (en) PROCESSING METHOD AND NxM SWITCHING NODE WITH MULTIPLE HANGING LINES AND SWITCHED PACKETS.
US10579469B2 (en) Interconnection network for integrated circuit
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
US12010042B2 (en) Efficient parallelized computation of a Benes network configuration
CN108768778B (zh) 一种网络时延计算方法、装置、设备及存储介质
JP2002158708A (ja) スイッチ装置、通信装置及び通信システム
CN114422453B (zh) 一种在线规划时间敏感流的方法、装置及存储介质
KR102391802B1 (ko) 유전 알고리즘 기반의 토폴로지 합성 방법
US7111093B2 (en) Ping-pong buffer system having a buffer to store a subset of data from a data source
CN113824633B (zh) 园区网中路由发布方法及网络设备
JP3900065B2 (ja) データ転送システム及び転送制御部並びにプログラム
Omari Adaptive Algorithms for Wormhole-Routed Single-Port Mesh-Hypercube Network
Li et al. Mirrored K‐Ary N‐Tree and its efficiency of fault tolerance
US9007955B1 (en) Systems and methods for mapping network topologies
WO2024040959A1 (zh) 一种报文转发处理方法、装置、存储介质及电子装置
Ge et al. A network monitor based dynamic routing scheme for Network on Chip
Tang et al. An advanced nop selection strategy for odd-even routing algorithm in network-on-chip
Torab Performance analysis of packet-switched networks with tree topology

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant