负载均衡方法和装置、存储介质、计算设备及计算系统制造方法及图纸

技术编号:21140600 阅读:17 留言:0更新日期:2019-05-18 05:01
公开了一种负载均衡方法和装置、存储介质、计算设备及计算系统。一方面,当离线任务被唤醒,基于逻辑核的负载状态及其兄弟逻辑核上对延迟极度敏感的在线任务的运行情况,分别确定离线任务在各个逻辑核上运行的预估概率;将离线任务分配给预估概率最高的逻辑核。另一方面,当逻辑核上即将运行对延迟极度敏感的在线任务,将其兄弟逻辑核的任务队列中的离线任务节流,放入暂缓列表;响应于存在空闲逻辑核,执行第一级空闲均衡处理;当第一级空闲均衡处理失败,从各个暂缓列表中选择待执行离线任务迁移到空闲逻辑核。由此,提高了计算系统的资源利用率而又不破坏NCS设计原则,即兄弟逻辑核上不能同时分别运行离线任务和对延迟极度敏感的在线任务。

【技术实现步骤摘要】
负载均衡方法和装置、存储介质、计算设备及计算系统
本公开涉及任务调度
,特别涉及任务调度过程中的负载均衡

技术介绍
目前,在数据中心,为了提高物理机的资源利用率,达到节省成本的目的,经常在同一台物理机上同时部署在线应用(在线任务)和离线应用(离线任务)。在线应用对延迟比较敏感,而离线应用则对延迟不敏感。另一方面,在离线应用和在线应用混合部署的环境中,首先需要保证的是在线任务的服务质量(QoS),其次才是提高机器资源利用率。然而,离线应用会对在线应用造成干扰,降低在线任务的性能。从CPU层面上来看,一个物理核上可以有两个超线程(HT,HyperThread),可以视为两个逻辑核,两者互为兄弟。对于CPU调度器来说,每个逻辑核可以被当做一个独立的CPU。下文中将逻辑核也简称为HT。如果一个超线程(逻辑核)运行在线任务的同时,另一个超线程(逻辑核)运行离线任务,那么由于两个超线程之间共享很多硬件资源,超线程干扰会降低在线应用的性能。在此,为了描述方便,将离线任务表示为“batch”,将在线任务表示为“LS(latencySensitive)”,而将其中对延迟极度敏感的在线任务表示为“L*”。对于L*任务,从CPU层面,需要最大力度地降低干扰,以保证QoS。因此,就需要解决上面提到的超线程干扰。为解决batch任务对L*任务的超线程干扰,在与本专利申请同日递交的专利技术专利申请“任务调度方法和装置、存储介质以及计算设备”中,提出了NCS(超线程干扰消除调度器,NoiseCleanScheduler)调度方案,以确保当一个逻辑核上正在或将要运行L*任务时,同一个物理核上另一个逻辑核不会执行batch任务。具体说来,另一个逻辑核正在执行的batch任务将被打断,而其任务队列中的batch任务将被从任务队列中取出(换言之,batch任务被节流(throttle)或暂缓),放入暂缓列表中。为便于理解本专利技术的技术方案,在后文中,将对NCS调度方案加以详细描述。而在任务调度过程中,除了要考虑避免上述超线程干扰,还要考虑负载均衡。一般在三种时机(三种机制)进行负载均衡:任务唤醒时的负载均衡、CPU空闲时的负载均衡、以及周期性的负载均衡。一些任务调度方案中基于静态权重或动态权重做负载均衡。另外,还有一种基于完全公平调度器(CFS调度器,CompleteFairScheduler)设计的双层CFS调度器(TLCFS,TwoLevelCFS)。这两层分别叫做CFS和CFS_PRIO。每层都有独立的运行队列,都独立执行CFS的调度策略。但CFS层的优先级高于CFS_PRIO。在混合部署环境中,任务可以被分为在线任务(LatencySensitive,LS)和离线任务(Batch)。LS任务只能出现在CFS层,而离线任务只能出现在CFS_PRIO层。然而,TLCFS方案主要用于隔离在线任务和离线任务,降低离线任务对在线任务的干扰,但并不能消除或降低超线程干扰。也不能适用于上述NCS调度方案。根据NCS调度方案,由于batch任务被节流后,从运行队列中取出,放在暂缓列表中,导致调度器的三种负载均衡机制都不能处理被取出的batch任务。因此,即使别的核完全处于空闲状态,被取出的batch任务也得不到调度,这造成了CPU资源浪费。因此,仍然需要一种负载均衡方案,其能够使batch任务能够充分利用空闲的CPU资源,而又不破坏NCS设计原则:L*任务和Batch任务不能同时运行在互为兄弟的CPU上(即同一个物理核上的逻辑核)。
技术实现思路
本专利技术所要解决的技术问题是提供一种负载均衡方案,其能够提高物理机的资源利用率而又不破坏NCS设计原则。根据本专利技术的一个方面,提供了一种负载均衡方法,该方法包括:响应于第二类任务被唤醒,基于各个逻辑核自身的负载状态及其兄弟逻辑核上第一类任务的运行情况,分别确定第二类任务在各个逻辑核上运行的预估概率,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;以及将第二类任务分配给预估概率最高的逻辑核。优选地,负载状态可以包括逻辑核的当前总负载量。并且/或者,兄弟逻辑核上第一类任务的运行情况可以包括在该兄弟逻辑核上运行第一类任务的概率。优选地,逻辑核的当前总负载量可以为逻辑核的任务队列上所有任务的权重之和。并且/或者,兄弟逻辑核上运行第一类任务的概率可以为过去一段时间间隔内该兄弟逻辑核上运行第一类任务的时间长度与时间间隔长度的比值。优选地,第二类任务在逻辑核上运行的预估概率可以与该逻辑核的当前总负载量负相关。并且/或者,第二类任务在逻辑核上运行的预估概率可以与该逻辑核的兄弟逻辑核上运行第一类任务的概率负相关。优选地,第二类任务在逻辑核上运行的预估概率可以与该逻辑核的当前总负载量成反比。并且/或者,第二类任务在逻辑核上运行的预估概率可以与该逻辑核的兄弟逻辑核上不运行第一类任务的概率成正比,其中,运行第一类任务的概率与不运行第一类任务的概率之和为1。优选地,互为兄弟逻辑核的两个逻辑核上不能同时分别运行第一类任务和第二类任务。优选地,该方法还可以包括:响应于逻辑核上即将运行第一类任务,其兄弟逻辑核的任务队列中的第二类任务被节流,即从任务队列取出,并放入对应于该兄弟逻辑核的暂缓列表中。优选地,该方法还可以包括:响应于存在空闲逻辑核,执行第一级空闲均衡处理,即从其它逻辑核的任务队列中选择待执行任务迁移到空闲逻辑核;以及响应于第一级空闲均衡处理失败,从各个逻辑核分别对应的暂缓列表中选择待执行第二类任务迁移到空闲逻辑核。优选地,选择最早被节流的第二类任务迁移到空闲逻辑核。优选地,该方法还可以包括:响应于逻辑核上的第二类任务被节流,关联地记录与该逻辑核对应的节流时间,其中,从所记录的节流时间最早的逻辑核对应的暂缓列表中选择待执行第二类任务迁移到空闲逻辑核。根据本专利技术的另一方面,还提供了一种负载均衡方法,该方法包括:响应于逻辑核上即将运行第一类任务,将其兄弟逻辑核的任务队列中的第二类任务节流,即从任务队列取出,并放入对应于该兄弟逻辑核的暂缓列表中,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;响应于存在空闲逻辑核,执行第一级空闲均衡处理,即从其它逻辑核的任务队列中选择待执行任务迁移到空闲逻辑核;以及响应于第一级空闲均衡处理失败,从各个逻辑核分别对应的暂缓列表中选择待执行第二类任务迁移到空闲逻辑核。优选地,选择最早被节流的第二类任务迁移到空闲逻辑核。优选地,该方法还可以包括:响应于逻辑核上的第二类任务被节流,关联地记录与该逻辑核对应的节流时间,其中,从所记录的节流时间最早的逻辑核对应的暂缓列表中选择待执行第二类任务迁移到空闲逻辑核。根据本专利技术的另一方面,还提供了一种负载均衡装置,该装置包括:概率预估装置,用于响应于第二类任务被唤醒,基于各个逻辑核自身的负载状态及其兄弟逻辑核上第一类任务的运行情况,分别确定第二类任务在各个逻辑核上运行的预估概率,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;以及任务分配装置,用于将第二类任务分配给预估概率最高的逻辑核。优选地,该装置还可以包括:节流装置,用于响应于逻辑核上即将运行第一类任务,将其兄弟逻辑核的任务队列中的第二类任务节流,即从任务队列取出,并放入对应于该兄弟逻辑核的暂缓列表中;本文档来自技高网
...

