【技术实现步骤摘要】
任务调度方法及调度装置
本申请涉及计算机
,尤其涉及一种任务调度方法及调度装置。
技术介绍
随着计算机技术的不断发展,超线程(Hyper-Threading,缩写:HT)技术得到广泛应用,使得能够提升中央处理器(CentralProcessingUnit,缩写:CPU)的处理性能。该HT技术是利用特殊的硬件指令,把一个物理CPU模拟成多个逻辑CPU即超线程,该多个超线程运行于该物理CPU上,并可使用该物理CPU的资源去执行多个任务。从而在一个超线程上可以并行执行多个任务,使得在一个物理CPU上能够同时执行更多的任务,这就减少了CPU的闲置时间,提升了CPU效率。然而,多个超线程之间可能会共用CPU中的部分资源,比如共用某一cache资源和某一运算逻辑单元等等,当该多个超线程上的多个任务需要使用该cache资源或运算逻辑单元时,同一时间只能有一个任务可以使用该资源。也就是说,当两个及以上任务都同时需要某一个资源时,只有一个任务能够使用,其余的任务要让出资源,等待至该资源闲置后才能继续运行。此外,目前存在的各种各样的调度策略,用于管理任务在CPU上的运行,比如全局任务调度(GlobalTaskScheduler,缩写:GTS)策略、完全公平调度(CompletelyFairScheduler,缩写:CFS)策略、节能调度(EnergyAwareScheduler,缩写:EAS)策略等等。这些调度策略在进行任务调度时,都是独立的以物理CPU或者超线程的负载情况来进行调度的,比如将任务部署到负载小的CPU或超线程上。如果部署到使用相同资源的超线程上的任务很多 ...
【技术保护点】
1.一种任务调度方法,所述方法应用于物理机,所述物理机的处理电路中包括第一处理器核,其特征在于,所述第一处理器核中运行有多个超线程,所述多个超线程共用所述第一处理器核的多种资源,所述方法包括:根据所述多个超线程使用的资源的标识对所述多个超线程进行分组,以得到至少一个超线程组,其中,所述至少一个超线程组中,超线程组内的超线程所使用的资源的标识相同;根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,所述运行状态参数包括负载、利用率、竞争资源的类型和资源密集指数中的一项或多项,其中,一个超线程组的负载对应于该超线程组中运行的所有任务,所述利用率用于表示一超线程组使用分配给该超线程组的所述第一处理器核的资源的程度,所述竞争资源的类型用于表示一超线程组的超线程之间竞争的资源的类型,所述资源密集指数用于表示一超线程组的超线程之间竞争某一资源的程度。
【技术特征摘要】
1.一种任务调度方法,所述方法应用于物理机,所述物理机的处理电路中包括第一处理器核,其特征在于,所述第一处理器核中运行有多个超线程,所述多个超线程共用所述第一处理器核的多种资源,所述方法包括:根据所述多个超线程使用的资源的标识对所述多个超线程进行分组,以得到至少一个超线程组,其中,所述至少一个超线程组中,超线程组内的超线程所使用的资源的标识相同;根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,所述运行状态参数包括负载、利用率、竞争资源的类型和资源密集指数中的一项或多项,其中,一个超线程组的负载对应于该超线程组中运行的所有任务,所述利用率用于表示一超线程组使用分配给该超线程组的所述第一处理器核的资源的程度,所述竞争资源的类型用于表示一超线程组的超线程之间竞争的资源的类型,所述资源密集指数用于表示一超线程组的超线程之间竞争某一资源的程度。2.根据权利要求1所述的方法,其特征在于,所述物理机的处理电路中还包括第二处理器核;所述根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,包括:在第一待迁移任务为输入输出IO密集型任务,且所述至少一个超线程组中第一超线程组的竞争资源的类型为中央处理器CPU的处理资源的情况下,将第一待迁移任务迁移到所述第一超线程组中的超线程上;在所述第一待迁移任务为CPU密集型任务,且所述至少一个超线程组中的第二超线程组的竞争资源的类型为IO的处理资源的情况下,将所述第一待迁移任务迁移到所述第二超线程组中的超线程上;其中,所述第一待迁移任务为运行于所述第二处理器核中的待迁移的任务。3.根据权利要求2所述的方法,其特征在于,所述第一超线程组为所述至少一个超线程组中负载低于预设的第一阈值的超线程组,所述第二超线程组为所述至少一个超线程组中负载低于所述第一阈值的超线程组。4.根据权利要求2所述的方法,其特征在于,所述第一超线程组为所述至少一个超线程组中利用率低于预设的第二阈值的超线程组,所述第二超线程组为所述至少一个超线程组中利用率低于所述第二阈值的超线程组。5.根据权利要求1所述的方法,其特征在于,所述物理机的处理电路中还包括第二处理器核;所述根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,包括:在所述至少一个超线程组中存在空闲的超线程且所述空闲的超线程所在的超线程组的利用率高于预设的第三阈值的情况下,禁止将第一待迁移任务迁移到所述第一处理器核,所述空闲的超线程为未运行任务的超线程,以及,所述第一待迁移任务为运行于所述第二处理器核中的待迁移的任务。6.根据权利要求1所述的方法,其特征在于,所述物理机的处理电路中还包括第二处理器核;所述根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,包括:在所述至少一个超线程组中存在资源密集指数高于预设的第四阈值,且负载大于预设的第五阈值的第三超线程组的情况下,将第二待迁移任务迁移到所述第二处理器核,所述第二待迁移任务为运行于所述第一处理器核的待迁移的任务,且所述第二待迁移任务为运行于所述第三超线程组的任务中所述资源密集指数最高的任务。7.根据权利要求1所述的方法,其特征在于,所述物理机的处理电路中还包括第二处理器核;所述根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,包括:在所述至少一个超线程组中不存在资源密集指数高于预设的第四阈值的超线程组,或者不存在负载大于预设的第五阈值的超线程组的情况下,将第二待迁移任务迁移到所述第二处理器核,所述第二待迁移任务为运行于所述第一处理器核的待迁移的任务,且所述第二待迁移任务为所述至少一个超线程组中负载最大的任务。8.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个超线程组中一个或者多个超线程组的运行状态参数,变更所述多个超线程中,至少一个超线程上运行的任务,包括:在第四超线程组中运行有与所述新任务属于同一进程的任务的情况下,将新任务部署到所述第四超线程组中的超线程上,所述第四超线程组为所述至少一个超线程组中利用率低于预设的第六阈值的超线程组。9.根据权利要求8所述的方法,其特征在于,所述至少一个超线程组中包括多个所述第四超线程组,所述将新任务部署到所述第四超线程组中的超线程上,包括:将所述新任务部署到多个所述第四超线程组中,负载最小的超线程组中的超线程上。10.一种调度装置...
【专利技术属性】
技术研发人员:耿东久,陈善席,柴先平,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。