优化具有多个中央处理器的计算机的启动时间的系统及方法技术方案

技术编号:11298477 阅读:136 留言:0更新日期:2015-04-15 15:24
本发明专利技术公开了一种响应启动命令的用于优化具有至少一个CPU的计算机系统的启动时间的方法和系统。所述系统包括存储器和处理器。所述处理器执行存储在存储器内的一组指令,从而访问包括与所述系统的启动相关的一组基本任务的任务描述图表(TDC)。离线处理TDC,以创建两组调度图表,即独立任务图表(ITC)和依赖任务图表(DTC)。ITC包括所有独立任务;DTC包括所有依赖任务。DTC进一步分为DTC 1和DTC 2。所有图表中的任务都是基于优先级选择并执行的。通过优化调度过程,所述方法和系统解决了启动过程中系统的调度开销问题。

【技术实现步骤摘要】
【国外来华专利技术】优化具有多个中央处理器的计算机的启动时间的系统及方法
本专利技术主要涉及计算机领域,尤其涉及一种优化的用于启动具有多个中央处理器(CPUs)的计算机的方法及系统。
技术介绍
工作站、个人计算机和/或服务器(以下简称“计算机系统”或“计算机”)通常包括基本输入/输出系统(BIOS),所述BIOS充当计算机硬件和安装在该计算机上的至少一个操作系统之间的接口。所述BIOS还可能具有用于触发和初始化计算机硬件服务的至少一个软件代码和/或固件和/或指令,例如芯片组驱动,视频,基本键盘,I/O端口,磁盘驱动器等主板服务。除初始化服务外,BIOS也可以寻找与外设卡相关的硬件和驻留在外设卡之上的控制器,其中所述外设卡可包括但不限于PCI卡。BIOS指令和/或固件和/或指令通常存储在计算机的闪存内,所述闪存存储在某个位置,当计算机系统开启时,所述位置由计算机的处理器读取并处理。当计算机系统开机时,所述BIOS指令也被初始化。进一步地,所述计算机的闪存也可包括专门用来检查系统中的特定硬件的软件。当系统开机时,所述软件进行上电自检(POST),以检查所述计算机系统中的硬件。所述处理器也可基于所述闪存中的软件的指令进行冷启动的磁盘驱动器POST和随机存取存储器(RAM)上电自检(POST);另外,为减少系统的启动时间,启动过程中,所述软件也可指示所述处理器跳过对一个或多个硬件设备的POST。图1示出了传统计算机系统的典型启动过程。如图1所示,当系统开机时,从BIOS处开始启动。BIOS进行上电自检(POST)以初始化所有设备,包括RAM和CPU,以及其他设备,如键盘,显示器等。若所述系统是一个多核或多处理器系统,将其中一个CPU确定为启动CPU用以执行BIOS和内核初始化代码。剩余处理器通常称为应用处理器(AP),其在被操作系统(OS)的内核初始化之前都处于空闲状态。一旦BIOS初始化完成,定位启动设备,将启动加载程序加载到RAM中,并将控制逻辑传递给所述启动加载程序。所述启动加载程序确定启动OS的哪个内核,将确定的OS加载到RAM中并将控制逻辑传递给所述确定的OS。当OS的内核开始执行时,其初始化资源和数据结构,可包括但不限于剩余应用处理器的初始化,并最终执行用于初始化计算机系统所有服务的初始化脚本。传统意义上讲,计算机系统通过使用单个CPU按顺序执行启动过程。为优化顺序处理的启动时间,目前可使用各种方法。以下提到几种现存的优化启动时间的方法:1.减小启动/操作系统的大小。2.多线程执行服务和/或初始化脚本的至少一个路线的初始化。3.硬件辅助/加速启动步骤使用更快缓存/存储设备。4.并行执行使用多处理器/多核的某些启动步骤。启动处理器/内核将BIOS的某个任务块调度到其他内核进行并行执行。启动处理器/内核等到/检测到其他内核完成了它们的任务,继续启动过程。图2示出了BIOS/初始化脚本的并行化。5.快照启动方法。虽然上述方法用来优化计算机系统的启动时间,在启动过程中和减少启动时间上,这些方法仍然具有耗费时间的巨大缺陷。为避免上述缺陷、优化启动时间,“华为技术有限公司”于2012年在专利申请PCT/CN2013/072764中提出了“具有多个中央处理器的计算机系统的启动方法”(以下简称现有技术)。所述现有技术中公开了具有多个中央处理器的计算机系统的启动方法,其提供了使用任务描述图表(TDC)的整个启动过程的并行处理框架。TDC包括使计算机系统正常工作而必须执行的所有任务。所述现有技术公开了整个启动过程的完全并行化。PCT/CN2013/072764的现有技术中,调度程序取决于目标的TDC。实际调度发生在启动期间。任务调度期间,检查优先级、依赖关系和任务状态。图3示出了多核/处理器上的并行启动方法。虽然现有技术申请通过并行执行整个启动过程来优化启动时间,所公开的方法仍然存在缺陷。以下提到其中几种缺陷:1.在任务调度过程中对优先级、依赖关系和任务状态的检查增加了系统的性能开销。2.启动时间内任务量大时(这一情况通常存在于许多系统中),调度开销增大。3.调度发生在目标上,因而增加了启动过程的开销。4.依赖关系检查在目标上完成,也增加了启动过程的开销。5.认为目标上有内存需求,启动过程管理可能会增加一定的开销。6.同样,依赖关系检查和在线调度决策可能会阻碍内核的完全利用。虽然优化启动过程时间的技术正在增强,但仍然需要优化具有多个CPU的计算机的启动时间。相应地,一种优化的低开销、启动时间少的用于启动具有多个中央处理器(CPUs)的计算机的方法和系统是值得拥有的,但还未提供。
技术实现思路

