总体思想是将集群配置优化过程建模为马尔科夫过程,通过训练DRL代理来动态优化集群调度器配置。
目的是使作业等待时间最短,提高资源利用效率。
模型部分
经验部分:
使用的Prioritized DDQN中的思想,方法是使用sumtree,有价值的样本被选定的概率越大。

sumtree如下图所示

Dueling DDQN:
状态价值估计和优势函数估计是通过构建网络结构分离的,其学习过程是无监督的。分离的原因是为了去除多余的自由度,提高算法的稳定性。
Noisy DQN:
一定程度上随机选择动作,增加模型的探索能力。
A3C:
rainbow中未找到具体应用部分,待补充。

建模部分:
样本包括状态,动作,回报和下一步的状态。
状态包括正在运行的作业,等待运行的作业,资源(cpu,内存),队列约束(如资源占比),作业约束
作业包括提交时间,优先级,包括的task。
集群状态获取:通过yarn自带的rest api。
执行决策:yarn所带的shell命令


回报为等待时间的相反数(目的是使等待时间最短)

系统总体分为四个模块:Env模块、Agent模块、ReplayMemory模块和总控Controller模块

运行总流程

运行测试部分
测试的作业参数如下:

运行结果如下:

本文介绍了一种使用深度强化学习(DRL)优化集群资源调度的方法。该方法将集群配置优化视为马尔科夫过程,训练DRL代理动态调整集群调度器配置,以减少作业等待时间并提高资源利用率。实验采用PrioritizedDDQN、DuelingDDQN等算法,并通过YARN API获取集群状态。
9724

被折叠的 条评论
为什么被折叠?



