多节点系统的重置的制作方法

文档序号:39674816发布日期:2024-10-18 13:12阅读:6来源:国知局
多节点系统的重置的制作方法

本公开涉及一种被配置为支持应用的处理系统,并且具体地涉及包括多个处理节点的处理系统,多个处理节点中的每个处理节点包括被配置为执行用于应用的一部分的指令集的处理单元。


背景技术:

1、在处理用于复杂或大量应用的数据的上下文中,可以提供用于执行该数据的处理的处理单元。处理单元可以用作工作加速器,某些数据的处理从主机系统卸载到该工作加速器。这样的处理单元可以具有用于执行特定类型的处理的专用硬件。例如,适于机器学习的处理单元可以包括在同一芯片上一起实现的大量处理器片,以便提供由同一处理器支持的大程度的并行性。为了支持这种处理单元的操作,可以在同一芯片上与处理单元一起提供附加的片上系统(soc)电路。这样的soc电路可以包括例如独立于处理器的存储器的片上存储器、用于外部通信的端口控制器、用于引导处理单元的引导硬件。

2、为了扩展处理体积以使得能够支持更大的应用,可以将多个处理单元连接在一起以形成更大的系统。在这种处理系统的各种实施方式中,支持这些处理单元的每个芯片经由高速链路连接在一起,从而实现不同处理单元的片处理器之间的通信。

3、在处理跨连接芯片系统支持的应用期间,在这些芯片中的一个或多个上可能发生各种错误事件。常见事件包括例如过温状况、不可校正的存储器错误的发生、设备的外部链路的故障。一些错误事件可能需要重置系统并从检查点重新启动系统的应用运行。


技术实现思路

1、当执行多节点系统的重置时,可能遇到的一个问题是,如果节点中的一个在另一个节点经历重置之前从较早的检查点重置和重新开始,则已经经历重置的节点可能从尚未重置的节点接收分组,其中这些分组与在系统上运行的应用的较早世代相关。这可能干扰与已经经历重置的节点现在正在执行处理的新世代应用相关的应用处理。

2、根据第一方面,提供了一种被配置为支持应用的处理系统,该处理系统包括:多个处理节点,每个处理节点包括:处理单元,被配置为执行用于应用的一部分的指令集;以及至少一个存储装置,其被配置为存储指示处理系统的全局重置已经被执行的次数的号的副本;以及重置电路,其被配置为使得相应处理节点被重置作为处理系统的全局重置中的一个的一部分以及用于相应处理节点的应用的一部分的应用状态从检查点恢复,其中每个处理节点包括被配置为作为相应处理节点的重置的一部分,更新保存在相应处理节点的至少一个存储装置中的号的副本的电路,其中第二处理节点的处理单元被配置为,在处理节点中的第二处理节点的重置之前,执行其指令集以使得将一个或多个数据帧发送到处理节点中的第一处理节点,一个或多个数据帧中的每一个数据帧包括保存在处理节点中的第二处理节点的至少一个存储装置中的号的副本,其中处理节点中的第一处理节点的电路被配置为在处理节点中的第一处理节点的重置之后,以及响应于确定一个或多个数据帧中的多个数据帧的副本与至少一个存储装置中保存的多个数据帧的副本之间的不匹配,使得一个或多个数据帧被丢弃。

3、节点中的每一个存储号,在本文中被称为世代号,每当相应的节点从检查点经历重置和重启时,该世代号被更新。由于系统的节点参与相同的重置事件,所以在大多数情况下,由节点保存的每个世代号在整个系统中将是相同的。然而,在一些情况下,当一个节点在另一个节点之前重置时,这两个节点之间的世代号将不同。在节点之间发送的数据帧各自包括发送节点的世代号,该世代号由接收方检查,并且仅在帧中的世代号与接收方节点的世代号匹配时才被接受。如果接收方节点在发送节点重置之前重置,则帧中的世代号将与接收方节点的世代号不匹配,并且帧将不被接受。因此,已经重置和重新启动的节点受到保护,免受由尚未重置的节点分派的与应用的较早世代相关的分组的影响。

4、根据第一方面,提供了一种被配置为支持应用的处理系统,该处理系统包括:多个处理节点,每个处理节点包括:处理单元,被配置为执行用于应用的一部分的指令集;以及至少一个存储装置,其被配置为存储指示处理系统的全局重置已经被执行的次数的号的副本;以及重置电路,重置电路被配置为使得:相应处理节点被重置为处理系统的全局重置中的一个的一部分;以及相应处理节点的应用的一部分的应用状态从检查点恢复,其中,处理节点中的每一个包括更新电路,更新电路被配置为:作为相应处理节点的重置的一部分,将保存在相应处理节点的至少一个存储装置中的号的副本从第一值更新为第二值,其中,处理节点中的第二处理节点的处理单元被配置为:在处理节点中的第二处理节点的重置之前,执行其指令集以使得向处理节点中的第一处理节点发送一个或多个数据帧,一个或多个数据帧中的每个数据帧包括号的第一值,其中,处理节点中的第一处理节点的电路被配置为在处理节点中的第一处理节点的重置之后,以及响应于确定一个或多个数据帧中的号的第一值与保存在处理节点中的第一处理节点的至少一个存储装置中的号的第二值之间的不匹配,使得一个或多个数据帧中的数据被丢弃。

5、在一些实施例中,对于处理节点中的每一个,相应处理单元被配置为参与在其指令集中指示的多个屏障同步,其中对于处理节点中的每一个,相应处理单元被配置为:对于其参与的屏障同步中的每一个,响应于处理系统中的处理单元中的至少一个另外的处理单元也参与相应屏障同步,通过相应屏障同步。

