CN103475494A - Cc-numa系统及其启动的方法 - Google Patents
Cc-numa系统及其启动的方法 Download PDFInfo
- Publication number
- CN103475494A CN103475494A CN2013104167714A CN201310416771A CN103475494A CN 103475494 A CN103475494 A CN 103475494A CN 2013104167714 A CN2013104167714 A CN 2013104167714A CN 201310416771 A CN201310416771 A CN 201310416771A CN 103475494 A CN103475494 A CN 103475494A
- Authority
- CN
- China
- Prior art keywords
- node
- ancillary equipment
- information
- self
- acpi
- 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
Images
Landscapes
- Small-Scale Networks (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种CC-NUMA系统及其启动的方法,其中,该方法包括:主节点向从节点发送启动命令,初始化外围设备,为外围设备分配资源,确定可启动外围设备;从节点接收主节点的启动命令,分别初始化外围设备,为外围设备分配资源,确定可启动外围设备;从节点收集可启动外围设备的配置信息,将配置信息发送至主节点;主节点将自身的配置信息和接收到的配置信息上报至交互式系统完成启动。本发明实施可以缩短系统启动的时间。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种CC-NUMA系统及其启动的方法。
背景技术
随着人类的进步和社会的发展,高性能服务器被越来越多的应用到科学研究和企业经营活动中。高速缓存一致性非均匀存储访问(Cache CoherentNon-Uniform Memory Access,简称CC-NUMA)系统凭借其高性能、高扩展性和易编程等优点,得到广泛应用。CC-NUMA系统可以包括多个节点,每个节点可以包括处理器、内存、外围设备和其他模块,节点之间可以通过高速互联来组成一个完整的系统。其中,外围设备可以是外设部件互联标准/外设部件互联标准互联通道(Personal Computer Interface/Personal ComputerInterface Express,简称PCI/PCIE)设备,外围设备可以通过PCI总线与该外围设备所在节点的处理器相连。
现有CC-NUMA系统启动的方法,CC-NUMA系统启动的时间和CC-NUMA系统的节点数量成线性关系,随着节点数量和外围设备数量的增加,CC-NUMA系统启动的时间增加。
发明内容
技术问题
有鉴于此,本发明可以解决的技术问题是,缩短CC-NUMA系统启动的时间。
解决方案
在第一方面,本发明提出了一种高速缓存一致性非均匀存储访问CC-NUMA系统启动的方法,其中,CC-NUMA系统包括多个节点,所述节点包括主节点和至少一个从节点,该方法包括:所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备;各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点;所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
结合第一方面,在第一种可能的实现方式中,所述为自身的外围设备分配资源,包括:每个所述节点分别确定自身的外围设备需要的资源;每个所述节点从所述节点的资源池中,取出所述节点的外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定自身的可启动外围设备,包括:每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
结合第一方面和第一方面的第一种和第二种可能的实现方式中任一种可能的实现方式,在第三种可能的实现方式中,各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点,包括:各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
结合第一方面和第一方面的第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动,包括:所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
在第二方面,本发明提出了一种高速缓存一致性非均匀存储访问CC-NUMA系统,包括主节点和至少一个从节点:所述主节点,用于向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动;所述从节点,用于在接收到所述主节点的启动命令的情况下,初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
结合第二方面,在第一种可能的实现方式中,所述从节点包括:第一接收模块,用于从所述主节点接收所述启动命令;主启动处理器,用于在所述第一接收模块接收到所述主节点的启动命令的情况下,初始化所述从节点的外围设备;确定所述从节点的外围设备需要的资源;从所述从节点的资源池中,取出所述从节点的外围设备需要的资源,分配给所述从节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述从节点的可启动外围设备。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述主启动处理器,还用于:收集所述从节点的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;将收集的所述SMBIOS信息和ACPI信息发送至所述主节点。
结合第二方面,在第三种可能的实现方式中,所述主节点包括:发送模块,用于向所述从节点发送所述启动命令;系统启动处理器,用于初始化所述主节点的外围设备;确定所述主节点的外围设备需要的资源;从所述主节点的资源池中,取出所述主节点的外围设备需要的资源,分配给所述主节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述主节点的可启动外围设备。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述主节点还包括:第二接收模块,用于从所述从节点接收各个所述从节点的SMBIOS信息和ACPI信息;所述系统启动处理器还用于:收集所述主节点的SMBIOS信息和ACPI信息;将所述主节点的SMBIOS信息和ACPI信息和所述第二接收模块接收到的各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
有益效果
本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统启动的时间。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1a示出根据本发明实施例一的CC-NUMA系统启动的方法的流程图;
图1b示出根据本发明实施例一的CC-NUMA系统的架构示意图;
图2a示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
图2b示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
图2c示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
图2d示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
图3示出根据本发明实施例三的CC-NUMA系统的结构框图;
图4示出根据本发明实施例四的CC-NUMA系统的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
现有CC-NUMA系统启动的方法,CC-NUMA系统启动的时间和CC-NUMA系统的节点数量成线性关系,随着节点数量和外围设备数量的增加,CC-NUMA系统启动的时间增加。并且,若某一个外围设备或某一个节点出现故障导致初始化程序可能无法继续运行,整个CC-NUMA系统无法正常启动。也就是说,CC-NUMA系统的健壮性不强。
本申请实施例可以缩短CC-NUMA系统启动的时间,同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。
实施例1
图1a示出根据本发明实施例一的CC-NUMA系统启动的方法的流程图。如图1a所示,该CC-NUMA系统包括多个节点,所述节点包括主节点和至少一个从节点,每一个节点可以由内存、处理器以及外围设备组成,例如可以是计算机、服务器、网络设备等。该方法主要包括:
步骤S110、所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。这里的资源是用于外围设备的启动,例如内存、CPU资源、I/O资源、总线带宽中的一个或多个。
具体地,在CC-NUMA系统启动的过程中,基本输入输出系统(BasicInput/Output System,BIOS)可以初始化每个节点的内存和每个节点所有可用的外围设备,为该内存和外围设备配置各种功能参数和性能参数,BIOS可以根据用户的选择,从用户指定的外围设备上引导启动交互式系统,其中,交互式系统可以包括交互式界面(Boot shell)和操作系统(Operating System,OS)。图1b示出根据本发明实施例一的CC-NUMA系统的架构示意图,如图1b所示,该CC-NUMA系统可以包括:节点0~节点n这n+1个节点,每个节点可以包括内存、外围设备和多个处理器,在CC-NUMA系统启动时,节点0~节点n可以分别初始化自身的外围设备。此外,在CC-NUMA系统启动过程中,可以从每个节点的处理器中选出一个启动处理器(Boot Strap Processor,BSP)作为主BSP作为执行该节点初始化的处理器;从主BSP中选出一个系统启动处理器(System Boot Strap Processor,SBSP),SBSP所在的节点为CC-NUMA系统的主节点,其他节点为CC-NUMA系统的从节点。
在CC-NUMA系统启动过程中,每个节点开始初始化自身的外围设备之前,主节点可以先向各个从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。
步骤S130、各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备。
具体地,在CC-NUMA系统启动的过程中,各个从节点在接收到主节点的启动命令之后可以分别初始化自身的外围设备。举例而言,参见图1b,若节点0为主节点、节点1~节点n这n个节点为从节点,则主节点0可以向节点1~节点n这n个从节点发送启动命令,节点1~节点n这n个从节点可以接收主节点0发送的启动命令,并且可以分别初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。
步骤S150、各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
具体地,各个从节点可以收集自身的可启动外围设备的配置信息,该配置信息可以包括系统管理基本输入输出系统(System Management BasicInput/Output System,SMBIOS)信息和高级配置与电源接口(AdvancedConfiguration and Power Management Interface,ACPI)信息。其中,SMBIOS信息可以包括各个从节点的可用外围设备的BIOS软件版本、厂商信息等,ACPI信息可以包括描述系统不同信息的表(Differentiated System DescriptionTable,DSDT)、系统服务描述符表(英文:System Services Descriptor Table,缩写:SSDT)等。举例而言,参见图1b,若节点0为主节点、节点1~节点n这n个节点为从节点,则节点1~节点n这n个从节点可以分别收集每个从节点自身的可启动外围设备的SMBIOS信息和ACPI信息,并且节点1~节点n这n个从节点可以将收集到的SMBIOS信息和ACPI信息发送至主节点0。
步骤S170、所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
具体地,主节点与从节点一样,也可以收集自身的可启动外围设备的配置信息,同时,主节点还可以接收各个从节点发送的各个从节点收集的配置信息。其中,上述配置信息中可以包括用于启动交互式系统的硬件参数等配置信息,主节点可以将上述配置信息一起上报至交互式系统以完成启动。举例而言,参见图1b,若节点0为主节点、节点1~节点n这n个节点为从节点,则主节点0也可以收集自身的可启动外围设备的SMBIOS信息和ACPI信息,并且接收节点1~节点n这n个从节点收集到的SMBIOS信息和ACPI信息。主节点0可以将节点0~节点n这n+1个节点的SMBIOS信息和ACPI信息一起上报至交互式系统,以使得交互式系统可以读取其中的配置信息并完成启动。
本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统启动的时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。
实施例2
图2a、图2b、图2c和图2d示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图。
如图2a所示,与图1a所示的CC-NUMA系统启动方法的主要区别在于,各个节点为自身的外围设备分配资源可以包括:
步骤S200、每个所述节点分别确定自身的外围设备需要的资源;
步骤S210、每个节点从自身的资源池中,取出外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。
具体地,为了初始化节点的外围设备例如PCI/PCIE设备,需要为节点的外围设备分配资源,该资源可以包括输入输出(Input/Output,IO)资源和存储地址指定输入输出(Memory Mapped Input/Output,MMIO)资源。
在CC-NUMA系统中,主节点可以预先收集CC-NUMA系统中各个节点的资源例如IO资源和MMIO资源,并将这些资源重新分配给各个节点,形成各个节点的资源池。在各个节点为自身的外围设备分配资源的过程中,各个节点可以从各个点节的资源池中取出自身的外围设备需要的资源类型和资源大小的资源分配给自身的外围设备。举例而言,参见图1b,若节点0为主节点、节点1~节点n这n个节点为从节点,则主节点0可以预先收集n+1个节点的IO资源和MMIO资源,并重新将这些IO资源和MMIO资源分配给n+1个节点,形成每个节点的资源池。在n+1个节点为自身的外围设备分配资源时,这n+1个节点可以直接在自身的资源池中取出自身的外围设备需要的资源类型和资源大小的资源。
参见图2d,确定自身的可启动外围设备可以包括:
步骤S220、每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
具体地,在CC-NUMA系统中,使用某外围设备之前,需要安装该外围设备的驱动程序,并将该驱动程序与该外围设备进行绑定,在绑定过程中,可以确定出各个节点中可启动(或可用)的外围设备。举例而言,参见图1b,假设节点2中的外围设备例如声卡在绑定的过程中未找到相应的驱动程序或者绑定过程中出现错误不能完成绑定,那么节点2中的该声卡就是节点2的外围设备中不可启动的外围设备。
进一步地,参见图2b和图2d,步骤S150具体可以包括:
步骤S230、各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;
步骤S240、各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
具体地,CC-NUAM系统的每个节点具有多个处理器,可以从每个节点的多个处理器中选出一个主启动处理器BSP作为执行该节点初始化的处理器,还可以从主BSP中选出一个系统启动处理器SBSP,该SBSP所在的节点为主节点,SBSP作为执行该主节点初始化的处理器。在CC-NUAM系统启动过程中,为了引导启动交互式系统,需要明确交互式系统的配置信息。各个从节点的主BSP可以收集主BSP所在从节点的SMBIOS信息和ACPI信息,并将该收集的SMBIOS信息和ACPI信息上报给主节点,该收集的SMBIOS信息和ACPI信息可以用于后续启动交互式系统。具体示例可以参见实施例一中CC-NUAM系统启动的方法的相关描述。
进一步地,参见图2c和图2d,步骤S170具体可以包括:
步骤S250、所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;
步骤S260、所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;
步骤S270、所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;
具体地,在各个从节点收集自身的可启动外围设备的SMBIOS信息和ACPI信息的同时,主节点的SBSP同样可以收集自身的可启动外围设备的SMBIOS信息和ACPI信息。此外,主节点可以接收各个从节点发送的SMBIOS信息和ACPI信息,并将主节点自身的可启动外围设备的SMBIOS信息和ACPI信息和接收到的各个从节点发送的SMBIOS信息和ACPI信息进行汇总,生成SMBIOS表和ACPI表,以用于后续交互式系统的启动。举例而言,参见图1b和实施例一中的CC-NUMA系统启动的方法的相关描述,在主节点0收集到节点0~节点n这n+1个节点的SMBIOS信息和ACPI信息之后,主节点0可以对这些信息进行汇总,并生成SMBIOS表和ACPI表。
步骤S280、所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
具体地,主节点生成SMBIOS表和ACPI表之后,主节点的SBSP可以将SMBIOS表和ACPI表上报给交互式系统,交互式系统可以采用主程序设计接口(Host Programming Interface,HPI)规范协议从SMBIOS表和ACPI表读取交互式系统启动需要的配置信息,其中配置信息中可以包括CC-NUMA系统的硬件参数等信息,根据该配置信息交互式系统可以完成启动。
本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统的启动时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。此外,由于各个节点可以根据主节点预先分配的资源池为各个节点的外围设备分配资源,可以进一步地缩短CC-NUMA系统启动的时间。
实施例3
图3示出根据本发明实施例三的CC-NUMA系统的结构框图。如图3所示,该CC-NUMA系统300可以包括主节点320和至少一个从节点340。
进一步地,主节点320可以用于:向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动;
从节点340可以用于:在接收到所述主节点的启动命令的情况下,初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
本发明实施例中的CC-NUMA系统可以采用上述实施例中的CC-NUMA系统启动的方法进行启动。具体地,在CC-NUMA系统300启动时,主节点320和至少一个从节点340的所有可用的外围设备例如通过PCI总线和处理器相连的PCI/PCIE设备可以进行初始化。具体示例可以参见实施例一中的CC-NUMA系统启动的方法的相关描述。
在一种可能的实现方式中,从节点340可以包括:第一接收模块3401,用于从所述主节点接收所述启动命令。
具体地,在CC-NUMA系统300启动的过程中,从节点340并不可以直接开始执行自身的外围设备的初始化,而是在初始化自身的外围设备之前,需要先通过第一接收模块3401接收主节点320发送的启动命令。
主启动处理器3402,用于在所述第一接收模块接收到所述主节点的启动命令的情况下,初始化所述从节点的外围设备;确定所述从节点的外围设备需要的资源;从所述从节点的资源池中,取出所述从节点的外围设备需要的资源,分配给所述从节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述从节点的可启动外围设备。
具体地,在从节点340的第一接收模块3401接收到主节点320的启动命令之后,从节点340的主启动处理器3402可以开始初始化从节点340的外围设备,确定该外围设备需要的资源,在从节点340的资源池中,取出从节点340的外围设备需要的资源,分配给从节点340的外围设备。其中,在CC-NUMA系统300中,主节点320可以预先收集CC-NUMA系统300中各个节点的资源例如IO资源和MMIO资源,并将这些资源重新分配给各个节点,形成各个节点的资源池。在各个节点为自身的外围设备分配资源的过程中,各个节点可以从各个点节的资源池中取出自身的外围设备需要的资源类型和资源大小的资源分配给自身的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。此外,在CC-NUMA系统300中,使用某外围设备之前,需要安装该外围设备的驱动程序,并将该驱动程序与该外围设备进行绑定,在绑定过程中,可以确定出各个节点中可启动(或可用)的外围设备。
进一步地,主启动处理器3402还可以用于:收集所述从节点的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;将收集的所述SMBIOS信息和ACPI信息发送至所述主节点。
具体地,在CC-NUAM系统300中,为了引导启动交互式系统,需要明确交互式系统的配置信息。各个从节点的主BSP3402可以收集主BSP3402所在从节点340的SMBIOS信息和ACPI信息,并将该收集的SMBIOS信息和ACPI信息上报给主节点320,该收集的SMBIOS信息和ACPI信息可以用于后续启动交互式系统。
在一种可能的实现方式中,主节点320可以包括:发送模块3201,用于向所述从节点发送所述启动命令。
具体地,在CC-NUAM系统300启动的过程中,主节点320的发送模块3201可以向各个从节点340发送启动命令,该启动命令用于指示各个从节点340可以分别执行自身的外围设备的初始化。
系统启动处理器3202,用于初始化所述主节点的外围设备;确定所述主节点的外围设备需要的资源;从所述主节点的资源池中,取出所述主节点的外围设备需要的资源,分配给所述主节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述主节点的可启动外围设备。
具体地,主节点320在初始化自身的外围设备的过程中,系统启动处理器3201执行的具体步骤与从节点340在初始化自身的外围设备的过程中主BSP3402执行的具体步骤大致相同,可以参见上述相关描述。
第二接收模块3203,用于从所述从节点接收各个所述从节点的SMBIOS信息和ACPI信息。
进一步地,系统启动处理器3202还可以用于:收集所述主节点的SMBIOS信息和ACPI信息;将所述主节点的SMBIOS信息和ACPI信息和所述第二接收模块接收到的各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
具体地,在各个从节点340的主BSP3402收集自身的可启动外围设备的SMBIOS信息和ACPI信息的同时,主节点320的SBSP3202同样可以收集自身的可启动外围设备的SMBIOS信息和ACPI信息。此外,主节点320的SBSP3202可以接收各个从节点340的主BSP3402发送的SMBIOS信息和ACPI信息,并将主节点320自身的可启动外围设备的SMBIOS信息和ACPI信息和接收到的各个从节点340发送的SMBIOS信息和ACPI信息进行汇总,生成SMBIOS表和ACPI表。主节点320的SBSP3202生成SMBIOS表和ACPI表之后,主节点320的SBSP3202可以将SMBIOS表和ACPI表上报给交互式系统,交互式系统可以采用主程序设计接口(英文:Host Programming Interface,缩写:HPI)规范协议从SMBIOS表和ACPI表读取交互式系统启动需要的配置信息,根据该配置信息交互式系统可以完成启动。
本实施例的CC-NUMA系统,主节点的发送模块向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点的主启动处理器根据接收到的主节点的启动命令,执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统的启动时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。此外,由于各个节点可以根据主节点预先分配的资源池为各个节点的外围设备分配资源,可以进一步地缩短CC-NUMA系统启动的时间。
实施例4
图4示出根据本发明实施例四的一种CC-NUMA系统的结构框图。所述CC-NUMA系统400可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述CC-NUMA系统400包括处理器(processor)410、通信接口(Communications Interface)420、存储器(memory array)430和总线440。其中,处理器410、通信接口420、以及存储器430通过总线440完成相互间的通信。
通信接口420用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
处理器410用于执行程序。处理器410可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器430用于存放文件。存储器430可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器430也可以是存储器阵列。存储器430还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。CC-NUMA系统400包括多个节点,所述节点包括主节点和至少一个从节点,该程序具体可用于:所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备;各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点;所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
在一种可能的实施方式中,所述为自身的外围设备分配资源,包括:每个所述节点分别确定自身的外围设备需要的资源;每个所述节点从所述节点的资源池中,取出所述节点的外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。
在一种可能的实施方式中,所述确定自身的可启动外围设备,包括:每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
在一种可能的实施方式中,各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点,包括:各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
在一种可能的实施方式中,所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动,包括所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种高速缓存一致性非均匀存储访问CC-NUMA系统启动的方法,CC-NUMA系统包括多个节点,其特征在于,所述节点包括主节点和至少一个从节点,该方法包括:
所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;
各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备;
各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点;
所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
2.根据权利要求1所述的CC-NUMA系统启动的方法,其特征在于,所述为自身的外围设备分配资源,包括:
每个所述节点分别确定自身的外围设备需要的资源;
每个所述节点从所述节点的资源池中,取出所述节点的外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。
3.根据权利要求1或2所述的CC-NUMA系统启动的方法,其特征在于,所述确定自身的可启动外围设备,包括:
每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
4.根据权利要求1-3中任一项所述的CC-NUMA系统启动的方法,其特征在于,各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点,包括:
各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;
各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
5.根据权利要求1-4中任一项所述的CC-NUMA系统启动的方法,其特征在于,所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动,包括:
所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;
所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;
所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;
所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
6.一种高速缓存一致性非均匀存储访问CC-NUMA系统,其特征在于,包括主节点和至少一个从节点:
所述主节点,用于向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动;
所述从节点,用于在接收到所述主节点的启动命令的情况下,初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
7.根据权利要求6所述的CC-NUMA系统,其特征在于,所述从节点包括:
第一接收模块,用于从所述主节点接收所述启动命令;
主启动处理器,用于在所述第一接收模块接收到所述主节点的启动命令的情况下,初始化所述从节点的外围设备;确定所述从节点的外围设备需要的资源;从所述从节点的资源池中,取出所述从节点的外围设备需要的资源,分配给所述从节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述从节点的可启动外围设备。
8.根据权利要求7所述的CC-NUMA系统,其特征在于,所述主启动处理器,还用于:
收集所述从节点的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口ACPI信息;将收集的所述SMBIOS信息和ACPI信息发送至所述主节点。
9.根据权利要求6所述的CC-NUMA系统,其特征在于,所述主节点包括:
发送模块,用于向所述从节点发送所述启动命令;
系统启动处理器,用于初始化所述主节点的外围设备;确定所述主节点的外围设备需要的资源;从所述主节点的资源池中,取出所述主节点的外围设备需要的资源,分配给所述主节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述主节点的可启动外围设备。
10.根据权利要求9所述的CC-NUMA系统,其特征在于,所述主节点还包括:
第二接收模块,用于从所述从节点接收各个所述从节点的SMBIOS信息和ACPI信息;
所述系统启动处理器还用于:收集所述主节点的SMBIOS信息和ACPI信息;将所述主节点的SMBIOS信息和ACPI信息和所述第二接收模块接收到的各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416771.4A CN103475494B (zh) | 2013-09-12 | 2013-09-12 | Cc‑numa系统及其启动的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416771.4A CN103475494B (zh) | 2013-09-12 | 2013-09-12 | Cc‑numa系统及其启动的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103475494A true CN103475494A (zh) | 2013-12-25 |
CN103475494B CN103475494B (zh) | 2017-04-05 |
Family
ID=49800206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310416771.4A Active CN103475494B (zh) | 2013-09-12 | 2013-09-12 | Cc‑numa系统及其启动的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103475494B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506362A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮电子信息产业股份有限公司 | 一种cc-numa多节点服务器上系统状态切换和监控的方法 |
CN105653302A (zh) * | 2014-11-13 | 2016-06-08 | 杭州华为数字技术有限公司 | 一种cc-numa系统中的bios的启动方法及服务器 |
CN105867945A (zh) * | 2016-04-20 | 2016-08-17 | 华为技术有限公司 | 一种bios启动方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1657878A1 (en) * | 2004-11-12 | 2006-05-17 | Microsoft Corporation | Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management |
CN102725749A (zh) * | 2011-08-22 | 2012-10-10 | 华为技术有限公司 | 枚举输入输出设备的方法和设备 |
CN103049422A (zh) * | 2012-12-17 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
-
2013
- 2013-09-12 CN CN201310416771.4A patent/CN103475494B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1657878A1 (en) * | 2004-11-12 | 2006-05-17 | Microsoft Corporation | Method and apparatus for secure internet protocol (IPSEC) offloading with integrated host protocol stack management |
CN102725749A (zh) * | 2011-08-22 | 2012-10-10 | 华为技术有限公司 | 枚举输入输出设备的方法和设备 |
CN103049422A (zh) * | 2012-12-17 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种具有多cache一致性域的多处理器节点系统构建方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653302A (zh) * | 2014-11-13 | 2016-06-08 | 杭州华为数字技术有限公司 | 一种cc-numa系统中的bios的启动方法及服务器 |
CN104506362A (zh) * | 2014-12-29 | 2015-04-08 | 浪潮电子信息产业股份有限公司 | 一种cc-numa多节点服务器上系统状态切换和监控的方法 |
CN105867945A (zh) * | 2016-04-20 | 2016-08-17 | 华为技术有限公司 | 一种bios启动方法及装置 |
WO2017181851A1 (zh) * | 2016-04-20 | 2017-10-26 | 华为技术有限公司 | 一种bios启动方法及装置 |
US10719333B2 (en) | 2016-04-20 | 2020-07-21 | Huawei Technologies Co., Ltd. | BIOS startup method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN103475494B (zh) | 2017-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI752066B (zh) | 讀寫請求處理方法及裝置 | |
US8762999B2 (en) | Guest-initiated resource allocation request based on comparison of host hardware information and projected workload requirement | |
CN107894913B (zh) | 一种计算机系统和存储访问装置 | |
EP3481007B1 (en) | Method, apparatus and management server for processing resource pool | |
WO2015196931A1 (zh) | 基于磁盘io的虚拟资源分配方法及装置 | |
US20220004410A1 (en) | Method For Deploying Virtual Machine And Container, And Related Apparatus | |
CN112181632A (zh) | 在适配器设备中部署服务容器 | |
EP3211530B1 (en) | Virtual machine memory management method, physical main machine, pcie device and configuration method therefor, and migration management device | |
CN109324991B (zh) | 一种pcie设备的热插拔装置、方法、介质及系统 | |
CN109656675B (zh) | 总线设备、计算机设备及实现物理主机云存储的方法 | |
CN110633130A (zh) | 一种基于内存热插拔技术的虚拟内存管理方法和装置 | |
CN114185607B (zh) | Arm服务器中pci设备的启动控制方法、装置及设备 | |
CN103475494A (zh) | Cc-numa系统及其启动的方法 | |
CN116830082A (zh) | 嵌入式系统的启动控制方法和装置、存储介质和电子设备 | |
US8751703B2 (en) | Interrupt event management | |
CN104123188A (zh) | 一种资源分配方法及相关装置 | |
CN111857972A (zh) | 虚拟化网络功能vnf的部署方法、部署装置、部署设备 | |
CN113485789B (zh) | 资源配置方法、装置及计算机架构 | |
CN114281516A (zh) | 一种基于numa属性的资源分配方法及装置 | |
US10684976B1 (en) | Automatic bus resource adjustment in a multiple root bridge computing system | |
CN116483740B (zh) | 内存数据的迁移方法、装置、存储介质及电子装置 | |
CN115599705B (zh) | 用于管理存储空间的装置及方法、计算设备、芯片 | |
US11960417B2 (en) | Input/output queue hinting for resource utilization | |
CN109002347B (zh) | 一种虚拟机内存分配方法、装置及系统 | |
Zhao et al. | The deployment of FPGA Based on Network in Ultra-large-scale Data Center |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211227 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. |
|
TR01 | Transfer of patent right |