CN107003914B - 启动物理设备的方法和使能装置 - Google Patents

启动物理设备的方法和使能装置 Download PDF

Info

Publication number
CN107003914B
CN107003914B CN201680003757.3A CN201680003757A CN107003914B CN 107003914 B CN107003914 B CN 107003914B CN 201680003757 A CN201680003757 A CN 201680003757A CN 107003914 B CN107003914 B CN 107003914B
Authority
CN
China
Prior art keywords
cpu
cpus
pch
physical device
enabling
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
CN201680003757.3A
Other languages
English (en)
Other versions
CN107003914A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN107003914A publication Critical patent/CN107003914A/zh
Application granted granted Critical
Publication of CN107003914B publication Critical patent/CN107003914B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error 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 the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及处理器领域,并公开了一种启动物理设备的方法和使能装置。该物理设备包括N个中央处理单元CPU和至少一个平台控制器中心PCH,N为大于或等于2的正整数。该N个CPU中的每个CPU各自电性连接有PCH。本方法确定第一CPU发生故障,该第一CPU为中在该第一CPU发生故障前用于启动物理设备的主CPU;在确定该第一CPU发生故障后,确定该N个CPU中的第二CPU为主CPU,并触发第二CPU以主CPU的角色通过与第一PCH之间的合作启动物理设备;其中,该第一PCH与该第二CPU之间具有电性连接,该第一PCH为该至少一个PCH中一个PCH。在主CPU发生故障时,本方法可以实现主CPU的切换,并以新的主CPU启动物理设备。

Description

