CN106708551A - 一种热添加中央处理器cpu的配置方法及系统 - Google Patents
一种热添加中央处理器cpu的配置方法及系统 Download PDFInfo
- Publication number
- CN106708551A CN106708551A CN201510797064.3A CN201510797064A CN106708551A CN 106708551 A CN106708551 A CN 106708551A CN 201510797064 A CN201510797064 A CN 201510797064A CN 106708551 A CN106708551 A CN 106708551A
- Authority
- CN
- China
- Prior art keywords
- cpu
- qpi
- heat addition
- ports
- bit
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例公开了一种热添加中央处理器CPU的配置方法及系统,该方法包括主CPU确定与第一热添加CPU相邻的在位CPU,该在位CPU建立与第一热添加CPU间的第一QPI链路并建立第一热添加CPU与NC间的第二QPI链路,其中,该NC为与在位CPU相连的NC,在位CPU配置第一热添加CPU的路由寄存器信息。可见,实施本发明实施例能够通过与热添加CPU相邻的在位CPU实现对热添加CPU的配置,不依赖于热添加CPU与主CPU之间的距离,有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,提高了拓扑发现效率,进而能够快速的恢复业务,提高了用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种热添加中央处理器CPU的配置方法及系统。
背景技术
目前,为了提高服务器的容错能力,中央处理器(CPU,Central ProcessingUnit)热插拔已经成为很多服务器的不可或缺的特性,即:在服务器系统中,由于服务器由多个CPU组成,当其中一个或多个CPU发生故障需要移除时,CPU热插拔特性可以保证业务不中断,从而不影响整个服务器系统的业务运行。在CPU热插拔过程中,发生故障的CPU被移除,新的CPU(又称“热添加CPU”)需要重新配置并添加到服务器系统中,这导致了服务器系统的拓扑发生变化,因此,服务器系统的拓扑发现是整个CPU热插拔方案实现的基础与关键。
对于基于节点控制器(NC,Node Controller)的服务器系统来说,如图1所示,图1是现有技术公开的一种基于NC的服务器系统的结构示意图。图1中的服务器系统为16P服务器系统,其由16个CPU组成且以节点作为相对独立的单元,节点之间通过NC相连,多个节点组成一个完整的服务器系统,其中,每4个CPU组成一个节点且属于同一个快速路径互联(QPI,Quick PathInterconnect)域,CPU之间以及CPU与NC之间通过QPI总线相连。在实际应用中,当热添加CPU与主CPU在同一个QPI域时,相邻热添加CPU之间上电后可以自动建立链路,主CPU可直接配置与其相邻的热添加CPU并通过配置好的CPU配置与主CPU不相邻的热添加CPU,以使热添加CPU加入整个系统拓扑;当热添加CPU与主CPU未在同一个QPI域时,主CPU可以通过至少一个NC的中转来配置热添加CPU,以使热添加CPU加入整个系统拓扑,此时,该方案依赖于热添加CPU必须在上电后自动与相应的NC建立链路,否则主CPU须通过至少一个NC以及配置好的CPU的中转来配置热添加CPU。当前的热添加CPU的拓扑发现方案由主CPU实现,热添加CPU与主CPU的距离越远,该方案的实现越复杂,不利于服务器系统的拓扑扩展,且依赖于NC和/或配置好的CPU的中转,增加了热添加CPU的拓扑发现时间。可见,当前的热添加CPU的拓扑发现方案存在效率低以及不利于拓扑扩展的问题。
发明内容
本发明实施例公开了一种热添加中央处理器CPU的配置方法及系统,能够提高热添加CPU的拓扑发现效率且有利于拓扑扩展。
本发明实施例第一方面公开了一种热添加中央处理器CPU的配置方法,所述方法可以应用于由多个CPU组成的服务器系统中,所述方法包括:
主CPU确定与第一热添加CPU相邻的在位CPU,其中,所述相邻的在位CPU为在硬件结构中与所述第一热添加CPU的插槽存在直接QPI连线且能够正常工作的CPU,且所述在位CPU的数量可以为一个,也可以为两个;
所述在位CPU建立与所述第一热添加CPU间的第一快速路径互联QPI链路;
所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路,所述NC为与所述在位CPU相连的NC;
所述在位CPU配置所述第一热添加CPU的路由寄存器信息,其中,所述路由寄存器信息包括所述第一热添加CPU的所有QPI端口中用于访问所述在位CPU的QPI端口的端口标识、用于访问所述NC的QPI端口的端口标识以及所述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
在本发明实施例第一方面的第一种可能的实现方式中,所述在位CPU建立与所述第一热添加CPUU间的第一快速路径互联QPI链路,包括:
所述在位CPU确定所述第一热添加CPU的第一QPI端口的端口参数,其中,所述第一热添加CPU的第一QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述在位CPU建立第一QPI链路的QPI端口,即所述第一热添加CPU的第一QPI端口为在硬件结构中与所述在位CPU存在直接QPI连线的QPI接口;
所述在位CPU将所述在位CPU的第一QPI端口的端口参数配置为所述第一热添加CPU的第一QPI端口的端口参数,其中,所述在位CPU的第一QPI端口为所述在位CPU的所有QPI端口中用于与所述热添加CPU建立所述第一QPI链路的QPI端口,即所述在位CPU的第一QPI端口为硬件结构中与所述第一热添加CPU存在直接QPI连线的QPI端口,所述在位CPU将其第一QPI端口的端口参数配置为第一热添加CPU的第一QPI端口的端口参数即可建立与所述第一热添加CPU间的所述第一QPI链路。
结合本发明实施例第一方面或本发明实施例第一方面的第一种可能的实现方式,在本发明实施例第一方面的第二种可能的实现方式中,所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路,包括:
当NC不支持自动与所述第一热添加CPU建立第二QPI链路时,所述在位CPU根据所述NC的第一QPI端口的端口参数配置所述第一热添加CPU的第二QPI端口的端口参数,所述热添加CPU的第二QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述NC的第一QPI端口建立所述第二QPI链路的QPI端口,其中,所述NC的第一QPI端口为在硬件结构中与所述第一热添加CPU存在直接QPI连线的QPI端口;
其中,当所述NC支持自动与第一所述热添加CPU建立所述第二QPI链路时,可以直接通过所述NC建立所述第一热添加CPU与所述NC间的所述第二QPI链路。
结合本发明实施例第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在本发明实施例第一方面的第三种可能的实现方式中,所述在位CPU建立所述第一热添加CPU与所述在位CPU间的第一快速路径互联QPI链路之前,所述方法还包括:
第一热添加CPU建立与其相邻第二热添加CPU间的第三QPI链路,即当存在与第一热添加CPU相邻的第二热添加CPU时,第一热添加CPU先与第二热添加CPU建立第三QPI链路,此时,与第一热添加CPU相邻的在位CPU的个数为一。
结合本发明实施例第一方面的第三种可能的实现方式,在本发明实施例第一方面的第四种可能的实现方式中,所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路之后,所述在位CPU配置所述第一热添加CPU的路由寄存器信息之前,所述方法还包括:
所述在位CPU检测所述第一QPI链路、所述第二QPI链路以及所述第三QPI链路是否建立完毕,若是,则触发执行所述在位CPU配置所述第一热添加CPU的路由寄存器的操作,这样可以保证将第一热添加CPU添加到拓扑系统的准确性。
本发明实施例第二方面公开了一种热添加中央处理器CPU的配置系统,所述系统包括主CPU、第一热添加CPU、与所述第一热添加CPU相邻的在位CPU以及与所述在位CPU相连的NC,其中:
所述主CPU,用于确定与所述第一热添加CPU相邻的所述在位CPU,其中,所述相邻的在位CPU为在硬件结构中与所述第一热添加CPU的插槽存在直接QPI连线且能够正常工作的CPU,且所述在位CPU的数量可以为一个,也可以为两个;
所述在位CPU,用于建立与所述第一热添加CPU间的第一QPI链路,以及建立所述第一热添加CPU与所述NC间的第二QPI链路,并配置所述第一热添加CPU的路由寄存器信息,其中,所述路由寄存器信息包括所述第一热添加CPU的所有QPI端口中用于访问所述在位CPU的QPI端口的端口标识、用于访问所述NC的QPI端口的端口标识以及所述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
在本发明实施例第二方面的第一种可能的实现方式中,所述在位CPU建立与所述第一热添加CPU间的第一快速路径互联QPI链路的具体方式为:
确定所述第一热添加CPU的第一QPI端口的端口参数,其中,所述第一热添加CPU的第一QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述在位CPU建立第一QPI链路的QPI端口,即所述第一热添加CPU的第一QPI端口为在硬件结构中与所述在位CPU存在直接QPI连线的QPI接口;
将所述在位CPU的第一QPI端口的端口参数配置为所述第一热添加CPU的第一QPI端口的端口参数,其中,所述在位CPU的第一QPI端口为所述在位CPU的所有QPI端口中用于与所述第一热添加CPU建立所述第一QPI链路的QPI端口,即所述在位CPU的第一QPI端口为硬件结构中与所述第一热添加CPU存在直接QPI连线的QPI端口,所述在位CPU将其第一QPI端口的端口参数配置为第一热添加CPU的第一QPI端口的端口参数即可建立与所述第一热添加CPU间的所述第一QPI链路。
结合本发明实施例第二方面或本发明实施例第二方面的第一种可能的实现方式,在本发明实施例第二方面的第二种可能的实现方式中,所述在位CPU建立所述第一热添加CPU与所述NC间的第二QPI链路的具体方式为:
当所述NC不支持自动与所述第一热添加CPU建立第二QPI链路时,根据所述NC的第一QPI端口的端口参数配置所述第一热添加CPU的第二QPI端口的端口参数,所述第一热添加CPU的第二QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述NC建立所述第二QPI链路的QPI端口,其中,所述NC的第一QPI端口为在硬件结构中与所述第一热添加CPU存在直接QPI连线的QPI端口;
其中,当所述NC支持自动与所述第一热添加CPU建立所述第二QPI链路时,可以直接通过所述NC建立所述第一热添加CPU与所述NC间的所述第二QPI链路。
结合本发明实施例第二方面、第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在本发明实施例第二方面的第三种可能的实现方式中,所述第一热添加CPU,用于在所述在位CPU建立所述第一QPI链路之前,建立与其相邻的第二热添加CPU间的第三QPI链路。
结合本发明实施例第二方面的第三种可能的实现方式,在本发明实施例第二方面的第四种可能的实现方式中,所述在位CPU,还用于在建立所述第一热添加CPU与所述NC间的所述第二QPI链路之后且配置所述第一热添加CPU的路由寄存器信息之前,检测所述第一QPI链路、所述第二QPI链路以及所述第三QPI链路是否建立完毕,若是,则触发执行所述配置所述第一热添加CPU的路由寄存器信息的操作。
本发明实施例中,主CPU确定与第一热添加CPU相邻的在位CPU,在位CPU建立与第一热添加CPU间的第一QPI链路并建立第一热添加CPU与NC间的第二QPI链路,其中,该NC为与在位CPU相连的NC,在位CPU配置热添加CPU的路由寄存器信息,其中,该路由寄存器信息包括第一热添加CPU的所有QPI端口中用于访问在位CPU的QPI端口的端口标识、用于访问NC的QPI端口的端口标识以及第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。本发明实施例能够通过与热添加CPU相邻的在位CPU实现对热添加CPU的配置,不依赖于热添加CPU与主CPU之间的距离,有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,提高了拓扑发现效率,进而快速的恢复业务。可见,实施本发明实施例能够提高热添加CPU的拓扑发现效率且有利于拓扑扩展,提高了用户的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术公开的一种基于NC的服务器系统的结构示意图;
图2是本发明实施例公开的一种热添加中央处理器CPU的配置方法的流程示意图;
图3是本发明实施例公开的另一种热添加中央处理器CPU的配置方法的流程示意图;
图4是本发明实施例公开的一种热添加中央处理器CPU的配置装置的结构示意图;
图5是本发明实施例公开的另一种热添加中央处理器CPU的配置装置的结构示意图;
图6是本发明实施例公开的又一种热添加中央处理器CPU的配置装置的结构示意图;
图7是本发明实施例公开的一种热添加中央处理器CPU的配置系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种热添加中央处理器CPU的配置方法及系统,能够提高热添加CPU的拓扑发现效率且有利于拓扑扩展。以下分别进行详细说明。
请参阅图2,图2是本发明实施例公开的一种热添加中央处理器CPU的配置方法的流程示意图。其中,图2所示的方法可以应用于在热添加CPU添加初期无法被直接访问的应用场景中,如图1中的服务器系统等,本发明实施例不做限定。如图2所示,该方法可以包括以下步骤:
S201、主CPU确定与第一热添加CPU相邻的在位CPU。
本发明实施例中,在执行步骤S201之前,可以先运行统一的可扩展固件接口基本输入输出系统(UEFI BIOS,Unified Extensible Firmware InterfaceBasic Input Output System)将热插拔代码加入运行时服务Runtime Service,并通过UEFI BIOS将热插拔代码引导至操作系统,在操作系统下触发针对服务器系统中出现故障的CPU的热移除流程以及触发(通过软件触发或通过硬件触发)针对热添加CPU的热添加流程(即图2中所示的热添加CPU的配置方法的流程)。
本发明实施例中,具体的,主CPU可以通过系统启动线程(SBSP,SystemBoot Strap Processor)确定与第一热添加CPU相邻的在位CPU,其中,相邻的在位CPU为在服务器系统的硬件结构中与第一热添加CPU的插槽存在直接QPI连线的CPU,且第一热添加CPU可以是为了提高服务器系统的业务处理性能而添加的新的CPU,也可以是当服务器系统中的某个或某些CPU发生故障后将发生故障的CPU移除并向服务器系统中添加的新的CPU。在服务器系统中,每个热添加CPU都存在与其相邻的在位CPU,当热添加CPU的数量为一个时,与该热添加CPU相邻的在位CPU的数量为两个,如当热添加CPU为图1中的CPU1时,与CPU1相邻的在位CPU为CPU0以及CPU2,当热添加CPU为图1中的CPU3时,与CPU3相邻的在位CPU为CPU2以及CPU0;当热添加CPU为两个相邻的CPU时,与每个热添加CPU分别相邻的在位CPU的数量为一个,如当热添加CPU为图1中的CPU1以及CPU2时,与CPU1相邻的在位CPU为CPU0且与CPU2相邻的在位CPU为CPU3,当热添加CPU为图1中的CPU5以及CPU6时,与CPU5相邻的在位CPU为CPU4,与CPU6相邻的在位CPU为CPU7,当热添加CPU为图1中的CPU13以及CPU14时,与CPU13相邻的在位CPU为CPU12,与CPU14相邻的在位CPU为CPU15。
其中,主CPU确定出的在位CPU可以是根据配置人员输入的相邻的在位CPU的信息确定,本发明实施例不做限定。
S202、在位CPU建立与上述第一热添加CPU间的第一快速路径互联QPI链路。
本发明实施例中,每个热添加CPU(如第一热添加CPU)上存在三个QPI端口,其中两个QPI端口用于分别建立与两个相邻的在位CPU间的QPI链路,或用于分别建立与一个相邻的在位CPU间的QPI链路以及与一个相邻的热添加CPU间的QPI链路,剩下的一个QPI端口用于建立与NC间的QPI链路,其中,该NC为与上述在位CPU相连的NC。
本发明实施例中,作为一种可选的实施方式,在位CPU建立与上述第一热添加CPU间的第一快速路径互联QPI链路可以包括:
确定上述第一热添加CPU的第一QPI端口的端口参数,其中,上述第一热添加CPU的第一QPI端口为上述第一热添加CPU的所有QPI端口中用于与上述在位CPU建立第一QPI链路的QPI端口;
将上述在位CPU的第一QPI端口的端口参数设置为上述第一热添加CPU的第一QPI端口的端口参数,以建立上述第一QPI链路,其中,上述在位CPU的第一QPI端口为上述在位CPU的所有QPI端口中用于与上述第一热添加CPU建立第一QPI链路的QPI端口,即在位CPU的第一QPI端口为硬件结构中与上述第一热添加CPU存在直接QPI连线的QPI端口,且在位CPU将其第一QPI端口的端口参数配置为第一热添加CPU的第一QPI端口的端口参数即可打通与上述第一热添加CPU间的第一QPI链路。
本发明实施例中,由于刚上电的第一热添加CPU的第一QPI端口的端口参数为默认参数,则只需将第一热添加CPU对应相邻的在位CPU的第一QPI端口的端口参数设置为热添加CPU的第一QPI端口的默认参数即可建立上述第一QPI链路,且在位CPU建立与上述第一热添加CPU间的第一QPI链路即是建立每个第一热添加CPU与其对应相邻的在位CPU间的第一QPI链路。此外,每个第一热添加CPU与其对应相邻的在位CPU之间的第一QPI链路的建立除了由对应相邻的在位CPU完成之外,还可以由上述SBSP完成,也可以由每个第一热添加CPU对应相邻的在位CPU完成,本发明实施例不做限定。
S203、在位CPU建立上述第一热添加CPU与节点控制器NC间的第二QPI链路。
本发明实施例中,作为一种可选的实施方式,在位CPU建立上述第一热添加CPU与节点控制器NC间的第二QPI链路可以包括:
当NC不支持自动与第一热添加CPU建立第二QPI链路时,根据NC的第一QPI端口的端口参数配置第一热添加CPU的第二QPI端口的端口参数,以建立NC与第一热添加CPU间的第二QPI链路,其中,第一热添加CPU的第二QPI端口为该热添加CPU的所有QPI端口中用于与NC建立第二QPI链路的端口,即NC的第一QPI端口为在硬件结构中与第一热添加CPU存在直接QPI连线的QPI端口。
其中,当NC支持自动与第一热添加CPU建立第二QPI链路时,可以直接通过NC建立第一热添加CPU与NC间的第二QPI链路。
在该可选的实施方式中,具体的,通过UEFI BOIS提供的多线程复位服务(MP Service,Multiple Processor Service),由SBSP激活与热添加CPU相邻的在位CPU对热添加CPU的第二QPI端口的端口参数进行配置,其中,MP Service为与热添加CPU相邻的在位CPU的第一个线程。
需要说明的是,在位CPU根据NC的第一QPI端口的端口参数配置第一热添加CPU的第二QPI端口的端口参数既可以是将第一热添加CPU的第二QPI端口的端口参数配置为NC的第一QPI端口的端口参数,也可以根据实际的业务需求以及NC的第一QPI端口的端口参数对第一热添加CPU的第二QPI端口的端口参数实现差异化配置,如当NC的第一QPI端口的端口参数用于指示NC的第一QPI端口不支持特性A时,在位CPU可以直接配置第一热添加CPU的第二QPI端口的端口参数,以使第一热添加CPU关闭特性A。
S204、在位CPU配置上述第一热添加CPU的路由寄存器信息。
本发明实施例中,该路由寄存器信息可以包括上述第一热添加CPU的所有QPI端口中用于访问上述在位CPU的QPI端口的端口标识、用于访问上述NC的QPI端口的端口标识以及上述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
以第一热添加CPU为图1中的CPU1且CPU1相邻的在位CPU为CPU2为例,CPU2将CPU1的端口1配置为用于访问CPU0的QPI端口的端口标识,CPU2将CPU1的端口2配置为用于访问CPU2的QPI端口的端口标识,CPU2将CPU1的端口3配置为用于访问与CPU2直接相连的NC的QPI端口的端口标识,CPU2将CPU1的端口1配置为CPU1作为中转CPU时的源QPI端口的端口标识,且将CPU1的端口2配置为CPU1作为中转CPU时的目的QPI端口的端口标识,即当CPU1作为中转CPU时,CPU1内部的业务流流向为由端口1流向端口2。
本发明实施例中,具体的,由SBSP激活与第一热添加CPU相邻的在位CPU的第一个线程配置第一热添加CPU的路由寄存器信息。且当与第一热添加CPU相邻的在位CPU有两个时,由SBSP激活与第一热添加CPU相邻的其中一个在位CPU的第一个线程来配置第一热添加CPU的路由寄存器信息。
本发明实施例中,在执行完毕步骤S204之后,不仅建立了第一热添加CPU与其对应相邻的在位CPU间的QPI链路以及第一热添加CPU与对应NC间的QPI链路,而且完成了对热添加CPU的路由寄存器信息的配置,这样热添加CPU就被添加到服务器系统的系统拓扑中,即SBSP可以访问整个服务器系统中的任意一个CPU。此外,根据实际的业务需求,针对CPU的其它配置(如地址解码以及配置与缓存相关的寄存器等)也可以由SBSP完成。
在一个可选的实施例中,在执行步骤S202之前,还可以执行以下操作:
第一热添加CPU建立与其相邻的第二热添加CPU间的第三QPI链路。
在该可选的实施例中,由于刚上电的第一热添加CPU以及第二热添加CPU的每个QPI端口的端口参数均为默认参数,当第一热添加CPU的数量为多个且存在相邻的热添加CPU时,相邻的热添加CPU可以通过第一热添加CPU的第三QPI端口自动建立第三QPI链路。
在该可选的实施例中,进一步可选的,在执行步骤S203之后以及执行步骤S204之前,还可以执行以下操作:
在位CPU检测上述第一QPI链路、上述第二QPI链路以及上述第三QPI链路是否建立完毕,若是,则触发执行步骤S204,若否,则可以结束本次流程,也可以重新触发执行步骤S202,本发明实施例不做限定。具体的,由SBSP激活与第一热添加CPU相邻的在位CPU检测第一热添加CPU的所有QPI端口是否处于正常状态,这样能够保证将第一热添加CPU添加到拓扑系统的准确性。
本发明实施例将第一热添加CPU添加到应用场景(例如图1所示的基于NC的服务器系统)的拓扑系统中的具体方式为:通过在位CPU建立与第一热添加CPU相邻的在位CPU以及相邻的NC间的QPI链路并配置第一热添加CPU的路由寄存器信息。
本发明实施例中,主CPU确定与第一热添加CPU相邻的在位CPU,在位CPU建立与第一热添加CPU间的第一QPI链路并建立第一热添加CPU与NC间的第二QPI链路,其中,该NC为与在位CPU相连的NC,在位CPU配置第一热添加CPU的路由寄存器信息,其中,该路由寄存器信息包括第一热添加CPU的所有QPI端口中用于访问在位CPU的QPI端口的端口标识、用于访问NC的QPI端口的端口标识以及第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。本发明实施例能够通过与第一热添加CPU相邻的在位CPU实现对第一热添加CPU的配置,不依赖于热添加CPU与主CPU之间的距离,有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,实现简单且提高了拓扑发现效率,进而能够快速的恢复业务,提高了用户的使用体验。
图3是本发明实施例公开的另一种热添加中央处理器CPU的配置方法的流程示意图。其中,图3是当第一热添加CPU为图1中的CPU5以及CPU6时针对CPU5的配置方法的流程示意图,其中,上电后,CPU5可以自动与CPU6建立第三QPI链路。如图3所示,该热添加CPU的配置方法可以包括以下步骤:
S301、SBSP确定与CPU5相邻的在位CPU为CPU4。
S302、SBSP确定CPU5的第一QPI端口的端口参数。
其中,CPU5的第一QPI端口为CPU5的所有QPI端口中用于与CPU4建立第一QPI链路的QPI端口。
S303、SBSP将CPU4的第一QPI端口的端口参数设置为CPU5的第一QPI端口的端口参数,以建立CPU5与CPU4间的第一QPI链路。
S304、CPU4根据NC的第一QPI端口的端口参数配置CPU5的第二QPI端口的端口参数,以建立CPU5与NC间的第二QPI链路。
其中,NC为与CPU4相连的NC,且CPU5的第二QPI端口为CPU5的所有QPI端口中用于与NC的第一QPI端口建立第二QPI链路的QPI端口。
其中,CPU4根据NC的第一QPI端口的端口参数配置CPU5的第二QPI端口的端口参数既可以是将CPU5的第二QPI端口的端口参数配置为NC的第一QPI端口的端口参数,也可以根据实际的业务需求以及NC的第一QPI端口的端口参数对CPU5的第二QPI端口的端口参数实现差异化配置。
S305、CPU4检测第一QPI链路、第二QPI链路以及第三QPI链路是否建立完毕。
本发明实施例中,当步骤S305的检测结果为是时,触发执行步骤S306;当步骤S305的检测结果为否时,可以结束本次流程,也可以重新触发执行步骤S303,本发明实施例不做限定。
S306、CPU4配置CPU5的路由寄存器信息。
其中,该路由寄存器信息可以包括上述第一热添加CPU的所有QPI端口中用于访问上述在位CPU的QPI端口的端口标识、用于访问上述NC的QPI端口的端口标识以及上述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
本发明实施例中,在执行完毕步骤S306之后,SBSP还可以完成针对CPU的其它配置,如CPU5的地址解码以及配置与缓存相关的寄存器等。
可见,实施本发明实施例能够有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,实现简单且提高了拓扑发现效率,进而能够使服务器系统快速的恢复业务,提高了用户的使用体验。
请参阅图4,图4是本发明实施例公开的一种热添加中央处理器CPU的配置装置的结构示意图。如图4所示,该装置可以包括确定模块401、第一建立模块402、第二建立模块403以及配置模块404,其中:
确定模块401用于确定与第一热添加CPU相邻的在位CPU。
第一建立模块402用于建立与上述第一热添加CPU间的第一QPI链路。
第二建立模块403用于建立上述第一热添加CPU与NC间的第二QPI链路。
本发明实施例中,该NC为与确定模块401确定出的在位CPU相连的NC。
配置模块404用于通过确定模块401确定出的在位CPU配置上述第一热添加CPU的路由寄存器信息。
其中,该路由寄存器信息可以包括上述第一热添加CPU的所有QPI端口中用于访问上述在位CPU的QPI端口的端口标识、用于访问上述NC的QPI端口的端口标识以及上述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
本发明实施例中,在第一建立模块402建立上述第一QPI链路、第二建立模块403建立上述第二QPI链路且配置模块404通过上述在位CPU配置完毕上述第一热添加CPU的路由寄存器信息后,第一热添加CPU就被添加到了系统拓扑中。
在一个可选的实施例中,第一建立模块402可以包括确定子模块4021以及设置子模块4022,此时,该热添加中央处理器CPU的配置装置的结构可以如图5所示,图5是本发明实施例公开的另一种热添加中央处理器CPU的配置装置的结构示意图。其中:
确定子模块4021用于确定上述第一热添加CPU的第一QPI端口的端口参数,其中,上述第一热添加CPU的第一QPI端口为上述第一热添加CPU的所有QPI端口中用于与确定模块401确定出的在位CPU建立第一QPI链路的QPI端口。
设置子模块4022用于将确定模块401确定出的在位CPU的第一QPI端口的端口参数配置为上述第一热添加CPU的第一QPI端口的端口参数,以建立上述第一QPI链路,其中,上述在位CPU的第一QPI端口为上述在位CPU的所有QPI端口中用于与上述第一热添加CPU建立上述第一QPI链路的QPI端口。
在另一个可选的实施例中,第二建立模块403建立第一热添加CPU与NC间的第二QPI链路的具体方式可以为:
当NC不支持自动与上述第一热添加CPU建立第二QPI链路时,通过确定模块401确定出的在位CPU配置上述第一热添加CPU的第二QPI端口的端口参数,以建立上述第二QPI链路,其中,第一热添加CPU的第二QPI端口为第一热添加CPU的所有QPI端口中用于与NC建立第二QPI链路的QPI端口;
当NC支持自动与第一热添加CPU建立第二QPI链路时,通过NC建立上述第一热添加CPU与NC间的第二QPI链路。
在又一个可选的实施例中,在图5所示的装置结构基础上,该装置还可以包括第三建立模块405以及检测模块406,此时,该装置的结构可以如图6所示,图6是本发明实施例公开的又一种热添加中央处理器CPU的配置装置的结构示意图。其中:
第三建立模块405用于在第一建立模块402建立与上述第一热添加CPU间的第一QPI链路之前,建立与第一热添加CPU相邻的第二热添加CPU间的第三QPI链路。
检测模块406用于在第二建立模块403建立第一热添加CPU与NC间的第二QPI链路之后且在配置模块404通过在位CPU配置第一热添加CPU的路由寄存器信息之前,检测上述第一QPI链路、第二QPI链路以及第三QPI链路是否建立完毕,当检测模块406的检测结果为是时,触发配置模块404通过在位CPU配置热添加CPU的路由寄存器信息。
可见,实施本发明实施例能够通过与热添加CPU相邻的在位CPU实现对热添加CPU的配置,不依赖于热添加CPU与主CPU之间的距离,有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,提高了拓扑发现效率,进而能够使服务器系统快速的恢复业务,提高了用户的使用体验。
请参阅图7,图7是本发明实施例公开的一种热添加中央处理器CPU的配置系统的结构示意图。如图7所示,该系统可以包括主CPU、第一热添加CPU、与第一热添加CPU相邻的在位CPU以及与该在位CPU相连的NC,其中:
主CPU用于确定与第一热添加CPU相邻的在位CPU。
在位CPU用于建立与第一热添加CPU间的第一QPI链路,以及建立第一热添加CPU与NC间的第二QPI链路,并配置第一热添加CPU的路由寄存器信息,其中,该路由寄存器信息包括第一热添加CPU的所有QPI端口中用于访问在位CPU的QPI端口的端口标识、用于访问NC的QPI端口的端口标识以及第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
可选的,在位CPU建立与第一热添加CPU间的第一快速路径互联QPI链路的具体方式为:
确定第一热添加CPU的第一QPI端口的端口参数,其中,该第一热添加CPU的第一QPI端口为第一热添加CPU的所有QPI端口中用于与在位CPU建立第一QPI链路的QPI端口;
将在位CPU的第一QPI端口的端口参数配置为第一热添加CPU的第一QPI端口的端口参数,其中,该在位CPU的第一QPI端口为在位CPU的所有QPI端口中用于与第一热添加CPU建立第一QPI链路的QPI端口。
可选的,在位CPU建立第一热添加CPU与NC间的第二QPI链路的具体方式为:
当NC不支持自动与第一热添加CPU建立第二QPI链路时,根据NC的第一QPI端口的端口参数配置第一热添加CPU的第二QPI端口的端口参数,第一热添加CPU的第二QPI端口为第一热添加CPU的所有QPI端口中用于与NC的第一QPI端口建立第二QPI链路的QPI端口。
其中,当NC支持自动与第一热添加CPU建立第二QPI链路时,可以直接通过NC建立第一热添加CPU与NC间的第二QPI链路。
可选的,第一热添加CPU可以用于在在位CPU建立上述第一QPI链路之前,建立与其相邻的第二热添加CPU间的第三QPI链路。
可选的,在位CPU还可以用于在建立第一热添加CPU与NC间的第二QPI链路之后且在配置第一热添加CPU的路由寄存器信息之前,检测上述第一QPI链路、上述第二QPI链路以及上述第三QPI链路是否建立完毕,若是,则触发在位CPU执行配置第一热添加CPU的路由寄存器信息的操作。
需要说明的是,上述第一热添加CPU的数量至少为一个,且每个第一热添加CPU的相邻在位CPU的数量可以为一个,也可以为两个。
可见,本发明实施例能够通过与第一热添加CPU相邻的在位CPU实现对第一热添加CPU的配置,不依赖于热添加CPU与主CPU之间的距离,有利于拓扑扩展,且无需再通过NC和/或其它CPU的中转,实现简单且提高了拓扑发现效率,进而能够快速的恢复业务,提高了用户的使用体验。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作、模块和子模块并不一定是本发明所必须的,且本发明实施例中的思想可以应用到其它热添加场景中,如内存和PCI-E设备组成的热添加场景中。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的模块以及子模块可以根据实际需要进行顺序调整、合并和删减。
本发明实施例中所述模块以及子模块可以通过通用集成电路,例如CPU(Central Processing Unit,中央处理器),或通过ASIC(Application SpecificIntegrated Circuit,专用集成电路)来实现。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种热添加中央处理器CPU的配置方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种热添加中央处理器CPU的配置方法,其特征在于,所述方法包括:
主CPU确定与第一热添加CPU相邻的在位CPU;
所述在位CPU建立与所述第一热添加CPU间的第一快速路径互联QPI链路;
所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路,所述NC为与所述在位CPU相连的NC;
所述在位CPU配置所述第一热添加CPU的路由寄存器信息,其中,所述路由寄存器信息包括所述第一热添加CPU的所有QPI端口中用于访问所述在位CPU的QPI端口的端口标识、用于访问所述NC的QPI端口的端口标识以及所述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
2.根据权利要求1所述的方法,其特征在于,所述在位CPU建立与所述第一热添加CPU间的第一快速路径互联QPI链路,包括:
所述在位CPU确定所述第一热添加CPU的第一QPI端口的端口参数,其中,所述第一热添加CPU的第一QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述在位CPU建立第一QPI链路的QPI端口;
所述在位CPU将所述在位CPU的第一QPI端口的端口参数配置为所述第一热添加CPU的第一QPI端口的端口参数,其中,所述在位CPU的第一QPI端口为所述在位CPU的所有QPI端口中用于与所述第一热添加CPU建立所述第一QPI链路的QPI端口。
3.根据权利要求1或2所述的方法,其特征在于,所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路,包括:
当NC不支持自动与所述第一热添加CPU建立第二QPI链路时,所述在位CPU根据所述NC的第一QPI端口的端口参数配置所述第一热添加CPU的第二QPI端口的端口参数,所述第一热添加CPU的第二QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述NC的第一QPI端口建立所述第二QPI链路的QPI端口。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述在位CPU建立所述第一热添加CPU与所述在位CPU间的第一快速路径互联QPI链路之前,所述方法还包括:
所述第一热添加CPU建立与其相邻的第二热添加CPU间的第三QPI链路。
5.根据权利要求4所述的方法,其特征在于,所述在位CPU建立所述第一热添加CPU与节点控制器NC间的第二QPI链路之后,所述在位CPU配置所述第一热添加CPU的路由寄存器信息之前,所述方法还包括:
所述在位CPU检测所述第一QPI链路、所述第二QPI链路以及所述第三QPI链路是否建立完毕,若是,则触发执行所述在位CPU配置所述第一热添加CPU的路由寄存器信息的操作。
6.一种热添加中央处理器CPU的配置系统,所述系统包括主CPU、第一热添加CPU、与所述第一热添加CPU相邻的在位CPU以及与所述在位CPU相连的NC,其特征在于,
所述主CPU,用于确定与所述第一热添加CPU相邻的所述在位CPU;
所述在位CPU,用于建立与所述第一热添加CPU间的第一QPI链路,以及建立所述第一热添加CPU与所述NC间的第二QPI链路,并配置所述第一热添加CPU的路由寄存器信息,其中,所述路由寄存器信息包括所述第一热添加CPU的所有QPI端口中用于访问所述在位CPU的QPI端口的端口标识、用于访问所述NC的QPI端口的端口标识以及所述第一热添加CPU作为中转CPU时的源QPI端口的端口标识与目的QPI端口的端口标识。
7.根据权利要求6所述的系统,其特征在于,所述在位CPU建立与所述第一热添加CPU间的第一快速路径互联QPI链路的具体方式为:
确定所述第一热添加CPU的第一QPI端口的端口参数,其中,所述第一热添加CPU的第一QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述在位CPU建立第一QPI链路的QPI端口;
将所述在位CPU的第一QPI端口的端口参数配置为所述第一热添加CPU的第一QPI端口的端口参数,其中,所述在位CPU的第一QPI端口为所述在位CPU的所有QPI端口中用于与所述第一热添加CPU建立所述第一QPI链路的QPI端口。
8.根据权利要求6或7所述的系统,其特征在于,所述在位CPU建立所述第一热添加CPU与所述NC间的第二QPI链路的具体方式为:
当所述NC不支持自动与所述第一热添加CPU建立第二QPI链路时,根据所述NC的第一QPI端口的端口参数配置所述第一热添加CPU的第二QPI端口的端口参数,所述第一热添加CPU的第二QPI端口为所述第一热添加CPU的所有QPI端口中用于与所述NC的第一QPI端口建立所述第二QPI链路的QPI端口。
9.根据权利要求6-8任一项所述的系统,其特征在于,所述第一热添加CPU,用于在所述在位CPU建立所述第一QPI链路之前,建立与其相邻的第二热添加CPU间的第三QPI链路。
10.根据权利要求9所述的系统,其特征在于,所述在位CPU,还用于在建立所述第一热添加CPU与所述NC间的所述第二QPI链路之后且在配置所述第一热添加CPU的路由寄存器信息之前,检测所述第一QPI链路、所述第二QPI链路以及所述第三QPI链路是否建立完毕,若是,则触发执行所述配置所述第一热添加CPU的路由寄存器信息的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510797064.3A CN106708551B (zh) | 2015-11-17 | 2015-11-17 | 一种热添加中央处理器cpu的配置方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510797064.3A CN106708551B (zh) | 2015-11-17 | 2015-11-17 | 一种热添加中央处理器cpu的配置方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708551A true CN106708551A (zh) | 2017-05-24 |
CN106708551B CN106708551B (zh) | 2020-01-17 |
Family
ID=58933547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510797064.3A Active CN106708551B (zh) | 2015-11-17 | 2015-11-17 | 一种热添加中央处理器cpu的配置方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708551B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098869A1 (zh) * | 2022-11-11 | 2024-05-16 | 华为技术有限公司 | 一种通信方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110161592A1 (en) * | 2009-12-31 | 2011-06-30 | Nachimuthu Murugasamy K | Dynamic system reconfiguration |
CN101908036B (zh) * | 2010-07-22 | 2011-08-31 | 中国科学院计算技术研究所 | 一种高密度多处理器系统及其节点控制器 |
WO2012149714A1 (zh) * | 2011-08-25 | 2012-11-08 | 华为技术有限公司 | 一种节点控制器链路的切换方法、处理器系统和节点 |
CN103049422B (zh) * | 2012-12-17 | 2013-11-27 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
CN103365717B (zh) * | 2013-06-25 | 2016-08-31 | 华为技术有限公司 | 内存访问方法、装置及系统 |
CN103488606B (zh) * | 2013-09-10 | 2016-08-17 | 华为技术有限公司 | 基于节点控制器的请求响应方法和装置 |
CN103577382B (zh) * | 2013-10-24 | 2017-01-04 | 华为技术有限公司 | 一种配置节点控制器的方法和装置 |
CN104040972B (zh) * | 2014-04-17 | 2017-09-08 | 华为技术有限公司 | 一种路径建立的方法及装置 |
CN104618235B (zh) * | 2014-12-24 | 2018-06-19 | 北京华为数字技术有限公司 | 一种跨层建立不共路路径的方法及装置 |
-
2015
- 2015-11-17 CN CN201510797064.3A patent/CN106708551B/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024098869A1 (zh) * | 2022-11-11 | 2024-05-16 | 华为技术有限公司 | 一种通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106708551B (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107278299B (zh) | 经由可重配置的虚拟交换机实现次级总线功能性的方法、装置和系统 | |
US9859974B2 (en) | Rerouting bus data signals from faulty signal carriers to existing healthy signal carriers | |
CN104202194B (zh) | PCIe拓扑的配置方法和装置 | |
RU2645288C2 (ru) | Усовершенствование интерфейса pci express | |
US11301406B2 (en) | Method, apparatus and system for role transfer functionality for a bus master | |
US7631050B2 (en) | Method for confirming identity of a master node selected to control I/O fabric configuration in a multi-host environment | |
KR102147629B1 (ko) | 플렉시블 서버 시스템 | |
US11196657B2 (en) | Self identifying interconnect topology | |
JP2005141739A (ja) | Pciエクスプレスリンクのダイナミック再構成 | |
TWI608357B (zh) | 共用匯流排埠之系統及共用匯流排埠之方法 | |
US9122816B2 (en) | High performance system that includes reconfigurable protocol tables within an ASIC wherein a first protocol block implements an inter-ASIC communications protocol and a second block implements an intra-ASIC function | |
WO2017118080A1 (zh) | 一种中央处理器cpu热移除、热添加方法及装置 | |
US9800461B2 (en) | Ring-based network interconnect | |
WO2016127600A1 (zh) | 异常处理方法及装置 | |
CN117561505A (zh) | 用于动态地配置设备结构的系统、方法、装置和架构 | |
CN105893322A (zh) | 一种cpu互联系统及实现方法 | |
US10067894B1 (en) | Cable-based configuration | |
CN106708596B (zh) | 一种输入输出虚拟化资源的调整方法及处理器 | |
CN104268089B (zh) | 一种信息更新的方法、装置及系统 | |
US11232060B2 (en) | Method, apparatus and system for power supply policy exchange on a bus | |
US11093422B2 (en) | Processor/endpoint communication coupling configuration system | |
CN106708551A (zh) | 一种热添加中央处理器cpu的配置方法及系统 | |
CN105824374A (zh) | 一种双子星型服务器架构 | |
US11003612B2 (en) | Processor/endpoint connection configuration system | |
TWI704460B (zh) | 叢集式系統中維持記憶體共享方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211222 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: Super fusion Digital Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |