Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SWITCHING PROCESSORS, COMPUTER, AND SWITCHING APPARATUS
Document Type and Number:
WIPO Patent Application WO/2015/135100
Kind Code:
A1
Abstract:
Embodiments of the present invention provide a method for switching processors, a computer, and a switching apparatus. One end of the switching apparatus is connected to a platform controller of the computer, and multiple connection channels are arranged between the other end of the switching apparatus and multiple processors of the computer. When the computer is started, the switching apparatus is used for opening the connection channel between the switching apparatus and a master processor, and closing the connection channels between the switching apparatus and slave processors. During operation of the computer, the switching apparatus is used for determining whether the master processor needs to be replaced, and when it is determined that the master processor needs to be replaced, the switching apparatus selects at least one of the slave processors, and opens the connection channel between the switching apparatus and the selected slave processor, so that the switching apparatus can close the connection channel between the switching apparatus and the master processor, so as to cut off the connection between the master processor and the platform controller, thereby avoiding the effects on a computer service due to replacement of the master processor.

Inventors:
ZHANG DIXUAN (CN)
WU SHENG (CN)
LV TENG (CN)
CHEN ZHUOWEI (CN)
ZHOU DONGSHU (CN)
Application Number:
PCT/CN2014/073100
Publication Date:
September 17, 2015
Filing Date:
March 10, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
International Classes:
G06F11/00
Foreign References:
CN101452437A2009-06-10
CN102609327A2012-07-25
CN102368223A2012-03-07
Download PDF:
Claims:
权 利 要求

1、 一种计算机, 其特征在于, 所述计算机包括多个处理器和平台控制 器, 所述多个处理器通过快速通道互联, 所述多个处理器包括主处理器和从 处理器;

所述计算机还包括切换装置,所述切换装置的一端连接到所述平台控制 器,另一端与所述多个处理器之间设置多条连接通道,在所述计算机启动时, 所述切换装置打开自身与所述主处理器之间的连接通道, 关闭自身与所述从 处理器之间的连接通道, 在所述计算机运行过程中, 所述切换装置用于确定 所述主处理器是否需要更换, 在确定所述主处理器需要更换时, 选择至少一 个从处理器, 打开自身与所述选择的从处理器之间的连接通道。

2、 根据权利要求 1所述的计算机, 其特征在于, 所述切换装置还用于关 闭自身与所述主处理器之间的连接通道。

3、 根据权利要求 2所述的计算机, 其特征在于, 所述切换装置具体用于 根据自身或者所述计算机的主板控制单元监测到的所述主处理器的运行状 态, 确定所述主处理器是否需要更换。

4、 根据权利要求 2或 3所述的计算机, 其特征在于, 所述切换装置还用 于对自身与所述选择的从处理器之间打开的连接通道进行釆样,根据釆样数 据, 确定自身与所述选择的从处理器之间打开的连接通道是否正常工作, 如 果正常工作, 则执行关闭自身与所述主处理器之间的连接通道的操作。

5、 根据权利要求 2-4任一项所述的计算机, 其特征在于, 所述切换装置 还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发中断迁 移指令, 所述中断迁移指令用于将所述主处理器的中断配置信息迁移到所述 选择的从处理器的寄存器。

6、 根据权利要求 2-5任一项所述的计算机, 其特征在于, 所述切换装置 还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发进程迁 移指令, 所述进程迁移指令用于将所述主处理器的任务队列迁移到所述选择 的从处理器的寄存器。

7、 根据权利要求 2-6任一项所述的计算机, 其特征在于, 所述切换装置 还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发通道配 置指令, 所述通道配置指令用于重新配置所述多个处理器之间的快速通道互 联链路, 以将所述选择的从处理器配置为新的主处理器。

8、 根据权利要求 2-7任一项所述的计算机, 其特征在于, 所述切换装置 还用于在关闭自身与所述主处理器之间的连接通道之后,指示所述主处理器 的电源控制模块对所述主处理器执行下电操作。

9、 一种实现处理器切换的方法, 其特征在于, 用于包括多个处理器、 平台控制器和切换装置的计算机, 所述多个处理器通过快速通道互联, 所述 多个处理器包括主处理器和从处理器;

所述切换装置的一端连接到所述平台控制器,另一端与所述多个处理器 之间设置多条连接通道;

所述方法包括:

所述切换装置在所述计算机启动时,打开自身与所述主处理器之间的连 接通道, 关闭自身与所述从处理器之间的连接通道;

所述切换装置在所述计算机运行过程中 ,确定所述主处理器是否需要更 换, 在确定所述主处理器需要更换时, 选择至少一个从处理器, 打开自身与 所述选择的从处理器之间的连接通道。

10、 根据权利要求 9所述的方法, 其特征在于, 所述方法还包括: 所述切换装置关闭自身与所述主处理器之间的连接通道。

11、 根据权利要求 10所述的方法, 其特征在于, 所述切换装置在所述计 算机运行过程中, 确定所述主处理器是否需要更换包括:

所述切换装置在所述计算机运行过程中 ,根据自身或所述计算机的主板 控制单元监测到的所述主处理器的运行状态,确定所述主处理器是否需要更 换。 12、 根据权利要求 10或 11所述的方法, 其特征在于, 所述方法还包括: 所述切换装置对自身与所述选择的从处理器之间打开的连接通道进行 釆样,根据釆用数据确定自身与所述选择的从处理器之间打开的连接通道是 否正常工作;

则所述切换装置在自身与所述选择的从处理器之间打开的连接通道正 常工作时, 执行关闭自身与所述主处理器之间的连接通道的步骤。

13、 根据权利要求 10-12任一项所述的方法, 其特征在于, 在所述切换 装置打开自身与所述选择的从处理器之间的连接通道之前, 所述方法还包 括:

所述切换装置触发中断迁移指令,所述中断迁移指令用于将所述主处理 器的中断配置信息迁移到所述选择的从处理器的寄存器。

14、 根据权利要求 10-13任一项所述的方法, 其特征在于, 在所述切换 装置打开自身与所述选择的从处理器之间的连接通道之前, 所述方法还包 括:

所述切换装置触发进程迁移指令,所述进程迁移指令用于将所述主处理 器的任务队列迁移到所述选择的从处理器的寄存器。

15、 根据权利要求 10-14任一项所述的方法, 其特征在于, 在所述切换 装置打开自身与所述选择的从处理器之间的连接通道之前, 所述方法还包 括:

所述切换装置触发通道配置指令,所述通道配置指令用于重新配置所述 多个处理器之间的快速通道互联链路, 以将所述选择的从处理器配置为新的 主处理器。

16、 一种切换装置, 其特征在于, 用于包括多个处理器和平台控制器的 计算机, 所述多个处理器通过快速通道互联, 所述多个处理器包括主处理器 和从处理器;

所述装置包括开关模块和控制模块; 所述开关模块的一端连接到所述平台控制器,另一端与所述多个处理器 之间设置多条连接通道;

所述控制模块用于在所述计算机运行过程中 ,确定所述主处理器是否需 要更换;

所述开关模块用于在所述计算机启动时,打开自身与所述主处理器之间 的连接通道, 关闭自身与所述从处理器之间的连接通道, 在确定所述主处理 器需要更换时, 选择至少一个从处理器, 打开自身与所述选择的从处理器之 间的连接通道。

17、 根据权利要求 16所述的装置, 其特征在于, 所述开关模块还用于关 闭自身与所述主处理器之间的连接通道。

18、 根据权利要求 17所述的装置, 其特征在于, 所述控制模块具体用于 在自身或者所述计算机的主板控制单元监测到的所述主处理器的运行状态 时, 确定所述主处理器是否需要更换。

19、 根据权利要求 17或 18所述的装置, 其特征在于, 所述装置还包括: 釆样模块,用于对所述开关模块与所述选择的从处理器之间打开的连接 通道进行釆样;

所述控制模块还用于根据釆样数据确定所述开关模块与所述选择的从 处理器之间打开的连接通道是否正常工作;

所述开关模块具体用于在所述控制模块确定所述开关模块与所述选择 的从处理器之间打开的连接通道正常工作时, 关闭自身与所述主处理器之间 的连接通道。

20、 根据权利要求 17-19任一项所述的装置, 其特征在于, 所述控制模 块还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发进程 迁移指令, 所述进程迁移指令用于将所述主处理器的任务队列迁移到所述选 择的从处理器的寄存器。

21、 根据权利要求 17-20任一项所述的装置, 其特征在于, 所述控制模 块还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发进程 迁移指令, 所述进程迁移指令用于将所述主处理器的任务队列迁移到所述选 择的从处理器的寄存器。

22、 根据权利要求 17-21任一项所述的装置, 其特征在于, 所述控制模 块还用于在打开自身与所述选择的从处理器之间的连接通道之前,触发通道 配置指令, 所述通道配置指令用于重新配置所述多个处理器之间的快速通道 互联链路, 以将所述选择的从处理器配置为新的主处理器。

23、 根据权利要求 17-22任一项所述的装置, 其特征在于, 所述控制模 块为所述计算机的主板控制单元。

24、 根据权利要求 17-23任一项所述的装置, 其特征在于, 所述开关模 块用集成电路或者现场可编程门阵列实现。

25、 一种切换装置, 其特征在于, 所述装置包括处理器、 存储器、 总线 和通信接口;

所述存储器用于存储计算机执行指令, 所述处理器与所述存储器通过所 述总线连接, 当所述切换装置运行时, 所述处理器执行所述存储器存储的所 述计算机执行指令, 以使所述切换装置执行如权利要求 9-15中任一所述的 实现处理器切换的方法。

26、 一种计算机可读介质, 其特征在于, 包括计算机执行指令, 以供计 算机的处理器执行所述计算机执行指令时,所述计算机执行如权利要求 9-15 中任一所述的实现处理器切换的方法。

Description:
一种实现处理器切换的方法、 计算机和切换装置 技术领域

本发明实施例涉及计算机技术, 特别涉及一种实现处理器切换的方法、 计算机和切换装置。 背景技术

计算机是数据处理的重要组成部分。 随着信息化技术的大规模发展, 全 球每天产生的数据越来越大, 面对如此大的数据量, 需要加强计算机的处理 能力, 计算机的核心部件处理器(CPU )也逐渐从单核演进成多核。 当前计 算机一般由多个处理器组成, 多个处理器之间通过快速通道互联 ( QuickPath Interconnect,QPI ) 互联, 所述多个处理器可以分为两类, 一类是主处理器, 一类是从处理器, 主处理与计算机的平台控制器 (Platform Controller Hub, PCH )直接相连, 能够与平台控制器进行直接交互, 而从处理器通过主处理 器与平台控制器进行通信, 所有的从处理器与平台控制器的交互需要通过 主 处理器中转实现, 从处理器可以协同主处理器进行计算机业务处 理。

然而在计算机进行业务处理过程中, 处理器可能发生异常或者故障, 从 而引起可纠正错误或者不可纠正错误, 例如处理器温度异常或温度过高引起 的告警、处理器芯片内部异常引起的 Cat— Err告警等, 导致计算机性能下降甚 至重启, 需要及时更换故障处理器以消除问题。 在现有技术中, 当主处理器 产生故障时, 通常需要先对计算机下电才能更换故障的主处 理器。 然而, 对 计算机下电会影响业务的进行,客户通常希望 在计算机不下电的情况下对故 障的主处理器进行更换。 发明内容

