CN114564240B - 一种服务器启动方法、系统、计算机设备和存储介质 - Google Patents

一种服务器启动方法、系统、计算机设备和存储介质 Download PDF

Info

Publication number
CN114564240B
CN114564240B CN202210179229.0A CN202210179229A CN114564240B CN 114564240 B CN114564240 B CN 114564240B CN 202210179229 A CN202210179229 A CN 202210179229A CN 114564240 B CN114564240 B CN 114564240B
Authority
CN
China
Prior art keywords
kernel
uefi
cpu
area
program
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
Application number
CN202210179229.0A
Other languages
English (en)
Other versions
CN114564240A (zh
Inventor
杨濠宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210179229.0A priority Critical patent/CN114564240B/zh
Publication of CN114564240A publication Critical patent/CN114564240A/zh
Application granted granted Critical
Publication of CN114564240B publication Critical patent/CN114564240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种服务器启动方法、系统、计算机设备和存储介质,方法包括:启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;所述第一内核区域执行UEFI的固定程序;所述第二内核区域执行UEFI的边缘程序;其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行。采用本方法将UEFI系统的固定程序与边缘程序独立开来,UEFI系统本身的启动不用再等待与BMC的交互,CPU的内核资源得到了充分的利用,提高了CPU内核的资源利用率;极大地减少了服务器启动的等待时间。

Description

一种服务器启动方法、系统、计算机设备和存储介质
技术领域
本发明涉及BIOS领域,特别是涉及一种服务器启动方法、系统、计算机设备和存储介质。
背景技术
统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案。可扩展固件接口负责加电自检(POST)、联系操作系统以及提供连接操作系统与硬件的接口。UEFI系统的启动遵循UEFI平台初始化标准,其中上电之后执行的阶段,且为单进程执行,主要包括SEC(SecurityPhase,安全认证)、PEI(Pre-EFI Intitialization,前初始化)、DXE Driver Execution Environment,设备驱动环境)、BDS(Boot Device Selection,启动设备选择)。
对于带BMC的服务器来说,UEFI与BMC的交互通过IPMI来执行,且UEFI与BMC的交互贯穿整个UEFI的启动过程。由于UEFI的四个阶段存在依赖关系,只能按顺序执行,因此执行到UEFI的每个阶段时都要等待UEFI通过IPMI与BMC的交互,交互完成之后才能进入下一个阶段,这便大大增加了服务器的启动时间。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少服务器开机时间的服务器启动方法、系统、计算机设备和存储介质。
一方面,提供一种服务器启动方法,所述方法包括:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
所述第一内核区域执行UEFI的固定程序;
所述第二内核区域执行UEFI的边缘程序;
其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行;
所述固定程序为用于UEFI系统的启动程序;
所述边缘程序为用于UEFI通过IPMI与BMC的交互程序。
在其中一个实施例中,所述启动UEFI系统,具体包括:
接收用户的服务器启动指令,以启动UEFI系统。
在其中一个实施例中,所述将CPU内核划分为第一内核区域和第二内核区域,具体包括:
UEFI系统进入SEC阶段,执行CPU初始化;
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域。
在其中一个实施例中,所述方法还包括:
所述第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整;
所述第一内核负载为所述第一内核区域执行UEFI的固定程序时的负载;
所述第二内核负载为所述第二内核区域执行UEFI的边缘程序时的负载。
在其中一个实施例中,所述第一内核区域执行UEFI的固定程序,具体包括:
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行。
在其中一个实施例中,所述第二内核区域执行UEFI的边缘程序,具体包括:
UEFI系统进入PEI阶段,第二内核区域执行边缘程序占用一个CPU内核;
UEFI系统进入DXE阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI系统进入BDS阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
另一方面,提供了一种服务器启动系统,所述系统包括:
CPU内核划分模块,用于将CPU内核划分为第一内核区域和第二内核区域;以及第一内核区域内CPU内核的划分;
并行运行模块,用于将第一内核与第二内核并行运行。
在其中一个实施例中,所述系统还包括:
系统启动模块,用于下发UEFI系统的启动指令,以启动UEFI系统;
CPU初始化模块,用于实现UEFI系统在SEC阶段的CPU初始化;
负载计算模块,用于计算第一内核负载与第二内核负载的负载比例;
IPMI通信模块,用于实现UEFI与BMC的信息交互。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
所述第一内核区域执行UEFI的固定程序;
所述第二内核区域执行UEFI的边缘程序;
其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行。
又一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行以下步骤:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
所述第一内核区域执行UEFI的固定程序;
所述第二内核区域执行UEFI的边缘程序;
其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行。
本发明的上述技术方案相比现有技术具有以下优点:
上述服务器启动方法、系统、计算机设备和存储介质,在CPU初始化完成后,将CPU内核划分为两个区域,即,第一内核区域和第二内核区域;第一内核区域用来执行UEFI的固定程序,即,UEFI系统的启动程序;第二内核区域用来执行UEFI的边缘程序,即,UEFI通过IPMI与BMC的交互程序;并且第一内核区域的固定程序与第二内核区域的边缘程序并行运行,这样便将UEFI系统的固定程序与边缘程序独立开来,UEFI系统的启动不用再等待与BMC的交互,CPU的内核资源得到了充分的利用,提高了CPU内核的资源利用率;极大地减少了服务器启动的等待时间。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本发明的服务器启动方法的第一方法流程图;
图2是本发明的服务器启动方法的第二方法流程图;
图3是本发明的服务器启动系统的系统结构图;
图4是本发明的计算机设备的设备结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
UEFI是一种电脑系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS的替代方案,UEFI系统启动的速度比BIOS系统启动速度快很多。对于带BMC的服务器来说,在UEFI系统的启动中会与不断通过IPMI与BMC进行交互,且UEFI与BMC的交互贯穿整个UEFI系统的启动过程。UEFI包括四个阶段:SEC阶段、PEI阶段、DXE阶段、BDS阶段,由于这四个阶段存在依赖关系,只能按照顺序执行,因此执行到UEFI的每个阶段时都要等待UEFI通过IPMI与BMC的交互,交互完成之后才能进入下一个阶段,这便大大增加了服务器的启动时间。在SEC阶段结束后,CPU已经初始化完成,可以拿出部分CPU内核来执行UEFI与BMC的交互程序,因此本发明提出一种服务器启动方法、系统、计算机设备和存储介质,在CPU初始化完成后,将CPU内核划分为两个区域,即,第一内核区域和第二内核区域;第一内核区域用来执行UEFI的固定程序,即,UEFI系统的启动程序;第二内核区域用来执行UEFI的边缘程序,即,UEFI通过IPMI与BMC的交互程序;并且第一内核区域的固定程序与第二内核区域的边缘程序并行运行,这样便将UEFI系统的固定程序与边缘程序独立开来,UEFI系统的启动不用再等待与BMC的交互,CPU的内核资源得到了充分的利用,提高了CPU内核的资源利用率;极大地减少了服务器启动的等待时间。
实施例一:
本实施例的服务器启动方法,参照图1和图2所示,图1为本发明的服务器启动方法的第一方法流程图;图2是本发明的服务器启动方法的第二方法流程图。
服务器启动方法包括以下步骤:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
用户开机,以启动服务器,UEFI系统启动,在UEFI系统的启动过程的SEC阶段,会完成CPU内核的初始化,这时候便可以对CPU进行操作,即,将CPU内核划分为两个区域,第一内核区域和第二内核区域,以便于分别独立执行UEFI启动的固定程序和边缘程序。
所述第一内核区域执行UEFI的固定程序;
CPU内核初始化且CPU内核区域划分完成后,通过第一内核区域来执行UEFI的固定程序,与UEFI的边缘程序独立开来,UEFI的固定程序不再通过IPMI与BMC进行交互,极大地减少了UEFI的启动等待时间。
所述第二内核区域执行UEFI的边缘程序。
第一内核区域执行UEFI固定程序的同时,通过第二内核区域执行UEFI的边缘程序,通过第二内核区域来实现与BMC的交互,这样第一内核区域既可以正常启动UEFI系统,同时第二内核区域可以通过IPMI完成与BMC的交互,UEFI的固定程序与边缘程序同时运行,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行;
第一内核区域用来执行UEFI的固定程序,第二内核区域用来执行UEFI的边缘程序,两者独立同时运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
所述固定程序为用于UEFI系统的启动程序;
所述边缘程序为用于UEFI通过IPMI与BMC的交互程序。
UEFI的启动过程主要包括两个部分,一部分是UEFI本身的启动程序,定义为固定程序;一部分是UEFI在启动时通过IPMI与BMC的交互程序,定义为边缘程序,以便于进行CPU内核的区域划分。
在其中一个实施方式中,所述启动UEFI系统,具体包括:
接收用户的服务器启动指令,以启动UEFI系统。
用户需要启动服务器的时候,用户按下开机键,相当于向服务器下发开机启动命令,然后服务器接收用户的启动命令,以执行UEFI系统,实现服务器的启动。
在其中一个实施方式中,所述将CPU内核划分为第一内核区域和第二内核区域,具体包括:
UEFI系统进入SEC阶段,执行CPU初始化;
UEFI系统的执行包括四个阶段,SEC是UEFI的第一个阶段,安全验证阶段。在SEC阶段中,会执行CPU的初始化流程,SEC阶段执行完毕后,CPU内核的初始化也就执行完毕,CPU内核可以进行划分操作,以便于后续将CPU划分为两个内核区域,即,第一内核区域和第二内核区域。
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域。
CPU初始化完毕后,便可以对其进行内核划分操作,将CPU内核划分为第一内核区域和第二内核区域,以便于第一内核区域执行UEFI的固定程序,第二内核区域执行UEFI的边缘程序,两者独立同时运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
在其中一个实施方式中,所述方法还包括
所述第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整;
第一内核区域所占用的CPU大小与第二内核区域所占用的CPU大小是根据各自的运行负载来确定的,所占用的CPU大小也就是指所占用的CPU的内核数。即,第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整,如果经过计算得到第一内核区域的运行负载与第二内核区域的运行负载的比值为A/B,那么则分配给第一内核区域A%的CPU内核数,分配给第二内核区域B%的内核数,这样在降低服务器启动等待时间的前提下,还可以充分的利用CPU内核资源。
所述第一内核负载为所述第一内核区域执行UEFI的固定程序时的负载;
所述第二内核负载为所述第二内核区域执行UEFI的边缘程序时的负载。
第一内核负载是指第一内核区域执行UEFI的固定程序时的运行负载,第二内核负载是指第二内核区域执行UEFI的边缘程序时的运行负载,按照两者的负载比例来分配各自所占用的CPU内核资源,可以充分的提高CPU内核资源的利用率。
在其中一个实施方式中,所述第一内核区域执行UEFI的固定程序,具体包括:
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;
UEFI启动的第二个阶段是PEI阶段,PEI阶段包括多个PEIM(PEI Module,派遣器),提供CPU的相关功能,如Cache设置、主频设置等。并且PEI阶段的PEIM之间存在依赖关系,PEIM的执行需要按照依赖关系依次执行,因此在PEI阶段不能实现并行运行,所以第一内核区域内CPU的内核资源都用来执行PEIM,可以提高单个PEI阶段的运行效率。
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;
UEFI启动的第三个阶段是DXE阶段,DXE阶段包括多个DXE驱动,例如硬盘驱动、网卡驱动、PCIE驱动等。DXE阶段中DXE驱动的执行不存在依赖关系,因此第一内核区域的CPU内核还可以分配给不同的DXE驱动,使得多个DXE驱动可以并行运行,有效的提高了DXE驱动的执行效率。
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行。
UEFI启动的第四个阶段是BDS阶段,BDS阶段包括多个功能模块,例如资产信息收集、启动项顺序调整、FRU信息同步等。BDS阶段中的功能模块不存在依赖关系,因此第一内核区域的CPU内核还可以分配给不同的功能模块,使得多个功能模块可以并行运行,有效的提高了BDS阶段多个功能模块的执行效率。
在其中一个实施方式中,所述第二内核区域执行UEFI的边缘程序,具体包括:
UEFI系统进入PEI阶段,第二内核区域执行边缘程序占用一个CPU内核;
UEFI启动的第一个阶段是PEI阶段,在PEI阶段内,第二内核区域负责执行UEFI通过IPMI与BMC交互的程序,此阶段的交互程序占用一个CPU内核便可以完成PEI阶段中UEFI与BMC的交互程序。这样可以留出更多的CPU内核资源来执行UEFI的固定程序,有效的对CPU内核资源进行了分配,提高了CPU资源的利用率。
UEFI系统进入DXE阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI系统进入BDS阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
UEFI启动的第三个阶段是DXE阶段,第四个阶段是BDS阶段,由于在这两个阶段内,相对于PEI阶段,UEFI通过IPMI与BMC的交互过程中,UEFI的边缘程序会占用更多的运行负载,因此,在这两个阶段内,不再只占用CPU的单个内核,而是根据第一内核负载和第二内核负载的负载比例来进行调整,按照两者的负载比例来分配各自所占用的CPU内核资源,可以充分的提高CPU内核资源的利用率。
实施例二:
参照图2所示,图2为本发明的服务器启动方法的第二方法流程图。
包括以下步骤:
接收用户的服务器启动指令,以启动UEFI系统;
用户需要启动服务器的时候,用户按下开机键,相当于向服务器下发开机启动命令,然后服务器接收用户的启动命令,以执行UEFI系统,实现服务器的启动。
UEFI系统进入SEC阶段,执行CPU初始化;
在SEC阶段中,会执行CPU的初始化流程,SEC阶段执行完毕后,CPU内核的初始化也就执行完毕,CPU内核可以进行划分操作,以便于后续将CPU划分为两个内核区域,即,第一内核区域和第二内核区域。
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域;
CPU初始化完毕后,便可以对其进行内核划分操作,将CPU内核划分为第一内核区域和第二内核区域,以便于第一内核区域执行UEFI的固定程序,第二内核区域执行UEFI的边缘程序,两者独立同时运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;第二内核区域执行边缘程序,占用一个CPU内核;
UEFI启动的第二个阶段是PEI阶段,PEI阶段包括多个PEIM,并且PEI阶段的PEIM之间存在依赖关系,PEIM的执行需要按照依赖关系依次执行,因此在PEI阶段不能实现并行运行,所以整个CPU的内核资源都用来执行PEIM,可以提高单个PEI阶段的运行效率。同时,在PEI阶段内,第二内核区域负责执行UEFI通过IPMI与BMC交互的程序,此阶段的交互程序占用一个CPU内核便可以完成PEI阶段中UEFI与BMC的交互程序。这样可以留出更多的CPU内核资源来执行UEFI的固定程序,有效的对CPU内核资源进行了分配,提高了CPU资源的利用率。
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;第二内核区域执行边缘程序,所占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI启动的第三个阶段是DXE阶段,DXE阶段包括多个DXE驱动,DXE阶段中DXE驱动的执行不存在依赖关系,因此第一内核区域的CPU内核还可以分配给不同的DXE驱动,使得多个DXE驱动可以并行运行,有效的提高了DXE驱动的执行效率。同时,在DXE阶段内,第二内核区域执行的边缘程序会占用更多的运行负载,因此,在DXE阶段内,第二内核区域不再只占用CPU的单个内核,而是根据第一内核负载和第二内核负载的负载比例来进行调整,按照两者的负载比例来分配各自所占用的CPU内核资源,可以充分的提高CPU内核资源的利用率。
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行;第二内核区域执行边缘程序,所占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
UEFI启动的第四个阶段是BDS阶段,BDS阶段包括多个功能模块,BDS阶段中的功能模块不存在依赖关系,因此第一内核区域的CPU内核还可以分配给不同的功能模块,使得多个功能模块可以并行运行,有效的提高了BDS阶段多个功能模块的执行效率。同时,在BDS阶段内,第二内核区域不再只占用CPU的单个内核,而是根据第一内核负载和第二内核负载的负载比例来进行调整,按照两者的负载比例来分配各自所占用的CPU内核资源,可以充分的提高CPU内核资源的利用率。
UEFI启动完成,进入服务器系统。
UEFI的四个阶段依次执行完毕后,UEFI执行完成,服务器正常进入系统,完成服务器的启动,通过第一内核区域的固定程序与第二内核区域的边缘程序的并行运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,提高了CPU内核资源的利用率,极大地降低了UEFI的启动等待时间。
应该理解的是,虽然图1~2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1~2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
实施例三:
参照图3所示,图3为本发明的服务器启动系统的系统结构图。
本实施例的服务器启动系统,包括:
CPU内核划分模块,用于将CPU内核划分为第一内核区域和第二内核区域;以及第一内核区域内CPU内核的划分;
CPU初始化完毕后,便可以通过CPU内核划分模块对其进行内核划分操作,将CPU内核划分为第一内核区域和第二内核区域,以便于第一内核区域执行UEFI的固定程序,第二内核区域执行UEFI的边缘程序,两者独立同时运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
并行运行模块,用于将第一内核与第二内核并行运行。
第一内核区域用来执行UEFI的固定程序,第二内核区域用来执行UEFI的边缘程序,两者通过并行运行模块实现独立同时运行,UEFI的固定程序在启动时避免了与BMC的交互等待时间,有效的提高了CPU的资源利用率,极大地降低了服务器的启动等待时间。
在其中一个实施方式中,所述系统还包括:
系统启动模块,用于下发UEFI系统的启动指令,以启动UEFI系统;
用户需要启动服务器的时候,用户按下开机键,相当于向服务器下发开机启动命令,即,通过系统启动模块下发UEFI系统的启动指令,以执行UEFI系统,实现服务器的启动。
CPU初始化模块,用于实现UEFI系统在SEC阶段的CPU初始化;
在SEC阶段中,会通过CPU初始化模块执行CPU的初始化流程,SEC阶段执行完毕后,CPU内核的初始化也就执行完毕,CPU内核可以进行划分操作,以便于后续将CPU划分为两个内核区域。
负载计算模块,用于计算第一内核负载与第二内核负载的负载比例;
第一内核区域所占用的CPU大小与第二内核区域所占用的CPU大小是根据各自的运行负载来确定的,所占用的CPU大小也就是指所占用的CPU的内核数。即,第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整,负载比例通过负载计算模块来实现。
IPMI通信模块,用于实现UEFI与BMC的信息交互。
对于带BMC的服务器来说,在UEFI系统的启动中会与不断通过IPMI与BMC进行交互,且UEFI与BMC的交互贯穿整个UEFI系统的启动过程,IPMI通信模块来实现UEFI与BMC的信息交互。
关于服务器启动系统的具体限定可以参见上文中对于方法的限定,在此不再赘述。上述服务器启动系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
实施例四:
本实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现服务器启动方法的步骤。
该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现服务器启动方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域内的技术人员应明白,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在其中一个实施方式中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
接收用户的服务器启动指令,以启动UEFI系统。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入SEC阶段,执行CPU初始化;
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
所述第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入PEI阶段,第二内核区域执行边缘程序占用一个CPU内核;
UEFI系统进入DXE阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI系统进入BDS阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
实施例五:
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
接收用户的服务器启动指令,以启动UEFI系统。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入SEC阶段,执行CPU初始化;
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
所述第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行。
在其中一个实施方式中,处理器执行计算机程序时还实现以下步骤:
UEFI系统进入PEI阶段,第二内核区域执行边缘程序占用一个CPU内核;
UEFI系统进入DXE阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI系统进入BDS阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (8)

