CN116560936A - 异常监测方法、协处理器及计算设备 - Google Patents
异常监测方法、协处理器及计算设备 Download PDFInfo
- Publication number
- CN116560936A CN116560936A CN202210109088.5A CN202210109088A CN116560936A CN 116560936 A CN116560936 A CN 116560936A CN 202210109088 A CN202210109088 A CN 202210109088A CN 116560936 A CN116560936 A CN 116560936A
- Authority
- CN
- China
- Prior art keywords
- monitoring
- coprocessor
- processor
- bus
- main processor
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种异常监测方法,该方法应用于包括主处理器以及协处理器的主板,该主处理器与协处理器之间通过总线进行耦合,在进行异常监测过程中,协处理器对主板进行芯片级的异常监测,该芯片级的异常监测包括对主板中的主处理器或者主处理器与协处理器耦合的总线中的至少一种进行异常监测,并且,当检测到主板出现芯片级的异常时,协处理器生成主板出现芯片级异常。如此,不仅可以实现异常监测,而且,由于协处理器对主板进行芯片级的异常监测,这可以使得协处理器在异常监测过程中通常不会受到网络传输时延或者主板运行负载的影响,以此可以提高异常监测的准确性以及可靠性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种异常监测方法、协处理器及计算设备。
背景技术
服务器等计算设备在经历长时间运行后,可能会出现运行异常。比如,计算设备中的部分硬件器件在长时间运行后,可能因为发生老化或者受到电磁干扰等原因,导致计算设备的运行数据发生错误,从而引发该计算设备发生宕机。
目前,通常会为计算设备配置专用的监测设备,该监测设备可以定期基于安全外壳(Secure Shell,SSH)协议向该计算设备发送连接请求,并且当连接成功,监测设备确定该计算设备未发生宕机,而当出现连接失败时,监测设备确定该计算设备发生宕机。但是,在计算设备正常运行的情况下,如果该连接请求在网络传输过程中,因传输时延较大或者计算设备负荷较大而未能及时响应,监测设备可能会误判该计算设备发生宕机,降低了监测准确性。
因此,如何提高计算设备的异常监测的准确性以及可靠性,成为亟需解决的重要问题。
发明内容
本申请提供了一种异常监测方法、协处理器、计算设备、异常监测装置、计算机可读存储介质及计算机程序产品,用以提高针对计算设备的异常监测的准确性以及可靠性。
第一方面,本申请提供一种异常监测方法,该方法应用于包括主处理器以及协处理器的主板,该主处理器与协处理器之间通过总线进行耦合,在进行异常监测过程中,协处理器对主板进行芯片级的异常监测,该芯片级的异常监测包括对主板中的主处理器进行异常监测,或者对主处理器与协处理器耦合的总线进行异常监测,或者同时对主处理器以及该总线进行异常监测;当检测到主板出现芯片级的异常时,协处理器生成主板出现芯片级异常。
如此,不仅可以实现异常监测,而且,由于协处理器对主板进行芯片级的异常监测,这可以使得协处理器在异常监测过程中通常不会受到网络传输时延或者主板运行负载的影响,以此可以提高异常监测的准确性以及可靠性。另外,协处理器可以实现芯片级别的异常源的监测,这使得在存在异常后,可以快速定位出是主处理器发生异常,还是主处理器与协处理器之间的总线发生异常,或者主处理器以及总线同时发生异常,从而可以准确识别异常源,有效增强定位异常根因的能力,进而有助于可以降低故障恢复时延。
在一种可能的实施方式中,协处理器可以采用实时监测的方式对主板进行芯片级的异常监测。如此,协处理器可以实时监测出主板上的主处理器或者总线是否存在异常,以便在主处理器或总线中至少一种存在异常时及时进行上报和告警,降低故障恢复时延。
在一种可能的实施方式中,协处理器在采用实时监测方式对主板进行芯片级的异常监测时,具体可以是实时监测是否接收到主处理器的无指令超时中断,该无指令超时中断用于指示主处理器中的一个或者多个处理器核在预设时长内未接收到指令,并且,当接收到无指令超时中断时,协处理器可以确定主板出现芯片级异常,具体是主处理器发生异常。如此,可以通过监测是否接收到无指令超时中断来实时判断主处理器是否发生异常,以此实现在主处理器异常时进行快速定位。
在一种可能的实施方式中,协处理器在采用实时监测方式对主板进行芯片级的异常监测时,具体可以是实时监测是否接收到主处理器中的内部总线的中断信号,该中断信号用于指示主处理器中的内部总线运行故障,如内部总线存在数据传输阻塞或者数传输链路发生中断等,从而当接收到内部总线的中断信号时,协处理器可以确定主板出现芯片级异常,具体是主处理器中的内部总线发生异常。如此,可以通过监测是否接收到内部总线的中断信号来实时判断内部总线是否发生异常,以此实现在内部总线出现异常时进行快速定位。
在一种可能的实施方式中,协处理器在采用实时监测方式对主板进行芯片级的异常监测时,具体可以是实时监测是否接收到协处理器与主处理器耦合的总线的中断信号,该中断信号用于指示协处理器与主处理器耦合的总线运行故障,如总线出现数据传输阻塞或者数据传输链路发生中断等,从而当接收到该总线的中断信号时,协处理器可以确定主板出现芯片级异常,具体是协处理器与主处理器耦合的总线发生异常。如此,可以通过监测是否接收到协处理器与主处理器耦合的总线的中断信号,来实时判断该总线是否发生异常,以此实现在协处理器与主处理器耦合的总线出现异常时进行快速定位。
在一种可能的实施方式中,协处理器可以采用周期监测方式对主板进行芯片级的异常监测。如此,协处理器不仅可以通过周期监测的方式监测出主板上的主处理器或者总线是否存在异常,而且,也可以降低异常监测的成本。
在一种可能的实施方式中,协处理器在采用周期监测方式对主板进行芯片级的异常监测时,具体可以是在第一监测周期内,监测是否接收到主处理器的第一处理器核发送的心跳消息,该心跳消息用于指示第一处理器核正常运行,并且,当在该第一监测周期内未接收到心跳消息时,协处理器确定该主板出现芯片级异常,具体是第一处理器核发生异常。如此,可以通过周期监测的方式确定主处理器中的第一处理器核是否发生异常,以便在该第一处理器核发生异常时实现对该异常源的精确定位。
在一种可能的实施方式中,协处理器在确定第一处理器核发生异常后,可以在第二监测周期内监测是否接收到第二处理器核发送的心跳消息,该第二处理器核发送的心跳消息用于指示所述第二处理器核正常运行,该第二处理器为主处理器中除第一处理器核之外的处理器核,并且,当未接收到该第二处理器核发送的心跳消息时,协处理器可以确定第二处理器核发生异常。如此,可以在第一处理器核发生异常后,检测出主处理器上的其余处理器核是否也存在异常,并可以通过心跳消息精确定位出存在异常的其它处理器核。
在一种可能的实施方式中,协处理器在采用周期监测方式对主板进行芯片级的异常监测时,具体可以是周期性的监测主处理器中的所有处理器核,并且,当未接收到主处理器中的所有处理器核中第三处理器核发送的心跳消息时,确定该第三处理器核发生异常,该第三处理器核为主处理器中的任意一个处理器核。如此,在主处理器中的任意一个处理器核存在异常时,协处理器可以通过周期监测的方式精确定位出该存在异常的处理器核。
在一种可能的实施方式中,主板除了包括主处理器以及协处理器之外,还可以包括基板管理控制器,则协处理器在生成主板出现芯片级异常后,可以向基板管理控制器上报该主板出现芯片级异常,以触发基板管理控制器进行异常告警。如此,基板管理控制器可以通过异常告警来提示运维人员及时对异常源进行恢复,以此降低异常恢复的时延。
在一种可能的实施方式中,协处理器与主处理器之间耦合的总线,可以包括高级可扩展接口AXI总线、超级传输HT总线、快速通道互联QPI总线、统一总线UB、计算快速链接CXL、快捷外设部件互连PCIe总线中的至少一种,或者也可以是其它可用于数据通信的信号线,本实施例对此并不进行限定。
第二方面,本申请还提供了一种异常监测方法,该方法应用于基板管理控制器BMC,该BMC位于主板,该主板除了包括BMC之外,还包括通过总线进行耦合的主处理器以及协处理器,该方法包括:BMC接收协处理器上报的主板出现芯片级异常,该主板出现芯片级异常是指主处理器发生异常或者该总线发生异常,然后,BMC对该芯片级异常进行解析,生成异常监测结果,并根据该异常监测结果进行异常告警。如此,基板管理控制器可以通过异常告警来提示运维人员及时对异常源进行恢复,以此降低异常恢复的时延。
在一种可能的实施方式中,主板还包括存储器,则BMC还可以生成监测日志,该监测日志包括异常监测结果,然后,BMC可以将该监测日志写入存储器中。这样,当运维人员进行异常恢复时,可以通过查看存储器中的监测日志获得异常源的具体信息,以便运维人员对异常源的精确定位以及快速恢复。
第三方面,本申请还提供了一种异常监测装置,所述异常监测装置包括用于执行第一方面或第一方面任一种可能实现方式中的异常监测方法的各个模块。
第四方面,本申请还提供了一种异常监测装置,所述异常监测装置包括用于执行第二方面或第二方面任一种可能实现方式中的异常监测方法的各个模块。
第五方面,本申请还提供了一种协处理器,该协处理器由逻辑电路组成,并且该协处理器用于执行第一方面或第一方面任一种可能实现方式中的异常监测方法的操作步骤。
第六方面,本申请还提供了一种计算设备,包括主板,该主板包括主处理器以及协处理器,并且,该协处理器用于根据计算机指令执行第一方面或第一方面任一种可能实现方式中的异常监测方法的操作步骤。
第七方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在协处理器上运行时,使得协处理器执行上述第一方面以及第一方面中任意一种实施方式所述方法的操作步骤。
第八方面,本申请提供了一种包含指令的计算机程序产品,当其在协处理器上运行时,使得协处理器执行上述第一方面以及第一方面中任意一种实施方式所述方法的操作步骤。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
图1为本申请提供的一示例计算设备的结构示意图;
图2为本申请提供的一种异常监测方法的流程示意图;
图3为本申请提供的一示例性显示界面的示意图;
图4为本申请提供的一种异常监测装置的结构示意图;
图5为本申请提供的另一种异常监测装置的结构示意图;
图6为本申请提供的一种计算设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请中的技术方案进行描述。
参见图1,为本申请提供的一种计算设备的硬件结构示意图。如图1所示,计算设备100包括主处理器101、协处理器102,该主处理器101与协处理器102之间可以通过总线(图1中未示出)耦合,从而协处理器102可以通过该总线与主处理器101进行数据交互。并且,主处理器101以及协处理器102可以部署于计算设备100中的主板201上。
其中,主处理器101,用于运行操作系统,并且,对于计算设备100上运行的业务,主处理器101还可以为该业务执行相应的数据运算和资源调度等。协处理器102,用于协助主处理器101进行相应的管理和控制,并且,部分协处理器102还可以执行主处理器101无法执行的任务等。
作为一些示例,主处理器101,例如可以是中央处理器(central processingunit,CPU),包括基于高级精简指令集机器(advanced reduced instruction setcomputer machine,ARM)架构的处理器(如ARMv8、ARMv9等)、基于复杂指令集架构的X86处理器(如Skylake等),或者主处理器101可以通过专用集成电路(application-specificintegrated circuit,ASIC)实现,或可编程逻辑器件(programmable logic device,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程逻辑门阵列(field programmable gate array,FPGA)、通用阵列逻辑(genericarray logic,GAL)或其任意组合实现等。
协处理器102,例如可以是芯片级系统(system on chip,SOC)上的辅助处理器、图形处理器(graphics processing unit,GPU)、智能管理单元(Intelligent managementunit,IMU)、管理引擎(management engine,ME)、单片机中的任意一种,或者可以是其它协处理器等。本实施例中,对于主处理器101以及协处理器的具体实现方式并不进行限定。
并且,主处理器101以及协处理器102之间的总线,例如可以是高级可扩展接口(advanced extensible interface,AXI)总线、超级传输(hyper transport,HT)总线、快速通道互联(quick path interconnect,QPI)总线、统一总线(Unified bus,UB)、计算快速链接(compute express link,CXL)、快捷外设部件互连(peripheral componentinterconnect express,PCIe)总线中的一种,或者可以是其它可用于信息交互的信号线,如共享地址线、数据线等,本实施例对此不作限定。
实际应用场景中,由于硬件老化或者受到电磁干扰等原因,可能导致主处理器101与协处理器102之间的总线或者主处理器101发生异常,从而进一步导致计算设备100发生宕机等故障。为此,本申请实施例提供了一种异常监测方法,由协处理器102对主板进行芯片级异常监测,也即对主板中处理器101或总线中至少一种进行监控。并且,当监测到主处理器101以及总线中的至少一种发生异常时,协处理器101可以生成主板201出现芯片级异常。如此,不仅可以实现对于计算设备100的异常监测,而且,由于协处理器102是在计算设备100内部执行监测过程,这可以使得协处理器102在得到异常监测结果的过程中通常不会受到网络传输时延或者计算设备100的运行负载的影响,以此可以提高异常监测的准确性以及可靠性。
另外,协处理器102可以实现芯片级别的异常源的监测,这使得在计算设备100发生宕机等故障后,可以快速定位出主处理器101以及主处理器101与协处理器102之间的总线中的至少一种发生异常,从而可以准确识别异常源,有效增强定位计算设备100异常根因的能力,有助于可以降低计算设备100的故障恢复时延。
值得注意的是,图1中是以主处理器101以及协处理器102在一个芯片上进行集成部署为例进行说明(即协处理器102位于主处理器101所在的芯片),在其他可能的实现方式中,主处理器101以及协处理器102之间也可以是分别部署于不同的芯片。
进一步地,计算设备100不仅包括主处理器101、协处理器102,还可以包括基板管理控制器(baseboard management controller,BMC)103以及存储器104,并且,BMC103以及存储器104可以部署于主板201上。其中,BMC103用于接收协处理器102提供的信息,并负责对该信息进行解析以及信息存储;BMC103可以通过智能平台管理接口(intelligentplatform management interface,IPMI)接口或者其它硬件接口与协处理器102进行数据通信,如BMC103可以通过IPMI接口接收协处理器102上报的主板201出现芯片级异常等。存储器104用于负责数据存储,例如可以是嵌入式多媒体卡(embedded multi media card,EMMC)等;存储器104可以通过安全数字输入输出(secure digital input and output,SDIO)接口或者其它接口接收BMC103发送的数据,并进行数据存储,如存储器104通过SDIO接口接收监测日志并存储监测日志等。
另外,计算设备100内部还可以配置外设105(图1中以外设105配置于计算设备100内部为例),或者计算设备100可以外接外设105等,外设105可以用于为计算设备100对外呈现信息或者向计算设备100输入数据。并且,外设105可以通过视频图形阵列(videographics array,VGA)接口或者其它接口与BMC103进行数据交互。作为一些示例,外设105进行可以是显示器,或者可以是键盘显示器鼠标(keyboard video mouse,KVM)等。
实际应用时,计算设备100具体可以是计算服务器,例如高性能计算(highperformance computing,HPC)集群中的服务器等。或者,计算设备100可以是具有数据存储能力的存储服务器,此时,计算设备100中还可以集成有固态硬盘(solid state disk,SSD)等存储元件。或者,计算设备100可以是终端设备,如手机、笔记本电脑等便携式终端设备等。本实施例中,对于计算设备100的具体应用场景并不进行限定。
需要说明的是,图1所示的计算设备100仅作为一种示例性说明,实际应用时,计算设备100也可以采用其它可适用的架构。例如,在其它可能的计算设备100中,主板201上还可以集成有电源,该电源分别与主处理器101、协处理器102、BMC103、存储器104连接,并为其进行供电;或者,计算设备100中可以配置有更多数量的主处理器或协处理器等。
下面,结合附图进一步介绍本申请提供的针对计算设备100的异常监测过程。
参见图2,图2为本申请实施例提供的一种异常监测方法的流程示意图,其中,该方法可以应用于图1所示的计算设备100,具体可以由图1中的协处理器102执行该方法。
如图2所示,该方法具体可以包括:
S201:协处理器102对主板201进行芯片级的异常监测,该芯片级的异常监测包括对主板201中的主处理器101或主处理器101与协处理器102之间的总线中的至少一种进行异常监测。
由于在计算设备100外部进行异常监测,可能会受到网络传输时延以及计算设备100自身负载的影响,因此,本实施例中,可以在计算设备100内部,由协处理器102对引起计算设备100产生宕机等故障的故障源进行监测。具体实现时,协处理器102可以对主板201进行芯片级的异常监测。作为一些示例,协处理器102对主板201进行芯片级的异常监测主要包括以下方式中任意一种:
方式1,协处理器102可以对主处理器101进行异常监测。
在第一种监测主处理器101的实现示例中,协处理器102可以实时监测是否接收到来自主处理器101的无指令超时中断,该无指令超时中断用于指示主处理器102中的一个或者多个处理器核在预设时长内未接收到指令,并且,当接收到无指令超时中断时,协处理器102可以确定该主处理器101发生异常。其中,主处理器101中可以包括一个或者多个处理器核,并且,主处理器101在确定存在一个或者多个处理器核在预设时长内一直没有接收到操作系统内核提交的指令时,这很可能是因为该处理器核发生故障而导致该处理器核长时间处于无指令提交(no-commit)的状态。此时,主处理器101可以生成无指令超时中断,并将其发送给协处理器102,以便通过该无指令超时中断通知协处理器102发生异常。
进一步地,协处理器102在接收到该无指令超时中断后,可以访问主处理器101并收集异常信息。其中,主处理器101上可以集成多个元件,如处除了上述处理器核之外,还可以包括缓存(cache)、内存(memory)、内存控制器(memory controller)、输入输出控制器(IO controller)、IO扩展控制器以及其它能够执行计算功能的逻辑电路等。其中,输入输出控制器例如可以是PCIe控制器、串行连接小型计算机系统接口控制器(serial attachedsmall computer system interface controller)、串行高级技术附件控制器(serialadvanced technology attachment controller)等;IO扩展控制器例如可以是集成电路控制器(inter-integrated circuit controller)。因此,协处理器102可以在接收到无指令超时中断后,通过总线访问主处理器101上的缓存、内存、内存控制器等多个元件,并确定各个元件是否存在异常(如确定该元件是否发生存储错误/控制错误等),从而可以收集得到异常元件的信息,如异常元件的名称、异常原因等信息。其中,通过访问缓存、内存等元件以确定该元件是否发生异常,在实际应用场景中存在相关应用,本实施例对此不再进行详述。
在第二种监测主处理器101的实现示例中,协处理器102可以实时监测是否接收到来自主处理器101的内部总线所发送的中断信号,该中断信号可以指示内部总线在运行过程中发生故障,如通信阻塞、链路断开等故障。其中,主处理器101的内部总线,是指主处理器101中的多个元件之间进行数据交互时所使用的总线,比如,环形总线(ring bus)、mesh总线等。具体实现时,该内部总线上可以是部署有系统隔离墙(system isolation wall,SIW),并且,主处理器101上的两个元件之间通过该内部总线进行通信时,可以由该内部总线上的SIW判断这两个元件之间的数据通信过程是否合法。相应地,协处理器102可以通过该内部总线访问主处理器101上的元件。比如,协处理器102可以向主处理器101发送访问指令,该访问指令可以由主处理器101上的内部总线传输至主处理器101中的元件。当内部总线正常运行时,协处理器102可以通过该访问指令时实现对于主处理器101中元件的访问;而当内部总线发生故障时,内部总线上的SIW可以返回中断信号并且该中断信号被传输至协处理器102。如此,协处理器102在接收到来自内部总线的中断信号后,可以确定主处理器101发生异常,具体为主处理器101上的内部总线发生异常。
在第三种监测主处理器101的实现示例中,协处理器102可以周期性的通过心跳监测确定主处理器101中的第一处理器核是否发生故障,该第一处理器核为主处理器101中用于对片上资源进行统一调度和管理的处理器核,在部分应用场景中,该第一处理器核也可以称之为主核。具体实现时,主处理器101中的第一处理器核在运行过程中,可以周期性的向协处理器102发送心跳消息,该心跳消息例如可以是第一处理器核发送的中断响应等,用于指示第一处理器核正常运行。相应的,协处理器102可以监测在第一处理器核对应的第一监测周期内是否接收到来自该第一处理器核的心跳消息,并且,当协处理器102在该第一监测周期内未接收到该心跳消息时,表征该第一处理器核很可能是因为发生故障而导致协处理器102未接收到心跳消息,此时,协处理器102可以确定主处理器101发生异常,具体为该第一处理器核发生异常。
其中,第一处理器核可以在运行过程中主动向协处理器102周期性的发送心跳消息,从而协处理器102可以根据每个监测周期内是否接收到该心跳消息,确定第一处理器核是否发生异常。或者,协处理器102可以通过系统控制管理接口(System Control andManagement Interface,SCMI)在每个监测周期内主动向主处理器101中的第一处理器核发送心跳指令,从而第一处理器核可以基于该心跳指令生成中断响应(也即心跳消息),并将该中断响应反馈给协处理器102。这样,当协处理器102在监测周期内未接收到该中断响应时,即可确定该第一处理器核发生异常。
进一步地,协处理器102在确定第一处理器核发生异常后,可以访问主处理器101上多个元件,如主处理器101上的缓存、内存、内存控制器、输入输出控制器、IO扩展控制器以及其它能够执行计算功能的逻辑电路等,以确定该主处理器101上的元件是否发生异常,并针对存在异常的元件收集异常信息。
在第四种监测主处理器101的实现示例中,协处理器102在确定第一处理器核发生异常后,可以启动监测主处理器101上的其它处理器核是否发生异常。以监测主处理器101上的第二处理器核为例,该第二处理器核为主处理器101中除第一处理器核之外的处理器核,协处理器102可以监测在第二处理器核对应的第二监测周期内是否接收到来自该第二处理器核发送的心跳消息,该心跳消息用于指示第二处理器核正常运行。并且,当在该第二监测周期内未接收到来自第二处理器核的心跳消息时,协处理器102可以确定该第二处理器核发生异常;而当在该第二监测周期内接收到该心跳消息时,协处理器102可以确定该第二处理器核运行正常。其中,第一处理器核对应的第一监测周期与第二处理器核的对应的第二监测周期可以相同,也可以是不同。
在第五种监测主处理器101的实现示例中,协处理器102可以周期性的监测主处理器101中的所有处理器核,以监测第三处理器核为例,该第三处理器核为主处理器101中所有处理器核中的任意一个处理器核,协处理器102可以监测在第三处理器核对应的第三监测周期内是否接收到来自该第三处理器核发送的心跳消息,该心跳消息用于指示第三处理器核正常运行。并且,当在该第三监测周期内未接收到来自第三处理器核的心跳消息时,协处理器102可以确定该第三处理器核发生异常;而当在该第三监测周期内接收到该心跳消息时,协处理器102可以确定该第三处理器核运行正常。如此,协处理器102可以基于上述方式可以对主处理器101中的所有处理器核进行异常监测,并可以确定出该主处理器101中存在异常的全部处理器核。
实际应用时,协处理器102可以同时执行上述五种实现示例中的任意一种或者多种,如同时监测主处理器101中的内部总线以及处理器核是否存在异常等,本实施例对此并不进行限定。
方式2,协处理器102可以对主处理器101与协处理器102之间耦合的总线进行异常监测。
在第一种监测总线的实现示例中,协处理器102可以实时监测是否接收到来自主处理器101与协处理器102进行耦合的总线所发送的中断信号,该中断信号用于指示该总线运行故障,并且,当接收到该总线发送的中断信号时,协处理器102可以确定该总线发生异常。其中,当主处理器101具体为ARM处理器时,主处理器101与协处理器102进行耦合的总线可以通过SIW向协处理器102发送中断信号。具体地,耦合主处理器101与协处理器102的总线中可以配置有SIW,并且,在协处理器102通过总线访问主处理器101的过程中,协处理器102发送的访问指令会先经过SIW。SIW在确定该访问指令为合法指令后,才将该访问指令传输至主处理器101,实现协处理器102对于主处理器101的访问;而在出现访问错误或者访问无响应时,SIW会向协处理器102反馈相应的消息,以避免协处理器102因访问失败而处于挂死状态。SIW在运行过程中可以感知该总线在运行过程中是否发生故障,如感知总线是否存在通信阻塞、链路断开等故障,并在确定总线出现运行故障时,生成指示总线运行故障的中断信号,并将该中断信号发送给协处理器102。
在第二种监测主处理器101的实现示例中,协处理器102采用实时监测方式进行异常监测,并且主板201基于X86架构进行部署,则,协处理器102可以通过主机嵌入式控制器接口(host embedded controller interface,HECI)与主处理器102进行通信。此时,该协处理器102具体可以是管理引擎,从而协处理器102可以根据通过HECI接口访问主处理器101的状态确定主处理器101是否发生故障。比如,当协处理器102通过HECI接口访问主处理器101时出现访问失败时,可以确定该主处理器101发生异常等。
值得注意的是,上述各种实现示例仅作为协处理器102进行异常监测的示例性说明,在其它实施例中,协处理器102也可以是通过其它方式实现对该主处理器101或总线中的至少一种进行异常监测;并且,实际应用时,协处理器102可以同时执行上述多种实现示例,如同时对主处理器101以及总线进行异常监测等,本实施例对此并不进行限定。另外,上述协处理器102进行异常监测的功能,可以是在协处理器102启动并运行过程中自动执行,如实现上述协处理器102所执行的异常监测功能的程序代码可以预先烧录至协处理器102中的固件中,从而协处理器102在启动并运行时即可开始执行异常监测功能。或者,协处理器102可以在运行过程中的任意时间段内开启该异常监测功能,如可以由用户或者运维人员触发该协处理器102开启异常监测功能等。
需要说明的是,本实施例中的实时监测与周期监测属于相对概念,即实时监测方式所产生的异常监测时延远小于周期监测方式所产生的异常监测时延。比如,当采用实时监测方式时,协处理器102可以在纳秒级的时延内监测到主处理器101或总线出现异常,达到或者近似达到“实时”的效果;而当采用周期监测方式时,协处理器102可以在毫秒级或者秒级的时延内监测到主处理器101或总线出现异常,异常监测时延相对较长。
S202:当监测到主处理器101或该总线发生异常时,协处理器102生成主板201出现芯片级异常。
本实施例中,协处理器102在确定主处理器101或总线中的至少一种存在异常时,生成主板201出现芯片异常。进一步地,协处理器102还可以将主板201出现芯片级异常的指示信息上报给BMC103。如此,不仅可以实现对计算设备100的异常监测,而且还可以实现芯片级的异常定位,即在计算设备100发生故障时,可以定位出是主板201中的一个或者多个芯片上的主处理器102或总线中的至少一种发生故障。
示例性地,协处理器102在上报主板201出现芯片级异常时,可以将收集的异常信息以及指示主板201出现芯片级异常的信息一并上报给BMC103。其中,该异常信息可以是由协处理器102在确定存在异常时对主处理器101上的元件进行收集进行确定,如主处理器101上异常元件的名称、异常原因等。
进一步地,协处理器102在监测到主处理器101或总线中的至少一种存在异常后,还可以触发BMC103进行异常告警。具体地,本实施例还可以包括:
S203:BMC103在接收到协处理器102上报的主板201出现芯片级异常后,进行异常告警。
在一种可能的实施方式中,BMC103在接收到主板201出现芯片级异常的信息后,可以对该信息进行解析,生成主处理器101或总线中的至少一种发生异常的异常监测结果,从而BMC103可以根据该异常监测结果进行异常告警。示例性地,BMC103可以根据该异常监测结果生成告警信息,并将其发送给外设105,以便外设105可以根据该告警信息做出相应的告警提示。比如,当外设105具体为显示器时,外设105可以在接收到BMC103发送的告警信息后,可以在显示界面中呈现主处理器101或总线中的至少一种发生异常的告警提示。例如,当监测到主处理器101存在异常时,外设105可以在图3所示的显示界面中呈现“主处理器当前存在异常,请及时修复”的告警提示等。这样,用户或者运维人员在查看到该告警内容后,不仅可以确定该计算设备100发生异常,而且还可以快速定位到计算设备100发生异常的位置为主板201上的主处理器101或总线中的至少一种,从而可以对计算设备100进行相应的维护操作,提高对于计算设备100的异常恢复效率,进而提高计算设备100上的业务恢复效率。当然,外设105也可以是通过语音、亮灯等方式进行异常告警,本实施例对此并不进行限定。
另外,BMC103在确定存在芯片级异常后,还可以生成包括异常监测结果的监测日志,以便在该监测日志中记录主处理器101或总线中的至少一种出现异常。比如,BMC103可以先创建监测日志,并根据协处理器102收集的异常信息的时间戳,按照时间先后顺序整理成日志条目,并将其记录在该监测日志中。然后,BMC103可以将生成的监测日志发送给存储器104中进行存储,或者通过其它方式存储该监测日志等,本实施例对此并不进行限定。这样,用户或者运维人员在确定计算设备100存在异常后,可以读取存储器104存储的监测日志,并根据该监测日志中记录的日志条目对主处理器101或总线中的至少一种进行异常分析,以便对主处理器101或总线中的至少一种进行高效维护。
本实施例中,不仅可以实现异常监测,而且,由于协处理器102对主板201进行芯片级的异常监测,这可以使得协处理器102在异常监测过程中通常不会受到网络传输时延或者主板201运行负载的影响,以此可以提高异常监测的准确性以及可靠性。另外,协处理器102可以实现芯片级别的异常源的监测,这使得在存在异常后,可以快速定位出是主处理器101发生异常,还是主处理器101与协处理器102之间的总线发生异常,或者主处理器101以及总线同时发生异常,从而可以准确识别异常源,有效增强定位异常根因的能力,进而有助于可以降低故障恢复时延。
值得注意的是,本领域的技术人员根据以上描述的内容,能够想到的其他合理的步骤组合,也属于本申请的保护范围内。其次,本领域技术人员也应该熟悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请所必须的。
上文中结合图1至图3,详细描述了本申请所提供的异常监测方法,下面将结合图4至图6,描述根据本申请所提供的异常监测装置和计算设备。
图4为本申请提供的一种异常监测装置的结构示意图。异常监测装置400应用于主板中的协处理器,如上述协处理器102等,并且,该主板还包括主处理器,该主处理器与协处理器之间通过总线耦合,如图4所示,异常监测装置400可以包括:
异常监测模块401,用于对所述主板进行芯片级的异常监测,所述芯片级的异常监测包括对所述主板中所述主处理器或所述总线中至少一种进行异常监测;
生成模块402,用于当监测到所述主板出现所述芯片级的异常时,生成所述主板出现芯片级异常。
在一种可能的实施方式中,所述异常监测模块401具体用于采用实时监测方式对所述主板进行芯片级的异常监测。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
当接收到所述主处理器的无指令超时中断时,确定所述主处理器发生异常,其中,所述无指令超时中断用于指示所述主处理器中的一个或者多个处理器核在预设时长内未接收到指令。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
监测是否接收所述主处理器中的内部总线的中断信号,所述中断信号用于指示所述内部总线运行故障;
当接收到所述中断信号时,确定所述内部总线发生异常。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
监测是否接收到所述总线的中断信号,所述中断信号用于指示所述总线运行故障;
当接收到所述中断信号时,确定所述总线发生异常。
在一种可能的实施方式中,所述异常监测模块401具体用于采用周期监测方式对所述主板进行芯片级的异常监测。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
在第一监测周期内,监测是否接收到所述主处理器的第一处理器核发送的心跳消息,所述心跳消息用于指示所述第一处理器核正常运行;
当在所述第一监测周期内未接收到所述心跳消息时,确定所述第一处理器核发生异常。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
在第二检测周期内,监测是否接收到第二处理器核发送的心跳消息,所述第二处理器核发送的心跳消息用于指示所述第二处理器核正常运行,所述第二处理器核为所述主处理器中除所述第一处理器核之外的处理器核;
当在所述第二监测周期内未接收到所述第二处理器核发送的心跳消息时,确定所述第二处理器核发生异常。
在一种可能的实施方式中,所述异常监测模块401,具体用于:
周期性的监测所述主处理器中所有处理器核;
当未接收所述主处理器中所有处理器核中第三处理器核发送的心跳消息时,确定所述第三处理器核发生异常,所述第三处理器核为所述主处理器中任意一个处理器核。
在一种可能的实施方式中,所述异常监测装置400还包括:
上报模块403,用于向所述BMC上报所述主板出现所述芯片级异常,以触发所述BMC进行异常告警。
在一种可能的实施方式中,所述总线包括高级可扩展接口AXI总线、超级传输HT总线、快速通道互联QPI总线、统一总线UB、计算快速链接CXL、快捷外设部件互连PCIe总线中的至少一种。
根据本申请实施例的异常监测装置400可对应于执行本申请实施例中描述协处理器102所执行的方法,并且异常监测装置400的各个模块的上述和其它操作或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述。
本实施例中,不仅可以实现异常监测,而且,由于协处理器对主板进行芯片级的异常监测,这可以使得协处理器在异常监测过程中通常不会受到网络传输时延或者主板运行负载的影响,以此可以提高异常监测的准确性以及可靠性。另外,协处理器可以实现芯片级别的异常源的监测,这使得在存在异常后,可以快速定位出是主处理器发生异常,还是主处理器与协处理器之间的总线发生异常,或者主处理器以及总线同时发生异常,从而可以准确识别异常源,有效增强定位异常根因的能力,进而有助于可以降低故障恢复时延。
图5为本申请提供的另一种异常监测装置的结构示意图。异常监测装置500应用于主板中的BMC,如上述BMC103等,并且,该主板还包括主处理器以及协处理器,该主处理器与协处理器之间通过总线耦合,如图5所示,异常监测装置500可以包括:
接收模块501,用于接收协处理器上报的主板出现芯片级异常,该主板出现芯片级异常是指主处理器发生异常或者该总线发生异常;
解析模块502,用于该芯片级异常进行解析,生成异常监测结果;
告警模块503,用于根据该异常监测结果进行异常告警。
在一种可能的实施方式中,主板还包括存储器,则异常监测装置500,还包括:
生成模块504,用于生成监测日志,该监测日志包括异常监测结果;
写入模块505,用于将该监测日志写入存储器中。
根据本申请实施例的异常监测装置500可对应于执行本申请实施例中描述BMC103所执行的方法,并且异常监测装置500的各个模块的上述和其它操作或功能分别为了实现图2中的各个方法的相应流程,为了简洁,在此不再赘述。
图6为本申请提供的一种计算设备600的示意图,如图所示,所述计算设备600包括主板700,该主板700包括主处理器601、协处理器602,并且该主处理器601与协处理器602通过总线603进行耦合,从而主处理器601与协处理器602通过总线603进行数据通信。可选地,主板700还可以包括存储器604、基板管理控制器605以及通信接口606,相应的,主处理器601、协处理器602、存储器604、基板管理控制器605以及通信接口606可以通过该总线603进行通信。
值得注意的是,总线603除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线603。
本实施例中,主处理器601可以是CPU,还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立器件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
协处理器602,例如可以是SOC上的辅助处理器、GPU、IMU、ME、单片机或逻辑电路中的任意一种,或者可以是其它协处理器等。
作为一种可能的实现方式,主处理器601和协处理器602可以封装为一个芯片,也可以被分别封装为一个芯片。
存储器604可以包括只读存储器和随机存取存储器,并向主处理器601以及协处理器602提供指令和数据。存储器604还可以包括非易失性随机存取存储器。
存储器604可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
通信接口606,用于与计算设备600连接的其它设备进行通信。
应理解,根据本申请实施例的计算设备600可对应于本申请实施例中图2中的各个方法的相应流程,为了简洁,在此不再赘述。
本申请还提供一种主板,该主板结构如图6中主板700所示,主板700包括主处理器和协处理器,协处理器用于实现上述图2所示方法中协处理器所实现的功能,为了简洁,在此不再赘述。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘(solid state drive,SSD)。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种异常监测方法,其特征在于,所述方法应用于主板,所述主板包括主处理器以及协处理器,所述主处理器与所述协处理器通过总线耦合,所述方法由协处理器执行,包括:
对所述主板进行芯片级的异常监测,所述芯片级的异常监测包括对所述主板中所述主处理器或所述总线中至少一种进行异常监测;
当监测到所述主板出现所述芯片级的异常时,生成所述主板出现芯片级异常。
2.根据权利要求1所述的方法,其特征在于,所述协处理器采用实时监测方式对所述主板进行芯片级的异常监测。
3.根据权利要求2所述的方法,其特征在于,所述采用实时监测方式对所述主板进行芯片级的异常监测,包括:
当接收到所述主处理器的无指令超时中断时,确定所述主处理器发生异常,其中,所述无指令超时中断用于指示所述主处理器中的一个或者多个处理器核在预设时长内未接收到指令。
4.根据权利要求2所述的方法,其特征在于,所述采用实时监测方式对所述主板进行芯片级的异常监测,包括:
监测是否接收所述主处理器中的内部总线的中断信号,所述中断信号用于指示所述内部总线运行故障;
当接收到所述中断信号时,确定所述内部总线发生异常。
5.根据权利要求2所述的方法,其特征在于,所述采用实时监测方式对所述主板进行芯片级的异常监测,包括:
监测是否接收到所述总线的中断信号,所述中断信号用于指示所述总线运行故障;
当接收到所述中断信号时,确定所述总线发生异常。
6.根据权利要求1所述的方法,其特征在于,所述协处理器采用周期监测方式对所述主板进行芯片级的异常监测。
7.根据权利要求6所述的方法,其特征在于,所述采用周期监测方式对所述主板进行芯片级的异常监测,包括:
在第一监测周期内,监测是否接收到所述主处理器的第一处理器核发送的心跳消息,所述心跳消息用于指示所述第一处理器核正常运行;
当在所述第一监测周期内未接收到所述心跳消息时,确定所述第一处理器核发生异常。
8.根据权利要求7所述的方法,其特征在于,在确定所述第一处理器核发生异常之后,所述方法还包括:
在第二检测周期内,监测是否接收到第二处理器核发送的心跳消息,所述第二处理器核发送的心跳消息用于指示所述第二处理器核正常运行,所述第二处理器核为所述主处理器中除所述第一处理器核之外的处理器核;
当在所述第二监测周期内未接收到所述第二处理器核发送的心跳消息时,确定所述第二处理器核发生异常。
9.根据权利要求6所述的方法,其特征在于,所述协处理器采用周期监测方式对所述主板进行芯片级的异常监测,包括:
周期性的监测所述主处理器中所有处理器核;
当未接收所述主处理器中所有处理器核中第三处理器核发送的心跳消息时,确定所述第三处理器核发生异常,所述第三处理器核为所述主处理器中任意一个处理器核。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述主板还包括基板管理控制器BMC,所述方法还包括:
向所述BMC上报所述主板出现所述芯片级异常,以触发所述BMC进行异常告警。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述总线包括高级可扩展接口AXI总线、超级传输HT总线、快速通道互联QPI总线、统一总线UB、计算快速链接CXL、快捷外设部件互连PCIe总线中的至少一种。
12.一种协处理器,其特征在于,所述协处理器由逻辑电路组成,所述协处理器用于实现如权利要求1至11中任一所述方法的操作步骤的功能。
13.一种计算设备,其特征在于,包括主板,所述主板包括主处理器以及协处理器,所述主处理器与所述协处理器通过总线耦合,所述协处理器用于根据所述计算机指令执行如权利要求1至11任一项所述方法的操作步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210109088.5A CN116560936A (zh) | 2022-01-28 | 2022-01-28 | 异常监测方法、协处理器及计算设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210109088.5A CN116560936A (zh) | 2022-01-28 | 2022-01-28 | 异常监测方法、协处理器及计算设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116560936A true CN116560936A (zh) | 2023-08-08 |
Family
ID=87490335
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210109088.5A Pending CN116560936A (zh) | 2022-01-28 | 2022-01-28 | 异常监测方法、协处理器及计算设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116560936A (zh) |
-
2022
- 2022-01-28 CN CN202210109088.5A patent/CN116560936A/zh active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11687391B2 (en) | Serializing machine check exceptions for predictive failure analysis | |
| US11526411B2 (en) | System and method for improving detection and capture of a host system catastrophic failure | |
| TWI229796B (en) | Method and system to implement a system event log for system manageability | |
| US8843785B2 (en) | Collecting debug data in a secure chip implementation | |
| WO2017063505A1 (zh) | 一种服务器硬件故障检测方法及其装置和服务器 | |
| JP2017517060A (ja) | 障害処理方法、関連装置、およびコンピュータ | |
| US8689059B2 (en) | System and method for handling system failure | |
| EP3167371B1 (en) | A method for diagnosing power supply failure in a wireless communication device | |
| CN112462920B (zh) | 一种电源控制的方法、装置、服务器及存储介质 | |
| US20220082634A1 (en) | Power failure monitoring device and power failure monitoring method | |
| CN112988442B (zh) | 一种服务器运行阶段传送故障信息的方法和设备 | |
| CN112596568B (zh) | 一种读取电压调节器报错信息的方法、系统、设备及介质 | |
| CN118550747A (zh) | 一种PCIe致命错误的快速定位方法、系统、电子设备及介质 | |
| CN116483612A (zh) | 内存故障处理方法、装置、计算机设备和存储介质 | |
| CN114003416B (zh) | 内存错误动态处理方法、系统、终端及存储介质 | |
| US20080288828A1 (en) | structures for interrupt management in a processing environment | |
| CN118819934A (zh) | 硬件错误处理方法、装置及系统、ras处理单元、soc、bmc | |
| CN114356708A (zh) | 一种设备故障监控方法、装置、设备及可读存储介质 | |
| CN115686896A (zh) | 扩展内存错误处理方法、系统、电子设备及存储介质 | |
| CN116560936A (zh) | 异常监测方法、协处理器及计算设备 | |
| CN118860720A (zh) | 故障信息的处理方法、设备及介质 | |
| CN118747165A (zh) | 读取日志数据的方法、装置、计算机设备及存储介质 | |
| CN113190278B (zh) | 一种多场景故障处理方法、系统及介质 | |
| JP5440673B1 (ja) | プログラマブルロジックデバイス、情報処理装置、被疑箇所指摘方法およびプログラム | |
| CN108415788B (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 |