本发明实施例提出了一种实现处理器切换的方 法、 计算机和切换装置, 能够在计算机不下电的情况下对主处理器进行 切换。 第一方面, 本发明实施例提出了一种计算机, 所述计算机包括多个处理 器和平台控制器, 所述多个处理器通过快速通道互联, 所述多个处理器包括 主处理器和从处理器;

所述计算机还包括切换装置, 所述切换装置的一端连接到所述平台控制 器,另一端与所述多个处理器之间设置多条连 接通道,在所述计算机启动时, 所述切换装置打开自身与所述主处理器之间的 连接通道, 关闭自身与所述从 处理器之间的连接通道, 在所述计算机运行过程中, 所述切换装置用于确定 所述主处理器是否需要更换, 在确定所述主处理器需要更换时, 选择至少一 个从处理器, 打开自身与所述选择的从处理器之间的连接通 道。

结合第一方面, 在第一种可能的实现方式中, 所述切换装置还用于关闭 自身与所述主处理器之间的连接通道。

结合第一方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述切换装置具体用于根据自身或者所述计算 机的主板控制单元监测到的 所述主处理器的运行状态, 确定所述主处理器是否需要更换。

结合第一方面的第一种或第二种可能的实现方 式,在第三种可能的实现 方式中, 所述切换装置还用于对自身与所述选择的从处 理器之间打开的连接 通道进行釆样, 根据釆样数据, 确定自身与所述选择的从处理器之间打开的 连接通道是否正常工作, 如果正常工作, 则执行关闭自身与所述主处理器之 间的连接通道的操作。

结合第一方面的第一种或第二种或第三种可能 的实现方式,在第四种可 能的实现方式中, 所述切换装置还用于在打开自身与所述选择的 从处理器之 间的连接通道之前, 触发中断迁移指令, 所述中断迁移指令用于将所述主处 理器的中断配置信息迁移到所述选择的从处理 器的寄存器。

结合第一方面的第一至第四任一种可能的实现 方式,在第四种可能的实 现方式中, 所述切换装置还用于在打开自身与所述选择的 从处理器之间的连 接通道之前, 触发通道配置指令, 所述通道配置指令用于重新配置所述多个 处理器之间的快速通道互联链路, 以将所述选择的从处理器配置为新的主处 第二方面, 本发明实施例提出了一种实现处理器切换的方 法, 用于包括 多个处理器、 平台控制器和切换装置的计算机, 所述多个处理器通过快速通 道互联, 所述多个处理器包括主处理器和从处理器; 所述切换装置的一端连 接到所述平台控制器, 另一端与所述多个处理器之间设置多条连接通 道; 该 方法包括:

所述切换装置在所述计算机启动时,打开自身 与所述主处理器之间的连 接通道, 关闭自身与所述从处理器之间的连接通道;

所述切换装置在所述计算机运行过程中 ,确定所述主处理器是否需要更 换, 在确定所述主处理器需要更换时, 选择至少一个从处理器, 打开自身与 所述选择的从处理器之间的连接通道。

结合第二方面, 在第一种可能的实现方式中, 所述方法还包括: 所述切 换装置关闭自身与所述主处理器之间的连接通 道。

结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述切换装置在所述计算机运行过程中,确定 所述主处理器是否需要更换包 括: 所述切换装置在所述计算机运行过程中, 根据自身或所述计算机的主板 控制单元监测到的所述主处理器的运行状态, 确定所述主处理器是否需要更 换。

结合第二方面的第一种或第二种可能的实现方 式,在第三种可能的实现 方式中, 所述方法还包括:

所述切换装置对自身与所述选择的从处理器之 间打开的连接通道进行 釆样,根据釆用数据确定自身与所述选择的从 处理器之间打开的连接通道是 否正常工作; 则所述切换装置在自身与所述选择的从处理器 之间打开的连接 通道正常工作时, 执行关闭自身与所述主处理器之间的连接通道 的步骤。

结合第二方面的第一种或第二种或第三种可能 的实现方式,在第四种可 能的实现方式中,在所述切换装置打开自身与 所述选择的从处理器之间的连 接通道之前, 所述方法还包括: 所述切换装置触发中断迁移指令, 所述中断 迁移指令用于将所述主处理器的中断配置信息 迁移到所述选择的从处理器 的寄存器。

结合第二方面的第一至第四任一种可能的实现 方式,在第五中可能的实 现方式中,在所述切换装置打开自身与所述选 择的从处理器之间的连接通道 之前, 所述方法还包括: 所述切换装置触发通道配置指令, 所述通道配置指 令用于重新配置所述多个处理器之间的快速通 道互联链路, 以将所述选择的 从处理器配置为新的主处理器。

第三方面, 本发明实施例提出了一种切换装置, 用于包括多个处理器和 平台控制器的计算机, 所述多个处理器通过快速通道互联, 所述多个处理器 包括主处理器和从处理器; 所述装置包括开关模块和控制模块;

所述开关模块的一端连接到所述平台控制器, 另一端与所述多个处理器 之间设置多条连接通道;

所述控制模块用于在所述计算机运行过程中 ,确定所述主处理器是否需 要更换;

所述开关模块用于在所述计算机启动时,打开 自身与所述主处理器之间 的连接通道, 关闭自身与所述从处理器之间的连接通道, 在确定所述主处理 器需要更换时, 选择至少一个从处理器, 打开自身与所述选择的从处理器之 间的连接通道。

结合第三方面, 在第一种可能的实现方式中, 所述开关模块还用于关闭 自身与所述主处理器之间的连接通道。

结合第三方面的第一种可能的实现方式, 在第二种可能的实现方式中, 所述控制模块具体用于在自身或者所述计算机 的主板控制单元监测到的所 述主处理器的运行状态时, 确定所述主处理器是否需要更换。

