Cc-numa系统及其启动的方法

文档序号:6511426阅读:355来源:国知局
Cc-numa系统及其启动的方法
【专利摘要】本发明公开了一种CC-NUMA系统及其启动的方法,其中,该方法包括:主节点向从节点发送启动命令,初始化外围设备,为外围设备分配资源,确定可启动外围设备;从节点接收主节点的启动命令,分别初始化外围设备,为外围设备分配资源,确定可启动外围设备;从节点收集可启动外围设备的配置信息,将配置信息发送至主节点;主节点将自身的配置信息和接收到的配置信息上报至交互式系统完成启动。本发明实施可以缩短系统启动的时间。
【专利说明】CC-NUMA系统及其启动的方法
【技术领域】
[0001]本发明涉及计算机【技术领域】,尤其涉及一种CC-NUMA系统及其启动的方法。
【背景技术】
[0002]随着人类的进步和社会的发展,高性能服务器被越来越多的应用到科学研究和企业经营活动中。高速缓存一致性非均勻存储访问(Cache Coherent Non-Uniform MemoryAccess,简称CC-NUMA)系统凭借其高性能、高扩展性和易编程等优点,得到广泛应用。CC-NUMA系统可以包括多个节点,每个节点可以包括处理器、内存、外围设备和其他模块,节点之间可以通过高速互联来组成一个完整的系统。其中,外围设备可以是外设部件互联标准 / 外设部件互联标准互联通道(Personal Computer Interface/Personal ComputerInterface Express,简称PCI/PCIE)设备,外围设备可以通过PCI总线与该外围设备所在节点的处理器相连。
[0003]现有CC-NUMA系统启动的方法,CC-NUMA系统启动的时间和CC-NUMA系统的节点数量成线性关系,随着节点数量和外围设备数量的增加,CC-NUMA系统启动的时间增加。

【发明内容】

[0004]抟术问是页
[0005]有鉴于此,本发明可以解决的技术问题是,缩短CC-NUMA系统启动的时间。
[0006]解决方案
[0007]在第一方面,本发明提出了一种高速缓存一致性非均匀存储访问CC-NUMA系统启动的方法,其中,CC-NUMA系统包括多个节点,所述节点包括主节点和至少一个从节点,该方法包括:所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备;各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点;所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
[0008]结合第一方面,在第一种可能的实现方式中,所述为自身的外围设备分配资源,包括:每个所述节点分别确定自身的外围设备需要的资源;每个所述节点从所述节点的资源池中,取出所述节点的外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出10资源和存储地址指定输入输出MMIO资源。
[0009]结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述确定自身的可启动外围设备,包括:每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
[0010]结合第一方面和第一方面的第一种和第二种可能的实现方式中任一种可能的实现方式,在第三种可能的实现方式中,各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点,包括:各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口 ACPI信息;各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
[0011]结合第一方面和第一方面的第一种至第三种可能的实现方式中任一种可能的实现方式,在第四种可能的实现方式中,所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动,包括:所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
[0012]在第二方面,本发明提出了一种高速缓存一致性非均匀存储访问CC-NUMA系统,包括主节点和至少一个从节点:所述主节点,用于向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动;所述从节点,用于在接收到所述主节点的启动命令的情况下,初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
[0013]结合第二方面,在第一种可能的实现方式中,所述从节点包括:第一接收模块,用于从所述主节点接收所述启动命令;主启动处理器,用于在所述第一接收模块接收到所述主节点的启动命令的情况下,初始化所述从节点的外围设备;确定所述从节点的外围设备需要的资源;从所述从节点的资源池中,取出所述从节点的外围设备需要的资源,分配给所述从节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述从节点的可启动外围设备。
[0014]结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述主启动处理器,还用于:收集所述从节点的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口 ACPI信息;将收集的所述SMBIOS信息和ACPI信息发送至所述主节点。
[0015]结合第二方面,在第三种可能的实现方式中,所述主节点包括:发送模块,用于向所述从节点发送所述启动命令;系统启动处理器,用于初始化所述主节点的外围设备;确定所述主节点的外围设备需要的资源;从所述主节点的资源池中,取出所述主节点的外围设备需要的资源,分配给所述主节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMio资源;确定所述主节点的可启动外围设备。
[0016]结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述主节点还包括:第二接收模块,用于从所述从节点接收各个所述从节点的SMBIOS信息和ACPI信息;所述系统启动处理器还用于:收集所述主节点的SMBIOS信息和ACPI信息;将所述主节点的SMBIOS信息和ACPI信息和所述第二接收模块接收到的各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
[0017]有益效果
[0018]本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统启动的时间。
[0019]根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
【专利附图】