1.一种服务器启动方法,其特征在于,所述方法包括:
启动UEFI系统,并将CPU内核划分为第一内核区域和第二内核区域;
所述第一内核区域执行UEFI的固定程序;
所述第二内核区域执行UEFI的边缘程序;
其中,所述第一内核区域的固定程序与所述第二内核区域的边缘程序并行运行;
所述固定程序为用于UEFI系统的启动程序;
所述边缘程序为用于UEFI通过IPMI与BMC的交互程序;
所述第一内核区域执行UEFI的固定程序,具体包括:
UEFI系统进入PEI阶段,第一内核区域的所有CPU内核数按照依赖关系执行PEIM;
UEFI系统进入DXE阶段,第一内核区域的CPU内核数分别分配给不同的DXE驱动,使得多个DXE驱动并行运行;
UEFI系统进入BDS阶段,第一内核区域的CPU内核数分别分配给不同的BDS模块,使得多个BDS模块并行运行;
所述第二内核区域执行UEFI的边缘程序,具体包括:
UEFI系统进入PEI阶段,第二内核区域执行边缘程序占用一个CPU内核;
UEFI系统进入DXE阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整;
UEFI系统进入BDS阶段,第二内核区域执行边缘程序占用的内核数通过第一内核负载和第二内核负载的负载比例来调整。
2.根据权利要求1所述的服务器启动方法,其特征在于,所述启动UEFI系统,具体包括:
接收用户的服务器启动指令,以启动UEFI系统。
3.根据权利要求1所述的服务器启动方法,其特征在于,所述将CPU内核划分为第一内核区域和第二内核区域,具体包括:
UEFI系统进入SEC阶段,执行CPU初始化;
CPU初始化完毕后,将CPU内核划分为第一内核区域和第二内核区域。
4.根据权利要求1所述的服务器启动方法,其特征在于,所述方法还包括:
所述第一内核区域与第二内核区域并行运行时所占用的CPU内核数根据第一内核负载和第二内核负载的负载比例来调整;
所述第一内核负载为所述第一内核区域执行UEFI的固定程序时的负载;
所述第二内核负载为所述第二内核区域执行UEFI的边缘程序时的负载。
5.一种实现如权利要求1~4任一项所述服务器启动方法的服务器启动系统,其特征在于,所述系统包括:
CPU内核划分模块,用于将CPU内核划分为第一内核区域和第二内核区域;以及第一内核区域内CPU内核的划分;
并行运行模块,用于将第一内核与第二内核并行运行。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:
系统启动模块,用于下发UEFI系统的启动指令,以启动UEFI系统;
CPU初始化模块,用于实现UEFI系统在SEC阶段的CPU初始化;
负载计算模块,用于计算第一内核负载与第二内核负载的负载比例;
IPMI通信模块,用于实现UEFI与BMC的信息交互。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~4中任意一项所述方法的步骤。
8.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有程序,当所述程序被处理器执行时,使得所述处理器执行如权利要求1~4中任意一项所述的方法的步骤。
CN202210179229.0A 2022-02-25 2022-02-25 一种服务器启动方法、系统、计算机设备和存储介质 Active CN114564240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210179229.0A CN114564240B (zh) 2022-02-25 2022-02-25 一种服务器启动方法、系统、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210179229.0A CN114564240B (zh) 2022-02-25 2022-02-25 一种服务器启动方法、系统、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN114564240A CN114564240A (zh) 2022-05-31
CN114564240B true CN114564240B (zh) 2024-02-27