结合第三方面的第一种或第二种可能的实现方 式,在第三种可能的实现 方式中, 所述装置还包括: 釆样模块, 用于对所述开关模块与所述选择的从 处理器之间打开的连接通道进行釆样; 所述控制模块还用于根据釆样数据确 定所述开关模块与所述选择的从处理器之间打 开的连接通道是否正常工作; 所述开关模块具体用于在所述控制模块确定所 述开关模块与所述选择的从 处理器之间打开的连接通道正常工作时, 关闭自身与所述主处理器之间的连 接通道。

结合第三方面的第一种或第二种或第三种可能 的实现方式,在第四种可 能的实现方式中, 所述控制模块还用于在打开自身与所述选择的 从处理器之 间的连接通道之前, 触发通道配置指令, 所述通道配置指令用于重新配置所 述多个处理器之间的快速通道互联链路, 以将所述选择的从处理器配置为新 的主处理器。

结合第三方面的第一至第四任一种可能的实现 方式,在第五种可能的实 现方式中, 所述控制模块为所述计算机的主板控制单元。

本发明实施例中, 所述切换装置的一端连接到所述平台控制器, 另一端 与所述多个处理器之间设置多条连接通道, 所述切换装置可以确定所述主处 理器是否需要更换, 在确定所述主 CPU需要更换时, 选择至少一个从处理 器, 打开自身与所述选择的从处理器之间的连接通 道, 从而可以所述切换装 置可以关闭自身与所述主 CPU之间的连接通道, 以断开所述主 CPU与所述 PCH之间的连接,解决了现有技术中由于主 CPU与 PCH相连而无法在计算 机不下电的情况下插拔主 CPU的问题, 实现了在计算机不下电的情况下更 换主 CPU, 避免了更换主 CPU时对计算机业务造成的影响。

附图说明

为了更清楚地说明本发明实施例的技术方案, 下面将对现有技术或实施 例中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳 动的前提下, 还可以根据这些附图获得其他的附图。 图 1 ( a )是现有计算机的一个组成图; 图 1 ( b )是本发明实施例提供的计算机组成图;

图 2是本发明实施例提供的切换装置组成图;

图 3是本发明实施例提供的又一种切换装置组成 ;

图 4是本发明实施例提供的又一种切换装置组成 ;

图 5是本发明实施例提供的一种实现处理器切换 方法流程图; 图 6是本发明实施例提供的又一种实现处理器切 的方法流程图; 图 7是本发明实施例提供的又一种切换装置组成 。 具体实施方式

本发明实施例提出了一种实现处理器切换的方 法、 计算机和切换装置, 能够在计算机不下电的情况下实现对主处理器 的切换,避免了更换主处理器 时对计算机业务造成的影响。

如图 1 ( a ) 所示为计算机的一个示例, 该计算机包括闪存 10、 平台控 制器(PCH ) 11和多个 CPU。 所述多个 CPU包括主 CPU和从 CPU, 图 1 ( a ) 中以 1个主 CPU和 3个从 CPU示出, 例如主 CPU12A, 从 CPU12B、 12C和 12D, 所述主 CPU12 A通过直接媒体接口 ( Direct Media Interface , DMI )与所述 PCH 11相连, 所述从 CPU12B、 12C和 12D通过 QPI链路与 所述主 CPU12A相连, 所述从 CPU12B、 12C和 12D通过所述主 CPU12A 的中转实现与所述 PCH 11的交互 /通信。所述 PCH 11还与所述闪存 10相连, 所述闪存 10 主要用于保存所述计算机的基本输入输出系统 (Basic Input Output System, BIOS )程序, 所述闪存 10还可以是其他保存有 BIOS程序 的存储介质, 例如 RAM/ROM。 此外, 所述计算机还可以包括硬盘等存储介 质, 用于保存所述计算机的文档和操作系统程序等 数据, 所述计算机还可以 包括 I/O设备, 例如鼠标、 键盘和 PCI设备等, 所述 PCH11可以与所述硬 盘和 I/O设备相连。

由于所述计算机进行业务处理过程中, 所述主 CPU12A和所述从 CPU12B、 12C和 12D均需要与所述 PCH 11进行交互, 而所述从 CPU12B、 12C 和 12D与所述 PCH 11进行交互需要通过所述主 CPU12A的中转, 因此现有技 术在需要更换主 CPU12A时, 只能先对所述计算机整体下电之后再更换主 CPU, 不能在所述计算机不下电时直接插拔所述主 CPU12A, 否则将导致所 述主 CPU和所述从 CPU与 PCH交互的中断, 进一步引起计算机故障或瘫痪。

为了解决这个问题,本发明实施例提出了一种 计算机,如图 1 ( b )所示, 与图 1 ( a )所示的计算机相比, 所述计算机还包括切换装置, 所述切换装置 设置于所述 PCH11与所述主 CPU12A之间, 所述切换装置 13的一端连接到所 述 PCH11 , 另一端与所述多个 CPU之间设置多条连接通道, 在所述计算机启 动时, 所述切换装置 13用于打开自身与所述主 CPU之间的连接通道, 关闭自 身与所述从 CPU之间的连接通道, 使得所述主 CPU和所述从 CPU能够与所述 PCH 11通信, 保证所述计算机业务的正常处理。 在所述计算机运行过程中, 所述切换装置 13用于确定所述主处理器是否需要更换, 在确定所述主 CPU需 要更换时, 选择至少一个从 CPU, 打开自身与所述选择的从 CPU之间的连接 通道, 例如打开自身与 12B或 12C或 12D之间的连接通道, 从而所述切换装置 13可以关闭自身与所述主 CPU之间的连接通道, 以断开所述主 CPU与所述 PCH11之间的连接, 解决了现有技术中由于主 CPU与 PCH相连而无法在计算 机不下电的情况下插拔主 CPU的问题, 实现了在计算机不下电的情况下更换 主 CPU, 避免了更换主 CPU时对计算机业务造成的影响。