【附图说明】
[0020]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0021]图1a示出根据本发明实施例一的CC-NUMA系统启动的方法的流程图;
[0022]图1b示出根据本发明实施例一的CC-NUMA系统的架构示意图;
[0023]图2a示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
[0024]图2b示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
[0025]图2c示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
[0026]图2d示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图;
[0027]图3示出根据本发明实施例三的CC-NUMA系统的结构框图;
[0028]图4示出根据本发明实施例四的CC-NUMA系统的结构框图。
【具体实施方式】
[0029]以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0030]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0031]另外,为了更好的说明本发明,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0032]现有CC-NUMA系统启动的方法,CC-NUMA系统启动的时间和CC-NUMA系统的节点数量成线性关系,随着节点数量和外围设备数量的增加,CC-NUMA系统启动的时间增加。并且,若某一个外围设备或某一个节点出现故障导致初始化程序可能无法继续运行,整个CC-NUMA系统无法正常启动。也就是说,CC-NUMA系统的健壮性不强。
[0033]本申请实施例可以缩短CC-NUMA系统启动的时间,同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。
[0034]实施例1[0035]图1a示出根据本发明实施例一的CC-NUMA系统启动的方法的流程图。如图1a所示,该CC-NUMA系统包括多个节点,所述节点包括主节点和至少一个从节点,每一个节点可以由内存、处理器以及外围设备组成,例如可以是计算机、服务器、网络设备等。该方法主要包括:
[0036]步骤S110、所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。这里的资源是用于外围设备的启动,例如内存、CPU资源、I/O资源、总线带宽中的一个或多个。
[0037]具体地,在CC-NUMA系统启动的过程中,基本输入输出系统(Basic Input/OutputSyStem,B10S)可以初始化每个节点的内存和每个节点所有可用的外围设备,为该内存和外围设备配置各种功能参数和性能参数,BIOS可以根据用户的选择,从用户指定的外围设备上引导启动交互式系统,其中,交互式系统可以包括交互式界面(Boot shell)和操作系统(Operating System, OS)。图1b示出根据本发明实施例一的CC-NUMA系统的架构示意图,如图1b所示,该CC-NUMA系统可以包括:节点O?节点η这η+1个节点,每个节点可以包括内存、外围设备和多个处理器,在CC-NUMA系统启动时,节点O?节点η可以分别初始化自身的外围设备。此外,在CC-NUMA系统启动过程中,可以从每个节点的处理器中选出一个启动处理器(Boot Strap Processor,BSP)作为主BSP作为执行该节点初始化的处理器;从主BSP中选出一个系统启动处理器(System Boot Strap Processor, SBSP), SBSP所在的节点为CC-NUMA系统的主节点,其他节点为CC-NUMA系统的从节点。
[0038]在CC-NUMA系统启动过程中,每个节点开始初始化自身的外围设备之前,主节点可以先向各个从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。
[0039]步骤S130、各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备。
[0040]具体地,在CC-NUMA系统启动的过程中,各个从节点在接收到主节点的启动命令之后可以分别初始化自身的外围设备。举例而言,参见图lb,若节点O为主节点、节点I?节点η这η个节点为从节点,则主节点O可以向节点I?节点η这η个从节点发送启动命令,节点I?节点η这η个从节点可以接收主节点O发送的启动命令,并且可以分别初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备。
[0041]步骤S150、各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
[0042]具体地,各个从节点可以收集自身的可启动外围设备的配置信息,该配置信息可以包括系统管理基本输入输出系统(System Management Basic Input/Output System,SMB10S)信息和高级配置与电源接口(Advanced Configuration and Power ManagementInterface,ACPI)信息。其中,SMBIOS信息可以包括各个从节点的可用外围设备的BIOS软件版本、厂商信息等,ACPI信息可以包括描述系统不同信息的表(Differentiated SystemDescription Table, DSDT)、系统服务描述符表(英文:System Services DescriptorTable,缩写:SSDT)等。举例而言,参见图lb,若节点O为主节点、节点I?节点η这η个节点为从节点,则节点I?节点η这η个从节点可以分别收集每个从节点自身的可启动外围设备的SMBIOS信息和ACPI信息,并且节点I?节点η这η个从节点可以将收集到的SMBIOS信息和ACPI信息发送至主节点O。
[0043]步骤S170、所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
[0044]具体地,主节点与从节点一样,也可以收集自身的可启动外围设备的配置信息,同时,主节点还可以接收各个从节点发送的各个从节点收集的配置信息。其中,上述配置信息中可以包括用于启动交互式系统的硬件参数等配置信息,主节点可以将上述配置信息一起上报至交互式系统以完成启动。举例而言,参见图lb,若节点O为主节点、节点I?节点η这η个节点为从节点,则主节点O也可以收集自身的可启动外围设备的SMBIOS信息和ACPI信息,并且接收节点I?节点η这η个从节点收集到的SMBIOS信息和ACPI信息。主节点O可以将节点O?节点η这η+1个节点的SMBIOS信息和ACPI信息一起上报至交互式系统,以使得交互式系统可以读取其中的配置信息并完成启动。
[0045]本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统启动的时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。
[0046]实施例2
[0047]图2a、图2b、图2c和图2d示出根据本发明实施例二的CC-NUMA系统启动的方法的流程图。
[0048]如图2a所示,与图1a所示的CC-NUMA系统启动方法的主要区别在于,各个节点为自身的外围设备分配资源可以包括:
[0049]步骤S200、每个所述节点分别确定自身的外围设备需要的资源;
[0050]步骤S210、每个节点从自身的资源池中,取出外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。
[0051]具体地,为了初始化节点的外围设备例如PCI/PCIE设备,需要为节点的外围设备分配资源,该资源可以包括输入输出(Input/Output, 10)资源和存储地址指定输入输出(Memory Mapped Input/Output, MMIO)资源。
[0052]在CC-NUMA系统中,主节点可以预先收集CC-NUMA系统中各个节点的资源例如IO资源和MMIO资源,并将这些资源重新分配给各个节点,形成各个节点的资源池。在各个节点为自身的外围设备分配资源的过程中,各个节点可以从各个点节的资源池中取出自身的外围设备需要的资源类型和资源大小的资源分配给自身的外围设备。举例而言,参见图lb,若节点O为主节点、节点I?节点η这η个节点为从节点,则主节点O可以预先收集η+1个节点的IO资源和丽IO资源,并重新将这些IO资源和丽IO资源分配给η+1个节点,形成每个节点的资源池。在η+1个节点为自身的外围设备分配资源时,这η+1个节点可以直接在自身的资源池中取出自身的外围设备需要的资源类型和资源大小的资源。
[0053]参见图2d,确定自身的可启动外围设备可以包括:
[0054]步骤S220、每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
[0055]具体地,在CC-NUMA系统中,使用某外围设备之前,需要安装该外围设备的驱动程序,并将该驱动程序与该外围设备进行绑定,在绑定过程中,可以确定出各个节点中可启动(或可用)的外围设备。举例而言,参见图lb,假设节点2中的外围设备例如声卡在绑定的过程中未找到相应的驱动程序或者绑定过程中出现错误不能完成绑定,那么节点2中的该声卡就是节点2的外围设备中不可启动的外围设备。
[0056]进一步地,参见图2b和图2d,步骤S150具体可以包括:
[0057]步骤S230、各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口 ACPI信息;
[0058]步骤S240、各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。
[0059]具体地,CC-NUAM系统的每个节点具有多个处理器,可以从每个节点的多个处理器中选出一个主启动处理器BSP作为执行该节点初始化的处理器,还可以从主BSP中选出一个系统启动处理器SBSP,该SBSP所在的节点为主节点,SBSP作为执行该主节点初始化的处理器。在CC-NUAM系统启动过程中,为了引导启动交互式系统,需要明确交互式系统的配置信息。各个从节点的主BSP可以收集主BSP所在从节点的SMBIOS信息和ACPI信息,并将该收集的SMBIOS信息和ACPI信息上报给主节点,该收集的SMBIOS信息和ACPI信息可以用于后续启动交互式系统。具体不例可以参见实施例一中CC-NUAM系统启动的方法的相关描述。
[0060]进一步地,参见图2c和图2d,步骤S170具体可以包括:
[0061]步骤S250、所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;
[0062]步骤S260、所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;
[0063]步骤S270、所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;
[0064]具体地,在各个从节点收集自身的可启动外围设备的SMBIOS信息和ACPI信息的同时,主节点的SBSP同样可以收集自身的可启动外围设备的SMBIOS信息和ACPI信息。此夕卜,主节点可以接收各个从节点发送的SMBIOS信息和ACPI信息,并将主节点自身的可启动外围设备的SMBIOS信息和ACPI信息和接收到的各个从节点发送的SMBIOS信息和ACPI信息进行汇总,生成SMBIOS表和ACPI表,以用于后续交互式系统的启动。举例而言,参见图1b和实施例一中的CC-NUMA系统启动的方法的相关描述,在主节点O收集到节点O?节点η这η+1个节点的SMBIOS信息和ACPI信息之后,主节点O可以对这些信息进行汇总,并生成SMBIOS表和ACPI表。
[0065]步骤S280、所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
[0066]具体地,主节点生成SMBIOS表和ACPI表之后,主节点的SBSP可以将SMBIOS表和ACPI表上报给交互式系统,交互式系统可以采用主程序设计接口(Host ProgrammingInterface,HPI)规范协议从SMBIOS表和ACPI表读取交互式系统启动需要的配置信息,其中配置信息中可以包括CC-NUMA系统的硬件参数等信息,根据该配置信息交互式系统可以完成启动。
[0067]本实施例的CC-NUMA系统启动的方法,主节点向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点根据接收到的主节点的启动命令,分别执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统的启动时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。此外,由于各个节点可以根据主节点预先分配的资源池为各个节点的外围设备分配资源,可以进一步地缩短CC-NUMA系统启动的时间。
[0068]实施例3
[0069]图3示出根据本发明实施例三的CC-NUMA系统的结构框图。如图3所示,该CC-NUMA系统300可以包括主节点320和至少一个从节点340。
[0070]进一步地,主节点320可以用于:向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动;
[0071]从节点340可以用于:在接收到所述主节点的启动命令的情况下,初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点。
[0072]本发明实施例中的CC-NUMA系统可以采用上述实施例中的CC-NUMA系统启动的方法进行启动。具体地,在CC-NUMA系统300启动时,主节点320和至少一个从节点340的所有可用的外围设备例如通过PCI总线和处理器相连的PCI/PCIE设备可以进行初始化。具体示例可以参见实施例一中的CC-NUMA系统启动的方法的相关描述。
[0073]在一种可能的实现方式中,从节点340可以包括:第一接收模块3401,用于从所述主节点接收所述启动命令。
[0074]具体地,在CC-NUMA系统300启动的过程中,从节点340并不可以直接开始执行自身的外围设备的初始化,而是在初始化自身的外围设备之前,需要先通过第一接收模块3401接收主节点320发送的启动命令。
[0075]主启动处理器3402,用于在所述第一接收模块接收到所述主节点的启动命令的情况下,初始化所述从节点的外围设备;确定所述从节点的外围设备需要的资源;从所述从节点的资源池中,取出所述从节点的外围设备需要的资源,分配给所述从节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述从节点的可启动外围设备。
[0076]具体地,在从节点340的第一接收模块3401接收到主节点320的启动命令之后,从节点340的主启动处理器3402可以开始初始化从节点340的外围设备,确定该外围设备需要的资源,在从节点340的资源池中,取出从节点340的外围设备需要的资源,分配给从节点340的外围设备。其中,在CC-NUMA系统300中,主节点320可以预先收集CC-NUMA系统300中各个节点的资源例如IO资源和MMIO资源,并将这些资源重新分配给各个节点,形成各个节点的资源池。在各个节点为自身的外围设备分配资源的过程中,各个节点可以从各个点节的资源池中取出自身的外围设备需要的资源类型和资源大小的资源分配给自身的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源。此外,在CC-NUMA系统300中,使用某外围设备之前,需要安装该外围设备的驱动程序,并将该驱动程序与该外围设备进行绑定,在绑定过程中,可以确定出各个节点中可启动(或可用)的外围设备。
[0077]进一步地,主启动处理器3402还可以用于:收集所述从节点的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口 ACPI信息;将收集的所述SMBIOS信息和ACPI信息发送至所述主节点。
[0078]具体地,在CC-NUAM系统300中,为了引导启动交互式系统,需要明确交互式系统的配置信息。各个从节点的主BSP3402可以收集主BSP3402所在从节点340的SMBIOS信息和ACPI信息,并将该收集的SMBIOS信息和ACPI信息上报给主节点320,该收集的SMBIOS信息和ACPI信息可以用于后续启动交互式系统。
[0079]在一种可能的实现方式中,主节点320可以包括:发送模块3201,用于向所述从节点发送所述启动命令。
[0080]具体地,在CC-NUAM系统300启动的过程中,主节点320的发送模块3201可以向各个从节点340发送启动命令,该启动命令用于指示各个从节点340可以分别执行自身的外围设备的初始化。
[0081]系统启动处理器3202,用于初始化所述主节点的外围设备;确定所述主节点的外围设备需要的资源;从所述主节点的资源池中,取出所述主节点的外围设备需要的资源,分配给所述主节点的外围设备,所述资源池包括输入输出IO资源和存储地址指定输入输出MMIO资源;确定所述主节点的可启动外围设备。
[0082]具体地,主节点320在初始化自身的外围设备的过程中,系统启动处理器3201执行的具体步骤与从节点340在初始化自身的外围设备的过程中主BSP3402执行的具体步骤大致相同,可以参见上述相关描述。
[0083]第二接收模块3203,用于从所述从节点接收各个所述从节点的SMBIOS信息和ACPI信息。
[0084]进一步地,系统启动处理器3202还可以用于:收集所述主节点的SMBIOS信息和ACPI信息;将所述主节点的SMBIOS信息和ACPI信息和所述第二接收模块接收到的各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
[0085]具体地,在各个从节点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表读取交互式系统启动需要的配置信息,根据该配置信息交互式系统可以完成启动。[0086]本实施例的CC-NUMA系统,主节点的发送模块向从节点发送启动命令,并执行自身的外围设备的初始化过程,从节点的主启动处理器根据接收到的主节点的启动命令,执行自身的外围设备的初始化过程,可以缩短CC-NUMA系统的启动时间。同时,某个外围设备或某个节点在初始化过程中出现问题不会影响其他节点的初始化,可以保障系统的可用性,提高系统的健壮性。此外,由于各个节点可以根据主节点预先分配的资源池为各个节点的外围设备分配资源,可以进一步地缩短CC-NUMA系统启动的时间。
[0087]实施例4
[0088]图4示出根据本发明实施例四的一种CC-NUMA系统的结构框图。所述CC-NUMA系统400可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
[0089]所述CC-NUMA 系统 400 包括处理器(processor) 410、通信接口(CommunicationsInterface) 420、存储器(memory array) 430 和总线 440。其中,处理器 410、通信接口 420、以及存储器430通过总线440完成相互间的通信。
[0090]通信接口 420用于与网元通信,其中网元包括例如虚拟机管理中心、共享存储等。
[0091]处理器410用于执行程序。处理器410可能是一个中央处理器CPU,或者是专用集成电路ASIC (Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0092]存储器430用于存放文件。存储器430可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器430也可以是存储器阵列。存储器430还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
[0093]在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。CC-NUMA系统400包括多个节点,所述节点包括主节点和至少一个从节点,该程序具体可用于:所述主节点向所述从节点发送启动命令,并且初始化自身的外围设备,为自身的外围设备分配资源,确定自身的可启动外围设备;各个所述从节点在接收到所述主节点的启动命令的情况下,分别初始化自身的外围设备,分别为自身的外围设备分配资源,分别确定自身的可启动外围设备;各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点;所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动。
[0094]在一种可能的实施方式中,所述为自身的外围设备分配资源,包括:每个所述节点分别确定自身的外围设备需要的资源;每个所述节点从所述节点的资源池中,取出所述节点的外围设备需要的资源,分配给所述外围设备,所述资源池包括输入输出10资源和存储地址指定输入输出MMio资源。
[0095]在一种可能的实施方式中,所述确定自身的可启动外围设备,包括:每个所述节点将存在绑定驱动的外围设备确定为自身的可启动外围设备。
[0096]在一种可能的实施方式中,各个所述从节点分别收集自身的可启动外围设备的配置信息,并将所述收集的配置信息发送至所述主节点,包括:各个所述从节点的主启动处理器BSP分别收集所述主BSP所在从节点自身的系统管理基本输入输出系统SMBIOS信息和高级配置与电源接口 ACPI信息;各个所述从节点的主BSP分别将收集的所述SMBIOS信息和所述ACPI信息发送至所述主节点。[0097]在一种可能的实施方式中,所述主节点将自身的可启动外围设备的配置信息和接收到的配置信息上报至交互式系统以完成启动,包括所述主节点的系统启动处理器SBSP收集所述主节点的SMBIOS信息和ACPI信息;所述SBSP从所述从节点的主BSP接收各个所述从节点的SMBIOS信息和ACPI信息;所述SBSP将所述主节点的SMBIOS信息和ACPI信息和各个所述从节点的SMBIOS信息和ACPI信息,汇总生成SMBIOS表和ACPI表;所述SBSP将所述SMBIOS表和ACPI表上报给所述交互式系统,所述交互式系统采用主程序设计接口规范协议从所述SMBIOS表和ACPI表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
[0098]本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0099]如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM, Read-Only Memory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0100]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
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表读取配置信息,完成所述交互式系统和各个所述节点设备的可启动外围设备的启动,所述交互式系统包括交互式界面或操作系统。
【文档编号】G06F9/445GK103475494SQ201310416771
【公开日】2013年12月25日 申请日期:2013年9月12日 优先权日:2013年9月12日
【发明者】干耶卒, 欧阳珍, 陈立钢 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1