A Priority Based Resource Scheduling Technique for Multitenant Storm Clusters

针对Storm集群在多任务场景下资源分配的局限性,尤其是默认调度和隔离调度未考虑任务优先级的问题,提出了一种基于优先级的资源调度框架。该框架包括调度组件和优先级管理系统,确保拓扑按优先级获得资源。当资源不足时,算法会按比例分配slot,保证所有拓扑至少能运行,并优先满足高优先级任务。算法分为三种情况处理:资源充足时全额分配,资源不足时按比例分配,以及在两者之间的折衷方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识:

  1.  隔离计划程序,即在storm群集中运行多个拓扑的现成storm计划程序,使用静态元数据将资源分配给拓扑,其中要分配给每个拓扑的资源数量保持不变,并且在不重新启动群集的情况下无法更改。
  2. 组件的任务数量是在开发时预定义的,不能在运行时更改,而执行器和工作进程的数量可以通过名为“再平衡”的storm功能更改,该功能允许运行时从拓扑扩展到更多的执行器或工作进程
  3. 隔离调度器 需要分配给每个拓扑的机器数量需要在配置文件中配置为元数据,其中列出的拓扑将是“隔离的”,资源将优先分配给隔离的拓扑。

问题: 

在多任务场景下,storm中的默认调度和隔离调度均没有对任务的优先级情况考虑,当集群中资源不足时可能会导致高优先级任务等待,并且使整个集群性能下降。
1.资源不够,有拓扑等待
2.资源充足,但是有节点挂掉了,导致性能下降。有些拓扑甚至不能运行。

解决方法: 提出了一个基于优先级的storm资源调度框架,即使没有足够的资源,也需要对拓扑进行分配,保证所有拓扑都可以运行。其次,根据优先级按比例分配slot。 

             优先级的资源调度框架有两个组件。第一个组件包含调度框架。第二个组件是优先级管理系统,它接收来自所有运行拓扑的优先级指示。每个拓扑必须实现一个接口,通过该接口将优先级指示分配给管理系统。资源调度器实现Storm IScheduler接口。

            

Algorithm 1: Priority Scheduling Algorithm

1:if C == ∑ S          (当集群资源满足最小资源时)

2: for each tp ∈ TP

3: Assign Si supervisor nodes to tp

4: Assign Ei executors among the worker slots of Si supervisor nodes

5: end for

6: end if

7: else

8       X = 0

9: for each j ∈ PR(所有拓扑优先级不一致)

10:  for tpi''s in TP, total desired supervisor nodes ST =∑ n  (所有拓扑需要的节点数总量)

11:  fortpi''s in Mj, total desired supervisor nodes SP =∑ n   (优先级j所需要的节点总量)

12:    X = C - X(X为集群中的可用节点当ST等于X时满足资源分配)

13: compute proportional share of nodes PN = ((X) ∗ )

14:  for each tp ∈ Mj (当资源不满足所有时开始按比例缩减)

15: number of supervisor nodes to be allocated z = ∗ PN

16: Assign zsupervisor nodes to tp

17: Assign Ei executors among the worker slots of z supervisor nodes

18: X = X + z

19: end for

20: end for

21: end else

算法:根据三种情况采取了分配方式

 case1:当集群满足设定的最小分配时

case2:当集群满足全量的分配时

case3:当在两者之间时,按比例进行缩减资源。

疑问;最小所需要的woker数是根据什么设置,实际所需要的woker数又是根据什么设置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值