具体地, 在所述计算机运行过程中, 所述切换装置 13可以对所述主 CPU 的运行状态进行监测, 并根据所述主 CPU的运行状态, 确定所述主 CPU是否 需要更换, 例如, 当所述主 CPU发生故障或工作异常时, 所述切换装置 13可 以监测到所述主 CPU处于故障状态, 确定所述主 CPU需要更换, 执行选择至 少一个从 CPU, 打开自身与所述选择的从 CPU之间的连接通道的操作, 此时 所述选择的从 CPU能够通过所述切换装置 13与所述 PCH11进行交互 /通信,从 而所述切换装置 13可以进一步关闭自身与所述主 CPU之间的连接通道, 以断 开所述主 CPU与所述 pcmi的连接。 所述切换装置 13还可以进一步指示所述 主 CPU的电源控制模块对所述主 CPU进行下电操作, 以便用户在计算机不下 电的情况下更换故障的主 CPU。 此外, 所述主 CPU的运行状态还可以由所述 计算机的主板控制单元( Base Mainboard Controller, BMC )进行监测, 所述 切换装置 13还能够根据所述主板控制单元监测到的所述 CPU的运行状态, 确定所述主 CPU是否需要更换。

在实际应用过程中,所述切换装置 13与所述多个 CPU之间的连接通道往 往会受到外界环境的影响, 为了保证可靠性, 避免所述计算机出现不必要的 故障, 所述切换装置 13在关闭自身与所述主 CPU之间的连接通道之间, 可以 对自身与所述选择的从 CPU之间打开的连接通道进行釆样, 在确保自身与所 述选择的从 CPU之间打开的连接通道能够正常工作的情况下 , 再关闭自身与 所述主 CPU之间连接通道。 否则, 所述装置可以进行故障告警, 以便用户即 使知晓故障进行处理, 或者还可以打开自身与另一个从 CPU之间的连接通 道, 以确保所述主 CPU能够顺利更换。

在上述描述中, 所述切换装置 13通过将 PCH11与主 CPU之间连接切换成

PCH11与从 CPU之间的连接, 实现了故障主 CPU的在线移除。 然而, 为了保 证移除所述主 CPU之后, 所述计算机仍然能够正常响应所述主 CPU的中断, 或者能够继续执行所述主 CPU移除时正在处理的业务, 所述切换装置 13还可 以在打开自身与所述选择的从 CPU之间的连接通道之前, 触发中断迁移指令 和 /或进程迁移指令,以使得所述计算机的操作 统或者基本输入输出系统能 够根据所述中断迁移指令, 将所述主 CPU的中断迁移到所述从 CPU的寄存 器, 能够根据所述进程迁移指令, 将所述主 CPU的进程迁移到所述从 CPU的 寄存器, 保证在更换所述主 CPU后, 所述计算机的各项业务正常进行。

下面将结合图 2、 图 3和图 4对本发明实施例中所述切换装置的具体实现 方式作详细描述。

如图 2所示,所述切换装置 13可以具体包括开关模块 131和控制模块 132, 所述开关模块 131的一端与所述 PCH 11的 DMI相连, 另一端与主 CPU和从 CPU设置有多条 DMI连接通道, 当然, 在其它实施例中, 所述开关模块 131 与所述多个 CPU之间设置的连接通道不一定为 DMI通道, 也可以为其它类型 的连接通道。 具体地, 当所述从 CPU为多个时, 所述开关模块 131应至少与 一个从 CPU设置有连接通道, 图中以所述开关模块 131与从 CPU12B、 12C和 12D均设置有连接通道示出。

所述控制模块 132用于在所述计算机运行过程中, 确定所述主 CPU是否 需要更换; 例如, 所述控制模块 132可以根据用户的指示或者所述主 CPU的 运行状态确定所述主 CPU是否需要更换, 其中, 所述主 CPU的运行状态包括 故障状态和非故障状态, 所述控制模块 132还可以用于在所述计算机运行过 程中, 对所述主 CPU的运行状态进行监测, 例如监测所述主 CPlL "^的警告 消息, 来实时监测所述主 CPU是否发生故障, 此外, 所述控制模块 132还可 以根据其它模块, 例如所述计算机的主板控制单元, 监测到的所述主 CPU的 运行状态来确定所述主 CPU是否需要更换。

所述开关模块 131用于在所述计算机启动时, 打开自身与所述主 CPU之 间的连接通道,关闭自身与所述从 CPU之间的连接通道,在所述控制模块 132 确定所述主 CPU需要更换时, 选择至少一个从 CPU, 打开自身与所述选择的 从 CPU之间的连接通道, 例如, 打开自身与选择的从 CPU12B之间的连接通 道。 此外, 在所述控制模块 132确定所述主 CPU需要更换时, 所述开关模块 131除了打开自身与 12B或 12C或 12D之间的连接通道之外, 还可以关闭自身 与所述主 CPU之间的连接通道, 从而避免移除所述主 CPU时出现的故障告 另外,为了在计算机不下电的情况下移除所述 主 CPU,所述控制模块 132 可以与所述主 CPU的电源控制模块 14相连, 如图 2所示, 从而在所述开关模 块 131关闭自身与所述主 CPU之间的连接通道之后, 所述控制模块 132能够控 制所述主 CPU的电源控制模块 14对所述主 CPU进行下电操作, 以便在计算机 不下电时, 可以更换或移除所述主 CPU。 例如, 所述控制模块 132可以与主 CPU的电源控制模块 14相连, 从而可以在主 CPU发生故障等情形需要更换 时, 控制电源控制模块 14对主 CPU进行下电操作。