6、在一些实施例中,对于处理节点中的每一个,相应多个屏障同步中的每一个将相应处理单元的计算阶段与相应处理单元的交换阶段分开。

7、在一些实施例中,处理节点中的第一处理节点的处理单元被配置为在处理节点中的第一处理节点的重置之后,在第一屏障同步处停止,直到处理单元中的也被布置为参与第一屏障同步的另一个处理单元在其应用处理中达到第一屏障同步。

8、在一些实施例中,处理单元中的另一处理单元是处理节点中的第二处理节点的处理单元。

9、在一些实施例中,第一屏障同步充当计算阶段和交换阶段之间的屏障,其中第一处理节点的处理单元被配置为执行其应用指令集以:在计算阶段期间执行计算,直到达到第一屏障同步;以及在第一屏障同步之后,在交换阶段期间与处理节点中的第二处理节点交换数据,所交换的数据包括包含在一个或多个数据帧中的数据。

10、在一些实施例中,处理节点中的被配置为确定不匹配的第一处理节点的电路是处理节点中的第一处理节点的用于与处理节点中的第二处理节点对接的接口的一部分。

11、在一些实施例中,处理节点中的第一处理节点的接口被配置为从处理节点中的第二处理节点接收另外的数据帧,并且将封装在另外的数据帧中的数据分组提供给处理节点中的第一处理节点的处理单元。

12、在一些实施例中,处理节点中的第二处理节点的处理单元被配置为在处理节点中的第二处理节点的重置之后,执行其指令集以使得向处理节点中的第一处理节点发送一个或多个另外的数据帧,一个或多个另外的数据帧中的每一个包括号的第二值,其中处理节点中的第一处理节点的电路被配置为接收一个或多个另外的数据帧,并且响应于确定一个或多个另外的数据帧中的每个另外的数据帧中的号的第二值与处理节点中的第一处理节点的至少一个存储装置中保存的号的第二值之间的匹配,使得一个或多个数据帧中的数据被接受。

13、在一些实施例中,第一处理节点的电路被配置为确定不匹配作为检查每个数据帧中的地址字段的一部分。

14、在一些实施例中,对于每个处理节点,相应更新电路包括处理器,该处理器被配置为执行计算机可读指令,以便执行保存在相应处理节点的至少一个存储装置中的号的副本的更新。

15、在一些实施例中,更新号的副本包括递增第一值以获得第二值。

16、在一些实施例中,号的副本形成处理节点中的第一处理节点与处理节点中的第二处理节点之间的连接的连接状态的一部分。

17、在一些实施例中,每个处理节点包括集成电路,该集成电路包括:处理单元;以及用于相应处理节点的至少一个存储装置。

18、在一些实施例中,处理节点中的第二处理节点的处理单元被配置为执行其指令集以在一个或多个数据帧的一个或多个数据分组中输出号的第一值。

19、在一些实施例中,处理节点中的第二处理节点的处理单元被配置为执行其指令集以将一个或多个数据帧的数据输出到接口电路,其中接口电路被配置为向一个或多个数据帧提供插入到每个帧中的号的第一值。

20、根据第二方面,提供了一种方法,包括:在多个处理节点中的每一个上,执行由包括多个处理节点的系统支持的应用的一部分的指令集;以及在处理节点中的每一个上存储指示处理系统的全局重置已经被执行的次数的号的副本;执行全局重置中的一个,包括:重置多个处理节点中的每一个,包括将保存在处理节点中的每一个上的号的副本从第一值更新为第二值;以及从检查点恢复相应处理节点的应用的一部分的应用状态;在处理节点中的第二处理节点的重置之前,将一个或多个数据帧从处理节点中的第二处理节点发送到处理节点中的第一处理节点,一个或多个数据帧中的每个数据帧包括号的第一值;以及在处理节点中的第一处理节点的重置之后,并且响应于确定一个或多个数据帧中的号的第一值与处理节点中的第一处理节点处保存的号的第二值之间的不匹配,使得一个或多个数据帧中的数据被丢弃。

21、根据第三方面,提供了一种计算机程序,包括用于形成数据处理系统的多个处理节点中的每个处理节点的可执行指令集,其中可执行指令集中的每一个在由其相应处理节点的至少一个处理器执行时使其相应处理节点:支持分布式应用的一部分,分布式应用由多个处理节点支持;存储指示处理系统的全局重置已经被执行的次数的号的副本;以及作为数据处理系统的全局重置的一部分:重置相应处理节点,包括将保存在相应处理节点上的号的副本从第一值更新为第二值;以及从检查点恢复相应处理节点的分布式应用的一部分的应用状态,其中可执行指令集中的第二组被配置为当由处理节点中的第二处理节点的至少一个处理器执行时,使处理节点中的第二处理节点在重置处理节点中的第二处理节点之前,向处理节点中的第一处理节点发送一个或多个数据帧,一个或多个数据帧中的每一个包括号的第一值;其中,可执行指令集中的第一可执行指令集被配置为当由处理节点中的第一处理节点的至少一个处理器执行时,使得处理节点中的第一处理节点在处理节点中的第一处理节点的重置之后,响应于确定一个或多个数据帧中的号的第一值与由处理节点中的第一处理节点存储的号的第二值之间的不匹配,丢弃一个或多个数据帧中的数据。

22、根据第四方面,提供了一种存储根据第三方面的计算机程序的非暂时性计算机可读介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1