一种基于深度强化学习的资源调度方法

发布日期:2021年7月28日
一种基于深度强化学习的资源调度方法 一种基于深度强化学习的资源调度方法

本内容试读结束

下载后可阅读完整内容,立即下载

启发式调度算法作为云数据中心资源调度的常用方法能够给出一种可行的资源调度策略,但针对特定集群环境设计合适的启发式算法需要较专业的先验知识,而使用通用的启发式方法会对集群资源造成极大浪费。对Kubernetes集群资源调度过程进行建模,设计基于深度强化学习的资源调度方法,对于不同的集群环境和优化目标,使用学习的方法从历史数据中学习得到相应的调度策略,优化集群资源利用情况。实验结果表明,使用该方法比现有启发式方法在任务带权周转时间上平均减少7.5%,最高减少13.5%。

随着互联网技术的快速发展,云计算技术逐步走入人们的生活。云计算通过互联网将遍布世界各地数据中心的各种IT 资源(计算、存储等)提供给用户使用,较大规模的数据中心目前已有数十万台服务器[1],而对如此大规模数据中心的资源进行有效管理是学术界和工业界的一大难题。

在学术界和工业界,资源调度问题通常认为是NP 难问题[2]。资源调度主要面临以下几个方面的挑战:首先是调度的任务是多样的;其次各种集群管理系统的资源调度过程是一个十分复杂的流程,通常很难设计出适用于所有调度场景的通用启发式调度算法;最后集群环境通常异构,对于不同集群和不同优化目标需要对启发式方法中的众多参数进行配置,这往往需要专业人员进行特定分析[3]。

本文利用深度强化学习适于解决序列决策问题的优势,将深度强化学习方法用到解决数据中心的资源调度问题中,同时通过设计合理奖励函数来优化资源调度目标。深度强化学习方法可以根据不同集群环境和不同优化目标让智能体自主学习对应的策略,解决了传统启发式方法很难设计以及参数难调的难题,是启发式调度算法的良好替代方案。

2. 相关工作 目前,学术界和工业界对数据中心的资源调度问题进行了广泛研究。随着人工智能领域的发展,使用深度强化学习解决序列决策问题的应用越来越多。文献[4]提出了一种使用强化学习方法解决资源调度问题的方法。文献[5]中提出的DeepRM 模型将资源调度系统的状态信息建模成图像形式,将获取的图像信息输入到深度神经网络中的卷积神经网络中,通过卷积神经网络对图像信息进行快速特征提取,然后使用强化学习的方法对神经网络中的参数进行迭代更新,形成最终的策略。文献[6]提出的Decima 模型基于Spark 集群环境建模了一个事件驱动的仿真环境, 使用图神经网络对等待调度的任务进行特征提取, 通过使用可扩展的图神经网络可以处理任意形状和大小的具有依赖关系的任务。文献[7]使用阿里巴巴采集的真实集群的日志作为数据集,生成相应的任务流,同时将集群建模成各个机器,考虑了集群中机器的碎片效应。文献[8]使用两层深度强化学习模型来共同完成对集群资源和能耗的管理工作。其中一个深度强化学习模型负责分析集群状态,对任务进行合理调度,而另外一个深度强化学习模型则分析集群内机器的状态,对机器的能耗进行建模,考虑是否对机器进行关机开机处理,进行合理能耗管理。

本文基于Kubernetes 集群设计了离线仿真环境,针对该环境进行强化学习建模,设计相应的状态、动作和奖励函数,使用深度强化学习方法对模型进行训练对比,验证了使用深度强化学习方法解决资源调度问题的可行性。



相关标签