一种任务调度方法、装置、设备及存储介质制造方法及图纸

技术编号:34712734 阅读:20 留言:0更新日期:2022-08-31 17:53
本申请公开一种任务调度方法、装置、设备及存储介质,在执行任务调度时,从目标逻辑核的任务队列中获取待调度至目标逻辑核上运行的第一任务。检查目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,若第二任务的任务类型与第一任务的任务类型不同,根据第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,以便根据优先级关系执行第一任务的任务调度,使得第一任务和第二任务中高优先级的任务在对应的逻辑核上运行。该方法可以避免两个超线程上同时运行不同优先级的任务而导致低优先级任务(例如离线任务)对高优先级任务(例如在线任务)造成严重干扰,即避免超线程干扰,保证高优先级任务的性能。先级任务的性能。先级任务的性能。

【技术实现步骤摘要】
一种任务调度方法、装置、设备及存储介质


[0001]本申请涉及云计算领域,特别是涉及一种任务调度方法、装置、设备及存储介质。

技术介绍

[0002]在数据中心,为了提高物理机的资源利用率,达到节省成本的目的,经常将执行不同任务类型(例如在线任务和离线任务)的虚拟机同时部署在同一台物理机上,即混合部署。在线任务对延迟比较敏感,而离线任务则对延迟不敏感。
[0003]在混合部署场景中,现代中央处理器(central processing unit,CPU)架构为提升整体硬件能力,设计了超线程架构(Hyper

thread,HT),即CPU的一个物理核(core)上可以有两个超线程,这两个超线程可以视为两个逻辑核,两者互为兄弟逻辑核,每个逻辑核可以被当做一个独立的逻辑CPU。其中,一个超线程(逻辑核)运行在线任务的同时,另一个超线程(逻辑核)运行离线任务。
[0004]在任务调度时,由于两个超线程之间共享很多硬件资源(如Cache),且离线任务通常是CPU消耗型任务,则会对在线任务带来严重干扰,干扰在线任务的性能。

技术实现思路