启动物理设备的方法和使能装置
技术领域
本发明实施例涉及处理器领域,尤其涉及一种启动物理设备的方法和使能装置。
背景技术
物理设备(例如服务器)具有多个中央处理单元(Central Processing Unit,CPU)。物理设备的多个CPU可以通过缓存一致性(Cache coherence)总线互连,缓存一致性总线可以是快速通道互连(QuickPath Interconnect,QPI)总线。物理设备的多个CPU中有一个CPU为主CPU。主CPU在启动物理设备时搭建多个CPU之间的通信连接。另外,主CPU可以在启动物理设备后在多个CPU中进行工作分配。
现有技术中,物理设备仅具有一个平台控制中心(Platform Controller Hub,PCH)。并且该PCH仅与主CPU之间电性连接。例如,在图1A提供的包含4个CPU的物理设备中或者在图1B提供的包含8个CPU的物理设备中均仅具有一个PCH。该PCH仅与CPU0相连,CPU0为主CPU。
以图1A为例,在启动物理设备的初始阶段,CPU0与PCH合作并使用PCH中的资源来建立4个CPU(CPU0、CPU1、CPU2和CPU3)之间的通信连接。若CPU0发生故障,4个CPU之间的通信连接无法建立。进而,CPU1、CPU2和CPU3,均无法依次通过CPU0和PCH读取Flash存储器中的基本输入输出***(Basic Input Output System,BIOS)程序,从而执行BIOS程序来启动物理设备,从而物理设备启动失败。
发明内容
有鉴于此,本申请提供了一种启动物理设备的方法和使能装置,避免因当前的主CPU发生故障而导致物理设备启动失败。
第一方面,本申请提供一种启动物理设备的方法。
该物理设备具有M个CPU,M为大于或等于2的正整数。其中,所述M个CPU中的N个CPU属于CPU集合,M大于或等于N,N为大于或等于2的正整数;CPU集合中的所有CPU各自与一个PCH具有电性连接。这样,可以从CPU集合选择任一CPU来作为主CPU,通过主CPU与PCH的合作来启动物理设备。
应知,本申请对从CPU集合选择主CPU的场景不做限定,例如在主CPU未发生故障时可以切换主CPU并重启物理设备,再例如在主CPU发生故障时切换主CPU并重启物理设备。
具体地,第一CPU发生故障,所述第一CPU是所述CPU集合中的一个CPU,所述第一CPU是在所述第一CPU发生故障前用于启动所述物理设备的主CPU。在确定第一CPU发生故障时,从CPU集合确定第二CPU作为主CPU,第二CPU为CPU集合中的一个CPU,并且该第二CPU与第一CPU是不同的CPU。这样,在主CPU发生故障时实现主CPU的切换。
确定所述第二CPU为主CPU后,触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备;其中,所述第一PCH与所述第二CPU之间具有电性连接。这样,在第一CPU发生故障后,可以由第二CPU作为新的主CPU与第一PCH之间的合作启动物理设备,有效保证了物理设备能够在再次重启。
一种可能设计,即使主CPU未发生故障,可以在预设条件满足时重启物理设备并从CPU集合选择另一CPU作为主CPU。预设条件可以是预先设定的时间,人为操作器件触发的重启信号,或者其他预先设定的条件;例如,物理设备上设置有物理按键,可以人为按下该物理按键(为人为可操作的器件中的一种)触发电信号,该电信号用于触发使能装置中的复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)向该电信号指定的CPU发送使能信号,该使能信号用于指定新的CPU。这样,在预设条件满足时实现主CPU的切换,并以新的主CPU与PCH合作来启动物理设备。
一种可能设计,备选的CPU集合包括所述CPU集合中除所述第一CPU以外的所有CPU。在确定第一CPU发生故障后,从备选的CPU集合任选一个CPU作为第二CPU。这样可以保证重新选择的主CPU是未发生故障的CPU。
一种可能设计,若所述备选的CPU集合包括的CPU的数量为一个,则该个CPU为所述第二CPU。可见,CPU集合可以只包括第一CPU和第二CPU,当第一CPU发生故障时,选择第二CPU作为主CPU。
一种可能设计,若所述备选的CPU集合包括的CPU的数量为P个,则从该P个CPU中确定一个CPU为第二CPU,P为大于1的正整数。可见,备选的CPU集合包括的CPU不止一个,当第一CPU发生故障时,可以从P个CPU中选择一个CPU作为主CPU。
一种可能设计,所述备选的CPU集合包括P个CPU,P为大于1的正整数。选择第二CPU的方式如下:若第一跳数小于或等于第二跳数,则确定第三CPU为第二CPU。
其中,物理设备具有M个CPU,M为大于或等于N的正整数,所述M个CPU包括所述N个CPU。所述M个CPU之间具有Q个电性连接,Q为正整数;具体地,所述M个CPU中的任意一个CPU,与所述M个CPU中的其他CPU中的至少一个CPU之间具有电性连接。第一拓扑包括M个节点以及Q个链路,所述M个CPU与所述M个节点一一对应,所述Q个链路和所述Q个电性连接一一对应。所述第一跳数是指:所述M个CPU中除所述第一CPU和第三CPU以外的所有CPU根据所述第一拓扑到所述第三CPU的最短路径包含的跳数的总和。所述第二跳数是指:所述M个CPU中除所述第一CPU和第四CPU以外的所有CPU根据所述第一拓扑到所述第四CPU的最短路径包含的跳数的总和。所述第四CPU为所述备选的CPU集合包括的所述P个CPU中除所述第三CPU之外的任一CPU。
本可能设计基于CPU的拓扑结构,选择出的第二CPU作为主CPU。以第二CPU作为主CPU启动物理设备或者运行物理设备给CPU的冲击是最小的;以第二CPU作为主CPU,还保证了各个CPU的效率。
一种可能设计,所述备选的CPU集合包括P个CPU。选择第二CPU的方式如下:若所述备选的CPU集合中的所述P个CPU构成一个串行链路,确定串行链路中的一个中间节点对应的一个CPU为所述第二CPU。
其中,所述串行链路包括P个节点以及P-1个子链路。所述P个CPU与所述P个节点一一对应。所述P个CPU之间具有P-1个电性连接,具体地,所述P个CPU中的任意一个CPU与所述P个CPU中的其他CPU中的至少一个CPU之间具有电性连接;所述P-1个电性连接与所述P-1个子链路一一对应。
本可能设计基于CPU的串行链路这种拓扑结构,选择出的第二CPU作为主CPU。以第二CPU作为主CPU启动物理设备或者运行物理设备给CPU的拓扑的冲击是最小的;并且,以第二CPU作为主CPU,还保证了各个CPU的效率。
一种可能设计,使能装置在确定第二CPU为主CPU后,确定与第二CPU电性连接的PCH为第一PCH,并指示该第一PCH工作。
一种可能设计,使能装置在确定第一CPU发生故障后,禁止所述第一CPU参与启动物理设备。这样可以避免第一CPU影响物理设备的启动。
可选地,使能装置从电气角度禁止所述第一CPU参与启动物理设备,例如使能装置断开对第一CPU的供电。
可选地,若在启动物理设备的过程中已建立第一CPU与其它CPU的通信连接,则使能装置从通信角度禁止所述第一CPU参与启动物理设备,例如断开第一CPU与其它CPU的通信连接。
一种可能设计,所述物理设备包括第一存储器,所述第一存储器存储有用于启动物理设备的基本输入输出***BIOS程序。
在第二CPU与第一PCH合作启动物理设备的过程中,第二CPU通过第一PCH访问第一存储器从而执行BIOS程序。
一种可能设计,物理设备还包括选通器。选通器分别与所述CPU集合中的N个CPU具有电性连接。并且,选通器还与第一PCH之间具有电性连接。
使能装置触发第二CPU以主CPU的角色通过与第一PCH之间的合作启动物理设备之前,指示选通器建立第二CPU与第一PCH的通信连接。基于第二CPU与第一PCH的通信连接,第二CPU能够以主CPU的角色访问第一PCH并与第一PCH合作来启动物理设备。
可选地,使能装置指示选通器不建立CPU集合中除了第二CPU以外的CPU与第一PCH的通信连接。这样可以避免其他CPU同时对第一PCH进行访问而影响第二CPU与第一PCH的合作。
一种可能设计,所述选通器基于第一总线协议与所述第二CPU通信连接,所述选通器基于第二总线协议与所述第一PCH通信连接。其中,第一总线协议与第二总线协议为不同的总线协议,因此该第二CPU与该第一PCH之间传输的数据都需要经过所述选通器对该数据进行转换和转发。
在所述选通器转发该第二CPU向该第一PCH发送的数据时,所述选通器将接收到的来自第二CPU的符合所述第一总线协议的数据转换为符合所述第二总线协议的数据,并将所述符合所述第二总线协议的数据发送给所述第一PCH。
在所述选通器转发该第一PCH向该第二CPU发送的数据时,所述选通器将接收到的来自第一PCH的符合所述第二总线协议的数据转换为符合所述第一总线协议的数据,并将所述符合所述第一总线协议的数据发送给所述第二CPU。
一种可能设计,所述物理设备具有N个PCH,所述CPU集合中的N个CPU与所述N个PCH之间具有N个电性连接,所述N个CPU与所述N个PCH一一对应,其中,所述第二CPU与所述第一PCH之间具有电性连接。这样可以实现CPU集合中的每个CPU独占一个PCH,即使存在故障的PCH,也可以选择与未故障的PCH电性连接的CPU作为主CPU(即第二CPU)。
一种可能设计,所述物理设备包括N个存储器,所述N个存储器与所述N个PCH之间具有N个电性连接,所述N个存储器与所述N个PCH一一对应,第一存储器为所述N个存储器中与所述第一PCH连接的存储器。这样可以实现CPU集合中的每个CPU独占一个存储器,例如第二CPU通过第一PCH独占第一存储器。
可选地,N个存储器中的不同存储器,可以存储可以不同BIOS程序。在不同时间启动物理设备时,主CPU可能为备选的CPU集合中的不同CPU;不同CPU是执行不同BIOS程序来启动物理设备,从而实现针对不同需要对动物理设备进行区别化配置。
可选地,N个存储器中的不同存储器,可以存储相同的BIOS程序。在不同时间启动物理设备时,主CPU可能为备选的CPU集合中的不同CPU;但不同CPU仍然执行相同BIOS程序来启动物理设备,保证了物理设备每次启动的配置一致性。
一种可能设计,物理设备具有多个PCH。物理设备包括片选器,所述片选器分别与所述多个PCH之间具有电性连接,所述片选器与存储器之间具有电性连接。
使能装置触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,指示所述片选器建立所述第一PCH与所述第一存储器的电性连接;基于第一PCH与第一存储器的电性连接,该第一PCH通过该片选器建立与第一存储器的通信连接,以便第二CPU通过第一PCH访问第一存储器从而读取第一存储器中的BIOS程序。
可选地,使能装置指示选通器不建立多个PCH中除了第一PCH以外的PCH与第一存储器的电性连接。这样可以避免其他PCH影响第一PCH对第一存储器的访问。
一种可能设计,第一方面或者第一方面的各种可能设计提供的启动物理设备的方法,由物理设备上部署的使能装置执行。
第二方面,本申请提供一种启动物理设备的使能装置,该使能装置包括实现第一方面或者第一方面的各种可能设计提供的启动物理设备的方法的各功能单元。
第三方面,本申请提供一种基板管理控制器(Baseboard ManagementController,BMC),部署有实现第一方面或者第一方面的各种可能设计提供的启动物理设备的方法的各功能单元。
第四方面,本申请提供一种计算机可读存储介质。计算机可读存储介质中存储有计算机执行指令。当物理设备中的使能装置(具体可以是BMC)执行该计算机执行指令时,使能装置执行上述第一方面或者第一方面的各种可能设计提供的启动物理设备的方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中。使能装置(具体可以是BMC)可以从计算机可读存储介质读取该计算机执行指令,并执行该计算机执行指令,从而实施上述第一方面或者第一方面的各种可能设计提供的启动物理设备的方法。
附图说明
图1A为现有技术的包含4个CPU的物理设备的一种***架构示意图;
图1B为现有技术的包含8个CPU的物理设备的一种***架构示意图;
图2为本发明实施例提供的物理设备的一种***架构示意图;
图3为本发明实施例提供的启动物理设备的方法的一种流程示意图;
图4A为本发明实施例提供的物理设备的一种***架构示意图;
图4B为本发明实施例提供的4个CPU的一种拓扑结构图;
图4C为本发明实施例提供的4个CPU的一种拓扑结构图;
图5为本发明实施例提供的物理设备的一种***架构示意图;
图6为本发明实施例提供的4个CPU的一种拓扑结构图;
图7A为本发明实施例提供的物理设备的一种***架构示意图;
图7B为本发明实施例提供的物理设备的一种构示意图;
图8为本发明实施例提供的物理设备的一种***架构示意图;
图9为本发明实施例提供的物理设备的一种***架构示意图;
图10为本发明实施例提供的使能装置的一种逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例提供的技术方案进行描述。
物理设备实施例
参见图2,物理设备具有存储器、平台控制中心(Platform Controller Hub,PCH)、中央处理单元(Central Processing Unit,CPU)和使能装置。
物理设备具有的存储器为一个或多个,物理设备的存储器属于图2中的存储器集合。其中,该存储器可以是非易失性存储器,例如Flash存储器。该存储器存储有启动物理设备所需的基本输入输出***(Basic Input Output System,BIOS)程序。可选地,存储器集合中的不同存储器可以存储相同的BIOS程序。这样,CPU每次启动物理设备时均执行相同的BIOS程序对物理设备进行相同配置,例如进行相同的输入输出配置。可选地,存储器集合中的不同存储器也可以存储不同的BIOS程序,CPU在不同时间启动物理设备时可能执行该不同存储器的不同BIOS程序对物理设备进行不同配置,例如在不同时间启动物理设备时进行不同的输入输出配置。
物理设备具有的PCH为一个或多个,物理设备中的PCH属于图2中的PCH集合。PCH集合中的任一PCH与存储器集合的存储器具有电性连接,例如PCH集合中的每个PCH各自连接一个存储器,再例如PCH集合中的每个PCH连接同一个存储器;这样CPU可以通过PCH从存储器读取BIOS程序,并执行BIOS程序来启动物理设备。
物理设备具有的CPU的个数为M个,该M为大于或等于2的正整数。
物理设备的M个CPU中,有N个CPU属于图2中的CPU集合,该N为大于或等于2的正整数,该M大于或等于该N。该CPU集合中的所有CPU各自与PCH集合中的一个PCH具有电性连接;其中,该CPU集合中的不同CPU,可以与同一个PCH具有电性连接,或者分别与不同PCH具有电性连接。由于该CPU集合中的任一CPU均可以直接访问PCH,该CPU集合中的任一CPU均可以被选择为主CPU。
若该M等于该N,则不存在图2中的虚线框的CPU。这种情况下,物理设备的M个CPU均属于该CPU集合,物理设备的所有CPU均与PCH具有电性连接。
若该M大于该N,则存在图2中的虚线框的CPU。虚线框的CPU为物理设备中不与PCH电性连接的CPU,因此虚线框的CPU不属于该CPU集合(如图2所示),该CPU不可以被选择为主CPU。在启动物理设备的过程中,待主CPU建立与虚线框的CPU的通信连接后,虚线框的CPU才可以通过主CPU访问PCH,以及通过主CPU和PCH访问存储器并执行存储器中的BIOS程序。
物理设备中的M个CPU之间具有电性连接。具体地,在物理设备的M个CPU中,每个CPU与至少一个其它CPU具有电性连接。可选地,在物理设备的M个CPU中,每个CPU与至少两个其它CPU具有电性连接;这样在M个CPU中的任一CPU出现故障后,与该出现故障的CPU电性连接的CPU,还可以基于电性连接与另外的CPU建立通信连接。
可选地,M个CPU通过缓存一致性(Cache coherence)总线实现电性连接;缓存一致性总线可以是快速通道互连(QuickPath Interconnect,QPI)总线,还可以是超级通道互连(Ultra Path Interconnect,UPI)。
物理设备具有使能装置。该使能装置与该CPU集合中的每个CPU均电性连接,该使能装置可以向该CPU集合的任一个CPU发送指定主CPU的使能信号,使得收到该使能信号的该个CPU确定自己为主CPU。应知,该使能装置还可以与物理设备中的其他需要使能控制的器件电性连接,以便该器件收到该使能装置的使能信号时根据自身设置确定待执行的动作,例如该使能装置还与图2中的虚线框的CPU电性连接(图2未示意出),以便该使能装置可以向虚线框的CPU发送指定从CPU的使能信号。
本发明实施例所述的器件包括CPU、PCH、片选器和选通器等。
该使能装置可以是硬件实现,具体可以是采用电路实现。
该使能装置也可以是软件运行在硬件的基础上并指示该硬件动作的方式实现。一种可选实现方式,该使能装置包括基板管理控制器(Baseboard Management Controller,BMC)和复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD);其中,CPLD与物理设备中需要使能控制的器件电性连接,例如CPU集合中的CPU;BMC可以指示CPLD向哪个器件发送使能信号。
本发明实施例中,物理设备中电性连接的两个器件,可以相互发送电信号。例如,使能装置与CPU电性连接,使能装置便可向CPU发送使能信号。再例如,CPU与PCH电性连接,CPU便可在启动物理设备时通过电信号与PCH建立通信连接以便访问PCH中的资源。再例如,电性连接的两个CPU,该两个CPU之间可以通过电信号的交互来建立通信连接。
通信连接的两个器件,可以相互发送数据。本发明实施例中,基于电性连接可以建立通信连接;例如,总线连接的两个器件(例如两个CPU,或者CPU与PCH),可以基于该总线支持的协议建立通信连接,通信连接后,可以基于该协议相互发送数据。
在现有技术中,与PCH连接的CPU的数量仅有一个,因此仅能由该CPU作为启动物理设备的主CPU,若该CPU出现故障,则启动物理设备失败。
为解决现有技术存在的问题,本发明实施例提供了上述的物理设备,该物理设备中至少有两个CPU与PCH电性连接,即CPU集合中的所有CPU各自电性连接有PCH,如图2所示;在该物理设备的基础上,本发明实施例提供一种启动该物理设备的方法,该使能装置执行该方法可以克服现有技术的问题。
方法实施例
本发明实施例提供的一种启动物理设备的方法,参见图3,该方法包括步骤S301、S302和S303。
可选地,在执行步骤S301,需要得到表征主CPU是否故障的信息,该信息可以通过执行步骤S311检测得到。
步骤S311,检测主CPU是否故障。
步骤S311可以是在物理设备上电启动时执行,也可以在物理设备启动后执行。
主CPU可能出现的故障包括三类,第一类故障是电气故障,第二类故障是与其他CPU通信连接的故障,第三类故障是其它可能的故障。
对于第一类故障,主CPU会向使能装置反馈。主CPU在发生电气故障时会通过电信号的形式向使能装置反馈,使能装置根据该电信号确定主CPU发生故障。例如,使能装置的CPLD在接收到该电信号时在CPLD的寄存器中标识主CPU发生的故障,使能装置的BMC根据该寄存器的标识确定主CPU已发生第一类故障。
对于第二类故障,由使能装置或者BIOS检测。具体的检测方法可以是,比较物理设备中上电的CPU的个数与上电后BIOS检测到的CPU的个数是否存在差异,以及进一步确定存在差异的原因是否是主CPU发生第二类故障导致。举例说明,使能装置在物理设备中的所有CPU上电时,记录上电的CPU的个数;BIOS在CPU上电后检测CPU,并记录检测到的CPU的个数;使能装置的BMC或者BIOS,比较上电时CPU的个数与上电后BIOS检测到的CPU的个数,如果比较结果为个数不同,并进一步查询到主CPU与其它CPU互连的总线上的错误码,根据该错误码可以确定主CPU是否发生第二类故障;如果是由BIOS根据该错误码确定主CPU发生第二类故障,BIOS还需要通知BMC主CPU发生第二类故障。
对于第三类故障,由主CPU使用机器检查架构(Machine Check Architecture,MCA)机制检测。若主CPU通过MCA机制检测到主CPU发生第三类故障,主CPU通过BIOS将该第三类故障上报使能装置,或者主CPU直接上报使能装置,以便使能装置确定主CPU发生故障;主CPU将该第三类故障上报使能装置,具体可以是将该第三类故障上报给使能装置的BMC,以便BMC确定主CPU发生故障。
如果是在物理设备上电启动时执行步骤S311,并且未检测到主CPU发生故障,则主CPU继续启动物理设备。
无论是在物理设备上电启动时还是在物理设备启动后执行步骤S311检测到主CPU发生故障,使能装置均获取根据步骤S311的检测结果。例如对于第一类故障,使能装置直接获取该CPLD的寄存器中表征主CPU发生第一类故障的标识。例如对于第二类故障,使能装置直接获取错误码或者接收BIOS的通知,通知内容为主CPU发生第二类故障。再例如对于第三类故障,使能装置接收主CPU上报的表征第三类故障的信息。
应知,执行步骤S311得到的检测结果,为表征主CPU是否故障的信息的一种表现形式。
应知,步骤S311为步骤S301获取表征主CPU是否故障的信息的一种可能实现方式,也可以采用其它获取表征主CPU是否故障的信息的可能实现方式替代步骤S311,例如采用现有技术提供的获取表征主CPU是否故障的信息的可能实现方式。
步骤S301,确定主CPU故障。
使能装置获取到根据表征主CPU是否故障的信息(例如步骤S311的检测结果),根据该表征主CPU是否故障的信息确定主CPU是否发生故障;如果使能装置确定为主CPU发生故障,记录发生故障的主CPU的标识,主CPU的标识可以是主CPU的ID(Identity)或者其它可用于唯一识别CPU的特征。若使能装置包括BMC,则是由BMC获取到根据该表征主CPU是否故障的信息确定主CPU是否发生故障。
本发明实施例中,根据表征主CPU是否故障的信息(例如步骤S311的检测结果)确定为发生故障的主CPU,被称为第一CPU;因此该第一CPU是指在该第一CPU发生故障之前用于启动物理设备的主CPU。应知,该第一CPU为CPU集合中的一个CPU。
步骤S302,物理设备重启,重新选择主CPU。
步骤S301确定主CPU故障后,物理设备重新启动;重新启动的方式,可以是对物理设备重新上电启动,或者可以是物理设备热重启。重新启动物理设备时,使能装置根据记录的发生故障的主CPU的标识,从CPU集合选择未发生故障的一个CPU作为新的主CPU,本发明实施例将CPU集合中扮演新的主CPU的角色的CPU称为第二CPU。
一种可能实现方式,使能装置仅记录最近一次发生故障的主CPU的标识(即第一CPU的标识)。使能装置根据记录的最近一次发生故障的主CPU的标识,确定备选的CPU集合,该备选的CPU集合是指CPU集合中除所述第一CPU以外的所有CPU。进而在步骤S302中,使能装置从备选的CPU集合中选择一个CPU(即第二CPU)作为新的主CPU。
一种可能实现方式,步骤S302之前每次启动物理设备所确定的所有已发生故障的主CPU的标识(包括第一CPU的标识),使能装置都会记录。使能装置根据记录的所有已发生故障的主CPU的标识,确定备选的CPU集合,该备选的CPU集合是指CPU集合中除所有已发生故障的主CPU以外的所有CPU。进而在步骤S302中,使能装置从备选的CPU集合中选择一个CPU作为新的主CPU(即第二CPU)。
应理解,在步骤S302中使能装置从该备选的CPU集合选择第二CPU,分为实现情况:
第一种情况,若该备选的CPU集合包括的CPU的数量为一个,则该个CPU为该第二CPU;
第二种情况,该备选的CPU集合包括的CPU的数量为P个,P为大于1的正整数,则从该备选的CPU集合包括的P个CPU中确定一个CPU为该第二CPU。
可选地,对于第二种实现情况,使能装置可以从备选的CPU集合中任意确定一个CPU作为该第二CPU。
可选地,对于第二种实现情况,使能装置可以选择对该备选的CPU集合的性能冲击最小的CPU作为第二CPU。
一种可能实现方式中,性能冲击最小可以是指所述物理设备中除该第一CPU和新的主CPU以外的所有CPU各自以最短路径到该新的主CPU所需跳数的总和最小;这样,所述物理设备中除该第一CPU和该新的主CPU以外的所有CPU通过该新的主CPU访问PCH时需要的跳数的总和也是最小的。该最短路径是指根据最短路径算法确定的路径,此处对最短路径算法不做限定。应知,如果物理设备包括图2中的虚线框的CPU,则所述物理设备中除该第一CPU和新的主CPU以外的所有CPU,包括图2中的虚线框的CPU,即包括物理设备中未电性连接任何PCH的CPU。
假设该物理设备的CPU集合只有第一CPU发生故障,使能装置通过比较跳数来确定第二CPU的实现方式如下两步。
第一步,使能装置计算在该备选的CPU集合中每个CPU依次作为主CPU时该物理设备中除了该第一CPU和该主CPU以外的所有CPU各自以最短路径到该主CPU所需跳数的总和。
使能装置计算在第三CPU作为主CPU时的第一跳数。计算该第一跳数的计算方法可以是:计算该物理设备中除该第一CPU和第三CPU以外的所有CPU各自以最短路径到该第三CPU所需跳数的总和。该第三CPU为该备选的CPU集合中一个CPU。使能装置计算在第四CPU作为主CPU时的第二跳数。计算该第二跳数的计算方法可以是:计算该物理设备中除该第一CPU和第四CPU以外的所有CPU各自以最短路径到该第四CPU所需跳数的总和。其中,该第四CPU为该备选的CPU集合中不同于该第三CPU的任一CPU。
作为第一步计算第一跳数和计算第二跳数的替代方案,或者作为第一步计算第一跳数和计算第二跳数的一种具体计算方法的举例,该物理设备具有M个CPU,M为大于或等于N的正整数,该M个CPU包括该N个CPU。该M个CPU之间具有Q个电性连接,Q为正整数,具体地,该M个CPU中的任意一个CPU与该M个CPU中的其他CPU中的至少一个CPU之间具有电性连接。第一拓扑包括M个节点以及Q个链路,该M个CPU与该M个节点一一对应,即M个CPU中的每个CPU作为一个节点;该Q个电性连接与该Q个链路一一对应,即Q个电性连接中的每个电性连接作为一个链路。该第一跳数具体是指该M个CPU中除该第一CPU和第三CPU以外的所有CPU根据该第一拓扑到该第三CPU的最短路径包含的跳数的总和。该第二跳数具体是指该M个CPU中除该第一CPU和第四CPU以外的所有CPU根据该第一拓扑到该第四CPU的最短路径包含的跳数的总和。
第二步,若该第一跳数小于或等于该第二跳数,则使能装置将第三CPU作为该第二CPU。
可选地,如果该物理设备的CPU集合只有第一CPU发生故障,使能装置可以直接执行上述的第一步来在计算该第一跳数和该第二跳数。如果该物理设备的CPU集合发生故障的CPU不只第一CPU时,因所有已发生故障的CPU均不再用于启动物理设备(不会通过主CPU访问PCH),则使能装置在计算该第一跳数和该第二跳数时不考虑所有已发生故障的CPU。
一种可能实现方式中,性能冲击最小根据该备选的CPU集合的拓扑架构确定。具体地,使能装置选择位于该CPU集合的拓扑架构的中心位置的CPU作为主CPU,可以实现对该备选的CPU集合的性能冲击最小。
举例说明,该备选的CPU集合包括P个CPU,并且该P个CPU串行连接,使得该P个CPU构成一个串行链路。该串行链路包括P个节点以及P-1个子链路。该P个CPU与该P个节点一一对应,即P个CPU中的每个CPU作为一个节点;该P个CPU之间具有P-1个电性连接,具体地,该P个CPU中的任意一个CPU与该P个CPU中的其他CPU中的至少一个CPU之间具有电性连接。该P-1个电性连接与该P-1个子链路一一对应,即P-1个电性连接中的每个电性连接作为一个子链路。在该P个CPU构成一个串行链路的场景中,使能装置确定串行链路中的一个中间节点对应的一个CPU为该第二CPU。
可选地,若使能装置包括BMC,由BMC执行步骤S302中选择新的主CPU的动作,例如由BMC选择对该备选的CPU集合的性能冲击最小的第二CPU作为新的主CPU。
步骤S303,触发新的CPU与PCH合作来启动物理设备。
使能装置在步骤S302中确定该第二CPU为新的主CPU后,通过向该第二CPU发送使能信号来触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备。
具体地,使能装置向该第二CPU发送使能信号,该使能信号指示该第二CPU为新的主CPU。举例说明,使能装置的BMC在步骤S302中确定该第二CPU为新的主CPU,并指示使能装置的CPLD向该第二CPU发送使能信号。该第二CPU接收到该使能信号,并根据该使能信号的指示确定自己为新的主CPU。
该第二CPU在确定自己为新的主CPU后,该第二CPU以主CPU的角色(也可以称作主CPU的身份),并通过与第一PCH之间的合作启动所述物理设备;其中,该第一PCH为与该第二CPU电性连接的PCH。
启动物理设备的过程可以包括:
该第二CPU以主CPU的身份,从第一PCH获取CPU拓扑架构的配置信息,该PCH中的配置信息可以包括CPU的配置信息和用于CPU之间互连的总线的总线协议;该第二CPU根据该配置信息配置物理设备中除已发生故障的CPU以外的所有CPU,以及建立物理设备中除已发生故障的CPU以外的所有CPU之间的通信连接,实现根据配置信息组建CPU的拓扑架构;
物理设备中除已发生故障的CPU以外的所有CPU通过该第一PCH访问存储器,执行存储器中的BIOS程序;可选地,物理设备中除已发生故障的CPU和第二CPU以外的所有CPU是通过该第二CPU间接访问存储器的。
应知,如果物理设备包括图2中的虚线框的CPU,则该物理设备中除已发生故障的CPU以外的所有CPU,包括图2中的虚线框的CPU,即包括物理设备中未电性连接任何PCH的CPU。
一种可选实现方式,人为触发步骤303和步骤304的执行。举例说明,人为触发物理设备上电重启或者热重启,手动操作器件(例如由按键构成的触发电路)选择第二CPU为主CPU,触发CPLD向第二CPU发送使能信号。
一种可选实现方式,使能装置指示第二CPU配置成本地存储访问模式,并指示该物理设备的CPU集合中除已发生故障的CPU和该第二CPU以外的所有CPU配置成远端存储访问模式;举例说明,如果存储器为Flash存储器,则本地存储访问模式具体是指Local Flash模式,远端存储访问模式具体是指Remote Flash模式。
一种可能实现方式中,使能装置在步骤S302中确定该第二CPU为新的主CPU后,确定与该第二CPU电性连接的PCH为第一PCH;使能装置向该第一PCH发送使能信号,该使能信号指示第一PCH工作,以便第二CPU与该第一PCH合作来启动物理设备。举例说明,使能装置的BMC在步骤S302中确定该第二CPU为新的主CPU,并控制使能装置的CPLD向该第一PCH发送使能信号,该使能信号可以使得该第一PCH释放复位态,释放复位态的该第一PCH工作。
一种可选实现方式,若PCH集合具有多个PCH。第二CPU与第一PCH合作启动物理设备的过程中,在第二CPU建立了物理设备的CPU集合中除第一CPU以外的所有CPU之间的通信连接后,备选的CPU集合中除第二CPU以外的所有CPU仅基于第一PCH中的资源做配置(例如对各自连接的PCI-e总线作配置)。
一种可选实现方式,若PCH集合具有多个PCH。第二CPU与第一PCH合作启动物理设备的过程中,在第二CPU建立了物理设备的CPU集合中除第一CPU以外的所有CPU之间的通信连接后,备选的CPU集合中除第二CPU以外的所有CPU不但可以基于第一PCH中的资源做配置,还可以访问各自电性连接的PCH来做配置(例如对各自连接的PCI-e总线作配置)。可选地,备选的CPU集合中除第二CPU以外的所有CPU在基于第一PCH中的资源做配置的基础上,再以各自电性连接的PCH中的资源来做补充配置。
一种可能实现方式中,使能装置在步骤S302中确定该第二CPU为新的主CPU后,使能装置在步骤S302中确定该第二CPU为新的主CPU后,禁止所述第一CPU参与启动物理设备。另外,使能装置禁止物理设备的CPU集合中已发生故障的其他CPU参与启动物理设备。
本可选方式对禁止CPU参与启动物理设备的实现方式不做限定,例如可以是停止对该CPU供电,例如可以是断开该第二CPU与该CPU的通信连接,再例如还可以是停止对该CPU供电的同时还断开该第二CPU与该CPU的通信连接,再例如将该CPU设置为无效,被置为无效的CPU不用于启动物理设备。
一种可能实现方式中,参见图4A,在图2所示的物理设备中增加了选通器,该选通器可以是任何具有选通功能的、能够建立CPU与PCH之间的通信连接的器件。
该选通器分别与该备选的CPU集合中的每个CPU之间具有电性连接,还与PCH集合中的至少一个PCH之间具有电性连接。该选通器用于选通该备选的CPU集合中的一个CPU,以及用于选通PCH集合中的一个PCH,从而建立起被选通的CPU与被选通的PCH之间的通信连接。具体在本可能实现方式中,该选通器用于根据使能装置的指示建立该第二CPU与该第一PCH的通信连接。
在本发明实施例中,选通是指建立通信连接。例如,该选通器选通CPU具体是指,选通器基于其与该CPU互联的总线所支持的总线协议建立其与该CPU的通信连接;同理,选通器选通PCH是指,选通器基于其与该PCH互联的总线所支持的总线协议建立其与该PCH的通信连接。
可选地,PCH集合仅具有一个PCH,即仅具有第一PCH。在PCH集合仅具有第一PCH的场景下,该选通器电性连接在该备选的CPU集合中的每个CPU与第一PCH之间的拓扑架构有多种,在此不做限定;下面提供两种可能的拓扑架构,参见图4B和图4C。
图4B示意了以4个CPU为例的一种拓扑架构,4个CPU(包括第一CPU和第二CPU)之间互相具有电性连接,4个CPU通过和第一PCH分别与选通器之间具有电性连接。可选地,图4B中的选通器可以是PCI-e Switch,PCI-e Switch与4个CPU之间分别通过直接媒体接口(Direct Media Interface,DMI)总线实现电性连接;该使能装置可以指示PCI-e Switch选通连接该第二CPU的DMI总线,实现该第二CPU与该第一PCH之间的通信连接的建立。
图4C示意了以4个CPU为例的又一种拓扑架构,4个CPU通过选通器实现建立通信连接,4个CPU之间可以直接通过总线(例如QPI总线)互联或者不互联,例如第一CPU与一个CPU通过总线互联,但第一CPU与第二CPU是没有互联的;另外,4个CPU与第一PCH分别与选通器具有电性连接。可选地,图4C中的选通器可以是节点控制器(Node Controller,NC),NC与4个CPU之间分别通过总线实现电性连接;该使能装置可以指示NC选通连接该第二CPU的总线,实现该第二CPU与该第一PCH之间的通信连接的建立。
在物理设备增加了选通器的场景,使能装置在确定第一CPU发生故障后,在执行图3中的步骤S303时,会指示所述选通器建立所述第二CPU与所述第一PCH的通信连接。具体地,使能装置不但向该第二CPU发送指示第二CPU为新的CPU的使能信号,和向该第一PCH发送指示PCH工作的使能信号,还需要向选通器发送选通该第二CPU的使能信号。选通器根据接收的使能信号建立该第二CPU与该第一PCH的通信连接,以便该第二CPU通过该选通器与该第一PCH合作来启动物理设备。
可选地,选通器基于相同的总线协议分别与第二CPU和第一PCH建立通信连接。这样,无论在启动物理设备阶段还是在物理设备启动后,对于该第二CPU与该第一PCH之间传输的数据,所述选通器都直接转发。
举例说明,在图4B所示的4个CPU的拓扑架构为例,假设选通器为PCI-e Switch;PCI-e Switch与第二CPU之间,PCI-e Switch与第一PCH之间,均通过DMI总线连接。这样,PCI-e Switch采用DMI总线支持的协议分别与该第二CPU与该第一PCH建立通信连接,建立通信连接后,PCI-e Switch在转发该第二CPU与该第一PCH之间传输的数据时不需要对该数据进行协议转换。
举例说明,在图4C所示的4个CPU的拓扑架构为例,假设选通器为NC;NC与第二CPU之间,不但通过QPI总线连接(图4C示意为NC与第二CPU之间连接的实线),还通过DMI总线连接(图4C示意为NC与第二CPU之间连接的虚线);NC与第一PCH之间通过DMI总线连接。这样,4个CPU之间通过NC建立通信连接时是基于QPI总线支持的协议;NC建立4个CPU与第一PCH之间的通信连接时是基于DMI总线支持的协议。NC采用DMI总线支持的协议分别与该第二CPU与该第一PCH建立通信连接后,NC在转发该第二CPU与该第一PCH之间传输的数据时不需要对该数据进行协议转换。
可选地,选通器基于第一总线协议与所述第二CPU通信连接,选通器基于第二总线协议与所述第一PCH通信连接。该第一总线协议与该第二总线协议为不同的总线协议。该第一总线协议为选通器与第二CPU之间连接的总线所支持的总线协议。该第二总线协议为选通器与第一PCH之间连接的总线所支持的总线协议。无论在启动物理设备阶段还是在物理设备启动后,该第二CPU与该第一PCH之间传输的数据都需要经过所述选通器对该数据进行转换和转发。
在所述选通器转发该第二CPU向该第一PCH发送的数据时,所述选通器将接收到的来自第二CPU的符合所述第一总线协议的数据转换为符合所述第二总线协议的数据,并将所述符合所述第二总线协议的数据发送给所述第一PCH。
在所述选通器转发该第一PCH向该第二CPU发送的数据时,所述选通器将接收到的来自第一PCH的符合所述第二总线协议的数据转换为符合所述第一总线协议的数据,并将所述符合所述第一总线协议的数据发送给所述第二CPU。
举例说明,以图4B所示的4个CPU的拓扑架构为例,并假设选通器为NC,若图4C不存在NC与第二CPU之间连接的虚线,NC与第二CPU之间通过QPI总线连接(图4C示意为NC与第二CPU之间连接的实线);NC与第一PCH之间通过DMI总线连接。这样,4个CPU与NC之间的通信连接是基于QPI总线支持的协议,NC与第一PCH之间的通信连接是基于DMI总线支持的协议。NC转发该第二CPU向该第一PCH发送的数据时,需要将满足QPI总线支持的协议的数据转换为满足DMI总线支持的协议的数据,再向第一PCH发送协议转换后的数据。NC转发该第一PCH向该第二CPU发送的数据时,需要将满足DMI总线支持的协议的数据转换为满足QPI总线支持的协议的该数据,再向第二CPU发送协议转换后的数据。
一种可能实现方式中,参见图5,CPU集合有N个CPU,PCH集合有J个PCH,J和N均为大于或等于2的正整数。图5中,该PCH集合中的所有PCH分别与存储器集合中的存储器之间具有电性连接。
若J等于N,则不存在图5中的虚线框的PCH。CPU集合的N个CPU与PCH集合中的J个PCH之间具有一一对应的电性连接;其中,该第二CPU与该第一PCH之间具有电性连接。这样可以实现每个CPU独占一个PCH。
若J大于N,则存在图5中的虚线框的PCH,图5仅虚线示意了一个该PCH。CPU集合的N个CPU与PCH集合中的N个PCH之间具有一一对应的电性连接;其中,第二CPU与第一PCH之间具有电性连接。PCH集合中除该N个PCH以外的CPU,可以不与CPU集合的任何CPU之间具有电性连接,这样可以作为备用的PCH。
CPU集合的N个CPU各自连接一个PCH;若一个或多个PCH发生故障,使能装置可以将未发生故障的、电性连接的CPU和PCH确定为第二CPU和第一PCH。可见,使能装置确定第二CPU和第一PCH时,第二CPU是从未发生故障的备选的CPU集合中选择的,第一PCH是从未发生故障的PCH中选择的,并且该第二CPU和该第一PCH是电信连接的。可选地,使能装置会记录出现故障的PCH的标识,例如PCH的ID。
可选地,存储器集合具有J个存储器,即该存储器集合包括的存储器的个数与该PCH集合包括的PCH的个数相同。该存储器集合中的J个存储器与PCH集合中的J个PCH之间具有一一对应的电性连接。其中,该第一PCH与一个存储器之间具有电性连接,该个存储器称为第一存储器。举例说明,在图6示意的4个CPU的架构中,J等于3,3个PCH各自电性连接一个存储器。应知,电性连接的PCH和存储器之间,该PCH可以与该存储器建立通信连接;建立通信连接后,该PCH可以访问该存储器中的数据,例如BIOS程序。
可选地,PCH与存储器是电性连接的,例如图6所示的4个CPU的架构中即是如此。PCH与存储器的电性连接具体可以通过总线实现,例如该总线可以是串行外设接口(SerialPeripheral Interface,SPI)总线。PCH可以通过与存储器互联的总线建立通信连接。
可选地,参见图7A,在图5所示的物理设备的基础上,该物理设备还包括片选器。该片选器分别与该PCH集合中的J个PCH之间具有电性连接,还与存储器集合中的存储器之间具有电性连接。该片选器与PCH的电性连接,以及该片选器与存储器的电性连接,可以通过总线实现;例如,该总线可以是串行外设接口(Serial Peripheral Interface,SPI)总线。PCH可以基于该总线支持的协议与存储器建立通信连接。举例说明,在图7B示意的4个CPU的架构中,J等于3;并且,图7B仅示意了一个存储器。
该片选器用于选择J个PCH中的任一个PCH,被选择的PCH可以通过片选器访问存储器。如果该片选器电性连接的存储器的数量为一个,该片选器选择与其电性连接的该个存储器。如果该片选器电性连接的存储器的数量为多个,该片选器用于选择存储器集合中的任一个存储器。应知,被选择的PCH与被选择的存储器,通过片选器是电性连接的,这样被选择的PCH可以通过片选器建立与被选择的存储器的通信连接。
在物理设备增加了片选器的场景,使能装置在确定第一CPU发生故障后,在执行图3中的步骤S303时,会指示片选器建立第一PCH与第一存储器之间的电性连接。该片选器可以根据使能装置的指示,分别选择该第一PCH与该第一存储器,从而建立第一PCH与第一存储器之间的电性连接;举例说明,使能装置中的BMC控制使能装置中的CPLD,向该片选器发送使能信号,该使能信号指示该片选器选择该第一PCH与该第一存储器。
第一PCH与第一存储器的电性连接建立之后,该第一PCH通过该片选器建立与该第一存储器通信连接。该第一PCH与该第一存储器通信连接后,该第一PCH可以直接访问第一存储器;该第一PCH与该第一存储器的通信连接后,第二CPU可以通过该第一PCH访问第一存储器,执行第一存储器中的BIOS程序。
应知,该片选器的数量可以是一个或多个。如果是该片选器的数量是多个,多个片选器各自负责不同PCH的选择,还可以各自负责存储器的选择。
一种可能实现方式中,参见图8,在图2所示的物理设备的基础上,该物理设备还包括选通器和片选器。选通器用于选通CPU集合中的任一CPU,还用于选通与被选通的CPU对应的PCH,以便CPU通过选通器建立与PCH的通信连接。片选器用于选通PCH集合中的任一PCH,还用于选通与被选通的PCH对应的存储器,以便PCH通过片选器建立与存储器的通信连接。本实施方式中,若选通器选通第二CPH,则选通器和片选器均选通同一个PCH,即第一PCH;这样,第二CPU才能通过第一PCH访问存储器,执行存储器中的BIOS程序。另外,选通器和片选器的具体实现和在本发明实施例的工作原理可以分别参见上述对图4A中的选通器的描述和上述对图7A中的片选器的描述,在此不再赘述。
装置实施例
装置实施例一
本发明实施例提供一种启动物理设备的使能装置,参见图9,该使能装置包括BMC和CPLD。
上述方法实施例提供的启动物理设备的方法,具体可以由该使能装置的BMC执行;例如,BMC执行步骤S311检测主CPU是否故障,执行步骤S301确定主CPU故障,在物理设备重启后执行步骤S302重新选择主CPU,以及执行步骤S303触发新的CPU与PCH合作来启动物理设备。
BMC在步骤S303中触发新的CPU与PCH合作来启动物理设备的具体实现可以是:使能装置在步骤S302中确定新的主CPU后,指示CPLD向该新的CPU发送使能信号;接收到该使能信号的CPU会根据该使能信号确定自己为主CPU,以及以主CPU的角色与第一PCH合作来启动所述物理设备。
可选地,BMC需要触发物理设备中的器件时,可以控制CPLD向该器件发送使能信号,通过不同的使能信号指示不同器件工作。
举例说明,BMC确定第二CPU为新的主CPU后,可以控制CPLD向第二CPU发送指示第二CPU为主CPU的使能信号。
举例说明,BMC确定第一PCH(与该第二CPU电性连接的PCH)后,可以控制CPLD向第一PCH发送指示第一PCH工作的使能信号。
举例说明,BMC可以控制CPLD向选通器发送使能信号,通过该使能信号指示选通器选通第二CPU和第一PCH。
举例说明,BMC可以控制CPLD向片选器发送使能信号,通过该使能信号指示片选器建立第一PCH与第一存储器的电性连接。
另外,BMC还可以更新存储器中的BIOS程序,或者在不同存储器写入不同BIOS程序。
应知,BMC和CPLD合作执行上述方法实施例提供的启动物理设备的方法的具体实现细节,可参见上述方法实施例中的对应描述,在此不再赘述。
装置实施例二
本发明实施例提供一种启动物理设备的使能装置,该使能装置部署用于执行上述方法实施例提供的启动物理设备的方法的各功能单元;其中,对各功能单元的划分方式在此不做限定。
该使能装置适用的物理设备如上述物理设备实施例和方法实施例中的描述。所述物理设备包括N个CPU和至少一个PCH,N为大于或等于2的正整数;N个CPU中的每个CPU与所述至少一个PCH之间具有电性连接。基于该物理设备,提供一种与上述方法实施例提供的启动物理设备的方法对应的一种功能单元的划分举例,参见图10,所述使能装置1000包括第一确定单元1001、第二确定单元1002和触发单元1003。
具体地,所述第一确定单元1001,用于确定第一CPU发生故障,所述第一CPU是所述N个CPU中的一个CPU,所述第一CPU是在所述第一CPU发生故障前用于启动所述物理设备的主CPU。
所述第二确定单元1002,用于在所述第一确定单元1001确定所述第一CPU发生故障后,确定所述N个CPU中的第二CPU为主CPU。
所述触发单元1003,用于在所述第二确定单元1002确定所述第二CPU为主CPU后,触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备,所述第一PCH与所述第二CPU之间具有电性连接,所述第一PCH为所述至少一个PCH中一个PCH。
可选地,备选的CPU集合包括所述N个CPU中除所述第一CPU以外的所有CPU;
所述第二确定单元1002,用于若所述备选的CPU集合包括的CPU的数量为一个,则所述备选的CPU集合中的所述一个CPU为所述第二CPU;或者用于若所述备选的CPU集合包括的CPU的数量为P个,则从所述备选的CPU集合包括的所述P个CPU中确定一个CPU为所述第二CPU,P为大于1的正整数。
可选地,所述第二确定单元1002,用于若第一跳数小于或等于第二跳数,则确定第三CPU为所述第二CPU;
其中,所述物理设备具有M个CPU,M为大于或等于N的正整数,所述M个CPU包括所述N个CPU;所述M个CPU之间具有Q个电性连接,Q为正整数,其中,所述M个CPU中的任意一个CPU与所述M个CPU中的其他CPU中的至少一个CPU之间具有电性连接;第一拓扑包括M个节点以及Q个链路,所述M个CPU与所述M个节点一一对应,所述Q个链路和所述Q个电性连接一一对应,所述第一跳数是指所述M个CPU中除所述第一CPU和第三CPU以外的所有CPU根据所述第一拓扑到所述第三CPU的最短路径包含的跳数的总和,所述第二跳数是指所述M个CPU中除所述第一CPU和第四CPU以外的所有CPU根据所述第一拓扑到所述第四CPU的最短路径包含的跳数的总和,所述第四CPU为所述备选的CPU集合包括的所述P个CPU中除所述第三CPU之外的任一CPU。
可选地,所述第二确定单元1002,用于若所述备选的CPU集合中的所述P个CPU构成一个串行链路,所述串行链路包括P个节点以及P-1个子链路,所述P个CPU与所述P个节点一一对应,所述P个CPU之间具有P-1个电性连接,其中,所述P个CPU中的任意一个CPU与所述P个CPU中的其他CPU中的至少一个CPU之间具有电性连接,所述P-1个电性连接与所述P-1个子链路一一对应,则确定串行链路中的一个中间节点对应的一个CPU为所述第二CPU。
可选地,所述触发单元1003,用于在确定第一CPU发生故障后,禁止所述第一CPU参与启动所述物理设备。
可选地,所述物理设备包括第一存储器,所述第一存储器存储有用于启动所述物理设备的基本输入输出***BIOS程序;
所述第二CPU与所述第一PCH合作启动所述物理设备,包括:所述第二CPU通过所述第一PCH访问所述第一存储器从而执行所述BIOS程序。
可选地,所述物理设备还包括选通器,所述选通器分别与所述N个CPU之间具有电性连接,所述选通器与所述第一PCH之间具有电性连接;
所述触发单元1003,用于在触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,指示所述选通器建立所述第二CPU与所述第一PCH的通信连接。
可选地,所述选通器基于第一总线协议与所述第二CPU通信连接,所述选通器基于第二总线协议与所述第一PCH通信连接;
所述选通器用于:将接收到的来自第二CPU的符合所述第一总线协议的数据转换为符合所述第二总线协议的数据,并将所述符合所述第二总线协议的数据发送给所述第一PCH;或者,将接收到的来自第一PCH的符合所述第二总线协议的数据转换为符合所述第一总线协议的数据,并将所述符合所述第一总线协议的数据发送给所述第二CPU。
可选地,所述至少一个PCH为N个PCH,所述N个CPU与所述N个PCH之间具有N个电性连接,所述N个CPU与所述N个PCH一一对应,其中,所述第二CPU与所述第一PCH之间具有电性连接。
可选地,所述物理设备包括N个存储器,所述N个存储器与所述N个PCH之间具有N个电性连接,所述N个存储器与所述N个PCH一一对应,第一存储器为所述N个存储器中与所述第一PCH连接的存储器。
可选地,所述至少一个PCH为多个PCH,所述物理设备包括片选器,所述片选器分别与所述多个PCH之间具有电性连接,所述片选器与所述存储器之间具有电性连接;
所述触发单元1003,用于在触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,指示所述片选器建立所述第一PCH与所述第一存储器的电性连接。
可选地,装置实施例二提供的各功能单元具体可以部署在使能装置的BMC中。与装置实施例一类似,BMC部署的各功能单元需要触发物理设备中的器件时,可以控制CPLD向该器件发送使能信号,通过不同的使能信号指示不同器件工作。
装置实施例三
本发明实施例提供一种启动物理设备的使能装置,该使能装置包括CPLD和其他器件。用户在知道哪些CPU为已发生故障的CPU后,可以手动操作器件(例如由按键构成的触发电路)触发CPLD向第二CPU发送使能信号。
可选地,用户可以从BMC获知已故障的CPU的ID,从而知道哪些CPU已发生故障。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (22)