Family

ID=81715393

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210179229.0A Active CN114564240B (zh) 2022-02-25 2022-02-25 一种服务器启动方法、系统、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN114564240B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607940A (zh) * 2016-01-05 2016-05-25 浪潮电子信息产业股份有限公司 一种arm平台中bdk向uefi bios传递信息的方法
CN109150579A (zh) * 2017-06-19 2019-01-04 广达电脑股份有限公司 配置多机箱链路的方法与系统及其储存介质
CN113489597A (zh) * 2020-03-16 2021-10-08 广达电脑股份有限公司 用于网络装置的最佳启动路径的方法和系统
CN113687868A (zh) * 2021-08-31 2021-11-23 联想(北京)有限公司 设备固件启动方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607940A (zh) * 2016-01-05 2016-05-25 浪潮电子信息产业股份有限公司 一种arm平台中bdk向uefi bios传递信息的方法
CN109150579A (zh) * 2017-06-19 2019-01-04 广达电脑股份有限公司 配置多机箱链路的方法与系统及其储存介质
CN113489597A (zh) * 2020-03-16 2021-10-08 广达电脑股份有限公司 用于网络装置的最佳启动路径的方法和系统
CN113687868A (zh) * 2021-08-31 2021-11-23 联想(北京)有限公司 设备固件启动方法、装置及电子设备