[0005]为了解决上述技术问题,本申请提供了一种任务调度方法,可以在任务调度过程中保证低优先级任务避让高优先级任务,避免两个超线程上同时运行不同优先级的任务而导致低优先级任务(例如离线任务)对高优先级任务(例如在线任务)造成严重干扰,即避免超线程干扰,保证高优先级任务的性能。
[0006]本申请实施例公开了如下技术方案:
[0007]第一方面,本申请实施例提供一种任务调度方法,所述方法包括:
[0008]从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务,所述任务队列中包括至少一个任务;
[0009]检查所述目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,所述目标逻辑核和所述目标逻辑核的兄弟逻辑核构成超线程对;
[0010]若所述第二任务的任务类型与所述第一任务的任务类型不同,根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系;
[0011]根据所述优先级关系执行所述第一任务的任务调度,使得所述第一任务和所述第二任务中高优先级的任务在对应的逻辑核上运行。
[0012]第二方面,本申请实施例提供一种任务调度装置,所述装置包括获取单元、检查单元、确定单元和调度单元:
[0013]所述获取单元,用于从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务,所述任务队列中包括至少一个任务;
[0014]所述检查单元,用于检查所述目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,所述目标逻辑核和所述目标逻辑核的兄弟逻辑核构成超线程对;
[0015]所述确定单元,用于若所述第二任务的任务类型与所述第一任务的任务类型不同,根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系;
[0016]所述调度单元,用于根据所述优先级关系执行所述第一任务的任务调度,使得所述第一任务和所述第二任务中高优先级的任务在对应的逻辑核上运行。
[0017]第三方面,本申请实施例提供一种用于任务调度的电子设备,所述电子设备包括处理器以及存储器:
[0018]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0019]所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
[0020]第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的方法。
[0021]由上述技术方案可以看出,调度器可以一个逻辑核例如目标逻辑核的任务队列中调度任务进行运行,任务队列中包括至少一个任务,在执行任务调度时,从目标逻辑核的任务队列中获取待调度至目标逻辑核上运行的第一任务。在混合部署场景中,为了避免构成超线程对的目标逻辑核和目标逻辑核上同时运行优先级不同的不同任务类型的任务,导致超线程干扰,即低优先级的任务会干扰高优先级的任务的性能,为此,可以检查目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,若第二任务的任务类型与第一任务的任务类型不同,根据第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,以便根据优先级关系执行第一任务的任务调度,使得第一任务和第二任务中高优先级的任务在对应的逻辑核上运行。该方法在两个超线程之间共享硬件资源的情况下,可以在任务调度过程中保证低优先级任务避让高优先级任务,避免两个超线程上同时运行不同优先级的任务而导致低优先级任务(例如离线任务)对高优先级任务(例如在线任务)造成严重干扰,即避免超线程干扰,保证高优先级任务的性能。
附图说明
[0022]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1为相关技术提供的一种超线程架构示意图;
[0024]图2为本申请实施例提供的一种任务调度方法的系统架构示例图;
[0025]图3为本申请实施例提供的一种服务器的架构示意图;
[0026]图4为本申请实施例提供的一种任务调度方法的流程图;
[0027]图5为本申请实施例提供的一种任务调度框架的示例图;
[0028]图6为本申请实施例提供的基于超线程干扰隔离开关模块执行任务调度的流程图;
[0029]图7为本申请实施例提供的一种离线任务调度的示例图;
[0030]图8为本申请实施例提供的一种在线任务调度的示例图;
[0031]图9为本申请实施例提供的一种负载均衡的示例图;
[0032]图10为本申请实施例提供的一种任务调度方法的流程图;
[0033]图11为本申请实施例提供的一种任务调度装置的结构图;
[0034]图12为本申请实施例提供的一种终端设备的结构图;
[0035]图13为本申请实施例提供的一种服务器的结构图。
具体实施方式
[0036]下面结合附图,对本申请的实施例进行描述。
[0037]在混合部署场景中,CPU架构为提升整体硬件能力,设计了超线程架构,参见图1所示,CPU的一个物理核(core)上可以有两个超线程,分别是超线程1和超线程2,这两个超线程可以视为两个逻辑核,两者互为兄弟逻辑核,每个逻辑核可以被当做一个独立的逻辑CPU。其中,一个超线程例如超线程1运行在线任务的同时,另一个超线程例如超线程2运行离线任务。
[0038]在逻辑核进行任务调度过程中,对于同一逻辑核上的在线任务和离线任务来说,在线任务具有高优先级,离线任务具有低优先级,从而通过优先级控制,避免离线任务对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述方法包括:从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务,所述任务队列中包括至少一个任务;检查所述目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,所述目标逻辑核和所述目标逻辑核的兄弟逻辑核构成超线程对;若所述第二任务的任务类型与所述第一任务的任务类型不同,根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系;根据所述优先级关系执行所述第一任务的任务调度,使得所述第一任务和所述第二任务中高优先级的任务在对应的逻辑核上运行。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,包括:若所述第一任务的任务类型为离线任务,所述第二任务的任务类型为在线任务,确定所述优先级关系为所述第二任务的优先级高于所述第一任务的优先级;所述根据所述优先级关系执行所述第一任务的任务调度,包括:放弃调度所述第一任务至所述目标逻辑核上,保持所述第二任务在所述兄弟逻辑核上运行。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,包括:若所述第一任务的任务类型为在线任务,所述第二任务的任务类型为离线任务,确定所述优先级关系为所述第一任务的优先级高于所述第二任务的优先级;所述根据所述优先级关系执行所述第一任务的任务调度,包括:通知所述兄弟逻辑核将所述第二任务挂起;调度所述第一任务至所述目标逻辑核上运行。4.根据权利要求1

3任一项所述的方法,其特征在于,在所述检查所述目标逻辑核的兄弟逻辑核上正在运行的第二任务的任务类型之前,所述方法还包括:确定超线程干扰隔离开关模块的状态信息;若所述状态信息表示开启超线程干扰隔离功能,在所述从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务之后,执行所述检查所述目标逻辑核的兄弟逻辑核上正在运行的第二任务的任务类型的步骤。5.根据权利要求1所述的方法,其特征在于,所述目标逻辑核为多个逻辑核中的一个,所述目标逻辑核的任务队列中的任务是通过负载均衡方式分配的。6.根据权利要求5所述的方法,其特征在于,所述负载均衡方式包括:针对所述多个逻辑核中的每个逻辑核,根据所述逻辑核的离线任务负载和对应的兄弟逻辑核的在线任务负载,计算每个逻辑核的目标任务负载;根据所述目标任务负载进行负载均衡。7.根据权利要求6所述的方法,其特征在于,若所述任务队列中的目标任务为离线任务,所述根据所述目标任务负载进行负载均衡,包括:根据所述目标任务负载确定负载最重的逻辑核;若所述负载最重的逻辑核的目标任务负载和所述目标逻辑核的目标任务负载之间的
差值大于预设阈值,从所述负载最重的逻辑核上选取所述目标任务迁移到所述目标逻辑核的任务...

【专利技术属性】
技术研发人员:蒋彪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1