【技术实现步骤摘要】
一种任务调度方法、装置、设备及存储介质
[0001]本申请涉及云计算领域,特别是涉及一种任务调度方法、装置、设备及存储介质。
技术介绍
[0002]在数据中心,为了提高物理机的资源利用率,达到节省成本的目的,经常将执行不同任务类型(例如在线任务和离线任务)的虚拟机同时部署在同一台物理机上,即混合部署。在线任务对延迟比较敏感,而离线任务则对延迟不敏感。
[0003]在混合部署场景中,现代中央处理器(central processing unit,CPU)架构为提升整体硬件能力,设计了超线程架构(Hyper
‑
thread,HT),即CPU的一个物理核(core)上可以有两个超线程,这两个超线程可以视为两个逻辑核,两者互为兄弟逻辑核,每个逻辑核可以被当做一个独立的逻辑CPU。其中,一个超线程(逻辑核)运行在线任务的同时,另一个超线程(逻辑核)运行离线任务。
[0004]在任务调度时,由于两个超线程之间共享很多硬件资源(如Cache),且离线任务通常是CPU消耗型任务,则会对在线任务带来严重干扰,干扰在线任务的性能。
技术实现思路
[0005]为了解决上述技术问题,本申请提供了一种任务调度方法,可以在任务调度过程中保证低优先级任务避让高优先级任务,避免两个超线程上同时运行不同优先级的任务而导致低优先级任务(例如离线任务)对高优先级任务(例如在线任务)造成严重干扰,即避免超线程干扰,保证高优先级任务的性能。
[0006]本申请实施例公开了如下技术方案:
[00 ...
【技术保护点】
【技术特征摘要】
1.一种任务调度方法,其特征在于,所述方法包括:从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务,所述任务队列中包括至少一个任务;检查所述目标逻辑核对应的兄弟逻辑核上正在运行的第二任务的任务类型,所述目标逻辑核和所述目标逻辑核的兄弟逻辑核构成超线程对;若所述第二任务的任务类型与所述第一任务的任务类型不同,根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系;根据所述优先级关系执行所述第一任务的任务调度,使得所述第一任务和所述第二任务中高优先级的任务在对应的逻辑核上运行。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,包括:若所述第一任务的任务类型为离线任务,所述第二任务的任务类型为在线任务,确定所述优先级关系为所述第二任务的优先级高于所述第一任务的优先级;所述根据所述优先级关系执行所述第一任务的任务调度,包括:放弃调度所述第一任务至所述目标逻辑核上,保持所述第二任务在所述兄弟逻辑核上运行。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一任务的任务类型和第二任务的任务类型,确定第一任务和第二任务之间的优先级关系,包括:若所述第一任务的任务类型为在线任务,所述第二任务的任务类型为离线任务,确定所述优先级关系为所述第一任务的优先级高于所述第二任务的优先级;所述根据所述优先级关系执行所述第一任务的任务调度,包括:通知所述兄弟逻辑核将所述第二任务挂起;调度所述第一任务至所述目标逻辑核上运行。4.根据权利要求1
‑
3任一项所述的方法,其特征在于,在所述检查所述目标逻辑核的兄弟逻辑核上正在运行的第二任务的任务类型之前,所述方法还包括:确定超线程干扰隔离开关模块的状态信息;若所述状态信息表示开启超线程干扰隔离功能,在所述从目标逻辑核的任务队列中获取待调度至所述目标逻辑核上运行的第一任务之后,执行所述检查所述目标逻辑核的兄弟逻辑核上正在运行的第二任务的任务类型的步骤。5.根据权利要求1所述的方法,其特征在于,所述目标逻辑核为多个逻辑核中的一个,所述目标逻辑核的任务队列中的任务是通过负载均衡方式分配的。6.根据权利要求5所述的方法,其特征在于,所述负载均衡方式包括:针对所述多个逻辑核中的每个逻辑核,根据所述逻辑核的离线任务负载和对应的兄弟逻辑核的在线任务负载,计算每个逻辑核的目标任务负载;根据所述目标任务负载进行负载均衡。7.根据权利要求6所述的方法,其特征在于,若所述任务队列中的目标任务为离线任务,所述根据所述目标任务负载进行负载均衡,包括:根据所述目标任务负载确定负载最重的逻辑核;若所述负载最重的逻辑核的目标任务负载和所述目标逻辑核的目标任务负载之间的
差值大于预设阈值,从所述负载最重的逻辑核上选取所述目标任务迁移到所述目标逻辑核的任务...
【专利技术属性】
技术研发人员:蒋彪,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。