【技术实现步骤摘要】
一种面向混合负载基于容器的集群资源管理方法及系统
[0001]本专利技术属于云计算集群资源管理与调度领域,更具体地,涉及一种面向混合负载基于容器的集群资源管理方法及系统。
技术介绍
[0002]随着物联网、人工智能等新兴技术的广泛使用,为满足用户的服务需求,数据中心应用的多样性大大增加。如果使用预留资源或者专用集群的方式来保证应用的服务质量,这会使得数据中心的资源利用率较低,增加数据中心的运营与维护成本。因此数据中心开始利用工作负载的不同资源需求等特性将多种负载混合部署在同一集群中,实现多种负载共享集群资源,以提高集群资源利用率。研究发现批处理类型负载会需要大量的CPU、内存等资源,而没有延迟要求,因此批处理负载可以明显地提升集群资源利用率。例如,阿里巴巴将批处理作业与延迟敏感、面向用户的Web服务部署在同一集群中;微软必应将在线搜索服务和批量处理作业进行混合部署,其中,在线搜索任务是一种延迟敏感型任务,具有需求资源少、低延迟、高吞吐等特性;Google将具有高可靠、严格服务等级要求的企业级作业(Production Tier Jobs)和低优先级没有要求的批处理作业进行混合部署。多种负载共享集群资源同时也会存在不同级别软件堆栈上的资源竞争等潜在的性能干扰,对具有不同服务质量需求的负载存在不同程度的性能损失。由于批处理作业对其完成时间等性能没有要求,而面向用户的延迟敏感型服务则对其响应延迟有严格的要求,相较之下任务间的性能干扰则会大大增加延迟敏感型任务的完成时间,严重影响应用的服务质量。因此混合负载部署环境中如何保证 ...
【技术保护点】
【技术特征摘要】
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任务,判断其所在工作节点上的可分配...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。