进一步,所述控制模块 132还可以在所述开关模块 131打开自身与所述选 择的从 CPU之间的连接通道之前, 触发通道配置指令, 所述通道配置指令用 于对所述多个 CPU之间的 QPI链路进行重新配置, 以将所述选择的从 CPU配 置为新的主 CPU, 例如, 在重新配置所述多个 CPU之间的 QPI链路之后, 所 述主 CPU与所述选择的从 CPU之间的 QPI链路将断开, 以保证所述主 CPU移 除时不会出现故障告警或影响所述计算机的业 务。 并且当所述从 CPU为多个 时, 可以根据所述主 CPU与每个从 CPU之间的 QPI链路, 重新配置所述选择 的从 CPU与其它从 CPU之间的 QPI链路, 从而将所述选择的从 CPU配置为新 的主 CPU。具体地,所述控制模块 132还可以与所述 PCH 11相连,如图 2所示, 例如通过( Low pin count Bus, LPC )或者 Smlink总线或者 I2C总线等与所述 PCH 11相连, 所述控制模块 132可以通过所述 PCH11触发系统管理中断 ( System Management Interrupt, SMI ) 中断, 从而所述计算机可以根据触发 的 SMI中断, 执行基本输入输出系统的通道配置指令, 使得所述计算机的基 本输入输出系统能够在所述控制模块 132触发所述通道配置指令之后, 重新 配置所述多个 CPU之间的 QPI链路, 以将所述选择的从 CPU配置为新的主 CPU。

此外, 为了保证移除所述主 CPU之后, 所述计算机仍然能够正常响应所 述主 CPU的中断, 或者能够继续执行所述主 CPU移除时正在处理的业务, 所 述控制模块 132还可以在所述开关模块 131打开自身与所述选择的从 CPU之 间的连接通道之前, 触发中断迁移指令和 /或触发进程迁移指令, 其中, 所述 中断迁移指令用于将所述主处理器的中断配置 信息迁移到所述选择的从处 理器的寄存器, 例如从所述主 CPU的寄存器获取所述主 CPU的中断配置信 息, 根据所述主 CPU的中断配置信息配置所述从 CPU的寄存器, 从而将所述 主 CPU的中断迁移到所述从 CPU; 所述进程迁移指令用于用于将所述主处理 器的任务队列迁移到所述选择的从处理器的寄 存器, 例如从所述主 CPU的寄 存器获取所述主 CPU的任务队列, 将所述主 CPU的任务队列配置到所述从 CPU的寄存器, 从而将所述主 CPU的进程迁移到所述从 CPU。 具体地, 可以 预先在所述计算机的基本输入输出系统中配置 所述中断迁移指令和 /或所述 进程迁移指令, 所述控制模块 132在可以所述开关模块 131打开自身与所述从 CPU之间至少一条连接通道之前, 通过所述 PCH11触发 SMI中断, 从而所述 计算机可以根据触发的 SMI中断, 执行基本输入输出系统的所述中断迁移指 令和 /或所述业务迁移指令, 将所述主 CPU的中断迁移到所述从 CPU和 /或将 所述主 CPU的进程迁移到所述从 CPU; 又例如, 可以预先在所述计算机的操 作系统中配置所述中断迁移指令和 /或所述进程迁移指令, 所述控制模块 132 可以触发修正的机器校验中断 (Corrected Machine Check Interrupts , CMCI) , , 从而所述计算机可以根据触发的 CMCI中断, 执行操作系统的所述中断迁移 指令和 /或所述业务迁移指令。

在以上描述中, 当所述主 CPU需要更换时, 所述开关模块 131可以在打 开自身与所述选择的从 CPU之间的连接通道之后, 关闭自身所述主 CPU与所 述 PCH 11之间连接通道。 然而, 在实际应用过程中, 为了保证计算机的可靠 性, 避免出现不必要的故障, 也可以在确保所述开关模块 131与所述选择的 从 CPU之间打开的连接通道能够正常工作的情况下 , 再断开所述开关模块 131与所述主 CPU之间连接通道。 因此, 如图 3所示, 所述切换装置还可以包 括:

釆样模块 133 ,用于对所述开关模块 131与所述选择的从 CPU之间打开的 连接通道进行釆样;

所述控制模块 132还可以根据釆样数据确定所述开关模块 131与所述选 择的从 CPU之间打开的连接通道是否正常工作;

所述开关模块 131可以在所述控制模块 132确定所述开关模块 131与所述 选择的从 CPU之间打开的连接通道正常工作时, 关闭自身与所述主 CPU之间 的连接通道, 否则, 所述开关模块 131可以打开自身与另一个从 CPU之间的 连接通道, 以确保所述主 CPU能够顺利更换, 或者所述控制模块 132可以进 行故障告警。

在上述描述中,虽然所述控制模块 132与所述开关模块 131或所述釆样模 块 133可以集成为一体设计, 如图 2和图 3所示, 所述控制模块 132可以与所述 开关模块 131或者所述釆样模块 133集成一体, 用集成电路 (Application Specific Integrated Circuit )或者现场可编程门阵列 ( Field Programmable Gate Array ) 实现。 但实际应用中也可以将所述控制模块 132独立于所述开关模块 131或所述釆样模块 133 , 本发明实施例在此不做限定。