【技术保护点】
1.一种负载均衡方法,其特征在于,该方法包括:响应于第二类任务被唤醒,基于各个逻辑核自身的负载状态及其兄弟逻辑核上第一类任务的运行情况,分别确定所述第二类任务在各个逻辑核上运行的预估概率,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;以及将所述第二类任务分配给所述预估概率最高的逻辑核。

【技术特征摘要】
1.一种负载均衡方法,其特征在于,该方法包括:响应于第二类任务被唤醒,基于各个逻辑核自身的负载状态及其兄弟逻辑核上第一类任务的运行情况,分别确定所述第二类任务在各个逻辑核上运行的预估概率,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;以及将所述第二类任务分配给所述预估概率最高的逻辑核。2.根据权利要求1所述的负载均衡方法,其特征在于,所述负载状态包括逻辑核的当前总负载量;并且/或者所述兄弟逻辑核上第一类任务的运行情况包括在该兄弟逻辑核上运行第一类任务的概率。3.根据权利要求2所述的负载均衡方法,其特征在于,逻辑核的当前总负载量为所述逻辑核的任务队列上所有任务的权重之和;并且/或者兄弟逻辑核上运行第一类任务的概率为过去一段时间间隔内该兄弟逻辑核上运行第一类任务的时间长度与所述时间间隔长度的比值。4.根据权利要求2所述的负载均衡方法,其特征在于,所述第二类任务在逻辑核上运行的预估概率与该逻辑核的当前总负载量负相关;并且/或者所述第二类任务在逻辑核上运行的预估概率与该逻辑核的兄弟逻辑核上运行第一类任务的概率负相关。5.根据权利要求4所述的负载均衡方法,其特征在于,所述第二类任务在逻辑核上运行的预估概率与该逻辑核的当前总负载量成反比;并且/或者所述第二类任务在逻辑核上运行的预估概率与该逻辑核的兄弟逻辑核上不运行第一类任务的概率成正比,其中,运行第一类任务的概率与不运行第一类任务的概率之和为1。6.根据权利要求1至5中任何一项所述的负载均衡方法,其特征在于,互为兄弟逻辑核的两个逻辑核上不能同时分别运行第一类任务和第二类任务。7.根据权利要求6所述的负载均衡方法,其特征在于,响应于逻辑核上即将运行第一类任务,其兄弟逻辑核的任务队列中的第二类任务被节流,即从所述任务队列取出,并放入对应于该兄弟逻辑核的暂缓列表中。8.根据权利要求7所述的负载均衡方法,其特征在于,还包括:响应于存在空闲逻辑核,执行第一级空闲均衡处理,即从其它逻辑核的任务队列中选择待执行任务迁移到所述空闲逻辑核;以及响应于所述第一级空闲均衡处理失败,从各个逻辑核分别对应的暂缓列表中选择待执行第二类任务迁移到所述空闲逻辑核。9.根据权利要求8所述的负载均衡方法,其特征在于,选择最早被节流的第二类任务迁移到所述空闲逻辑核。10.根据权利要求9所述的负载均衡方法,其特征在于,还包括:响应于逻辑核上的第二类任务被节流,关联地记录与该逻辑核对应的节流时间,其中,从所记录的节流时间最早的逻辑核对应的暂缓列表中选择待执行第二类任务迁移到所述空闲逻辑核。11.一种负载均衡方法,其特征在于,包括:响应于逻辑核上即将运行第一类任务,将其兄弟逻辑核的任务队列中的第二类任务节流,即从所述任务队列取出,并放入对应于该兄弟逻辑核的暂缓列表中,其中同一个物理核上的两个逻辑核互为兄弟逻辑核;响应于存在空闲逻辑核,执行第一级空闲均衡处理,即从其它逻辑核的任务队列中选择待执行任务迁移到所述空闲逻辑核;以及响应于所述第一级空闲均衡处理失败,从各个逻辑核分别对应的暂缓列表中选择待执行第二类任务迁移到所述空闲逻辑核。12.根据权利要求11所述的负载均衡方法,其特征...

【专利技术属性】
技术研发人员:陈善佩朱延海
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1