一种面向混合负载基于容器的集群资源管理方法及系统技术方案

技术编号:27460445 阅读:36 留言:0更新日期:2021-02-25 05:16
本发明专利技术公开了一种面向混合负载基于容器的集群资源管理方法,属于云计算集群资源管理与调度领域,包括:任务状态收集步骤,包括:获取各工作节点上运行任务的状态信息,将任务状态信息与所属作业信息合并为任务监控数据后存储到时间序列中;任务筛选步骤,包括:根据时间序列识别出Straggler任务和资源冗余任务;决策生成步骤,包括:判断集群中可分配资源是否能够满足新任务和Straggler任务扩展的资源需求,若是,则为Straggler任务制定资源扩展策略,再为被抢占任务制定资源恢复策略;否则,通过资源回收和/或抢占获得足够资源后,为Straggler任务制定资源扩展策略。本发明专利技术在尽量减少批处理任务性能损失的情况下,有效保证了混合负载部署环境中延迟敏感型应用的服务质量。质量。质量。

【技术实现步骤摘要】
一种面向混合负载基于容器的集群资源管理方法及系统


[0001]本专利技术属于云计算集群资源管理与调度领域,更具体地,涉及一种面向混合负载基于容器的集群资源管理方法及系统。

技术介绍

[0002]随着物联网、人工智能等新兴技术的广泛使用,为满足用户的服务需求,数据中心应用的多样性大大增加。如果使用预留资源或者专用集群的方式来保证应用的服务质量,这会使得数据中心的资源利用率较低,增加数据中心的运营与维护成本。因此数据中心开始利用工作负载的不同资源需求等特性将多种负载混合部署在同一集群中,实现多种负载共享集群资源,以提高集群资源利用率。研究发现批处理类型负载会需要大量的CPU、内存等资源,而没有延迟要求,因此批处理负载可以明显地提升集群资源利用率。例如,阿里巴巴将批处理作业与延迟敏感、面向用户的Web服务部署在同一集群中;微软必应将在线搜索服务和批量处理作业进行混合部署,其中,在线搜索任务是一种延迟敏感型任务,具有需求资源少、低延迟、高吞吐等特性;Google将具有高可靠、严格服务等级要求的企业级作业(Production Tier Jobs)和低优先级没有要求的批处理作业进行混合部署。多种负载共享集群资源同时也会存在不同级别软件堆栈上的资源竞争等潜在的性能干扰,对具有不同服务质量需求的负载存在不同程度的性能损失。由于批处理作业对其完成时间等性能没有要求,而面向用户的延迟敏感型服务则对其响应延迟有严格的要求,相较之下任务间的性能干扰则会大大增加延迟敏感型任务的完成时间,严重影响应用的服务质量。因此混合负载部署环境中如何保证面向用户的延迟敏感型应用的服务质量成为了现有集群管理系统面临的挑战。
[0003]作业是应用或者负载在集群中的逻辑实例,而一个作业通常由一个或者多个任务协同处理。作为作业的基本执行单元,任务的生命周期主要包括任务调度和任务运行两个阶段。在实际生产环境中,用户会为作业请求较多的资源,希望更快地处理完作业。然而任务运行过程中只使用了部分的分配资源,存在大量分配给任务未被使用的资源,被称作冗余资源。在大规模集群中尤其是存在大量的批处理作业时会使得集群中冗余资源占比大大增加,导致集群可分配资源匮乏,增加新任务的调度延迟。虽然基于杀死和容器暂停的资源抢占方式可以保证延迟敏感型任务的资源需求减少任务调度延迟,但是这些方法并未解决集群资源利用率低的问题,同时还会导致被抢占任务严重的性能损失。
[0004]再者属于同一个作业的各个任务之间存在依赖关系。如果作业处理过程中某个任务处理进度缓慢或者运行失败,导致对该任务有依赖的后续任务无法开始处理,这种任务被称作Straggler。研究发现80%的Straggler运行时间会比正常任务慢2-2.5倍,10%的Straggler会慢10倍之多。Straggler会拖慢作业处理的进程,使得服务产生较大的尾延迟,降低应用(特别是延迟敏感型服务)的服务质量甚至无法满足用户的服务等级目标。因此Straggler成为影响延迟敏感型应用处理性能的重要因素之一。虽然目前通过创建任务副本的方式可以解决Straggler的问题,但是创建副本丢失了任务的处理进度,同时还需要分
配完整的任务资源,增加了任务的资源开销。
[0005]总体而言,现有的面向混合负载的集群资源管理方法,并不能很好地保证混合负载部署环境中面向用户的延迟敏感型应用的服务质量,同时会极大地损失批处理作业的处理性能。