具体地, 将所述控制模块 132独立于所述开关模块 131设计时, 所述控制 模块 132在确定所述主 CPU需要更换时, 选择至少一个从 CPU, 可以通过管 脚电平信号, 或者通过芯片串行总线 (Inter Integrate Circuit BUS, I2C ) /系 统管理接口 ( System Management Link, Smlink ) 总线等总线通知所述所述 开关模块 131 , 所述开关模块 131可以根据所述控制模块 132的通知信号, 打 开自身与所述选择的从 CPU之间的连接通道, 例如打开所述开关模块 131与 从 CPU12B之间的连接通道。 例如, 如图 4所示, 所述控制模块 132可以是所 述主板控制单元, 所述主板控制单元 132可以通过 I2C或者 Smlink总线等与所 述开关模块 131进行交互。 所述切换装置还可以包括接口模块 134, 用于实现 所述开关模块 131和所述釆样模块 133与所述主板控制单元之间的信号交互, 所述接口模块 134、 所述釆样模块 133和所述开关模块 131用 ASIC或者 FPGA 实现。 所述主板控制单元可以实时搜集所述主 CPU上报的错误消息或者故障 告警信号, 来对所述主 CPU的运行状态进行监控, 所述主板控制单元还可以 收集用户的指示信息, 当用户需要跟换主 CPU时, 确定所述主 CPU需要进行 更换,选择至少一个从 CPU,并通过所述接口模块 134通知所述开关模块 131。 所述釆样模块 133也可以通过所述接口模块 134将所述釆用数据提供给所述 控制模块 132。 本发明实施例提供了一种实现处理器切换的方 法, 如图 5所示, 用于包 括多个 CPU、 平台控制器和切换装置的计算机, 所述多个 CPU通过快速通道 互联, 所述多个 CPU包括主 CPU和从 CPU; 所述切换装置的一端连接到所述 平台控制器,另一端与所述多个 CPU之间设置多条连接通道,所述方法包括: S501 : 所述切换装置在所述计算机启动时, 打开自身与所述主 CPU之间 的连接通道, 关闭自身与所述从 CPU之间的连接通道。

在所述计算机启动时,所述切换装置打开自身 与所述主 CPU之间的连接 通道, 关闭自身与所述从 CPU之间的连接通道, 使得所述主 CPU和所述从 CPU能够与所述 PCH通信, 保证所述计算机业务的正常处理。

S502: 所述切换装置在所述计算机运行过程中, 确定所述主 CPU是否需 要更换, 在当确定所述主 CPU需要更换时, 选择至少一个从 CPU, 打开自身 与所述选择的从 CPU之间的连接通道。

具体地, 所述切换装置可以根据用户的指示或者所述主 CPU的运行状 态, 确定所述主 CPU是否需要更换, 例如当用户有更换所述主 CPU的需求, 或者所述主 CPU因为故障等原因需要更换时, 所述切换装置可以确定所述主 CPU需要更换, 选择至少一个从 CPU, 打开自身与所述选择的从 CPU之间的 连接通道, 使得所述选择的从 CPU能够取代所述主 CPU与所述 PCH相连, 从 而可以关闭所述切换装置与所述主 CPU之间的连接通道, 以断开所述主 CPU 计算机不下电的情况下插拔主 CPU的问题, 实现了在计算机不下电的情况下 更换主 CPU, 避免了更换主 CPU时对计算机业务造成的影响。 具体地, 本发明实施例提供的实现处理器切换的方法可 以如图 6所示, 用于包括多个 CPU、 平台控制器和切换装置的计算机, 所述多个 CPU通过快 速通道互联, 所述多个 CPU包括主 CPU和从 CPU; 所述切换装置的一端连接 到所述平台控制器, 另一端与所述多个 CPU之间设置多条连接通道, 所述方 法包括:

S601 : 所述切换装置监测所述主 CPU的运行状态。

所述主 CPU的运行状态包括故障状态和非故障状态,所 述切换装置可以 实时或者定期监测主 CPU的运行状态, 例如通过所述主 CPU主动上 的故障 警告信息或者错误信息, 或者通过对所述主 CPU的运行参数进行监测, 来确 定所述主 CPU是否处于故障状态。

S602: 所述切换装置根据所述主 CPU的运行状态, 确定所述主 CPU是否 需要更换, 如果需要更换, 选择至少一个从 CPU, 然后执行步骤 S603。

步骤 S601为可选步骤在其它可行的实施例中,所述 换装置也可以根据 其它装置提供的所述主 CPU的运行状态, 确定所述主 CPU是否需要更换。

此外, 所述切换装置还可以根据用户的指示, 来确定所述主 CPU是否需 要更换。

当所述从 CPU为多个时, 可以根据所述从 CPU资源占用率, 选择资源占 用率最低的从 CPU;

又或者, 可以根据所述从 CPU的处理能力或者性能, 选择处理能力强或 者性能高的从 CPU。

S603: 所述切换装置触发中断迁移指令, 以将所述主 CPU的中断迁移到 所述选择的从 CPU。

在确定所述主 CPU需要更换时, 所述切换装置可以触发中断迁移指令, 所述中断迁移指令用于将所述主 CPU的中断配置信息迁移到所述选择的从 CPU的寄存器, 例如从所述主 CPU的寄存器获取所述主 CPU的中断配置信 息, 根据所述主 CPU的中断配置信息配置所述选择的从 CPU的寄存器, 以将 所述主 CPU的中断迁移到所述选择的从 CPU, 使得后续所述选择的从 CPU可 以处理所述主 CPU的中断业务。 S604: 所述切换装置触发进程迁移指令, 以将所述主 CPU的进程迁移到 所述选择的从 CPU。

在确定所述主 CPU需要更换时, 所述切换装置还可以触发进程迁移指 令, 所述进程迁移指令用于用于将所述主 CPU的任务队列迁移到所述选择的 从 CPU的寄存器, 例如从所述主 CPU的寄存器获取所述主 CPU的任务队列, 将所述主 CPU的任务队列配置到所述选择的从 CPU的寄存器, 以将所述主 CPU的进程迁移到所述选择的从 CPU, 使得后续所述选择的从 CPU可以继续 处理所述主 CPU的进程。

步骤 S603和步骤 S604为可选步骤,在其它实施例中,也可以不 所述主 CPU的中断或业务进行迁移。

S605: 所述切换装置触发通道配置指令, 以将所述选择的从 CPU配置为 新的主 CPU。

由于所述多个 CPU之间根据需求通过 QPI链路互联, 因此在移除主 CPU 之前, 可以触发通道配置指令, 所述通道配置指令用于重新配置所述计算机 中主 CPU和从 CPU之间的 QPI链路, 使得配置 QPI链路之后, 断开了所述主 CPU与所述选择的从 CPU之间的 QPI连接, 保证主 CPU移除时不会出现故障 告警或影响所述计算机的业务。