技术实现思路
介绍了低开销、启动时间少的用于优化具有多个中央处理器(CPUs)的计算机启动时间的系统及方法相关的内容,下面进一步详细描述这些内容。本
技术实现思路
不旨在确定所要求保护的本专利技术的基本特征,也不旨在确定或限定所要求保护的本专利技术的范围。上述问题得到了处理,且本专利技术技术方案提供了一种优化的低开销、启动时间少的用于启动具有多个中央处理器(CPUs)的计算机的方法和系统。因此,本专利技术的主要目的是提供一种优化的低开销、启动时间少的用于启动具有多个中央处理器(CPUs)604的计算机的方法和系统。相应地,本专利技术一实施例公开了一种计算机执行方法,当由多个CPU的多个初始化CPU执行时,所述计算机执行方法用于启动具有多个中央处理器(CPUs)604的计算机系统602。所述计算机执行方法可以响应启动指令,所述启动指令在计算机系统开机时发起。根据所述方法,访问存储在所述计算机系统的任务描述图表(TDC)。所述访问的TDC可包括启动过程的多个任务的地址信息和选择信息。所述多个任务可包括使计算机系统正常工作而必须执行的所有任务。所述访问的TDC的分类是基于TDC中的多个任务的依赖关系。对TDC进行分类,以生成一个独立任务图表(ITC)和一个依赖任务图表(DTC)。ITC包括独立于任何其他任务的一组任务。DTC包括对TDC的任何其他任务有至少一种依赖关系的一组任务。所述方法还包括将DTC分成依赖任务图表1(DTC1)和依赖任务图表2(DTC2)。DTC1包括来自DTC的对从ITC的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务。DTC2包括来自DTC的对从DTC1的一组任务中选择的至少一个任务或从DTC2的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务。根据所述方法,选择并执行所述ITC中的至少一个任务。由于所有任务按优先级排列,基于相对于ITC中其他任务的所述任务的优先级从ITC中选择至少一个任务。检查所选择的至少一个任务是否已经执行。若所述任务之前没有执行,执行所述任务,然后基于优先级从ITC选择并执行下一个任务。若所述任务已经执行,基于优先级从ITC选择下一个任务。任务的执行状态可从状态位寄存器中获取,所述状态位寄存器存储任务执行情况的所有信息。当ITC中的所有任务都执行后,所述方法从DTC1选择任务。基于任务的选择信息,更具体地讲,基于DTC1中任务的优先级选择DTC1中的所有任务。DTC1的优先级是基于DTC1的任务对ITC的依赖关系。所述方法从DTC1选择至少一个任务,并检查所选择的任务是否已经执行。若所述任务之前没有执行,执行所述任本文档来自技高网
...
优化具有多个中央处理器的计算机的启动时间的系统及方法

