CN115061757B - 异构系统启动同步的方法、系统、异构系统及计算机设备 - Google Patents
异构系统启动同步的方法、系统、异构系统及计算机设备 Download PDFInfo
- Publication number
- CN115061757B CN115061757B CN202210958772.0A CN202210958772A CN115061757B CN 115061757 B CN115061757 B CN 115061757B CN 202210958772 A CN202210958772 A CN 202210958772A CN 115061757 B CN115061757 B CN 115061757B
- Authority
- CN
- China
- Prior art keywords
- sub
- starting
- bmc
- subsystem
- dependency relationship
- 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
Links
Images
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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种异构系统启动同步的方法,包括步骤:对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;根据当前启动依赖关系表,控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动。本发明还公开了相应的异构系统启动同步的方法、系统、异构系统及计算机设备。实施本发明,可以提高启动效率以及成功率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种异构系统启动同步的方法、系统、异构系统及计算机设备。
背景技术
随着算力需求的不断提高,越来越多的计算平台开始引入中央处理单元(CPU)、图像处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等多种不同计算单元来进行加速计算。由此,异构计算应运而生,随之出现了很多利用智能网卡设备解决网络、存储基础设施虚拟化加速以及异构计算、存储资源池化的问题的方案。
但是,当前异构系统存在一个普遍问题,由于异构系统由不同厂家进行开发,其电源无法统一管理,但是其资源上又存在一定的依赖,导致异构系统的主机系统(例如,其中一种可能的物理形态是Host)无法兼容子系统(例如,其中一种可能的物理形态是Card,Card可以是Smart NIC(Network Interface Card,网络接口卡)),无法发现需要子系统启动完成后提供的资源或者虚拟设备。所以必须要实现电源统一管理,协调启动顺序,才能使异构系统稳定启动运行。
为此,在现有技术中,提出的解决方案有以下两种:
其一、异构系统的子系统尽量做到快速启动,在主机系统使用或者扫描子系统资源前,使子系统完成启动并做好资源的模拟。
其二、在异构系统的子系统完成启动后,对主机系统进行一次重启操作,可以保证每次主机系统启动时,子系统是已经处于启动完成,资源准备好的状态。
但是这两种方案均存在不足之处:
通过优化子系统的启动顺序,只能减少启动时间导致的主机系统无法识别子系统资源或模拟设备的概率,但无法做到百分百的准确率,因主机系统根据平台,厂商技术的差异,其启动时间存在很大差别,上述方案一无法保证适配到任何主机系统都能正常识别。
而在方案二中,通过子系统对主机系统进行一次重启操作,会影响主机系统启动完成时间,对云服务来说是产生很大的影响,且客户体验也不佳。
发明内容
本发明所要解决的技术问题在于,提供一种异构系统启动同步的方法、系统、异构系统及计算机设备,可以实现异构系统启动同步,缩短异构系统启动的时间,以提高启动成功率和效率。
为解决上述技术问题,作为本发明的一方面,提供一种异构系统启动同步的方法,应用于包含有主机系统与子系统的异构系统中,所述主机系统包含有主CPU以及主BMC,所述各子系统均包含有子CPU以及子BMC,所述方法至少包括如下步骤:
对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;
根据主机系统以及各子系统中预先配置的一级依赖关系,获得当前启动依赖关系表;
控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动。
其中,所述控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动的步骤包括:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
其中,进一步包括:
各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
其中,进一步包括:
主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
相应地,本发明的另一方面,还提供一种异构系统启动同步的系统,应用于包含有主机系统与子系统的异构系统中,所述主机系统包含有主CPU以及主BMC,所述各子系统均包含有子CPU以及子BMC,所述异构系统启动同步的系统至少包括:
BMC上电处理模块,用于对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;
启动依赖关系表获取模块,用于根据主机系统以及各子系统中预先配置的一级依赖关系,获得当前启动依赖关系表;
子CPU开机控制模块,用于控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
启动依赖关系表更新处理模块,用于将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
主CPU开机控制模块,用于在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动。
其中,所述子CPU开机控制模块具体用于控制:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
其中,进一步包括:
设置于所述子CPU中的开机启动完成反馈模块,用于各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
设置于所述子BMC中的标志位更新模块,用于所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
其中,进一步包括:
轮询模块,用于主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
作为本发明的再一方面,还提供一种异构系统,其至少包括主机系统与子系统,所述主机系统包含有主CPU以及主BMC,所述各子系统均包含有子CPU以及子BMC,异构系统进一步包括前述的异构系统启动同步的系统。
作为本发明的又一方面,还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述的方法。
实施本发明实施例,具有如下的有益效果:
本发明提供一种异构系统启动同步的方法、系统、异构系统及计算机设备,结合当前异构系统已有的硬件资源,通过常用的SMBus总线及IPMI协议,对异构计算系统进行统一的启动全流程进行管理,达到启动的唯一性和确定性,解决因异构计算系统各子系统启动时间不一致,导致相互依赖的功能出现异常的问题;
同时,本发明中,通过规范异构系统的启动顺序流程,控制让不存在依赖关系的子系统先启动,从而可以避免因启动顺序导致的异常的出现,可以使各厂家子系统能快速的适配到主机系统上,提高系统稳定性的同时,也提高了基础设施的部署效率和适用性;
另外,在使用统一的启动标准后,明确了优化的启动顺序,能在稳定的基础上减少整个异构系统的启动时间,提高了启动成功率和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
图1为本发明提供的一种异构系统启动同步的方法的一个实施例的主流程示意图;
图2为本发明提供的一种异构系统启动同步的方法的应用环境示意图;
图3为本发明提供的一种异构系统启动同步的系统的一个实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
如图1所示,示出了本发明提供的一种异构系统启动同步的方法的一个实施例的主流程示意图。一并结合图2所示,在本实施例中,本发明所提供一种异构系统启动同步的方法,应用于如图2所示的异构系统中。所述异构系统包含有主机系统与至少一个子系统,所述主机系统包含有主CPU(Central Processing Unit,中央处理单元)以及主BMC(Baseboard Management Controller,基板管理控制器),所述各子系统均包含有子CPU以及子BMC,可以理解的是,在一些实施例中,所述主机系统还可以包括诸如CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑器件)模块等。
更具体地,在所述异构系统中,主机系统(例如,其中一种可能的物理形态是Host)一般包含计算单元(主CPU)和管理单元(主BMC),其中主BMC用来管理主CPU的上下电和启动。子系统)通过PCIE(Peripheral Component Interconnect Express,高速串行计算机扩展总线接口)总线连接到主机系统。在一个例子中,所述子系统其中一种可能的物理形态是Card,Card可以是Smart NIC(Network Interface Card,网络接口卡),或者是DPU(DataProcessing Unit,数据处理器)。PCIE槽位提供了系统管理总线(System Management Bus,SMBus),通过此SMBus总线连接到子系统的子BMC。可以理解的是,主机系统的主BMC和子系统的子BMC都作为SMBus总线的Slave端(从端),主机系统的主CPU和子系统的子CPU都可以通过SMBus总线使用智能平台管理接口(Intelligent Platform Management Interface,IPMI)协议访问各子系统内的子BMC。
在一个具体的例子中,所述异构系统启动同步的方法至少包括如下步骤:
步骤S10,对主机系统进行上电处理(AC上电),控制所述主机系统的子BMC和各子系统的子BMC均上电启动;
步骤S11,根据主机系统以及各子系统中预先配置的一级依赖关系,获得当前启动依赖关系表;
具体地,主机系统的主BMC根据主机系统与子系统之间一级依赖关系,计算获得启动依赖关系表,其中一级依赖关系为预配置。如下表1列出了主机系统与各子系统,以及子系统与其他子系统之间的一级依赖关系表。
表1、一级依赖关系表
系统 | 依赖1 | 依赖2 | 依赖3 | 依赖4 |
主机系统 | 子系统1 | 子系统3 | ||
子系统1 | 子系统2 | |||
子系统2 | 子系统4 | |||
子系统3 | ||||
子系统4 |
从上可以看出,主机系统的一级依赖关系为子系统1和子系统3;子系统1的一级依赖关系为子系统2;子系统2的一级依赖关系为子系统4;而子系统3、子系统4不存在下级依赖关系(即零依赖);此处的各系统的CPU需要在其下级依赖关系的子系统的CPU完成启动后,才能开始启动工作。
经过计算后,可以获得表2中示出的启动依赖关系表:
表2、启动依赖关系表
系统 | 依赖1 | 依赖2 | 依赖3 | 依赖4 |
主机系统 | 子系统1 | 子系统3 | 子系统2 | 子系统4 |
子系统1 | 子系统2 | 子系统4 | ||
子系统2 | 子系统4 | |||
子系统3 | ||||
子系统4 |
步骤S12,控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
更具体地,在本步骤中,主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。更具体地,由于步骤S11中的启动依赖关系表中,其中子系统3和子系统4均为零依赖,则在本步骤中,需要向子系统3和子系统4中对应的子BMC发送启动命令,而子系统3和子系统4根据所述启动命令控制对相应的子CPU开机启动;
同时,各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;具体地,在一个例子中,子系统进程通过SMBus1总线使用IPMI协议向子系统的子BMC发送Complete Boot命令;
所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
在一个具体的例子中,每个子BMC中采用一个标志位(Flag)来记录子CPU的启动状态,例如,在子CPU已完成开机启动后,可以将所述Flag的数值修改为1;在子BMC复位时,将所述Flag的数值清零。
步骤S13,将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
更具体地,以上述步骤S11中的启动依赖关系表进行说明,由于其中子系统3和子系统4均为零依赖,在控制其子CPU进行开机启动后,删除启动依赖关系表中主机系统或其他子系统对子系统3和子系统4的依赖关系内容;获得更新后的启动依赖关系表如下:
表3、更新后的启动依赖关系表
系统 | 依赖1 | 依赖2 | 依赖3 | 依赖4 |
主机系统 | 子系统1 | 子系统2 | ||
子系统1 | 子系统2 | |||
子系统2 | ||||
子系统3 | ||||
子系统4 |
此时,子系统2为新出现的零依赖,则向子系统2的子BMC发送启动命令,在子系统2的子CPU完成开机启动后,删除启动依赖关系表中主机系统或其他子系统对子系统2的依赖关系内容;获得更新后的启动依赖关系表如下:
表4、更新后的启动依赖关系表
系统 | 依赖1 | 依赖2 | 依赖3 | 依赖4 |
主机系统 | 子系统1 | |||
子系统1 | ||||
子系统2 | ||||
子系统3 | ||||
子系统4 |
此时,子系统1为新出现的零依赖,则向子系统1的子BMC发送启动命令,在子系统1的子CPU完成开机启动后,删除启动依赖关系表中主机系统或其他子系统对子系统1的依赖关系内容;获得更新后的启动依赖关系表如下:
表5、更新后的启动依赖关系表
系统 | 依赖1 | 依赖2 | 依赖3 | 依赖4 |
主机系统 | ||||
子系统1 | ||||
子系统2 | ||||
子系统3 | ||||
子系统4 |
经过上述步骤后,则所有子系统中的子CPU均已开机启动完成。
步骤S14,在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动。
可以理解的是,在本发明中,主机系统通过轮询各子系统中各子BMC中标志位的数值来确定相应的子CPU是否已完成开机启动,具体地,在一个例子中,主机系统的子BMC通过SMBus2总线,采用IPMI协议命令定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
具体地,如果子系统的子BMC反馈的Flag值为1,则说明该子系统的子CPU已经完成启动(处于设备虚拟进程的拉起状态);如果Flag的值为0,说明该子系统的子CPU尚未完成开机启动。主机系统的主BMC设定一定间隔时间轮询一次该Flag,直到flag值为1。当所有子系统的flag值均为1,则表明所有的子系统的子CPU均已完成开机启动。
可以理解的是,在本发明的实施例中,通过设置各子系统的子CPU的启动顺序规则,可以保证在所有的子CPU启动完成后,再进行主机系统的主CPU的启动。从而可以避免因启动顺序导致的异常的出现,同时可以使各厂家子系统能快速的适配到主机系统上,提高系统稳定性的同时,也提高了基础设施的部署效率和适用性。
如图3所示,示出了本发明提供的一种异构系统启动同步的系统的一个实施例的结构示意图。可以理解的是,在本实施例中,所述异构系统启动同步的系统应用于包含有主机系统与子系统的异构系统中,所述主机系统包含有主CPU以及主BMC,所述各子系统均包含有子CPU以及子BMC,所述异构系统启动同步的系统1至少包括:
BMC上电处理模块10,用于对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;
启动依赖关系表获取模块11,用于根据主机系统以及各子系统中预先配置的一级依赖关系,获得当前启动依赖关系表;
子CPU开机控制模块12,用于控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
启动依赖关系表更新处理模块13,用于将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
主CPU开机控制模块14,用于在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动。
其中,所述子CPU开机控制模块12具体用于控制:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
其中,所述异构系统启动同步的系统1进一步包括:
设置于所述子CPU中的开机启动完成反馈模块(未示出),用于各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
设置于所述子BMC中的标志位更新模块(未示出),用于所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
其中,所述异构系统启动同步的系统1进一步包括:
轮询模块15,用于主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
可以理解的是,本发明所提供的异构系统启动同步的系统的各模块可以是独立的模块,也可以分别设置于图2的主CPU、主BMC、CPLD模块、子CPU或子BMC中。
更多细节,可以参考并结合前述对图1和图2的描述,在此不进行赘述。
可以理解的是,作为本发明的再一方面,还提供一种异构系统,其至少包括主机系统与子系统,所述主机系统包含有主CPU以及主BMC,所述各子系统均包含有子CPU以及子BMC。异构系统进一步包括前述的异构系统启动同步的系统。
其中,进一步包括:
设置于所述子CPU中的开机启动完成反馈模块,用于各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
设置于所述子BMC中的标志位更新模块,用于所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
其中,进一步包括:
轮询模块,用于主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
更多细节,可以参考并结合前述对图3的描述,在此不进行赘述。
可以理解的是,作为本发明的又一方面,还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现前述图1所描述的异构系统启动同步的方法。计算机设备可以是服务器或者服务器集群。
实施本发明实施例,具有如下的有益效果:
本发明提供一种异构系统启动同步的方法、系统、异构系统及计算机设备,结合当前异构系统已有的硬件资源,通过常用的SMBus总线及IPMI协议,对异构计算系统进行统一的启动全流程进行管理,达到启动的唯一性和确定性,解决因异构计算系统各子系统启动时间不一致,导致相互依赖的功能出现异常的问题;
同时,本发明中,通过规范异构系统的启动顺序流程,控制让不存在依赖关系的子系统先启动,从而可以避免因启动顺序导致的异常的出现,可以使各厂家子系统能快速的适配到主机系统上,提高系统稳定性的同时,也提高了基础设施的部署效率和适用性;
另外,在使用统一的启动标准后,明确了优化的启动顺序,能在稳定的基础上减少整个异构系统的启动时间,提高了启动成功率和效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种异构系统启动同步的方法,应用于包含有主机系统与子系统的异构系统中,所述主机系统包含有主CPU以及主BMC,各子系统均包含有子CPU以及子BMC,其特征在于,所述方法至少包括如下步骤:
对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;
所述主机系统的主BMC根据主机系统以及各子系统中预先配置的一级依赖关系,计算获得当前启动依赖关系表;
控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动;
其中,所述控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动的步骤包括:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
2.如权利要求1所述的异构系统启动同步的方法,其特征在于,进一步包括:
各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
3.如权利要求2所述异构系统启动同步的方法,其特征在于,进一步包括:
主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
4.一种异构系统启动同步的系统,应用于包含有主机系统与子系统的异构系统中,所述主机系统包含有主CPU以及主BMC,各子系统均包含有子CPU以及子BMC,其特征在于,至少包括:
BMC上电处理模块,用于对主机系统进行上电处理,控制所述主机系统的主BMC和各子系统的子BMC均上电启动;
启动依赖关系表获取模块,用于所述主机系统的主BMC根据主机系统以及各子系统中预先配置的一级依赖关系,计算获得当前启动依赖关系表;
子CPU开机控制模块,用于控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
启动依赖关系表更新处理模块,用于将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
主CPU开机控制模块,用于在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动;
其中,所述子CPU开机控制模块具体用于控制:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
5.如权利要求4所述的异构系统启动同步的系统,其特征在于,进一步包括:
设置于所述子CPU中的开机启动完成反馈模块,用于各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
设置于所述子BMC中的标志位更新模块,用于所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
6.如权利要求5所述异构系统启动同步的系统,其特征在于,进一步包括:
轮询模块,用于主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
7.一种异构系统,其至少包括主机系统与子系统,所述主机系统包含有主CPU以及主BMC,各子系统均包含有子CPU以及子BMC,其特征在于,其中:
所述异构系统进一步包括异构系统启动同步的系统,所述异构系统启动同步的系统包括:
BMC上电处理模块,用于对主机系统进行上电处理,控制所述主机系统的主BMC主机系统的主BMC和各子系统的子BMC均上电启动;
启动依赖关系表获取模块,用于所述主机系统的主BMC根据主机系统以及各子系统中预先配置的一级依赖关系,计算获得当前启动依赖关系表;
子CPU开机控制模块,用于控制所述启动依赖关系表中不存在下级依赖关系的各子系统的子CPU开机启动;
启动依赖关系表更新处理模块,用于将已完成子CPU开机启动的子系统从所述启动依赖关系表中删除,继续控制更新后的启动依赖关系表中不存在下级依赖关系的子系统的子CPU开机启动;
主CPU开机控制模块,用于在所有子系统的子CPU完成开机启动后,控制主机系统的主CPU开机启动,以完成异构系统的启动;
其中,所述子CPU开机控制模块具体用于控制:
主机系统的主BMC向启动依赖关系表中不存在下级依赖关系的子系统的子BMC发送启动命令,所述各子系统的子BMC根据启动命令控制对应子CPU开机启动。
8.如权利要求7所述的异构系统,其特征在于,进一步包括:
设置于所述子CPU中的开机启动完成反馈模块,用于各子系统的子CPU在开机启动完成后,向所在子系统的子BMC发送开机启动已完成的命令;
设置于所述子BMC中的标志位更新模块,用于所述子BMC在收到所述命令后,更新相应标志位的数值,通过所述数值表征对应子CPU已完成开机启动。
9.如权利要求8所述异构系统,其特征在于,进一步包括:
轮询模块,用于主机系统的主BMC定时向子系统的子BMC发送检测标志位的请求,以轮询各子系统中各子BMC中标志位的数值,判断相应的子CPU是否已完成开机启动。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958772.0A CN115061757B (zh) | 2022-08-11 | 2022-08-11 | 异构系统启动同步的方法、系统、异构系统及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210958772.0A CN115061757B (zh) | 2022-08-11 | 2022-08-11 | 异构系统启动同步的方法、系统、异构系统及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115061757A CN115061757A (zh) | 2022-09-16 |
CN115061757B true CN115061757B (zh) | 2022-12-02 |
Family
ID=83208132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210958772.0A Active CN115061757B (zh) | 2022-08-11 | 2022-08-11 | 异构系统启动同步的方法、系统、异构系统及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115061757B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486732A (zh) * | 2010-12-02 | 2012-06-06 | 上海可鲁系统软件有限公司 | 一种分布式平台及平台中功能模块启动优先级控制方法 |
CN103473094A (zh) * | 2013-09-09 | 2013-12-25 | 上海大学 | 多处理器高安全启动的异构系统及其启动方法 |
CN105912498A (zh) * | 2016-04-01 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种多路服务器的分区方法、装置及多路服务器 |
CN109725940A (zh) * | 2017-10-31 | 2019-05-07 | 杭州华为数字技术有限公司 | 用于计算系统启动的方法和计算系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201563B (zh) * | 2015-04-29 | 2020-01-03 | 新华三信息技术有限公司 | 启动参数的配置方法和装置、主板启动的方法和装置 |
CN114385254A (zh) * | 2021-12-27 | 2022-04-22 | 四川华鲲振宇智能科技有限责任公司 | 一种基于vpx架构的双控主从切换实现方法 |
-
2022
- 2022-08-11 CN CN202210958772.0A patent/CN115061757B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102486732A (zh) * | 2010-12-02 | 2012-06-06 | 上海可鲁系统软件有限公司 | 一种分布式平台及平台中功能模块启动优先级控制方法 |
CN103473094A (zh) * | 2013-09-09 | 2013-12-25 | 上海大学 | 多处理器高安全启动的异构系统及其启动方法 |
CN105912498A (zh) * | 2016-04-01 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种多路服务器的分区方法、装置及多路服务器 |
CN109725940A (zh) * | 2017-10-31 | 2019-05-07 | 杭州华为数字技术有限公司 | 用于计算系统启动的方法和计算系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115061757A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108549580B (zh) | 自动部署Kubernetes从节点的方法及终端设备 | |
US20080065874A1 (en) | System and method for dynamic determination of system topology in a multiple building block server system | |
US10404538B1 (en) | Remote platform configuration | |
US10025584B2 (en) | Firmware management of SR-IOV adapters | |
EP3387527A1 (en) | Model-driven updates distributed to changing topologies | |
US10621651B2 (en) | Automatic recharge system and method, and server | |
CN107980119B (zh) | 一种服务器管理方法和服务器 | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
EP4095678A1 (en) | Method and apparatus of deploying a cluster, device and storage medium | |
CN113495732A (zh) | 服务器部署方法、装置、设备及可读存储介质 | |
EP3637252A1 (en) | Virtual machine deployment method and omm virtual machine | |
US11861357B2 (en) | Selecting and sending subset of components to computing device prior to operating system install | |
CN115794257A (zh) | 系统启动方法、装置、电子设备和存储介质 | |
CN115061757B (zh) | 异构系统启动同步的方法、系统、异构系统及计算机设备 | |
KR101461319B1 (ko) | 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 | |
EP3974979A1 (en) | Platform and service disruption avoidance using deployment metadata | |
CN115277398A (zh) | 一种集群的网络配置方法和装置 | |
CN113590033B (zh) | 一种超融合系统的信息同步方法及装置 | |
CN116235175A (zh) | 加速器卡安全模式的静态配置 | |
WO2012054023A1 (en) | Computer system with computers that perform network boots | |
CN109491947B (zh) | 一种pcie外接卡热移除信息的发送方法及相关装置 | |
CN109617954B (zh) | 一种创建云主机的方法和装置 | |
US20190324741A1 (en) | Virtual appliance upgrades in high-availability (ha) computing clusters | |
TW201327139A (zh) | 節點置換處理方法與使用其之伺服器系統 | |
US11645616B1 (en) | Verifying the integrity of data transmitted between a firmware and a baseboard management controller (BMC) |
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 |