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

文档序号:8207699阅读:来源:国知局
描述的执行过程的流程图。在一个示例中,在本发明中的这些任务按照先入先出的方式排成队列。当任务从队列中弹出时,执行过程就开始了。若队列为空,过程结束,进入系统启动后的过程。若队列不为空,系统将弹出的任务标记为已获取或正在执行。处理器执行任务,当任务执行完成后,将该任务标记为已完成或已执行。
[0182]这就是本发明中的执行过程的工作方式。
[0183]现参考图13,其示出了本发明实施例中(PCT/CN2013/072764)(现有技术)的处理过程与本发明的处理过程之间的对比。
[0184]虽然已经以具体到结构特征和/或方法的语言对响应启动命令的用于启动具有至少一个中央处理器(CPU)的计算机系统的实现方式进行了描述,但可以理解的是,所附权利要求并不一定局限于所描述的具体特征或方法。更确切地说,这些具体特征和方法被作为响应启动命令的用于启动具有至少一个中央处理器(CPU)的计算机系统的实现方式的实例公开。
[0185]上述讨论的示例性实施例提供了某些优点。虽然不需要实施本发明的各个方面,这些优点可包括:
[0186]1.离线调度使系统避免了从TDC查找依赖关系和优先级的开销,从而提供了更好的性能。
[0187]2.与之前的方案相比,对于ITC和DTC I中的任务,获得下一个记录的速度更快,因为其只是一个从队列中弹出的操作。不需要遍历TDC,也不需要检查优先级和依赖关系,从而减少了相应的开销。
[0188]3.与之前的方案相比,对于ITC和DTC I中的任务,在任务执行前后,不需要锁定/解锁TDC。此外,无需等待锁定的TDC。
[0189]4.与之前的方案相比,对于DTC 2中的任务,无需检查优先级。
[0190]5.内存管理可利用调度信息分阶段初始化所需内存。
[0191]6.进一步地,离线调度方法可应用于嵌入式或预定义的任务组的设备。
[0192]7.此提出的解决方案可用于减少具有多个内核或多个处理器且启动过程中有多个任务的任何系统的启动时间。
[0193]最后应理解的是:以上实施例仅用以解释,而非对本发明技术方案进行限制。尽管参照前述优选实施例对本发明进行了详细的说明,应理解的是,在本发明的保护范围内,本领域技术人员依然可以对前述各实施例所记载的技术方案进行修改或者等同替换,而这些修改或者替换涵盖在本发明权利要求之中。进一步地,ITC和DTC的概念可以基于目标系统进行延伸。在一个示例中,基于整体的启动任务组,设计者可以依据内核亲和性(若有的话)决定ITC和DTC的组合,优化启动调度。
【主权项】
1.一种用于启动具有多个中央处理器(CPUs)604的计算机系统602的计算机执行方法,所述计算机执行方法由多个CPU的多个初始化CPU执行时,响应启动命令,所述计算机执行方法包括以下步骤: 访问存储在计算机系统的任务描述图表(TDC) 610,其中,所述TDC 610包括启动过程的多个任务的地址信息和启动过程的多个任务的选择信息;对所述访问的TDC 610进行分类,以生成包括独立于任何其他任务的一组任务的独立任务图表(ITC),以及 包括对任何其他任务有至少一种依赖关系的一组任务的依赖任务图表(DTC);其中 所述DTC进一步分为依赖任务图表I (DTC I)和依赖任务图表2 (DTC 2),其中所述DTCI包括来自DTC的对从ITC的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务,所述DTC 2包括来自DTC的对从DTC I的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务; 基于所述选择信息从ITC中选择所述至少一个任务并执行所选择的至少一个任务;检查来自ITC的至少一个未执行的任务,从而基于所述选择信息从DTCl中选择所述至少一个任务并执行所选择的至少一个任务;检查来自DTC I的至少一个未执行的任务,从而基于所述选择信息从DTC 2中选择所述至少一个任务,并基于所述对从DTC I的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务的至少一种依赖关系执行所选择的至少一个任务;检查来自DTC 2的至少一个未执行的任务。
2.根据权利要求1所述的计算机执行方法,其特征在于,TDC610—次只能被所述多个中央处理器(CPUs) 604中的一个CPU访问。
3.根据权利要求1所述的计算机执行方法,其特征在于,所述选择信息包括表示所述多个任务的优先级的优先级字段; 所述至少一个任务是所述多个中央处理器(CPUs)604基于所述选择信息所选择出的,其中所述选择信息按优先级的升序排列。
4.根据权利要求1所述的计算机执行方法,其特征在于,所述选择信息包括依赖字段、锁定字段或状态字段。
5.根据权利要求1所述的计算机执行方法,其特征在于,TDC610是基于所述多个任务的依赖关系被分类。
6.根据权利要求1所述的计算机执行方法,其特征在于,所述ITC是按独立于任何其他任务的一组任务的优先级的升序进行排列和执行。
7.根据权利要求1所述的计算机执行方法,其特征在于,所述DTC是按所述一组任务的优先级的升序和所述对任何其他任务的至少一种依赖关系进行排列。
8.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从ITC的一组任务中选择的至少一个任务。
9.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从DTCI的一组任务中选择的至少一个任务。
10.根据权利要求7所述的计算机执行方法,其特征在于,所述任何其他任务是从DTC2的一组任务中选择的至少一个任务。
11.根据权利要求1所述的计算机执行方法,其特征在于,首先执行来自ITC的一组任务。
12.根据权利要求1所述的计算机执行方法,其特征在于,来自DTCI的一组任务在来自ITC的一组任务执行后执行。
13.根据权利要求1所述的计算机执行方法,其特征在于,来自DTC2的一组任务在来自ITC的一组任务和来自DTC I的一组任务都执行后执行。
14.根据权利要求1所述的计算机执行方法,其特征在于,来自DTC2的一组任务是基于所述DTC 2中的一组任务的依赖关系被执行。
15.根据权利要求1所述的计算机执行方法,其特征在于,所述启动过程的多个任务排列成队。
16.根据权利要求1所述的计算机执行方法,其特征在于,维护一个状态位寄存器612,其保存各个任务的完成状态,所述状态位寄存器612用于检查所述至少一个未执行的任务;所述状态位寄存器612存储在存储器内。
17.一种用于优化具有多个中央处理器(CPUs)604的计算机系统602的启动时间的计算机系统602,所述计算机系统602由多个CPU 604的多个初始化CPU执行时,响应启动命令,所述计算系统602包括: 与所述多个中央处理器(CPUs)604耦合的存储器608,用于执行存储器608中的多个指令,所述指令的执行会使所述多个中央处理器(CPUs)604访问存储在所述计算机系统602中的任务描述图表(TDC)610 ;所述TDC 610包括启动过程的多个任务的地址信息和启动过程的多个任务的选择信息;对所述访问的TDC 610进行分类; 生成包括独立于任何其他任务的一组任务的独立任务图表(ITC),以及包括对任何其他任务有至少一种依赖关系的一组任务的依赖任务图表(DTC);其中所述DTC进一步分为依赖任务图表I (DTC I)和依赖任务图表2 (DTC 2),其中所述DTC I包括来自DTC的对从ITC的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务,所述DTC 2包括来自DTC的对从DTC I的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务有至少一种依赖关系的一组任务;基于所述选择信息从ITC中选择所述至少一个任务并执行所选择的至少一个任务;检查来自ITC的至少一个未执行的任务,从而基于所述选择信息从DTC I中选择所述至少一个任务并执行所选择的至少一个任务;检查来自DTC I的至少一个未执行的任务,从而基于所述选择信息从DTC 2中选择所述至少一个任务,并基于所述对从DTC I的一组任务中选择的至少一个任务或从DTC 2的一组任务中选择的至少一个任务的至少一种依赖关系执行所选择的至少一个任务;检查来自DTC 2的至少一个未执行的任务。
18.根据权利要求17所述的计算机系统602,其特征在于,TDC610 一次只能被所述多个中央处理器(CPUs)604中的一个CPU访问。
19.根据权利要求17所述的计算机系统602,其特征在于,所述选择信息包括表示所述多个任务的优先级的优先级字段;所述至少一个任务是所述多个中央处理器(CPUs)604基于所述选择信息选择出的,其中所述选择信息按优先级的升序排列。
20.根据权利要求17所述的计算机系统602,其特征在于,所述选择信息包括依赖字段、锁定字段或状态字段。
21.根据权利要求17所述的计算机系统602,其特征在于,TDC610是基于所述多个任务的依赖关系被分类。
22.根据权利要求17所述的计算机系统602,其特征在于,所述ITC是按独立于任何其他任务的一组任务的优先级的升序进行排列和执行。
23.根据权利要求17所述的计算机系统602,其特征在于,所述DTC是按所述一组任务的优先级的升序和所述对任何其他任务的至少一种依赖关系进行排列。
24.根据权利要求23所述的计算机系统602,其特征在于,所述任何其他任务是从ITC的一组任务中选择的至少一个任务。
25.根据权利要求23所述的计算机系统602,其特征在于,所述任何其他任务是从DTCI的一组任务中选择的至少一个任务。
26.根据权利要求23所述的计算机系统602,其特征在于,所述任何其他任务是从DTC2的一组任务中选择的至少一个任务。
27.根据权利要求17所述的计算机系统602,其特征在于,首先执行来自ITC的一组任务。
28.根据权利要求17所述的计算机系统602,其特征在于,来自DTCI的一组任务在所述来自ITC的一组任务执行后执行。
29.根据权利要求17所述的计算机系统602,其特征在于,来自DTC2的一组任务在来自ITC的一组任务和来自DTC I的一组任务都执行后执行。
30.根据权利要求17所述的计算机系统602,其特征在于,来自DTC2的一组任务是基于所述DTC 2中的一组任务的依赖关系被执行。
31.根据权利要求17所述的计算机系统602,其特征在于,所述启动过程的多个任务排列成队。
32.根据权利要求17所述的计算机系统602,其特征在于,还包括一个状态位寄存器.612,其保存各个任务的完成状态,并用于检查所述至少一个未执行的任务;所述状态位寄存器612存储在存储器608内。
【专利摘要】本发明公开了一种响应启动命令的用于优化具有至少一个CPU的计算机系统的启动时间的方法和系统。所述系统包括存储器和处理器。所述处理器执行存储在存储器内的一组指令,从而访问包括与所述系统的启动相关的一组基本任务的任务描述图表(TDC)。离线处理TDC,以创建两组调度图表,即独立任务图表(ITC)和依赖任务图表(DTC)。ITC包括所有独立任务;DTC包括所有依赖任务。DTC进一步分为DTC 1和DTC 2。所有图表中的任务都是基于优先级选择并执行的。通过优化调度过程,所述方法和系统解决了启动过程中系统的调度开销问题。
【IPC分类】G06F12-02, G06F9-445
【公开号】CN104520811
【申请号】CN201480001545
【发明人】奈尔·撒尼尔·库马尔·迪瓦卡然, 阿曼·沙黒, 夏又瑞·戴斯
【申请人】华为技术有限公司
【公开日】2015年4月15日
【申请日】2014年10月29日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1