另夕卜, 当所述从 CPU为多个时, 例如从 CPU12B, 12C和 12D, 则重新配 置所述多个 CPU之间的 QPI连接时, 还可以根据所述主 CPU与所述从 CPU12B, 12C和 12D的 QPI链路, 配置所述选择的从 CPU12B与从 CPU12C和 12D之间的 QPI链路, 使得所述选择的从 CPU12B能够替代所述主 CPU12A成 为新的主 CPU , 并且保证了从 CPU12C和 12D能够正常工作。

S606: 所述切换装置打开自身与所述选择的从 CPU之间的连接通道。 在所述主 CPU的中断或进程迁移完成之后以及所述多个 CPU之间的 QPI 链路配置完成之后, 所述切换装置可以打开自身与所述选择的从 CPU之间的 连接通道, 从而所述从 CPU可以替代所述主 CPU。 S607:所述切换装置对自身与所述选择的从 CPU之间打开的连接通道进 行釆样, 并根据釆样数据判断自身与所述选择的从 CPU之间打开的连接通道 是否正常工作, 如果正常工作, 执行步骤 S608。

所述切换装置在打开自身与所述选择的从 CPU之间的连接通道之后,可 以通过所述釆样数据判断自身与所述选择的从 CPU之间打开的连接通道是 否能够正常工作,在确定能够正常工作的情况 下,所述切换装置再执行 S607, 否则, 所述切换装置可以进行故障告警或者还可以打 开自身与其它从 CPU之 间的连接通道, 以确保所述主 CPU能够顺利更换。

S608: 所述切换装置关闭自身与所述主 CPU之间的连接通道。

所述切换装置在确定自身与所述从 CPU之间打开的连接通道能够正常 导通 /正常工作之后,可以关闭自身与所述主 CPU之间的连接通道, 以便后续 能够顺利移除所述主 CPU而不会引起任何故障。

S609:所述切换装置指示所述主 CPU的电源控制模块对所述主 CPU进行 下电操作。

在所述切换装置指示对所述主 CPU进行下电操作之后,可以插拔所述主

CPU, 并且不会影响所述计算机的业务。

在本发明实施例中, 在计算机运行过程中, 所述切换装置可以对所述主 CPU的运行状态进行监测, 并根据所述主 CPU的运行状态, 确定所述主 CPU 是否需要更换, 当所述主 CPU需要进行更换时, 选择至少一个从 CPU, 打开 自身与所述选择的从 CPU之间的连接通道, 使得所述从选择的 CPU能够取代 所述主 CPU与所述 PCH相连, 从而可以关闭自身与所述主 CPU之间的连接通 道, 以断开所述主 CPU与所述 PCH之间的连接, 解决了现有技术中由于主 CPU与 PCH相连而无法在计算机不下电的情况下插拔主 CPU的问题, 实现了 在计算机不下电的情况下更换主 CPU, 避免了更换主 CPU时对计算机业务造 成的影响。

如图 7, 为本发明实施例提供的一种切换装置, 所述处理器切换装置可 以包括:

处理器 701、 存储器 702、 系统总线 704和通信接口 705。 处理器 701、 存储器 702和通信接口 705之间通过系统总线 704连接并完成相互间的通信。

处理器 701可能为单核或多核中央处理单元, 或者为特定集成电路, 或 者为被配置成实施本发明实施例的一个或多个 集成电路。

存储器 702 可以为高速 RAM 存储器, 也可以为非易失性存储器 ( non-volatile memory ) , 例 口至少一个磁盘存 4诸器。

存储器 702用于计算机执行指令 703。 具体的, 计算机执行指令 703中 可以包括程序代码。

当所述处理器切换装置运行时, 处理器 701运行计算机执行指令 703 , 可以执行图 5或图 6任意之一所述的实现处理器切换的方法流程

本领域普通技术人员将会理解, 本发明的各个方面、 或各个方面的可能 实现方式可以被具体实施为系统、 方法或者计算机程序产品。 因此, 本发明 的各方面、 或各个方面的可能实现方式可以釆用完全硬件 实施例、 完全软件 实施例 (包括固件、驻留软件等等), 或者组合软件和硬件方面的实施例的形 式, 在这里都统称为"电路"、 "模块"或者"系统"。 此外, 本发明的各方面、 或各个方面的可能实现方式可以釆用计算机程 序产品的形式,计算机程序产 品是指存储在计算机可读介质中的计算机可读 程序代码。

计算机可读介质可以是计算机可读信号介质或 者计算机可读存储介质。 计算机可读存储介质包含但不限于电子、 磁性、 光学、 电磁、 红外或半导体 系统、 设备或者装置, 或者前述的任意适当组合, 如随机存取存储器 (RAM), 只读存储器 (ROM)、 可擦除可编程只读存储器 (EPROM或者快闪 存储器)、 光纤、 便携式只读存储器 (CD-ROM:)。

计算机中的处理器读取存储在计算机可读介质 中的计算机可读程序代 码, 使得处理器能够执行在流程图中每个步骤、 或各步骤的组合中规定的功 能动作;生成实施在框图的每一块、或各块的 组合中规定的功能动作的装置。 计算机可读程序代码可以完全在用户的计算机 上执行、部分在用户的计 算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远程计 算机上, 或者完全在远程计算机或者计算机上执行。 也应该注意, 在某些替 代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可能不按图 中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两个步骤、 或 两个块实际上可能被大致同时执行, 或者这些块有时候可能被以相反顺序执 行。

本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结 合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特 定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不 同方 法来实现所描述的功能, 但是这种实现不应认为超出本发明的范围。

以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露 的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应所述以权利要求的保护范围为准。