CN117033005B - 一种无死锁路由方法、装置、存储介质及电子设备 - Google Patents

一种无死锁路由方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN117033005B
CN117033005B CN202311285983.3A CN202311285983A CN117033005B CN 117033005 B CN117033005 B CN 117033005B CN 202311285983 A CN202311285983 A CN 202311285983A CN 117033005 B CN117033005 B CN 117033005B
Authority
CN
China
Prior art keywords
value
routing
node
benefit
information
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.)
Active
Application number
CN202311285983.3A
Other languages
English (en)
Other versions
CN117033005A (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.)
Zhejiang Lab
Original Assignee
Zhejiang Lab
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 Zhejiang Lab filed Critical Zhejiang Lab
Priority to CN202311285983.3A priority Critical patent/CN117033005B/zh
Publication of CN117033005A publication Critical patent/CN117033005A/zh
Application granted granted Critical
Publication of CN117033005B publication Critical patent/CN117033005B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/524Deadlock detection or avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书公开了一种无死锁路由方法、装置、存储介质及电子设备。所述方法包括:获取各路由节点,并确定各路由节点之间的连接信息;根据连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息;确定目标节点对应的奖励值,并根据路由算法对应的流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值;将初始收益信息输入预设的强化学习模型,以通过强化学习模型,根据奖励值对初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;根据目标收益信息,生成各路由组合对应的路由表,并根据路由表执行路由任务。

Description