技术实现思路

[0006]针对现有技术的缺陷和改进需求,本专利技术提供了一种面向混合负载基于容器的集群资源管理方法及系统,其目的在于,在尽量减少对批处理任务性能损失的情况下,有效保证混合负载部署环境中延迟敏感型应用的服务质量。
[0007]为实现上述目的,按照本专利技术的一个方面,提供了一种面向混合负载基于容器的集群资源管理方法,集群中部署有容器化的运行环境,该方法包括:在管理节点中执行的任务状态收集步骤、任务筛选步骤以及决策生成步骤;
[0008]任务状态收集步骤包括:获取各工作节点上任务的状态信息以及作业信息,将任务的状态信息与任务所属作业的作业信息合并为任务监控数据后存储到预先建立的时间序列中;
[0009]任务筛选步骤包括:根据时间序列中的监控数据识别出延迟敏感型任务中的Straggler任务和批处理任务中的资源冗余任务;
[0010]决策生成步骤包括:判断集群中可分配资源是否能够满足新任务和Straggler任务扩展的资源需求,若是,则为Straggler任务制定资源扩展策略;否则,通过资源回收和/或资源抢占的方式使集群中可分配资源能够满足新任务和Straggler任务扩展的资源需求后,为Straggler任务制定资源扩展策略。
[0011]本专利技术在集群中部署容器化的运行环境,使得集群中的所有任务都运行在容器中,从而可以调用容器管理程序的API实时精确地监控任务的运行状态,在此基础上,准确识别出Straggler任务和资源冗余任务,在必要时还会通过资源回收和/或资源抢占的方式回收资源,以保证Straggler任务和新任务这些敏感延迟型任务的资源需求得到满足,从而能够有效保证混合负载部署环境中延迟敏感型应用的服务质量。
[0012]进一步地,任务筛选步骤中,根据时间序列中的监控数据识别Straggler任务的方式包括如下步骤:
[0013](S1)对于每一个延迟敏感型任务,从时间序列中获取任务在最近四个监控时刻t1、t2、t3、t4的处理进度p1、p2、p3、p4,以估算任务在两个不同时间段的平均处理速度分别为:v1=(p
2-p1)/(t
2-t1),v2=(p
4-p3)/(t
4-t3),并由此预估任务的完成时间为:T=(1-p4)/v2+t4;
[0014](S2)若v2>v1,说明处理速度有所增加,则判定任务不是Straggler任务,转入步骤(S4);否则,转入步骤(S3);
[0015](S3)若T<T
SLO
,说明预估的任务完成时间能够满足用户服务等级目标,判定任务不是Straggler任务,转入步骤(S4);否则,说明预估的任务完成时间不能满足用户服务等级目标,判定任务为Straggler任务,转入步骤(S4);
[0016](S4)识别结束;
[0017]其中,t1<t2<t3<t4;T
SLO
是能够满足用户服务等级目标的最长的任务运行时间。
[0018]本专利技术通过在存储有任务状态信息的时间序列中采样,并估算任务在不同时间段的处理速度以及任务的完成时间,进一步根据任务处理速度的逐渐减小,且预估的任务完成时间不能满足用户服务等级目标的任务识别为Straggler任务,此识别依据与Straggler任务本身的运行特性相符,由此能够准确识别出集群中的Straggler任务,为保证集群中的Straggler任务的资源需求得到满足提供了基础。
[0019]进本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向混合负载基于容器的集群资源管理方法,其特征在于,所述集群中部署有容器化的运行环境,所述方法包括:在管理节点中执行的任务状态收集步骤、任务筛选步骤以及决策生成步骤;所述任务状态收集步骤包括:获取各工作节点上任务的状态信息以及作业信息,将任务的状态信息与任务所属作业的作业信息合并为任务监控数据后存储到预先建立的时间序列中;所述任务筛选步骤包括:根据所述时间序列中的监控数据识别出延迟敏感型任务中的Straggler任务和批处理任务中的资源冗余任务;所述决策生成步骤包括:判断所述集群中可分配资源是否能够满足新任务和Straggler任务扩展的资源需求,若是,则为Straggler任务制定资源扩展策略;否则,通过资源回收和/或资源抢占的方式使所述集群中可分配资源能够满足新任务和Straggler任务扩展的资源需求后,为Straggler任务制定资源扩展策略。2.如权利要求1所述的面向混合负载基于容器的集群资源管理方法,其特征在于,所述任务筛选步骤中,根据所述时间序列中的监控数据识别Straggler任务的方式包括如下步骤:(S1)对于每一个延迟敏感型任务,从所述时间序列中获取任务在最近四个监控时刻t1、t2、t3、t4的处理进度p1、p2、p3、p4,以估算任务在两个不同时间段的平均处理速度分别为:v1=(p
2-p1)/(t
2-t1),v2=(p
4-p3)/(t
4-t3),并由此预估任务的完成时间为:T=(1-p4)/v2+t4;(S2)若v2>v1,则判定任务不是Straggler任务,转入步骤(S4);否则,转入步骤(S3);(S3)若T<T
SLO
,判定任务不是Straggler任务,转入步骤(S4);否则,判定任务为Straggler任务,转入步骤(S4);(S4)识别结束;其中,t1<t2<t3<t4;T
SLO
是能够满足用户服务等级目标的最长的任务运行时间。3.如权利要求1所述的面向混合负载基于容器的集群资源管理方法,其特征在于,所述任务筛选步骤中,根据所述时间序列中的监控数据识别资源冗余任务,其方式包括如下步骤:(T1)对于每一个批处理任务,计算任务的实际资源利用率为:U
c
=Max{R
i
|i∈S}/R
a
;(T2)若U
c
<U
ECRU
,则判定任务为资源冗余任务;否则,判定任务不是资源冗余任务;其中,S表示所述时间序列中任务相关状态信息对应的时间戳集合,R
i
表示在i时刻任务实际使用的资源,R
a
表示任务分配的资源,U
ECRU
表示期望的集群资源利用率。4.如权利要求1-3任一项所述的面向混合负载基于容器的集群资源管理方法,其特征在于,所述决策生成步骤包括如下步骤:(1)获取集群中的空闲资源R
IDLE
,并计算集群中Straggler任务和新到达的延迟敏感型任务所需要的资源需求之和R
NE
;(2)若R
IDLE
>R
NE
,则转入步骤(3);否则,更新所述集群中的可分配资源为R
M
=R
IDLE
,并转入步骤(5);(3)判断所述集群中是否还存在未扩展的Straggler任务,若是,则转入步骤(4);否则,转入步骤(10);(4)选取一个未扩展的Straggler任务,判断其所在工作节点上的可分配资源是否能够
满足该Straggler任务的资源扩展需求,若是,则为该Straggler任务制定资源扩展策略,并转入步骤(3);否则,选取一个可分配资源能够满足该Straggler任务的资源扩展需求的工作节点,分配给该Straggler任务,并为该Straggler任务制定资源扩展策略,转入步骤(3);(5)判断所述集群中是否还存在未进行资源回收的资源冗余任务,若是,则转入步骤(6);否则,转入步骤(7);(6)选取一个资源冗余任务并为其制定资源回收策略,更新所述集群的可分配资源为R
M
=R
M
+R
r
,若更新后R
M
>R
NE
,则转入步骤(8);否则,转入步骤(5);R
r
为资源冗余任务可以被回收的资源量;(7)选取一个批处理任务并为其制定资源抢占策略,更新所述集群的可分配资源为R
M
=R
M
+R
p
,若更新后R
M
>R
NE
,则转入步骤(8);否则,转入步骤(7);R
p
为批处理任务可以被抢占的资源量;(8)判断所述集群中是否还存在未扩展的Straggler任务,若是,则转入步骤(9);否则,转入步骤(10);(9)选取一个未扩展的Straggler任务,判断其所在工作节点上的可分配...

【专利技术属性】
技术研发人员:童薇冯丹于金玉吕鹏泽
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1