1.一种启动物理设备的方法,其特征在于,所述物理设备包括N个中央处理单元CPU和至少一个平台控制器中心PCH和使能装置,N为大于或等于2的正整数;N个CPU中的每个CPU与所述至少一个PCH之间具有电性连接;所述使能装置与每个CPU均电性连接;所述使能装置能够向任一个CPU发送指定主CPU的使能信号,使得收到所述使能信号的CPU确定自己为主CPU;
所述方法包括:
所述使能装置确定第一CPU发生故障,所述第一CPU是所述N个CPU中的一个CPU,所述第一CPU是在所述第一CPU发生故障前用于启动所述物理设备的主CPU;
确定所述第一CPU发生故障后,确定所述N个CPU中的第二CPU为主CPU;
确定所述第二CPU为主CPU后,触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备,所述第一PCH与所述第二CPU之间具有电性连接,所述第一PCH为所述至少一个PCH中一个PCH;
备选的CPU集合包括所述N个CPU中除所述第一CPU以外的所有CPU;
所述确定所述N个CPU中的第二CPU为主CPU,包括:
若所述备选的CPU集合包括的CPU的数量为P个,则从所述备选的CPU集合包括的所述P个CPU中确定一个CPU为所述第二CPU,P为大于1的正整数。
2.根据权利要求1所述的方法,其特征在于,所述确定所述N个CPU中的第二CPU为主CPU,还包括:
若所述备选的CPU集合包括的CPU的数量为一个,则所述备选的CPU集合中的所述一个CPU为所述第二CPU。
3.根据权利要求2所述的方法,其特征在于,所述从所述备选的CPU集合包括的所述P个CPU中确定一个CPU为所述第二CPU,包括:
若第一跳数小于或等于第二跳数,则确定第三CPU为所述第二CPU;
其中,所述物理设备具有M个CPU,M为大于或等于N的正整数,所述M个CPU包括所述N个CPU;所述M个CPU之间具有Q个电性连接,Q为正整数,其中,所述M个CPU中的任意一个CPU与所述M个CPU中的其他CPU中的至少一个CPU之间具有电性连接;第一拓扑包括M个节点以及Q个链路,所述M个CPU与所述M个节点一一对应,所述Q个链路和所述Q个电性连接一一对应,所述第一跳数是指所述M个CPU中除所述第一CPU和第三CPU以外的所有CPU根据所述第一拓扑到所述第三CPU的最短路径包含的跳数的总和,所述第二跳数是指所述M个CPU中除所述第一CPU和第四CPU以外的所有CPU根据所述第一拓扑到所述第四CPU的最短路径包含的跳数的总和,所述第四CPU为所述备选的CPU集合包括的所述P个CPU中除所述第三CPU之外的任一CPU。
4.根据权利要求2所述的方法,其特征在于,所述从所述备选的CPU集合包括的所述P个CPU中确定一个CPU为所述第二CPU,包括:
若所述备选的CPU集合中的所述P个CPU构成一个串行链路,所述串行链路包括P个节点以及P-1个子链路,所述P个CPU与所述P个节点一一对应,所述P个CPU之间具有P-1个电性连接,其中,所述P个CPU中的任意一个CPU与所述P个CPU中的其他CPU中的至少一个CPU之间具有电性连接,所述P-1个电性连接与所述P-1个子链路一一对应,则确定串行链路中的一个中间节点对应的一个CPU为所述第二CPU。
5.根据权利要求1至4任一项所述的方法,其特征在于,确定第一CPU发生故障后,所述方法还包括:
禁止所述第一CPU参与启动所述物理设备。
6.根据权利要求5所述的方法,其特征在于,所述物理设备包括第一存储器,所述第一存储器存储有用于启动所述物理设备的基本输入输出***BIOS程序;
所述第二CPU与所述第一PCH合作启动所述物理设备,包括:所述第二CPU通过所述第一PCH访问所述第一存储器从而执行所述BIOS程序。
7.根据权利要求6所述的方法,其特征在于,所述物理设备还包括选通器,所述选通器分别与所述N个CPU之间具有电性连接,所述选通器与所述第一PCH之间具有电性连接;
触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,所述方法还包括:
指示所述选通器建立所述第二CPU与所述第一PCH的通信连接。
8.根据权利要求7所述的方法,其特征在于,所述选通器基于第一总线协议与所述第二CPU通信连接,所述选通器基于第二总线协议与所述第一PCH通信连接;
所述选通器用于:
将接收到的来自第二CPU的符合所述第一总线协议的数据转换为符合所述第二总线协议的数据,并将所述符合所述第二总线协议的数据发送给所述第一PCH;或者,
将接收到的来自第一PCH的符合所述第二总线协议的数据转换为符合所述第一总线协议的数据,并将所述符合所述第一总线协议的数据发送给所述第二CPU。
9.根据权利要求6所述的方法,其特征在于,所述至少一个PCH为N个PCH,所述N个CPU与所述N个PCH之间具有N个电性连接,所述N个CPU与所述N个PCH一一对应,其中,所述第二CPU与所述第一PCH之间具有电性连接。
10.根据权利要求9所述的方法,其特征在于,所述物理设备包括N个存储器,所述N个存储器与所述N个PCH之间具有N个电性连接,所述N个存储器与所述N个PCH一一对应,第一存储器为所述N个存储器中与所述第一PCH连接的存储器。
11.根据权利要求9所述的方法,其特征在于,所述至少一个PCH为多个PCH,所述物理设备包括片选器,所述片选器分别与所述多个PCH之间具有电性连接,所述片选器与所述存储器之间具有电性连接;
触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,所述方法还包括:
指示所述片选器建立所述第一PCH与所述第一存储器的电性连接。
12.一种启动物理设备的使能装置,其特征在于,所述物理设备包括N个中央处理单元CPU和至少一个平台控制器中心PCH,N为大于或等于2的正整数;N个CPU中的每个CPU与所述至少一个PCH之间具有电性连接;所述使能装置包括:
第一确定单元,用于确定第一CPU发生故障,所述第一CPU是所述N个CPU中的一个CPU,所述第一CPU是在所述第一CPU发生故障前用于启动所述物理设备的主CPU;
第二确定单元,用于在所述第一确定单元确定所述第一CPU发生故障后,确定所述N个CPU中的第二CPU为主CPU;
触发单元,用于在所述第二确定单元确定所述第二CPU为主CPU后,触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备,所述第一PCH与所述第二CPU之间具有电性连接,所述第一PCH为所述至少一个PCH中一个PCH;
备选的CPU集合包括所述N个CPU中除所述第一CPU以外的所有CPU;
所述第二确定单元,用于若所述备选的CPU集合包括的CPU的数量为P个,则从所述备选的CPU集合包括的所述P个CPU中确定一个CPU为所述第二CPU,P为大于1的正整数。
13.根据权利要求12所述的使能装置,其特征在于,
所述第二确定单元,还用于若所述备选的CPU集合包括的CPU的数量为一个,则所述备选的CPU集合中的所述一个CPU为所述第二CPU。
14.根据权利要求13所述的使能装置,其特征在于,
所述第二确定单元,用于若第一跳数小于或等于第二跳数,则确定第三CPU为所述第二CPU;
其中,所述物理设备具有M个CPU,M为大于或等于N的正整数,所述M个CPU包括所述N个CPU;所述M个CPU之间具有Q个电性连接,Q为正整数,其中,所述M个CPU中的任意一个CPU与所述M个CPU中的其他CPU中的至少一个CPU之间具有电性连接;第一拓扑包括M个节点以及Q个链路,所述M个CPU与所述M个节点一一对应,所述Q个链路和所述Q个电性连接一一对应,所述第一跳数是指所述M个CPU中除所述第一CPU和第三CPU以外的所有CPU根据所述第一拓扑到所述第三CPU的最短路径包含的跳数的总和,所述第二跳数是指所述M个CPU中除所述第一CPU和第四CPU以外的所有CPU根据所述第一拓扑到所述第四CPU的最短路径包含的跳数的总和,所述第四CPU为所述备选的CPU集合包括的所述P个CPU中除所述第三CPU之外的任一CPU。
15.根据权利要求13所述的使能装置,其特征在于,
所述第二确定单元,用于若所述备选的CPU集合中的所述P个CPU构成一个串行链路,所述串行链路包括P个节点以及P-1个子链路,所述P个CPU与所述P个节点一一对应,所述P个CPU之间具有P-1个电性连接,其中,所述P个CPU中的任意一个CPU与所述P个CPU中的其他CPU中的至少一个CPU之间具有电性连接,所述P-1个电性连接与所述P-1个子链路一一对应,则确定串行链路中的一个中间节点对应的一个CPU为所述第二CPU。
16.根据权利要求12至15任一项所述的使能装置,其特征在于,
所述触发单元,用于在确定第一CPU发生故障后,禁止所述第一CPU参与启动所述物理设备。
17.根据权利要求16所述的使能装置,其特征在于,所述物理设备包括第一存储器,所述第一存储器存储有用于启动所述物理设备的基本输入输出***BIOS程序;
所述第二CPU与所述第一PCH合作启动所述物理设备,包括:所述第二CPU通过所述第一PCH访问所述第一存储器从而执行所述BIOS程序。
18.根据权利要求17所述的使能装置,其特征在于,所述物理设备还包括选通器,所述选通器分别与所述N个CPU之间具有电性连接,所述选通器与所述第一PCH之间具有电性连接;
所述触发单元,用于在触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,指示所述选通器建立所述第二CPU与所述第一PCH的通信连接。
19.根据权利要求18所述的使能装置,其特征在于,所述选通器基于第一总线协议与所述第二CPU通信连接,所述选通器基于第二总线协议与所述第一PCH通信连接;
所述选通器用于:
将接收到的来自第二CPU的符合所述第一总线协议的数据转换为符合所述第二总线协议的数据,并将所述符合所述第二总线协议的数据发送给所述第一PCH;或者,
将接收到的来自第一PCH的符合所述第二总线协议的数据转换为符合所述第一总线协议的数据,并将所述符合所述第一总线协议的数据发送给所述第二CPU。
20.根据权利要求17所述的使能装置,其特征在于,所述至少一个PCH为N个PCH,所述N个CPU与所述N个PCH之间具有N个电性连接,所述N个CPU与所述N个PCH一一对应,其中,所述第二CPU与所述第一PCH之间具有电性连接。
21.根据权利要求20所述的使能装置,其特征在于,所述物理设备包括N个存储器,所述N个存储器与所述N个PCH之间具有N个电性连接,所述N个存储器与所述N个PCH一一对应,第一存储器为所述N个存储器中与所述第一PCH连接的存储器。
22.根据权利要求20所述的使能装置,其特征在于,所述至少一个PCH为多个PCH,所述物理设备包括片选器,所述片选器分别与所述多个PCH之间具有电性连接,所述片选器与所述存储器之间具有电性连接;
所述触发单元,用于在触发所述第二CPU以主CPU的角色通过与第一PCH之间的合作启动所述物理设备之前,指示所述片选器建立所述第一PCH与所述第一存储器的电性连接。
CN201680003757.3A 2016-10-31 2016-10-31 启动物理设备的方法和使能装置 Active CN107003914B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/104050 WO2018076351A1 (zh) 2016-10-31 2016-10-31 启动物理设备的方法和使能装置

