[发明专利]任务调度方法和装置、存储介质以及计算设备有效
申请号: | 201711099264.7 | 申请日: | 2017-11-09 |
公开(公告)号: | CN109766168B | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 朱延海;陈善佩 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F9/54 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 装置 存储 介质 以及 计算 设备 | ||
本发明公开了一种任务调度方法和装置、存储介质及计算设备,适于拥有两个逻辑核的物理核。分别为每个逻辑核维护任务队列。当需要为第一逻辑核分配任务的时候,判断第二逻辑核上正在运行的任务是否对延迟极度敏感的在线任务。如果是,则将第一逻辑核的任务队列中的离线任务删除。另一方面,在第一逻辑核即将或开始执行对延迟极度敏感的在线任务时,判断第二逻辑核是否正在执行离线任务。如果是,则中断第二逻辑核当前正在执行的离线任务,并对其重新进行任务调度。由此能够在避免显著降低资源利用率的情况下有效消除离线任务造成的超线程干扰。
技术领域
本公开涉及任务调度技术领域,特别涉及消除超线程干扰的任务调度技术领域。
背景技术
在传统数据中心中,在线应用(在线任务)一般单独部署在一批物理机上。为了应对业务高峰期的突发流量(如“双十一”之类的促销),一般物理机都会预留出足够的硬件资源。
而从另外一个层面来看,在业务低谷期,将会导致大量物理机资源的浪费。
为了减少这种浪费,可以在业务低谷期调度一些离线任务在这些物理机上运行。这样可以提高物理机的资源利用率,达到节省成本的目的。
这样,在同一台物理机上,有可能同时部署在线应用(在线任务)和离线应用(离线任务)。在线应用对延迟比较敏感,而离线应用则对延迟不敏感。
在离线应用和在线应用混合部署的环境中,首先需要保证的是在线任务的服务质量(QoS),其次才是提高机器资源利用率。然而,离线应用会对在线应用造成干扰,降低在线任务的性能。
离线任务干扰是多个维度的,如CPU(中央处理单元),LLC(逻辑链路控制),内存带宽,网络,存储等。
从CPU层面上来看,离线应用会对在线应用的干扰可以细分为两类:
(1)在同一个CPU上,离线任务抢占CPU资源,导致在线任务得不到及时调度,出现调度延迟,进而影响在线任务的性能;
(2)在同一个核上,同时运行在线任务和离线任务,由于两个超线程(HT,HyperThread)之间共享很多硬件资源,超线程干扰会降低在线应用的性能。
本公开则主要涉及上述第二类CPU干扰问题。
在此,为了描述方便,将离线任务表示为“batch”,将在线任务表示为“LS(latencySensitive)”,而将其中对延迟极度敏感的在线任务表示为“L*”。
对于L*任务,从CPU层面,需要最大力度地降低干扰,以保证QoS。
针对上述第二类干扰,目前主要有三类解决方案,然而它们各自都存在缺陷。下面分别进行简要描述。
第一类解决方案,关闭超线程功能,从根本上避免了超线程干扰。
然而,超线程设计的目的是为了充分利用核内闲置的硬件资源,从整体上提升机器的性能。关闭超线程功能,虽然能够从根本避免了超线程干扰,但是导致机器资源利用率下降,完全不能实现“混合部署”的一个重要目的:提高资源利用率。
第二类解决方案,通过cpuset机制,以核为最小粒度,将LS任务和batch任务隔离开来。这样,batch任务与LS任务将不会出现在同一个核中,从而消除了batch任务导致的超线程干扰。
大部分情况下,不是所有的核都在运行L*任务,因此可以将batch任务调度到那些没有运行L*任务的核上去。
相对第一类解决方案,该方案较为缓和一些,既可以消除batch任务导致的超线程干扰,又可以在一定程度上提高机器资源利用率。
然而,在分配了L*任务的核上,由于cpuset的限制,即使L*任务当前并不处于运行状态,也不允许执行batch任务。这样,还是会在一定程度上造成CPU资源的浪费。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711099264.7/2.html,转载请声明来源钻瓜专利网。