一种无死锁路由方法、装置、存储介质及电子设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种无死锁路由方法、装置、存储介质及电子设备。
背景技术
随着集成电路技术的发展,基于先进封装技术的大规模晶上系统成为工业界以及学术界的研究热点。晶上系统通过晶上互连网络实现多工艺节点、异质异构芯粒通信。对于晶上互连网络而言,一个至关重要的问题是避免网络死锁。网络死锁会导致交换节点间数据包之间的依赖和占用关系形成环路,每个数据包都无法进一步的传向目的节点,最终导致网络崩溃。
然而,传统的路由方法仅适用于规则型的网络拓扑结构,并且无法均衡负载,在网络数据注入率较高的情况会面临严重阻塞问题。
因此,如何在解决网络死锁的前提下,提高路由方法的适用性,保证负载均衡,是一个亟待解决的问题。
发明内容
本说明书提供一种无死锁路由方法、装置、存储介质及电子设备,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供了一种无死锁路由方法,包括:
获取各路由节点,并确定各路由节点之间的连接信息;
根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向;
根据预设的路由算法确定流量转向规则,并根据所述流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值;
将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;
根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
可选地,根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,具体包括:
针对每个路由节点,若该路由节点与其他节点之间存在连接关系,则将该路由节点向所述其他节点进行流量输出的输出行为所对应的收益值设置为第一收益值,否则设置为第二收益值,其中,所述第一收益值为正值,所述第二收益值为负值,所述第二收益值的绝对值大于所述第一收益值。
可选地,根据所述流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值,具体包括:
针对每个路由节点,根据该路由节点对应的各接收状态以及各接收状态下的输出行为确定该路由节点对应的各流量转向;
针对每种流量转向,判断该流量转向是否为所述流量转向规则所禁止的转向;
若是,则将该流量转向对应输出行为的奖励值设置为第一奖励值,否则设置为第二奖励值,以及,将输入目标节点的输出行为所对应的奖励值设置为第三奖励值。
可选地,所述第一奖励值和所述第二奖励值为负值,所述第三奖励值为正值,所述第一奖励值的绝对值大于所述第二奖励值的绝对值,所述第二收益值的绝对值大于所述第一奖励值的绝对值。
可选地,所述方法还包括:
针对每种流量转向,若该流量转向对应的接收状态和输出行为对应同一方向,则将该流量转向对应的输出行为设置为第四奖励值,其中,所述第四奖励值的绝对值小于所述第一奖励值的绝对值,大于所述第二奖励值的绝对值。
可选地,将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息,具体包括:
初始化源节点以及源节点对应的接收状态,作为当前状态;
使用贪心算法在有效行为集合中选择所述源节点在所述当前状态下采取的输出行为,作为当前行为;
根据所述奖励值,更新所述当前状态下采取所述当前行为时的收益值;
根据所述当前状态和所述当前行为,确定下一路由节点对应的接收状态,并根据所述初始收益信息,确定所述下一路由节点对应的接收状态下采取不同输出行为时的收益值;
将所述当前状态更新为所述下一路由节点对应的接收状态并更新当前状态下采取当前行为时的收益值,直至当前状态对应的路由节点为目标节点,则根据更新后的收益值确定所述源节点和所述目标节点对应路由组合的目标收益信息。
可选地,在根据所述路由表执行路由任务之前,所述方法还包括:
根据所述路由表,生成通道依赖图CDG;
根据所述通道依赖图,判断所述路由表是否存在死锁。
本说明书提供了一种无死锁路由装置,包括:
获取模块,获取各路由节点,并确定各路由节点之间的连接信息;
第一确定模块,根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向;
第二确定模块,根据预设的路由算法确定流量转向规则,并根据所述流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值;
更新模块,将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;
路由模块,根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
本说明书提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述无死锁路由方法。
本说明书提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述无死锁路由方法。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
在本说明书提供的无死锁路由方法中,获取各路由节点,并确定各路由节点之间的连接信息;根据连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息;根据预设的路由算法确定各路由节点在每种接收状态下采取不同输出行为时的奖励值;将初始收益信息输入预设的强化学习模型,以通过强化学习模型,根据奖励值对初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;根据目标收益信息,生成各路由组合对应的路由表,并根据路由表执行路由任务。
从上述方法可以看出,本方案一方面路可以通过算法来有效的避免网络锁死的情况,另一方面,初始收益信息是由连接信息进行确定的,这样可以使最终生成的路由表不仅适用于规则型网络拓扑,也适用于部分路由节点之间不存在连接的不规则型网络拓扑,通过将强化学习与路由算法进行结合来更新不同路由组合的收益信息,从而根据更新后的收益信息选择最优的路由路径来执行后续路由任务,并且,基于强化学习的路径选择过程具有随机性,在这种随机性条件下所生成的最终路由路径保证了实际路由过程中的负载均衡,防止出现阻塞问题,提高了路由可靠性。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书中提供的一种无死锁路由方法的流程示意图;
图2为本说明书中提供的一种非规则Mesh型网络拓扑结构示意图;
图3为本说明书中提供的一种网络拓扑结构对应的邻接矩阵示意图;
图4为本说明书中提供的一种初始收益信息的示意图;
图5为本说明书中提供的一种初始收益信息的更新过程示意图;
图6为本说明书中提供的一种目标收益信息示意图;
图7为本说明书中提供的一种路由路径示意图;
图8为本说明书提供的一种无死锁路由装置的示意图;
图9为本说明书提供的一种对应于图1的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
为解决晶上互连网络死锁,两种常用的方式为:设计路由算法避免网络环路形成和设计数据流控制协议(如虚通道方法避免缓冲区出现资源循环依赖)。
采用虚通道的方法避免死锁需要在交换节点处设计额外的硬件电路,带来了额外的成本、面积以及功耗开销。对于晶上互连网络或片上互连网络这种面积、功耗敏感的应用场景,采用路由算法避免死锁相较于数据流控制协议是更简单可行的方案。
传统的无死锁路由方法包括确定性维序路由和转向模型路由,然而上述路由方法不适用于非规则拓扑结构且不能很好的均衡网络负载,在网络数据注入率较高的情况会面临严重阻塞问题。
以下结合附图,详细说明本说明书各实施例提供的技术方案。
图1为本说明书中提供的一种无死锁路由方法的流程示意图,包括以下步骤:
S101:获取各路由节点,并确定各路由节点之间的连接信息。
首先,服务器可以获取进行路由的各路由节点(如交换机或路由器),对各路由节点进行编号,并以邻接矩阵方式表征网络拓扑。
需要说明的是,本说明书中的无死锁路由方法适用于任意直连拓扑和非直连拓扑的链路连接结构,包括ring形、mesh型、torus型、交叉开关型、树型、蝶形等规则型网络拓扑以及非规则型网络拓扑,拓扑结构应用场景包括但不限于片上互连网络、晶上互连网络与宏观计算机网络中的一种。为了便于描述,以下将以非规则Mesh型网络拓扑结构为例,对本说明书提供的一种无死锁路由方法进行说明。
图2为本说明书中提供的一种非规则Mesh型网络拓扑结构示意图。
其中,路由节点以圆形表示,终端节点以方形表示,二者一一对应,该拓扑结构共包含16个交换节点和16个终端节点。终端节点及其对应的路由节点可以根据运行时所负责的功能不同分为源节点和目标节点。
在图2中,路由节点所构成的拓扑为非规则Mesh型拓扑,路由节点5和6之间,以及路由节点13和14之间不存在链路连接,在实际应用中,该情况可能是由于路由节点、互连链路故障所导致的。
进一步的,服务器可以确定上述网络拓扑对应的邻接矩阵,从而得到各路由节点之间的连接信息,为了便于理解,本说明书提供了一种网络拓扑结构对应的邻接矩阵示意图,如图3所示。
图3为本说明书中提供的一种网络拓扑结构对应的邻接矩阵示意图。
其中,若两节点之间存在连接,则对应节点的邻接矩阵包含与其相连的节点。
在本说明书中,用于实现一种无死锁路由方法的执行主体可以是服务器等指定设备,为了便于描述,本说明书仅以服务器作为执行主体为例,对本说明书中提供的一种无死锁路由方法进行说明。
S102:根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向。
服务器可以根据上述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,其中,接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向,该初始收益信息可以以Q表的形式进行表示,如图4所示。
图4为本说明书中提供的一种初始收益信息的示意图。
其中,以路由节点0为例,若到达当前节点的流量自东边(E)输入,即0节点前一节点为1(如图2所示),则Q表中的接收状态对应为E0。以此类推,可得到Q表中的64个接收状态。
Q表中不同接收状态下的输出行为可以包括4种,分别为向东传输流量(E)、向西传输流量(W)、向南传输流量(S)和向北传输流量(N)。从而得到64种不同路由节点接收状态下输出行为的组合。
进一步的,若上述连接信息中当前节点与其相连节点之间存在连接,则服务器可以将对应行为的初始收益值设置为第一收益值,该第一收益值在本说明书中可以设置为1。
若网络拓扑中当前节点与其相连节点之间不存在连接关系,则服务器可以将对应行为的收益值设置为第二收益值,该第二收益值在本说明书中可以设置为-100。
也就是说,第一收益值为正值,第二收益值为负值,第二收益值的绝对值大于第一收益值。
还以图4为例,路由节点0和路由节点1、4存在连接关系,则E0状态对应的向东传输流量行为(E)和向北传输流量行为(N)的收益值为1,0节点向西传输流量行为(W)和向南传输流量行为(S)的收益值为-100。其他节点以此类推,可得到初始化Q表(初始收益信息)中的64个接收状态下4个输出行为的收益值。
S103:根据预设的路由算法确定流量转向规则,并根据所述流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值。
确定初始收益信息后,服务器可以根据预设的路由算法,确定流量转向规则,在本说明书中,该路由算法可以包括:“北转终止”算法、“负向起始”算法以及“西向起始”算法等,通过这些算法可以防止路由过程中产生环路,避免网络死锁的发生。为了便于描述,本说明书仅以北转终止算法为例,对本说明书中提供的一种无死锁路由方法进行说明。
具体的,针对每个路由节点,服务器可以根据该路由节点对应的各接收状态以及各接收状态下的输出行为确定该路由节点对应的各流量转向,针对每种流量转向,判断该流量转向是否为路由算法对应流量转向规则所禁止的转向,若是,则将该流量转向对应输出行为的奖励值设置为第一奖励值,若不是则设置为第二奖励值。
对于北转终止路由算法,该路由算法对应的路由规则为禁止先北后西转向和先北后东转向。对于任意路由节点,若到达该路由节点的流量自南边(S)输入,此时可以假定该路由节点优先向北输出流量,则向东转向(E)和向西转向(W)对应的输出行为是“北转终止”路由算法中禁止的转向,则服务器可以将这两种输出行为的奖励值设置为第一奖励值,在本说明书中,该第一奖励值可以设置为-20,而若流量自南边输入,而向北输出,则该转向不被禁止,服务器可以将这种输出行为的奖励值设置为第二奖励值,在本说明书中,该第二奖励值可以设置为-1。
此外,服务器可以将输入的路由节点为目标节点的输出行为设置为第三奖励值,在本说明书中,该第三奖励值可以设置为20。
进一步的,在路由过程中还存在一种特殊情况,即流量转向对应的接收状态和输出行为对应同一方向,如到达当前节点的流量自南边(S)输入,并且向南进行输出(转向),此时会导致路径震荡,服务器可以将上述流量转向对应输出行为的奖励值设置为第四奖励值,在本说明书中,该第四奖励值可以设置为-10。
也就是说,第一奖励值和第二奖励值为负值,第三奖励值为正值,第一奖励值的绝对值大于第二奖励值的绝对值,第二收益值的绝对值大于第一奖励值的绝对值,第四奖励值也为负值,其绝对值小于第一奖励值的绝对值,大于第二奖励值的绝对值。
S104:将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息。
S105:根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
服务器可以使用强化学习的方法,将初始收益信息输入预设的强化学习模型(如Q学习模型),以通过强化学习的方式,基于步骤S103确定的奖励值更新初始收益信息的Q表,进而根据更新后的Q表选择路由路径,生成所有源节点和目的节点对之间的路由表。为了便于理解,本说明书提供了一种初始收益信息的更新过程示意图,如图5所示。
图5为本说明书中提供的一种初始收益信息的更新过程示意图。
其中,服务器可以在各路由节点出选取出不同源节点和目标节点的路由组合(即每个路由节点都可以作为源节点或目标节点)。对于其中任意一个路由组合的源节点和目标节点,服务器可以初始化该源节点以及源节点对应的接收状态,作为当前状态,而后使用贪心算法在有效行为集合中选择所述源节点在当前状态下采取的输出行为,作为当前行为,从而在更新收益信息时引入随机性,之后根据步骤S103中确定的奖励值,更新当前状态下采取当前行为时的收益值,根据当前状态和当前行为,确定下一路由节点对应的接收状态,并根据初始收益信息(Q表),确定所述下一路由节点对应的接收状态下采取不同输出行为时的收益值。
进一步的,服务器可以将当前状态更新为下一路由节点对应的接收状态并更新当前状态下采取当前行为时的收益值,直至当前状态对应的路由节点为目标节点,则根据更新后的收益值确定所述源节点和所述目标节点对应路由组合的目标收益信息。
服务器可以通过上述方式,得到不同源节点和目标节点的路由组合对应的目标收益信息,该目标收益信息也可以以Q表的形式进行表示,为了便于理解,本说明书提供了一种目标收益信息示意图,如图6所示。
图6为本说明书中提供的一种目标收益信息示意图。
其中,路由节点4为源节点,初始接收状态为E4,路由节点15为目标节点,从该收益信息中可知,由源节点4到目标节点15的状态变化为“E4-W5-N1-W2-W3-S7-S11-S15”时,路由路径的收益值最大。由图6可知,越接近目标节点,Q表中的收益值越大。
确定各路由组合对应的目标收益信息后,服务器可以进一步确定各路由组合对应的路由表,以用于指示流量传输过程中的路由路径,为了便于理解,本说明书提供了一种与图6所示的目标收益信息相对应的路由路径示意图,如图7所示。
图7为本说明书中提供的一种路由路径示意图。
其中,图7所示为源节点4和目的节点15之间的路由路径。路由节点5和路由节点6之间由于链路故障不存在连接,因此在考虑“北转终止”算法中禁止转向的奖励和路径振荡的奖励后,路由算法选择从节点5的南向进行绕路路由。以此类推,可获得所有源节点和目的节点对之间的最优路由路径。
确定路由表及其对应的路由路径后,服务器可以判断生成的路由表是否存在死锁。
例如,根据路由表生成的通道依赖图(Channel Dependency Graph,CDG)中是否存在环判断路由表是否存在死锁。
在确认不存在死锁后,各路由节点可以按照不同路由组合对应的路由表执行实际路有任务。
从上述方法可以看出,本方案一方面路可以通过算法来有效的避免网络锁死的情况,另一方面,初始收益信息是由连接信息进行确定的,使得最终生成的路由表不仅适用于规则型网络拓扑,也适用于部分路由节点之间不存在连接的不规则型网络拓扑,通过将强化学习与路由算法进行结合来更新不同路由组合的收益信息,使得后续可以根据更新后的收益信息选择最优的路由路径来执行路由任务,并且,基于强化学习的路径选择过程具有随机性,在这种随机性条件下所生成的最终路由路径保证了实际路由过程中的负载均衡,防止出现阻塞问题,提高了路由可靠性。
以上为本说明书的一个或多个实施无死锁路由方法,基于同样的思路,本说明书还提供了相应的无死锁路由装置,如图8所示。
图8为本说明书提供的一种无死锁路由装置的示意图,包括:
获取模块801,用于获取各路由节点,并确定各路由节点之间的连接信息;
第一确定模块802,用于根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向;
第二确定模块803,用于根据预设的路由算法确定流量转向规则,并根据所述流量转向规则确定各路由节点在每种接收状态下采取不同输出行为时的奖励值;
更新模块804,用于将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;
路由模块805,用于根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
可选地,所述第一确定模块802具体用于,针对每个路由节点,若该路由节点与其他节点之间存在连接关系,则将该路由节点向所述其他节点进行流量输出的输出行为所对应的收益值设置为第一收益值,否则设置为第二收益值,其中,所述第一收益值为正值,所述第二收益值为负值,所述第二收益值的绝对值大于所述第一收益值。
可选地,所述第二确定模块803具体用于,针对每个路由节点,根据该路由节点对应的各接收状态以及各接收状态下的输出行为确定该路由节点对应的各流量转向;针对每种流量转向,判断该流量转向是否为所述流量转向规则所禁止的转向;若是,则将该流量转向对应输出行为的奖励值设置为第一奖励值,否则设置为第二奖励值,以及,将输入目标节点的输出行为所对应的奖励值设置为第三奖励值。
可选地,所述第一奖励值和所述第二奖励值为负值,所述第三奖励值为正值,所述第一奖励值的绝对值大于所述第二奖励值的绝对值,所述第二收益值的绝对值大于所述第一奖励值的绝对值。
可选地,所述第二确定模块803还用于,针对每种流量转向,若该流量转向对应的接收状态和输出行为对应同一方向,则将该流量转向对应的输出行为设置为第四奖励值,其中,所述第四奖励值的绝对值小于所述第一奖励值的绝对值,大于所述第二奖励值的绝对值。
可选地,所述更新模块804具体用于,初始化源节点以及源节点对应的接收状态,作为当前状态;使用贪心算法在有效行为集合中选择所述源节点在所述当前状态下采取的输出行为,作为当前行为;根据所述奖励值,更新所述当前状态下采取所述当前行为时的收益值;根据所述当前状态和所述当前行为,确定下一路由节点对应的接收状态,并根据所述初始收益信息,确定所述下一路由节点对应的接收状态下采取不同输出行为时的收益值;将所述当前状态更新为所述下一路由节点对应的接收状态并更新当前状态下采取当前行为时的收益值,直至当前状态对应的路由节点为目标节点,则根据更新后的收益值确定所述源节点和所述目标节点对应路由组合的目标收益信息。
可选地,在根据所述路由表执行路由任务之前,所述路由模块805还用于,根据所述路由表,生成通道依赖图CDG;根据所述通道依赖图,判断所述路由表是否存在死锁。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图1提供的一种无死锁路由方法。
本说明书还提供了图9所示的一种对应于图1的电子设备的示意结构图。如图9所述,在硬件层面,该电子设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图1所述的无死锁路由方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(ProgrammableLogic Device, PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(HardwareDescription Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(AdvancedBoolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(JavaHardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby HardwareDescription Language)等,目前最普遍使用的是VHDL(Very-High-Speed IntegratedCircuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。

Claims (9)

1.一种无死锁路由方法,其特征在于,所述无死锁路由方法应用于非规则Mesh型网络拓扑结构,包括:
获取各路由节点,并确定各路由节点之间的连接信息;
根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向;
根据预设的路由算法确定流量转向规则,针对每个路由节点,根据该路由节点对应的各接收状态以及各接收状态下的输出行为确定该路由节点对应的各流量转向,针对每种流量转向,判断该流量转向是否为所述流量转向规则所禁止的转向,若是,则将该流量转向对应输出行为的奖励值设置为第一奖励值,否则设置为第二奖励值,以及,将输入目标节点的输出行为所对应的奖励值设置为第三奖励值,所述第一奖励值和所述第二奖励值为负值,所述第三奖励值为正值,所述第一奖励值的绝对值大于所述第二奖励值的绝对值;
将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;
根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
2.如权利要求1所述的方法,其特征在于,根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,具体包括:
针对每个路由节点,若该路由节点与其他节点之间存在连接关系,则将该路由节点向所述其他节点进行流量输出的输出行为所对应的收益值设置为第一收益值,否则设置为第二收益值,其中,所述第一收益值为正值,所述第二收益值为负值,所述第二收益值的绝对值大于所述第一收益值。
3.如权利要求2所述的方法,其特征在于,所述第一奖励值和所述第二奖励值为负值,所述第三奖励值为正值,所述第一奖励值的绝对值大于所述第二奖励值的绝对值,所述第二收益值的绝对值大于所述第一奖励值的绝对值。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
针对每种流量转向,若该流量转向对应的接收状态和输出行为对应同一方向,则将该流量转向对应的输出行为设置为第四奖励值,其中,所述第四奖励值的绝对值小于所述第一奖励值的绝对值,大于所述第二奖励值的绝对值。
5.如权利要求1所述的方法,其特征在于,将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息,具体包括:
初始化源节点以及源节点对应的接收状态,作为当前状态;
使用贪心算法在有效行为集合中选择所述源节点在所述当前状态下采取的输出行为,作为当前行为;
根据所述奖励值,更新所述当前状态下采取所述当前行为时的收益值;
根据所述当前状态和所述当前行为,确定下一路由节点对应的接收状态,并根据所述初始收益信息,确定所述下一路由节点对应的接收状态下采取不同输出行为时的收益值;
将所述当前状态更新为所述下一路由节点对应的接收状态并更新当前状态下采取当前行为时的收益值,直至当前状态对应的路由节点为目标节点,则根据更新后的收益值确定所述源节点和所述目标节点对应路由组合的目标收益信息。
6.如权利要求1所述的方法,其特征在于,在根据所述路由表执行路由任务之前,所述方法还包括:
根据所述路由表,生成通道依赖图CDG;
根据所述通道依赖图,判断所述路由表是否存在死锁。
7.一种无死锁路由装置,其特征在于,包括:
获取模块,获取各路由节点,并确定各路由节点之间的连接信息;
第一确定模块,根据所述连接信息,确定各路由节点在每种接收状态下采取不同输出行为时的初始收益信息,所述接收状态用于表征流量输入路由节点的方向,所述输出行为用于表征路由节点输出流量的方向;
第二确定模块,根据预设的路由算法确定流量转向规则,针对每个路由节点,根据该路由节点对应的各接收状态以及各接收状态下的输出行为确定该路由节点对应的各流量转向,针对每种流量转向,判断该流量转向是否为所述流量转向规则所禁止的转向,若是,则将该流量转向对应输出行为的奖励值设置为第一奖励值,否则设置为第二奖励值,以及,将输入目标节点的输出行为所对应的奖励值设置为第三奖励值,所述第一奖励值和所述第二奖励值为负值,所述第三奖励值为正值,所述第一奖励值的绝对值大于所述第二奖励值的绝对值;
更新模块,将所述初始收益信息输入预设的强化学习模型,以通过所述强化学习模型,根据所述奖励值对所述初始收益信息进行更新,得到不同源节点和目标节点的路由组合对应的目标收益信息;
路由模块,根据所述目标收益信息,生成各路由组合对应的路由表,并根据所述路由表执行路由任务。
8.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~6任一项所述的方法。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~6任一项所述的方法。
CN202311285983.3A 2023-10-07 2023-10-07 一种无死锁路由方法、装置、存储介质及电子设备 Active CN117033005B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311285983.3A CN117033005B (zh) 2023-10-07 2023-10-07 一种无死锁路由方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311285983.3A CN117033005B (zh) 2023-10-07 2023-10-07 一种无死锁路由方法、装置、存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN117033005A CN117033005A (zh) 2023-11-10
CN117033005B true CN117033005B (zh) 2024-01-26

Family

ID=88635786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311285983.3A Active CN117033005B (zh) 2023-10-07 2023-10-07 一种无死锁路由方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117033005B (zh)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571570A (zh) * 2011-12-27 2012-07-11 广东电网公司电力科学研究院 一种基于强化学习的网络流量负载均衡控制方法
CN107948083A (zh) * 2017-11-07 2018-04-20 浙江工商大学 一种基于增强学习的sdn数据中心拥塞控制方法
CN109361601A (zh) * 2018-10-31 2019-02-19 浙江工商大学 一种基于强化学习的sdn路由规划方法
CN110601973A (zh) * 2019-08-26 2019-12-20 中移(杭州)信息技术有限公司 一种路由规划方法、系统、服务器及存储介质
CN110986979A (zh) * 2019-11-27 2020-04-10 浙江工商大学 一种基于强化学习的sdn多路径路由规划方法
CN111526055A (zh) * 2020-04-23 2020-08-11 北京邮电大学 路由规划方法、装置及电子设备
CN113258982A (zh) * 2021-04-22 2021-08-13 北京航空航天大学 卫星信息传输方法、装置、设备、介质及产品
CN113347102A (zh) * 2021-05-20 2021-09-03 中国电子科技集团公司第七研究所 基于q-学习的sdn链路抗毁方法、存储介质及系统
CN114979014A (zh) * 2022-06-30 2022-08-30 国网北京市电力公司 数据转发路径规划方法、装置以及电子设备
CN115297058A (zh) * 2021-04-19 2022-11-04 中兴通讯股份有限公司 一种网络拥塞的处理方法、装置、终端、存储介质
CN115473854A (zh) * 2022-08-23 2022-12-13 电子科技大学 一种多模态网络的流量智能控制方法
CN115883438A (zh) * 2022-11-16 2023-03-31 重庆邮电大学 时间敏感网络中时间触发流量的路由与调度方法、装置及可读存储介质
CN116170854A (zh) * 2023-02-20 2023-05-26 南京理工大学 一种基于深度强化学习dqn的dqn-olsr路由方法
CN116320841A (zh) * 2023-03-16 2023-06-23 广东工业大学 基于深度强化学习的fso自适应路由方法
CN116527558A (zh) * 2023-05-19 2023-08-01 国网智能电网研究院有限公司 基于q学习的多目标路由规划方法及装置

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571570A (zh) * 2011-12-27 2012-07-11 广东电网公司电力科学研究院 一种基于强化学习的网络流量负载均衡控制方法
CN107948083A (zh) * 2017-11-07 2018-04-20 浙江工商大学 一种基于增强学习的sdn数据中心拥塞控制方法
CN109361601A (zh) * 2018-10-31 2019-02-19 浙江工商大学 一种基于强化学习的sdn路由规划方法
CN110601973A (zh) * 2019-08-26 2019-12-20 中移(杭州)信息技术有限公司 一种路由规划方法、系统、服务器及存储介质
CN110986979A (zh) * 2019-11-27 2020-04-10 浙江工商大学 一种基于强化学习的sdn多路径路由规划方法
CN111526055A (zh) * 2020-04-23 2020-08-11 北京邮电大学 路由规划方法、装置及电子设备
CN115297058A (zh) * 2021-04-19 2022-11-04 中兴通讯股份有限公司 一种网络拥塞的处理方法、装置、终端、存储介质
CN113258982A (zh) * 2021-04-22 2021-08-13 北京航空航天大学 卫星信息传输方法、装置、设备、介质及产品
CN113347102A (zh) * 2021-05-20 2021-09-03 中国电子科技集团公司第七研究所 基于q-学习的sdn链路抗毁方法、存储介质及系统
CN114979014A (zh) * 2022-06-30 2022-08-30 国网北京市电力公司 数据转发路径规划方法、装置以及电子设备
CN115473854A (zh) * 2022-08-23 2022-12-13 电子科技大学 一种多模态网络的流量智能控制方法
CN115883438A (zh) * 2022-11-16 2023-03-31 重庆邮电大学 时间敏感网络中时间触发流量的路由与调度方法、装置及可读存储介质
CN116170854A (zh) * 2023-02-20 2023-05-26 南京理工大学 一种基于深度强化学习dqn的dqn-olsr路由方法
CN116320841A (zh) * 2023-03-16 2023-06-23 广东工业大学 基于深度强化学习的fso自适应路由方法
CN116527558A (zh) * 2023-05-19 2023-08-01 国网智能电网研究院有限公司 基于q学习的多目标路由规划方法及装置

Also Published As

Publication number Publication date
CN117033005A (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
CN107577694B (zh) 一种基于区块链的数据处理方法及设备
JP6716149B2 (ja) ブロックチェーンベースのデータ処理方法および装置
JP6859510B2 (ja) メッセージをブロードキャストするための方法およびデバイス
CN116405554B (zh) 一种网络通信的方法、装置、存储介质及电子设备
CN115129728A (zh) 一种文件校验的方法及装置
CN117033005B (zh) 一种无死锁路由方法、装置、存储介质及电子设备
CN112688867B (zh) 一种mlag环境中运行生成树协议的方法、装置、设备及介质
CN116107932B (zh) 一种数据队列更新方法、装置、存储介质及电子设备
CN110502575B (zh) 一种数据同步的方法、装置以及设备
CN111740875A (zh) 一种业务数据转发方法、装置、设备及介质
CN116069792A (zh) 一种数据库容灾系统、方法、装置、存储介质及电子设备
CN116108498A (zh) 一种程序执行的方法、装置、存储介质及电子设备
CN110764690B (zh) 分布式存储系统及其领导节点选举方法和装置
CN117170669B (zh) 一种基于前端高低代码融合的页面展示方法
CN116016330A (zh) 一种针对非直连拓扑网络的数据传输方法及装置
CN116996397B (zh) 一种网络丢包优化的方法、装置、存储介质及电子设备
CN117171401B (zh) 基于分层预计算的图数据中最短路径的查询方法和装置
CN115174587B (zh) 一种数据传输系统、方法、装置、计算机可读存储介质及电子设备
CN114124838B (zh) 大数据平台的数据传输方法、装置及大数据平台管理系统
CN117041980B (zh) 一种网元管理方法、装置、存储介质及电子设备
CN116954952B (zh) 一种机器人的自适应混合通信方法、装置、介质及设备
CN115955432B (zh) 一种确定物理链路的方法、装置及电子设备
CN117743472B (zh) 一种存储任务断点同步方法、装置、介质及设备
CN116668542B (zh) 一种增强型服务架构下基于异构资源绑定的业务执行方法
CN116384472A (zh) 一种数据处理系统、方法、设备及存储介质

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