Publications (2)

Publication Number Publication Date
CN107003914A CN107003914A (zh) 2017-08-01
CN107003914B true CN107003914B (zh) 2020-11-13

Family

ID=59431719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003757.3A Active CN107003914B (zh) 2016-10-31 2016-10-31 启动物理设备的方法和使能装置

Country Status (4)

Country Link
US (1) US11068348B2 (zh)
EP (2) EP3471339B1 (zh)
CN (1) CN107003914B (zh)
WO (1) WO2018076351A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109932995B (zh) * 2017-12-18 2021-06-15 鸿富锦精密电子(天津)有限公司 电子装置
CN109101009B (zh) 2018-09-06 2020-08-14 华为技术有限公司 故障诊断***及服务器
CN112416850A (zh) * 2020-11-20 2021-02-26 新华三云计算技术有限公司 一种多处理器的互联***及其通信方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656681A (zh) * 2009-09-02 2010-02-24 复旦大学 一种基于网络处理器的网络编码路由器
CN103733180A (zh) * 2013-09-29 2014-04-16 华为技术有限公司 服务器的控制方法和服务器的控制设备
CN104579802A (zh) * 2015-02-15 2015-04-29 浪潮电子信息产业股份有限公司 一种多路服务器快速故障恢复的方法
CN105009086A (zh) * 2014-03-10 2015-10-28 华为技术有限公司 一种实现处理器切换的方法、计算机和切换装置
CN105446833A (zh) * 2013-09-29 2016-03-30 华为技术有限公司 服务器的控制方法和服务器的控制设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601165B2 (en) * 1999-03-26 2003-07-29 Hewlett-Packard Company Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
CN101216793A (zh) 2008-01-18 2008-07-09 华为技术有限公司 一种多处理器***故障恢复的方法及装置
US8117494B2 (en) * 2009-12-22 2012-02-14 Intel Corporation DMI redundancy in multiple processor computer systems
TWI446161B (zh) * 2010-12-30 2014-07-21 Ibm 處理一多處理器資訊處理系統之一故障處理器的裝置及方法
CN104137072A (zh) * 2011-12-30 2014-11-05 英特尔公司 在多核心环境中管理硬件错误的方法和装置
JP6175788B2 (ja) * 2013-02-11 2017-08-09 住友電気工業株式会社 マイクロプログラムを更新可能な電子機器
US20140297922A1 (en) * 2013-03-29 2014-10-02 Nitin V. Sarangdhar Method and apparatus for managing serial peripheral interface (spi) flash
CN105718333A (zh) * 2016-01-26 2016-06-29 山东超越数控电子有限公司 双路服务器主板主从cpu切换装置及其切换控制方法
US10133637B2 (en) * 2016-08-04 2018-11-20 Dell Products L.P. Systems and methods for secure recovery of host system code
CN109932995B (zh) * 2017-12-18 2021-06-15 鸿富锦精密电子(天津)有限公司 电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656681A (zh) * 2009-09-02 2010-02-24 复旦大学 一种基于网络处理器的网络编码路由器
CN103733180A (zh) * 2013-09-29 2014-04-16 华为技术有限公司 服务器的控制方法和服务器的控制设备
CN105446833A (zh) * 2013-09-29 2016-03-30 华为技术有限公司 服务器的控制方法和服务器的控制设备
CN105009086A (zh) * 2014-03-10 2015-10-28 华为技术有限公司 一种实现处理器切换的方法、计算机和切换装置
CN104579802A (zh) * 2015-02-15 2015-04-29 浪潮电子信息产业股份有限公司 一种多路服务器快速故障恢复的方法

