CN116932274A - 异构计算系统和服务器系统 - Google Patents
异构计算系统和服务器系统 Download PDFInfo
- Publication number
- CN116932274A CN116932274A CN202311207617.6A CN202311207617A CN116932274A CN 116932274 A CN116932274 A CN 116932274A CN 202311207617 A CN202311207617 A CN 202311207617A CN 116932274 A CN116932274 A CN 116932274A
- Authority
- CN
- China
- Prior art keywords
- target terminal
- reset
- terminal equipment
- information
- root complex
- 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
Links
- 230000006870 function Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 230000000873 masking effect Effects 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000010845 search algorithm Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供了一种异构计算系统和服务器系统,该异构计算系统包括:多个终端设备;处理器,用于确定多个终端设备中的目标终端设备是否处于需要复位的状态,在确定处于需要复位的状态时,拦截目标终端设备上报至根复合体的中断信号,并使得目标终端设备将设备标识发送至根复合体,在接收到根复合体发送的存储完成信息的情况下,对目标终端设备进行复位,并发送复位完成信息至根复合体;根复合体,用于接收设备标识,根据设备标识存储对应的当前状态信息,在存储完成当前状态信息时,发送存储完成信息至处理器,在接收到复位完成信息时将当前状态信息发送至目标终端设备,解决了PCIe设备故障造成主机无法正常运行的问题。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种异构计算系统和服务器系统。
背景技术
随着异构计算系统性能的提高,用户对异构计算系统的功能要求也越来越多样化,相应地,实现这些功能的PCIe(peripheral component interconnect express,高速串行计算机扩展总线标准)设备也越来越多样化,不同的异构计算系统所配置的PCIe设备并不完全相同,不同的PCIe设备具备不同的功能,如果某一种PCIE设备发生故障,就会导致异构计算系统相应功能中断或系统宕机,系统主机被迫复位,进而造成重要数据的丢失等严重问题。因此,当系统中PCIe设备发生故障时,如何发现故障并对故障PCIE设备进行处理,是个重要问题。
发明内容
本申请实施例提供了一种异构计算系统和服务器系统,以至少解决相关技术中PCIe设备故障造成主机无法正常运行的问题。
根据本申请的一个实施例,提供了一种异构计算系统,包括:多个终端设备;处理器,与多个所述终端设备通信连接,所述处理器用于确定多个终端设备中的目标终端设备是否处于需要复位的状态,在确定所述目标终端设备处于所述需要复位的状态的情况下,拦截所述目标终端设备上报至根复合体的中断信号,并使得所述目标终端设备将设备标识发送至所述根复合体,所述处理器还用于在接收到所述根复合体发送的存储完成信息的情况下,对所述目标终端设备进行复位,并发送复位完成信息至所述根复合体;所述根复合体,分别与多个所述终端设备连接,所述根复合体用于接收所述设备标识,根据所述设备标识,存储所述设备标识对应的当前状态信息,在存储完成所述当前状态信息的情况下,发送所述存储完成信息至所述处理器,在接收到所述复位完成信息的情况下,与复位后的所述目标终端设备建立连接并将所述当前状态信息发送至所述目标终端设备。
在一个示例性实施例中,所述处理器还用于:启动各所述终端设备对应的看门狗定时器的计数功能,并在接收到所述终端设备发送的喂狗信号的情况下,对所述终端设备对应的所述看门狗定时器进行清零;确定所述目标终端设备对应的看门狗定时器的计数值是否超出阈值;在所述目标终端设备对应的看门狗定时器的计数值超出阈值的情况下,确定所述目标终端设备故障,且确定所述目标终端设备处于所述需要复位的状态。
在一个示例性实施例中,所述处理器还用于:在确定所述目标终端设备故障的情况下,关闭所述目标终端设备对应的所述看门狗定时器的计数功能;在发送复位完成信息至所述根复合体之后,恢复所述目标终端设备对应的所述看门狗定时器的计数功能。
在一个示例性实施例中,所述终端设备还用于每隔第一预定时长发送一次心跳信号至所述处理器,所述处理器还用于:每隔所述第一预定时长确定是否接收到各所述终端设备发送的所述心跳信号;在未接收到所述心跳信号的情况下,确定未收到所述心跳信号的所述终端设备为所述目标终端设备,且确定所述目标终端设备出现故障,处于所述需要复位的状态。
在一个示例性实施例中,所述处理器还用于:确定是否接收到所述目标终端设备的操作系统的复位请求信息,其中,所述复位请求信息为所述操作系统在所述目标终端设备的软件更新之后生成的信息,所述复位请求信息用于请求复位所述目标终端设备;在接收到所述复位请求信息的情况下,确定所述目标终端设备处于所述需要复位的状态。
在一个示例性实施例中,所述复位请求信息为所述操作系统响应于作用在人机交互界面上的预定操作生成的,所述预定操作为反馈所述人机交互界面上显示的问询信息的操作,所述问询信息为在所述目标终端设备的软件更新的情况下,基本输入输出系统生成并发送给所述操作系统的,所述问询信息用于问询软件更新后是否对所述操作系统进行复位。
在一个示例性实施例中,所述处理器还用于:拦截所述目标终端设备发送至所述根复合体的错误报告信息,所述错误报告信息包括所述中断信号、所述设备标识、错误类型、错误地址以及错误源;屏蔽所述错误报告信息中的所述中断信号,屏蔽所述中断信号后的所述错误报告信息构成屏蔽后信息;将所述屏蔽后信息发送至所述根复合体。
在一个示例性实施例中,所述处理器还用于:在拦截所述目标终端设备发送至所述根复合体的错误报告信息之后,根据所述设备标识、所述错误类型、所述错误地址以及所述错误源,生成错误日志。
在一个示例性实施例中,所述处理器还用于:在对所述目标终端设备进行复位之后,确定所述目标终端设备是否处于所述需要复位的状态;在确定所述目标终端设备处于所述需要复位的状态的情况下,控制所述目标终端设备对应的连续复位次数计数一次;在确定所述目标终端设备未处于所述需要复位的状态的情况下,控制所述连续复位次数清零;确定所述连续复位次数是否大于或者等于预定阈值;在确定所述连续复位次数大于或者等于所述预定阈值的情况下,不拦截所述中断信号。
在一个示例性实施例中,所述根复合体还用于在接收到所述中断信号的情况下,响应于所述中断信号进行复位。
在一个示例性实施例中,所述处理器还用于:在确定所述目标终端设备处于所述需要复位的状态且所述目标终端设备对应的所述连续复位次数小于所述预定阈值的情况下,拦截所述中断信号。
在一个示例性实施例中,所述处理器还用于以下之一:控制所述目标终端设备复位;将所述目标终端设备的下游端口对应的寄存器状态信息恢复至初始状态。
在一个示例性实施例中,所述当前状态信息包括所述目标终端设备的配置空间信息、BAR空间映射关系以及内存空间信息。
在一个示例性实施例中,所述根复合体还用于:根据所述设备标识,将所述设备标识对应的配置空间信息、BAR空间映射关系以及内存空间信息存储至硬盘中。
在一个示例性实施例中,所述根复合体还用于:根据所述设备标识对复位后的所述目标终端设备进行扫描,以恢复与所述目标终端设备之间的通信连接;通过内存从所述硬盘中读取所述当前状态信息;将读取的所述当前状态信息发送至所述目标终端设备。
在一个示例性实施例中,所述根复合体还用于:在存储完成所述当前状态信息的情况下,断开与所述目标终端设备的连接。
在一个示例性实施例中,所述根复合体通过PCIe链路与各所述终端设备通信连接。
在一个示例性实施例中,所述根复合体还用于:在根据所述设备标识,存储所述当前状态信息之前,采用深度优先搜索算法对所述PCIe链路进行扫描,为每个所述终端设备分配地址空间。
在一个示例性实施例中,所述终端设备包括:片上系统,所述片上系统用于运行Orin平台和NV平台中之一。
在一个示例性实施例中,所述处理器包括基板管理控制器。
根据本申请的另一个实施例,还提供了一种服务器系统,包括任一种所述的异构计算系统。
采用本申请的实施例,处理器在确定目标终端设备由于故障或者升级等原因需要复位时,拦截目标终端设备上报给根复合体的中断信号,避免根复合体接收到该中断信号造成根复合体异常甚至宕机复位,保证了故障处理过程中根复合体可以继续正常运行;并且,处理器不拦截目标设备发送给根复合体的设备标识,使得根复合体对该设备标识对应的目标终端设备的状态信息进行存储,存储完成后通知处理器,处理器再对目标终端设备进行复位,复位完成后由根复合体再对其状态信息进行恢复,保证了故障处理过程中目标终端设备的数据不会丢失。
附图说明
图1是根据本申请实施例的异构计算系统的一种结构示意图;
图2是根据本申请实施例异构计算系统的另一种结构示意图;
图3是根据本申请实施例的一种异构计算系统的故障处理流程图。
其中,上述附图包括以下附图标记:
30、终端设备;31、根复合体;32、处理器;33、PCIe切换设备。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
在本实施例中提供了一种异构计算系统,图1是根据本申请实施例的异构计算系统的结构示意图,如图1所示,该异构计算系统包括:
多个终端设备(End point)30;
具体地,所述终端设备可以为任意合适类型的设备。比如,所述终端设备可以为PCIe设备,具体可以为片上系统,用于运行Orin平台(一种NVIDIA Jetson系列计算模组,主要用于自动驾驶)或者NV平台(一种NVIDIA Jetson系列计算模组,如应用于边缘计算盒子)。
处理器32,与多个所述终端设备通信连接,所述处理器用于确定多个终端设备中的目标终端设备是否处于需要复位的状态,在确定所述目标终端设备处于所述需要复位的状态的情况下,拦截所述目标终端设备上报至根复合体(Root Complex)的中断信号,并使得所述目标终端设备将设备标识发送至所述根复合体,所述处理器还用于在接收到所述根复合体发送的存储完成信息的情况下,对所述目标终端设备进行复位,并发送复位完成信息至所述根复合体;
具体地,所述目标终端设备可以为多个所述终端设备中的任意一个。所述需要复位的状态包括由于故障导致的需要复位的状态,还可以包括由于软件升级导致的需要复位的状态。所述存储完成信息用于表征所述当前状态信息存储完成。
所述根复合体31,分别与多个所述终端设备连接,所述根复合体用于接收所述设备标识,根据所述设备标识,存储所述设备标识对应的当前状态信息,在存储完成所述当前状态信息的情况下,发送所述存储完成信息至所述处理器,在接收到所述复位完成信息的情况下,与复位后的所述目标终端设备建立连接并将所述当前状态信息发送至所述目标终端设备。
具体地,所述根复合体可以为服务器主机,所述目标终端设备在处于所述需要复位的状态的情况下,会生成故障信息和中断信号,来触发中断处理过程,所述中断信号容易导致所述根复合体业务的异常中断甚至复位。
通过所述系统,通过处理器确定目标终端设备是否处于需要复位的状态;在确定该目标终端设备处于需要复位的状态的情况下,通过处理器拦截该目标终端设备上报给根复合体的中断信号,将使得目标终端设备将其对应的设备标识发送给根复合体,通过根复合体根据该设备标识,存储该设备标识对应的所述目标终端设备的当前状态信息,并在存储完成的情况下,发送存储完成信息给处理器,来触发处理器对目标终端设备进行复位,实现对目标终端设备的修复,之后发送对目标终端设备的复位完成信息给根复合体,使得根复合体与复位后的目标终端设备建立连接并对目标终端设备的状态信息进行恢复。相比于相关技术中PCIe设备故障造成主机无法正常运行的问题,本申请中的处理器在确定目标终端设备由于故障或者升级等原因需要复位时,拦截目标终端设备上报给根复合体的中断信号,避免根复合体接收到该中断信号造成根复合体异常甚至宕机复位,保证了故障处理过程中根复合体可以继续正常运行;并且,处理器不拦截目标设备发送给根复合体的设备标识,使得根复合体对该设备标识对应的目标终端设备的状态信息进行存储,存储完成后通知处理器,处理器再对目标终端设备进行复位,复位完成后由根复合体再对其状态信息进行恢复,保证了故障处理过程中目标终端设备的数据不会丢失。
一种可选方案中,所述处理器还用于:启动各所述终端设备对应的看门狗定时器的计数功能,并在接收到所述终端设备发送的喂狗信号的情况下,对所述终端设备对应的所述看门狗定时器进行清零;确定所述目标终端设备对应的看门狗定时器的计数值是否超出阈值;在所述目标终端设备对应的看门狗定时器的计数值超出阈值的情况下,确定所述目标终端设备故障,且确定所述目标终端设备处于所述需要复位的状态。所述处理器通过设置看门狗定时器,监测终端设备是否定时喂狗,可以较为准确且及时地确定各个所述终端设备是否出现故障,进一步地实现了故障定位。
为了实现对多个终端设备的正常监控,所述处理器还用于:在启动各所述终端设备对应的看门狗定时器的计数功能之前,建立与多个所述终端设备的通信连接。
除了通过所述方式对终端设备的状态进行监控外,其他实施例中,将所述终端设备的设备状态与心跳信号绑定,所述终端设备还用于每隔第一预定时长发送一次心跳信号至所述处理器,所述处理器还可以用于:每隔所述第一预定时长确定是否接收到各所述终端设备发送的所述心跳信号;在未接收到所述心跳信号的情况下,确定未收到所述心跳信号的所述终端设备为所述目标终端设备,且确定所述目标终端设备出现故障,处于所述需要复位的状态。所述处理器通过定时心跳信号来监测终端设备是否出现故障,可以较为准确且及时地确定各个所述终端设备是否出现故障,进一步地实现了故障定位。
此外,所述处理器还用于:在确定所述目标终端设备故障的情况下,关闭所述目标终端设备对应的所述看门狗定时器的计数功能。这样可以避免故障处理过程中看门狗定时器频繁报错问题。所述处理器还用于:在发送复位完成信息至所述根复合体之后,恢复所述目标终端设备对应的所述看门狗定时器的计数功能。这样可以实现对恢复后的目标终端设备的继续监测。
除了故障导致的所述需要复位的状态之外,还可能是软件升级导致的所述需要复位的状态,为了监测这种需要复位的状态,在本申请的一些示例性实施例中,所述处理器还用于:确定是否接收到所述目标终端设备的操作系统(Operating System,简称为OS)的复位请求信息,其中,所述复位请求信息为所述操作系统在所述目标终端设备的软件更新之后生成的信息,所述复位请求信息用于请求复位所述目标终端设备;在接收到所述复位请求信息的情况下,确定所述目标终端设备处于所述需要复位的状态。本实施例中,处理器通过确定是否接收到目标终端设备主动发起的请求复位的复位请求信息,来确定其是否处于所述需要复位的状态。
具体地,所述复位请求信息为所述操作系统响应于作用在人机交互界面上的预定操作生成的,所述预定操作为反馈所述人机交互界面上显示的问询信息的操作,所述问询信息为在所述目标终端设备的软件更新的情况下,基本输入输出系统(Basic InputOutput System,简称为BIOS)生成并发送给所述操作系统的,所述问询信息用于问询软件更新后是否对所述操作系统进行复位。本实施例中,终端设备通过BIOS进行软件升级,升级完成后BIOS发出是否复位的问询信息给终端设备的操作系统,操作系统将该问询信息通过人机交互界面展现给相关人员,使得相关人员通过预定操作选择要复位的情况下,操作系统响应于该预定操作生成复位请求信息。
具体地,所述预定操作可以为作用在人机交互界面上的任意操作方式,如单击、双击、长按以及滑动等,所述预定操作表征对操作系统进行复位的操作。此外,在相关人员通过操作系统选择不对操作系统进行复位的情况下,或者在相关人员在第二预定时长内不操作的情况下,所述操作系统不生成所述复位请求信息。
为了进一步地避免终端设备故障造成主机宕机或者复位的问题,根据本申请的一些实施例,所述处理器还用于:拦截所述目标终端设备发送至所述根复合体的错误报告信息,所述错误报告信息包括所述中断信号、所述设备标识、错误类型、错误地址以及错误源;屏蔽所述错误报告信息中的所述中断信号,屏蔽所述中断信号后的所述错误报告信息构成屏蔽后信息;将所述屏蔽后信息发送至所述根复合体。通过对错误报告信息中的中断信号进行屏蔽后发送给根复合体,使得根复合体可以接收到除中断信号外的其他的错误报告信息,方便根复合体知悉发生错误的终端设备,并进行对应的数据存储。
具体地,所述屏蔽后信息用于触发所述根复合体对发生错误的目标终端设备的当前状态信息进行存储。
为了便于后续的故障追溯,另一种具体的实施例中,所述处理器还用于:在拦截所述目标终端设备发送至所述根复合体的错误报告信息之后,根据所述设备标识、所述错误类型、所述错误地址以及所述错误源,生成错误日志。
在实际应用中,PCIe总线支持高级错误报告(Advanced Error Reporting,简称为AER),可以及时检测和报告总线故障和设备错误,提高了PCIe体系结构的稳定性和可靠性,相应的对于一些系统异常会导致系统重启或软件修复。当PCIe设备发生错误时,例如数据传输中传输错误或总线错误,设备会发送错误报告消息到AER工作机制指示的位置。AER机制将收到的错误报告消息进行记录,包括错误类型、错误地址、错误源等信息。AER机制将错误报告消息传递给操作系统,使系统得以进行适当的错误处理工作,同时也可以将错误消息传递给BIOS进行处理。操作系统可以对错误进行进一步的处理,例如重启PCIe设备或通过软件修复故障,以保持系统稳定。
又一些可选实施例中,所述处理器还用于:在对所述目标终端设备进行复位之后,确定所述目标终端设备是否处于所述需要复位的状态;在确定所述目标终端设备处于所述需要复位的状态的情况下,控制所述目标终端设备对应的连续复位次数计数一次;在确定所述目标终端设备未处于所述需要复位的状态的情况下,控制所述连续复位次数清零;确定所述连续复位次数是否大于或者等于预定阈值;在确定所述连续复位次数大于或者等于所述预定阈值的情况下,不拦截所述中断信号。相应地,所述根复合体还用于在接收到所述中断信号的情况下,响应于所述中断信号进行复位。由于在实际的应用过程中,所述终端设备的故障类型包括可恢复故障以及不可恢复故障,部分的不可恢复故障无法通过复位进行修复,因此,本实施例的处理器在目标终端设备复位多次后仍处于需要复位的需要复位的状态时,说明复位无法修复目标终端设备的故障,此时不再对目标终端设备进行复位,也不再拦截中断信号,这样可以使得根复合体接收该中断信号并进行重启复位,保证了异构计算系统的故障处理效率较高,同时保证了异构计算系统的数据处理安全。
而在连续复位次数小于所述预定阈值的情况下,说明目标终端设备还存在通过复位得到修复的可能,此时,所述处理器还用于:在确定所述目标终端设备处于所述需要复位的状态且所述目标终端设备对应的所述连续复位次数小于所述预定阈值的情况下,拦截所述中断信号。这样可以进一步地避免根复合体接收到该中断信号造成根复合体异常甚至宕机复位,进一步地保证了故障处理过程中根复合体可以继续正常运行。
为了进一步地实现对目标终端设备的灵活复位,在一个示例性实施例中,所述处理器还用于以下之一:控制所述目标终端设备复位;将所述目标终端设备的下游端口对应的寄存器状态信息恢复至初始状态。
本申请实施例中,所述当前状态信息包括所述目标终端设备的配置空间信息、BAR空间映射关系以及内存空间信息。所述根复合体在目标终端设备处于所述需要复位的状态的情况下,通过对目标终端设备的配置空间信息、BAR空间映射关系以及内存空间信息进行存储,进一步地避免了对目标终端设备复位后其当前的运行数据丢失的问题。
本申请的一个示例性实施例中,所述根复合体还用于:根据所述设备标识,将所述设备标识对应的配置空间信息、BAR空间映射关系以及内存空间信息存储至硬盘中。所述根复合体在目标终端设备处于所述需要复位的状态的情况下,通过对目标终端设备的配置空间信息、BAR空间映射关系以及内存空间信息进行存储,进一步地避免了对目标终端设备复位后其当前的运行数据丢失的问题。
为了进一步地保证故障处理过程中的数据安全,根据一些可选方案,所述根复合体还用于:根据所述设备标识对复位后的所述目标终端设备进行扫描,以恢复与所述目标终端设备之间的通信连接;通过内存从所述硬盘中读取所述当前状态信息;将读取的所述当前状态信息发送至所述目标终端设备。本实施例中,根复合体在恢复与目标终端设备之间的连接的情况下,先将需要恢复的数据从硬盘中读取至内存,再从内存将这些数据发送给目标终端设备,实现了对复位后的目标终端设备的数据恢复。
具体地,所述根复合体还用于:在存储完成所述当前状态信息的情况下,断开与所述目标终端设备的连接。从而实现对需要重启的目标终端设备的隔离。
所述根复合体可以采用任意合适类型的通信链路来与各个终端设备进行通信连接,本申请中,各所述终端设备分别为PCIe设备,所述根复合体通过PCIe链路与各所述终端设备通信连接。
进一步地,所述根复合体还用于:在根据所述设备标识,存储所述当前状态信息之前,采用深度优先搜索(Depth-First-Search)算法对所述PCIe链路进行扫描,为每个所述终端设备分配地址空间。所述根复合体通过对PCIe终端设备进行PCI扫描,来给每个终端设备分配地址空间,实现与各个终端设备的PCIe链路连接。
在所述实际的应用过程中,所述处理器可以为任意合适类型的处理器,如CPU、MCU等,本申请中,所述处理器包括基板管理控制器(Baseboard Management Conrtroller,简称为BMC)。更进一步地,所述处理器为基板管理控制器。
可选地,所述终端设备包括:片上系统,所述片上系统用于运行Orin平台和NV平台中之一。
具体地,所述异构计算系统作为一种异构计算平台,是一种将不同的计算资源(如CPU、GPU、FPGA、ASIC等)整合的计算系统,利用不同的资源来实现高效能的应用。其中,NVIDIA的Jetson是一种低功耗的AI计算平台,它能够支持高性能的机器学习、计算机视觉和图形处理应用。Jetson计算平台是一种片上系统(System on Chip,简称为SoC),其包括NVIDIA GPU以及ARM CPU等计算资源,实现快速部署和智能应用。NVIDIA的Jetson平台既支持单计算节点的部署,也支持将其PCIe总线资源配置为终端设备模式(即PCIe End Point模式),组成算力资源更强的系统。相较于使用以太网互联的计算节点,采用PCIe总线将主机计算节点(Host)和异构计算节点(Jetson)互联的系统具有更低的数据传输延迟,这样实现多节点计算平台可以获得更高的性能。
另一种实施例中,如图2所示,所述异构计算系统还包括PCIe切换(Switch)设备33,所述根复合体通过所述PCIe切换设备33与多个所述终端设备30连接。
具体地,所述根复合体集成在服务器主机中。在实际的应用过程中,基于服务器主机Host和SoC(配置为PCIe终端设备)形态的异构计算平台,存在因SoC运行操作系统和算法软件而引起的PCIe终端设备故障,受限于PCIe总线体系结构的一般特征,进而导致整个计算平台宕机或重启的技术问题。特别地,在多SoC作为PCIe EP的情况下,整个计算平台的冗余可靠性倍增。基于系统实验测试的结果发现,该计算平台由于PCIe总线硬件而引发的故障远低于因SoC运行系统和软件引发系统宕机或重新启动。因此提出了本申请的所述异构计算系统。
示例性地,在处理器为BMC的情况下,终端设备与BMC采用GPIO相连,实现心跳检测,可以根据系统的实际需求设置一定频率的脉冲(心跳),例如1秒/次的脉冲。终端设备将自身的设备状态与心跳信号绑定,BMC能够明确识别终端设备节点的状态。BMC与主机之间具备通信链路,即通过该通信链路反馈故障的终端设备的信息。
如图3所示,主机对终端设备做PCI扫描,基于DFS算法分配给终端设备总线号,并完成配置空间的配置。当终端设备故障时,BMC仅对AER中的错误类型、错误地址、错误源等信息进行记录,屏蔽中断信号。同时主机将故障终端设备的配置空间信息、BAR空间映射以及内存空间信息等相关数据存储于硬盘。主机将存储在内存的故障终端设备的信息处理完毕后通知BMC,此时BMC发起对故障终端设备节点的重启控制,重启完毕后通知BMC,并通过BMC通知主机,主机重新对重启后的终端设备节点发起PCI扫描命令,重新获得节点,并恢复之前故障终端设备的相关信息。
根据本申请的另一方面,还提供了一种服务器系统,该服务器系统包括任一种所述的异构计算系统。
所述的服务器系统包括任一种所述的异构计算系统,通过该异构计算系统,处理器在确定目标终端设备由于故障或者升级等原因需要复位时,拦截目标终端设备上报给根复合体的中断信号,避免根复合体接收到该中断信号造成根复合体异常甚至宕机复位,保证了故障处理过程中根复合体可以继续正常运行;并且,处理器不拦截目标设备发送给根复合体的设备标识,使得根复合体对该设备标识对应的目标终端设备的状态信息进行存储,存储完成后通知处理器,处理器再对目标终端设备进行复位,复位完成后由根复合体再对其状态信息进行恢复,保证了故障处理过程中目标终端设备的数据不会丢失,从而保证了服务器系统的运行可靠性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据所述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
需要说明的是,所述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:所述模块均位于同一处理器中;或者,所述各个模块以任意组合的形式分别位于不同的处理器中。
本实施例中的具体示例可以参考所述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,所述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (21)
1.一种异构计算系统,其特征在于,包括:
多个终端设备;
处理器,与多个所述终端设备通信连接,所述处理器用于确定多个终端设备中的目标终端设备是否处于需要复位的状态,在确定所述目标终端设备处于所述需要复位的状态的情况下,拦截所述目标终端设备上报至根复合体的中断信号,并使得所述目标终端设备将设备标识发送至所述根复合体,所述处理器还用于在接收到所述根复合体发送的存储完成信息的情况下,对所述目标终端设备进行复位,并发送复位完成信息至所述根复合体;
所述根复合体,分别与多个所述终端设备连接,所述根复合体用于接收所述设备标识,根据所述设备标识,存储所述设备标识对应的当前状态信息,在存储完成所述当前状态信息的情况下,发送所述存储完成信息至所述处理器,在接收到所述复位完成信息的情况下,与复位后的所述目标终端设备建立连接并将所述当前状态信息发送至所述目标终端设备。
2.根据权利要求1所述的系统,其特征在于,所述处理器还用于:
启动各所述终端设备对应的看门狗定时器的计数功能,并在接收到所述终端设备发送的喂狗信号的情况下,对所述终端设备对应的所述看门狗定时器进行清零;
确定所述目标终端设备对应的看门狗定时器的计数值是否超出阈值;
在所述目标终端设备对应的看门狗定时器的计数值超出阈值的情况下,确定所述目标终端设备故障,且确定所述目标终端设备处于所述需要复位的状态。
3.根据权利要求2所述的系统,其特征在于,所述处理器还用于:
在确定所述目标终端设备故障的情况下,关闭所述目标终端设备对应的所述看门狗定时器的计数功能;
在发送复位完成信息至所述根复合体之后,恢复所述目标终端设备对应的所述看门狗定时器的计数功能。
4.根据权利要求1所述的系统,其特征在于,所述终端设备还用于每隔第一预定时长发送一次心跳信号至所述处理器,所述处理器还用于:
每隔所述第一预定时长确定是否接收到各所述终端设备发送的所述心跳信号;
在未接收到所述心跳信号的情况下,确定未收到所述心跳信号的所述终端设备为所述目标终端设备,且确定所述目标终端设备出现故障,处于所述需要复位的状态。
5.根据权利要求1所述的系统,其特征在于,所述处理器还用于:
确定是否接收到所述目标终端设备的操作系统的复位请求信息,其中,所述复位请求信息为所述操作系统在所述目标终端设备的软件更新之后生成的信息,所述复位请求信息用于请求复位所述目标终端设备;
在接收到所述复位请求信息的情况下,确定所述目标终端设备处于所述需要复位的状态。
6.根据权利要求5所述的系统,其特征在于,所述复位请求信息为所述操作系统响应于作用在人机交互界面上的预定操作生成的,所述预定操作为反馈所述人机交互界面上显示的问询信息的操作,所述问询信息为在所述目标终端设备的软件更新的情况下,基本输入输出系统生成并发送给所述操作系统的,所述问询信息用于问询软件更新后是否对所述操作系统进行复位。
7.根据权利要求1所述的系统,其特征在于,所述处理器还用于:
拦截所述目标终端设备发送至所述根复合体的错误报告信息,所述错误报告信息包括所述中断信号、所述设备标识、错误类型、错误地址以及错误源;
屏蔽所述错误报告信息中的所述中断信号,屏蔽所述中断信号后的所述错误报告信息构成屏蔽后信息;
将所述屏蔽后信息发送至所述根复合体。
8.根据权利要求7所述的系统,其特征在于,所述处理器还用于:在拦截所述目标终端设备发送至所述根复合体的错误报告信息之后,根据所述设备标识、所述错误类型、所述错误地址以及所述错误源,生成错误日志。
9.根据权利要求1至8中任一项所述的系统,其特征在于,所述处理器还用于:
在对所述目标终端设备进行复位之后,确定所述目标终端设备是否处于所述需要复位的状态;
在确定所述目标终端设备处于所述需要复位的状态的情况下,控制所述目标终端设备对应的连续复位次数计数一次;
在确定所述目标终端设备未处于所述需要复位的状态的情况下,控制所述连续复位次数清零;
确定所述连续复位次数是否大于或者等于预定阈值;
在确定所述连续复位次数大于或者等于所述预定阈值的情况下,不拦截所述中断信号。
10.根据权利要求9所述的系统,其特征在于,所述根复合体还用于在接收到所述中断信号的情况下,响应于所述中断信号进行复位。
11.根据权利要求9所述的系统,其特征在于,所述处理器还用于:
在确定所述目标终端设备处于所述需要复位的状态且所述目标终端设备对应的所述连续复位次数小于所述预定阈值的情况下,拦截所述中断信号。
12.根据权利要求1至8中任一项所述的系统,其特征在于,所述处理器还用于以下之一:
控制所述目标终端设备复位;
将所述目标终端设备的下游端口对应的寄存器状态信息恢复至初始状态。
13.根据权利要求1至8中任一项所述的系统,其特征在于,所述当前状态信息包括所述目标终端设备的配置空间信息、BAR空间映射关系以及内存空间信息。
14.根据权利要求1至8中任一项所述的系统,其特征在于,所述根复合体还用于:
根据所述设备标识,将所述设备标识对应的配置空间信息、BAR空间映射关系以及内存空间信息存储至硬盘中。
15.根据权利要求14所述的系统,其特征在于,所述根复合体还用于:
根据所述设备标识对复位后的所述目标终端设备进行扫描,以恢复与所述目标终端设备之间的通信连接;
通过内存从所述硬盘中读取所述当前状态信息;
将读取的所述当前状态信息发送至所述目标终端设备。
16.根据权利要求1至8中任一项所述的系统,其特征在于,所述根复合体还用于:
在存储完成所述当前状态信息的情况下,断开与所述目标终端设备的连接。
17.根据权利要求1至8中任一项所述的系统,其特征在于,所述根复合体通过PCIe链路与各所述终端设备通信连接。
18.根据权利要求17所述的系统,其特征在于,所述根复合体还用于:
在根据所述设备标识,存储所述当前状态信息之前,采用深度优先搜索算法对所述PCIe链路进行扫描,为每个所述终端设备分配地址空间。
19.根据权利要求1至8中任一项所述的系统,其特征在于,所述终端设备包括:片上系统,所述片上系统用于运行Orin平台和NV平台中之一。
20.根据权利要求1至8中任一项所述的系统,其特征在于,所述处理器包括基板管理控制器。
21.一种服务器系统,其特征在于,包括权利要求1至20中任一项所述的异构计算系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311207617.6A CN116932274B (zh) | 2023-09-19 | 2023-09-19 | 异构计算系统和服务器系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311207617.6A CN116932274B (zh) | 2023-09-19 | 2023-09-19 | 异构计算系统和服务器系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932274A true CN116932274A (zh) | 2023-10-24 |
CN116932274B CN116932274B (zh) | 2024-01-09 |
Family
ID=88384753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311207617.6A Active CN116932274B (zh) | 2023-09-19 | 2023-09-19 | 异构计算系统和服务器系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932274B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015225522A (ja) * | 2014-05-28 | 2015-12-14 | 富士ゼロックス株式会社 | システムおよび障害処理方法 |
CN115080479A (zh) * | 2022-06-14 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 传输方法、服务器、设备、裸金属实例及基板管理控制器 |
CN115543872A (zh) * | 2021-06-29 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 一种设备管理方法、装置及计算机存储介质 |
CN115688089A (zh) * | 2022-11-23 | 2023-02-03 | 中国人民解放军国防科技大学 | 一种pcie协议的安全扩展方法、系统及介质 |
CN115904772A (zh) * | 2022-10-14 | 2023-04-04 | 苏州浪潮智能科技有限公司 | PCIe链路的错误确定方法、装置、设备及存储介质 |
CN116521596A (zh) * | 2023-06-29 | 2023-08-01 | 北京大禹智芯科技有限公司 | 一种基于Qemu虚拟环境的PCIe Switch模拟器的实现方法和装置 |
-
2023
- 2023-09-19 CN CN202311207617.6A patent/CN116932274B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015225522A (ja) * | 2014-05-28 | 2015-12-14 | 富士ゼロックス株式会社 | システムおよび障害処理方法 |
CN115543872A (zh) * | 2021-06-29 | 2022-12-30 | 腾讯科技(深圳)有限公司 | 一种设备管理方法、装置及计算机存储介质 |
CN115080479A (zh) * | 2022-06-14 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 传输方法、服务器、设备、裸金属实例及基板管理控制器 |
CN115904772A (zh) * | 2022-10-14 | 2023-04-04 | 苏州浪潮智能科技有限公司 | PCIe链路的错误确定方法、装置、设备及存储介质 |
CN115688089A (zh) * | 2022-11-23 | 2023-02-03 | 中国人民解放军国防科技大学 | 一种pcie协议的安全扩展方法、系统及介质 |
CN116521596A (zh) * | 2023-06-29 | 2023-08-01 | 北京大禹智芯科技有限公司 | 一种基于Qemu虚拟环境的PCIe Switch模拟器的实现方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116932274B (zh) | 2024-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6333410B2 (ja) | 障害処理方法、関連装置、およびコンピュータ | |
WO2021027481A1 (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
JP4544651B2 (ja) | フォールト回復/フォールト許容計算 | |
US20020026603A1 (en) | Method and apparatus for maintaining data coherency | |
EP3142011A1 (en) | Anomaly recovery method for virtual machine in distributed environment | |
CN107480014A (zh) | 一种高可用设备切换方法及装置 | |
KR20040047209A (ko) | 네트워크 상의 컴퓨터 시스템의 자동 복구 방법 및 이를구현하기 위한 컴퓨터 시스템의 자동 복구 시스템 | |
CN112363865A (zh) | 数据库故障恢复方法、装置及人脸图像搜索系统 | |
CN117389790B (zh) | 可恢复故障的固件检测系统、方法、存储介质及服务器 | |
RU2142159C1 (ru) | Способы проверки состояния процессора в электронных системах коммутации | |
US11704180B2 (en) | Method, electronic device, and computer product for storage management | |
US7484125B2 (en) | Method and apparatus for providing updated processor polling information | |
US10860411B2 (en) | Automatically detecting time-of-fault bugs in cloud systems | |
CN116932274B (zh) | 异构计算系统和服务器系统 | |
CN110532120A (zh) | 监控服务器系统中PCIe不可纠正错误的方法和装置 | |
CN117271234A (zh) | 故障诊断方法、装置、存储介质及电子装置 | |
CN114791900A (zh) | 基于Operator的Redis运维方法、装置、系统及存储介质 | |
CN109144815A (zh) | 一种实时检测的计算机故障处理系统 | |
CN103150236B (zh) | 面向进程失效错误的并行通信库状态自恢复方法 | |
US11954509B2 (en) | Service continuation system and service continuation method between active and standby virtual servers | |
CN112698980A (zh) | 异常处理方法、电子设备、存储介质 | |
US20120331334A1 (en) | Multi-cluster system and information processing system | |
CN111444032A (zh) | 一种计算机系统故障修复方法、系统及设备 | |
CN113609199B (zh) | 数据库系统、服务器及存储介质 | |
US11599428B2 (en) | Protecting databases in a distributed availability group |
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 |