Also Published As

Publication number Publication date
CN114564240A (zh) 2022-05-31

Similar Documents

Publication Publication Date Title
US7673131B2 (en) Booting an operating system in discrete stages
JP5368947B2 (ja) プラットフォームの高速リスタートを可能にする方法およびシステム
CN105814541B (zh) 计算机设备及计算机设备内存启动的方法
US8549356B2 (en) Method and system for recovery of a computing environment via a hot key sequence at pre-boot or runtime
CN102369510A (zh) 使用存储器分段和基于acpi的上下文切换加载操作系统
US9274804B2 (en) Overlapped boot task fetches and boot task execution to reduce boot time in an electrical device
US11307907B2 (en) Information handling system and method to automatically synchronize operating system and boot firmware languages
US7574696B2 (en) Multiprocessor application interface requiring no utilization of a multiprocessor operating system
CN110119623A (zh) 一种利用tpcm实现固件主动度量的可信主板实现方法
CN103870298A (zh) 切换方法和电子设备
CN114185607A (zh) Arm服务器中pci设备的启动控制方法、装置及设备
CN114564240B (zh) 一种服务器启动方法、系统、计算机设备和存储介质
US20100017588A1 (en) System, method, and computer program product for providing an extended capability to a system
CN110399167B (zh) 固件启动方法及装置、设备、存储介质
CN113127089A (zh) 一种服务架构的模块的启动控制方法、计算机设备
CN111913753A (zh) 一种windows系统云迁移中启动方式的变更方法及系统
CN104809021B (zh) 多重作业环境服务的管理系统及管理方法
US20200210166A1 (en) Systems and methods for enforcing update policies while applying updates from bootable image file
CN102915246A (zh) 终端设备以及支持多固件加载的方法
CN115454904A (zh) 设备初始化方法、装置、计算机设备及相关产品
CN113064655B (zh) 一种bios网络启动方法、装置和计算机可读存储介质
CN111796939B (zh) 一种处理方法、装置及电子设备
CN115293873A (zh) 授信流程的页面处理方法、装置、计算机设备和存储介质
CN110928582B (zh) 信息处理设备和配置信息处理设备的目标装置的方法
CN115495392B (zh) 多级启动中内存复用方法、装置、存储介质和处理器

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