Also Published As

Publication number Publication date
EP3764234A1 (en) 2021-01-13
US11068348B2 (en) 2021-07-20
US20190163573A1 (en) 2019-05-30
EP3471339B1 (en) 2020-04-29
WO2018076351A1 (zh) 2018-05-03
EP3471339A1 (en) 2019-04-17
EP3471339A4 (en) 2019-07-10
EP3764234B1 (en) 2022-06-29
CN107003914A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN109495312B (zh) 基于仲裁盘和双链路的高可用集群的实现方法和***
US20180048522A1 (en) Instance node management method and management device
CN107003914B (zh) 启动物理设备的方法和使能装置
JP5296036B2 (ja) マルチプロセッサコンピュータシステムでのdmi冗長
US20180097701A1 (en) Method for processing virtual machine cluster and computer system
JP6179101B2 (ja) 管理装置、管理方法、および管理プログラム
CN105242980A (zh) 互补式看门狗***及互补式看门狗的监测方法
JP6253956B2 (ja) ネットワーク管理サーバおよび復旧方法
CN103152209B (zh) 基于多机热备份的应用服务运行处理***
JP5285045B2 (ja) 仮想環境における故障復旧方法及びサーバ及びプログラム
JP5285044B2 (ja) クラスタシステム復旧方法及びサーバ及びプログラム
CN108021476B (zh) 一种互联接口的测试方法、装置和计算设备
CN107291653B (zh) 一种多处理器***及配置多处理器***的方法
TW201629757A (zh) 端點伺服器的控制模組及其韌體更新方法
TWI834832B (zh) 鐵路控制系統
US20200167249A1 (en) Information processing system and information processing apparatus
JP6090335B2 (ja) 情報処理装置
CN218974903U (zh) 一种国产服务器bios固件备份装置
CN115913905A (zh) 一种冗余通信模式下的智能消火栓故障节点报文方法
KR102262942B1 (ko) 무선 네트워크 시스템의 무선 브리지에 의한 게이트웨이 자가 복구방법
KR101192202B1 (ko) 내장형 운영체제 기반의 응용프로그램에서 고장 감지 방법 및 시스템
CN115499296B (zh) 一种云桌面热备管理方法、装置及***
CN104243305A (zh) 一种组播业务的故障处理方法和装置
CN117640339A (zh) 服务器的控制方法和装置、存储介质及电子设备
CN117033115A (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