【技术保护点】
一种用于启动具有多个中央处理器(CPUs)604的计算机系统602的计算机执行方法,所述计算机执行方法由多个CPU的多个初始化CPU执行时,响应启动命令,所述计算机执行方法包括以下步骤:访问存储在计算机系统的任务描述图表(TDC)610,其中,所述TDC 610包括启动过程的多个任务的地址信息和启动过程的多个任务的选择信息;对所述访问的TDC 610进行分类,以生成包括独立于任何其他任务的一组任务的独立任务图表(ITC),以及包括对任何其他任务有至少一种依赖关系的一组任务的依赖任务图表(DTC);其中所述DTC进一步分为依赖任务图表1(DTC 1)和依赖任务图表2(DTC 2),其中所述DTC 1包括来自DTC的对从ITC的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务,所述DTC 2包括来自DTC的对从DTC 1的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务;基于所述选择信息从ITC中选择所述至少一个任务并执行所选择的至少一个任务;检查来自ITC的至少一个未执行的任务,从而基于所述选择信息从DTC1中选择所述至少一个任务并执行所选择的至少一个任务;检查来自DTC 1的至少一个未执行的任务,从而基于所述选择信息从DTC 2中选择所述至少一个任务,并基于所述对从DTC 1的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务的至少一种依赖关系执行所选择的至少一个任务;检查来自DTC 2的至少一个未执行的任务。...

【技术特征摘要】
【国外来华专利技术】2014.05.09 IN IN2355/CHE/20141.一种用于启动具有多个中央处理器CPUs(604)的计算机系统(602)的计算机执行方法,所述计算机执行方法由多个CPU的多个初始化CPU执行时,响应启动命令,所述计算机执行方法包括以下步骤:访问存储在计算机系统的任务描述图表TDC(610),其中,所述TDC(610)包括启动过程的多个任务的地址信息和启动过程的多个任务的选择信息;对所述访问的TDC(610)进行分类,以生成包括独立于任何其他任务的一组任务的独立任务图表ITC,以及生成包括对任何其他任务有至少一种依赖关系的一组任务的依赖任务图表DTC;其中所述DTC进一步分为DTC1和DTC2,其中所述DTC1包括来自DTC的对从ITC的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务,所述DTC2包括来自DTC的对从DTC1的一组任务中选择的至少一个任务或从DTC2的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务;基于所述选择信息从ITC中选择至少一个任务并执行;检查来自ITC的至少一个未执行的任务,从而基于所述选择信息从DTC1中选择至少一个任务并执行;检查来自DTC1的至少一个未执行的任务,从而基于所述选择信息从DTC2中选择至少一个任务,并基于所述对从DTC1的一组任务中选择的至少一个任务或从DTC2的一组任务中选择的至少一个任务的至少一种依赖关系执行;检查来自DTC2的至少一个未执行的任务。2.根据权利要求1所述的计算机执行方法,其特征在于,TDC(610)一次只能被所述CPUs(604)中的一个CPU访问。3.根据权利要求1所述的计算机执行方法,其特征在于,所述选择信息包括表示所述多个任务的优先级的优先级字段;所述多个任务是所述CPUs(604)基于所述选择信息所选择出的,其中所述选择信息按优先级的升序排列。4.根据权利要求1所述的计算机执行方法,其特征在于,所述选择信息包括依赖字段、锁定字段或状态字段。5.根据权利要求1所述的计算机执行方法,其特征在于,TDC(610)是基于所述多个任务的依赖关系被分类。6.根据权利要求1所述的计算机执行方法,其特征在于,所述ITC是按独立于任何其他任务的一组任务的优先级的升序进行排列和执行。7.根据权利要求1所述的计算机执行方法,其特征在于,所述DTC是按所述一组任务的优先级的升序和所述对任何其他任务的至少一种依赖关系进行排列。8.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从ITC的一组任务中选择的至少一个任务。9.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从DTC1的一组任务中选择的至少一个任务。10.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从DTC2的一组任务中选择的至少一个任务。11.根据权利要求1所述的计算机执行方法,其特征在于,首先执行来自ITC的一组任务。12.根据权利要求1所述的计算机执行方法,其特征在于,来自DTC1的一组任务在来自ITC的一组任务执行后执行。13.根据权利要求1所述的计算机执行方法,其特征在于,来自DTC2的一组任务在来自ITC的一组任务和来自DTC1的一组任务都执行后执行。14.根据权利要求1所述的计算机执行方法,其特征在于,来自DTC2的一组任务是基于所述DTC2中的一组任务的依赖关系被执行。15.根据权利要求1所述的计算机执行方法,其特征在于,所述启动过程的多个任务排列成队。16.根据权利要求1所述的计算机执行方法,其特征在于,维护一个状态位寄存器612,其保存各个任务的完成状态,所述状态位寄存器(612)用于检查至少一个未执行的任务;所述状态位寄存器(612)存储在存储器内。17.一种用于优化具有多个中央处理器CPUs(604)的启动时间的计算机系统(...

【专利技术属性】
技术研发人员:奈尔·撒尼尔·库马尔·迪瓦卡然阿曼·沙黒夏又瑞·戴斯
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1