2. 上海交通大学 电子信息与电气工程学院, 上海 200240
2. School of Electronic Information and Electrical Engineering, Shanghai Jiao Tong University, Shanghai~200240, China
随着新基建建设的提速, 数据中心建设步伐明显加快. 普通数据中心一般由5~10万台服务器组成, 但国内外著名互联网公司的数据中心规模远不止如此, 谷歌全球数据中心的服务器总量已超百万台, 为用户提供搜索服务; 亚马逊公司仅弹性计算云(elastic compute cloud, EC2)就部署了约50万台服务器; 国内腾讯公司天津数据中心在2018年服务器总数突破10万台; 国内阿里巴巴将在南通建立云计算数据中心, 计划容纳30万台服务器.数据中心规模越来越大, 造成计算资源的异构化和规模化, 给大规模数据中心的作业调度带来一定的挑战. 云计算数据中心作为商业计算服务平台, 首先, 需要满足各种不同的用户需求. 例如, 有些用户需要快速的服务响应时间, 有些用户需要服务的稳定性和可靠性, 有些更倾向于低廉的计算成本, 与此同时还要保障用户的服务体验[1]. 再者, 云计算的商业性决定了调度策略需保障服务供应商的利益, 减少能耗及相应开销. 传统的调度方法已不能适应其复杂多变的调度环境, 因此, 研究云计算异构环境下的多目标优化调度策略具有相当重要的意义.
针对异构云环境多目标优化调度问题, 本文定义了执行时间、服务延迟成本、平台运行能耗、成本等多个目标, 其中服务延迟成本用以描述用户对服务质量的满意程度; 设计AHP定权的多目标调度综合评价方法, 并将该方法引入强化学习Q-learning的奖励值计算, 有利于后续作业的经验学习; 利用MultiRECloudSim平台进行仿真实验, 实验结果表明所提出方法优于大部分对比方法, 能够较好地改善作业执行效率并保证用户及服务提供商的利益.
1 相关工作云数据中心作业调度主要分为3类: 传统作业调度、多目标优化作业调度和基于机器学习的作业调度.
1.1 传统作业调度方法传统作业调度方法一般优先考虑性能, 被广泛应用的算法有先来先服务调度算法、max-min调度算法、min-min调度算法、公平调度算法以及单目标启发式调度算法等. 这类算法一般不考虑资源需求及利用率, 只为查找满足计算需求的节点来执行作业. 但是, 实际的作业调度问题往往有多个目标, 例如最短执行时间、最佳服务质量、最少计算成本等, 因此这类方法实用性较为欠缺.
1.2 多目标优化作业调度方法考虑到云环境下的多个优化目标, 并将作业映射至合适的云计算资源, 多目标优化作业调度方法较传统的作业调度方法更具实用性[2-3]. 近年来, 随着云服务快速普及, 多目标优化作业调度方法受到广泛关注, 并已取得一定成果. Akbari等[4]设计了基于布谷鸟搜索的多目标作业调度算法, 该算法不但减少了异构系统中的作业执行时间, 而且最大程度保障了作业并行化. 胡成玉等[5]建立了以利润、碳排放以及QoS为目标的数据中心负载优化调度模型, 并设计出一种非支配排序遗传算法, 保证算法能快速收敛. Zhu等[6]以作业完成时间和成本作为调度目标, 设计了基于演化算法的多目标调度算法以优化IaaS(infrastructure as a service)平台的工作流调度. 苏命峰等[7]结合能耗、成本和系统可用性等指标构建了多维QoS云资源调度模型, 并提出结合多重贪心算法的云资源调度算法. 上述方法取得了比传统作业调度方法更好的解, 但同时也存在一些问题. 现有的调度策略研究较少兼顾用户和服务供应商双方的利益, 如何使资源供给与消费双方互利共赢是当前云作业调度需考虑的问题.
1.3 基于机器学习的作业调度方法基于机器学习的作业调度方法学习数据中心资源消耗、性能变化与负载波动之间的关系, 探索高效执行作业时所需资源. 在实际执行调度算法时, 根据学习结果与实时监控状况调整作业分配方案[8].Islam等[9]利用神经网络和线性回归设计了资源预测和供应策略, 实现了云作业资源的按需分配. Chen等[10]设计了基于动态加权随机森林的负载预测方法, 并根据预测结果进行自适应作业调度. 上述方法通过预测负载波动调节计算资源规模, 为减少处于活跃状态的服务器, 需频繁地进行虚拟机迁移, 这会对云作业调度造成一定程度的影响.
此外, 基于强化学习的作业调度方法也是研究热点. Yi等[11]利用LSTM网络构建系统状态预测模型, 并使用该模型训练基于深度强化学习的作业分配器, 有效地为数据中心节省近10%的计算能力. Yang等[12]提出了基于强化学习的资源分配方法, 并通过优化长期奖励以改善工作流调度效率.
本文介绍的方法充分考虑到节能增效、用户体验、执行成本等多个目标之间的平衡, 兼顾用户和服务供应商双方利益, 着眼于云计算资源的异构性及作业多样化, 利用强化算法对云数据中心作业进行智能自主管理.
2 多目标与约束定义定义1(异构资源约束) 云数据中心由众多异构服务器构成, 这些服务器被虚拟化成虚拟机, 虚拟机
| $ \sum\limits_{j = 1}^{m}T_j^k\cdot x_{ij}\leqslant V_i^k. $ | (1) |
式(1)反映了表示作业执行所消耗的全部资源量应小于等于平台的总资源量.
定义2(执行时间) 执行时间是作业调度中最为普遍的优化指标, 作业
| $ t_e(T_j, V_i) = \frac{{\rm len}(T_j)}{V_i^{\rm CPU}}. $ | (2) |
其中:
| $ t_{\rm all} = {\rm max}\Big\{\sum\limits_{j = 1}^{m_1} t_e(T_j, V_1), \ldots , \sum\limits_{j = 1}^{m_n} t_e(T_j, V_n)\Big\}, $ | (3) |
其中
定义3(服务延迟成本) 对于云计算平台管理者而言, 更关注平台的整体性能, 如资源负载均衡、能耗等. 对于提交作业的用户而言, 更关心的是服务执行效果. 用户访问数据中心, 不仅需要考虑服务价格, 同时也要考虑服务质量. 本文利用服务延迟成本描述用户对服务质量的满意程度. 作业等待响应的时间越长, 延迟成本越大, 服务体验就相对较差. 服务延迟成本可表示为作业等待响应时间的函数. 作业
| $ t_{w}(T_j) = t_{\rm est}(T_j)-t_{\rm ar}(T_j)+t_s(t_w). $ | (4) |
其中:
| ${\rm cost}_{d}(T_j) = \left\{\begin{array}{l} 0, \, {t_{w}(T_j) < \psi t_{\rm rt}};\\ L(t_{w}(T_j)), \, {t_{w}(T_j) \geqslant \psi t_{\rm rt}}.\\ \end{array}\right. $ | (5) |
| $ L(t_{w}(T_j)) = {\rm cost}_{d/u}\cdot(t_{w}(T_j)-\psi\cdot t_{\rm rt}). $ | (6) |
其中:
| $ {\rm cost}_d^{\rm all} = \sum\limits_{j = 1}^{m}{\rm cost}_{d}(T_j). $ | (7) |
定义4(平台运行能耗) 利用CPU利用率-功率函数[13]计算数据中心运行能耗
| $ {\rm energy}_{\rm all} = t_{\rm all}\cdot \sum\limits_{i = 1}^{p}P_i(U_i). $ | (8) |
其中:
| $ U_i = \frac{1}{c}\cdot \sum\limits_{k = 1}^{c}{\rm VM}_{k}^{\rm CPU}. $ | (9) |
其中:
定义5(成本) 总成本
| $ {\rm cost}_{\rm all} = {\rm cost}_{u}+{\rm cost}_{p} = \\ \sum\limits_{j = 1}^{m}{\rm cost}_v(V_i)\cdot t_e(T_j, V_i)+ {\rm energy_{all}}\cdot \rm cost_{ep}. $ | (10) |
其中:
定义作业调度过程中的多个目标, 其调度目标如下:
| $ {\rm min}\{t_{\rm all}, \; {\rm energy}_{\rm all}, \; {\rm cost}_{\rm all}, \; {\rm cost}_d^{\rm all} \}. $ | (11) |
需要满足的约束条件如下:
| $ \sum\limits_{j = 1}^{m}T_j^k\cdot x_{ij}\leqslant V_i^k. $ | (12) |
根据排队模型, 动态到达的作业调度过程可视为马尔可夫决策过程, 因此构建马尔可夫决策过程的四元组
| $ \begin{array}{lll} R_1:A\times X = {\rm schedule}(T_j)\to {\rm queue}(V_i), \\ R_2:A\times X = {\rm queue}(V_i)\to \rm excute.\\ \end{array} $ | (13) |
当作业从调度状态转换为等待状态, 获得奖励
可以发现, 状态空间
| $ R_{x\to x'}^{a} = k\cdot {\rm size}({\rm queue}(V_i)). $ | (14) |
其中:
首先需构建面向异构资源的多目标调度综合评价体系, 该体系是简化复杂调度问题的关键. 该评价体系分为3层: 最上层为目标层; 中间层为对象层, 包括用户与服务供应商; 最下层为指标层, 包括用户所关注的指标(作业执行时间、成本(作业执行成本)和服务延迟成本)以及服务供应商所关注的指标(成本(平台能耗成本)和平台运行能耗). 该评价体系的层次结构详见图 1.
|
图 1 异构资源的多目标调度综合评价体系结构 |
在建立多目标调度综合评价体系之后, 还需确定评价体系中各指标的权重. 对此, 本文利用层次分析法设置其初始权重, 具体步骤如下:
1) 建立判断矩阵.
假设有
利用9分位标度[15]方法, 将本文所建立的多目标调度综合评价体系结构中的对象层和指标层内的各个指标进行两两比较, 比较结果如表 1所示.
| 表 1 各指标对比结果 |
根据表 1得到如下3个判断矩阵:
| $ A_1 = \left[\begin{array}{cc} 1& 2\\1/2 &1 \end{array}\right], $ | (15) |
| $ A_{21} = \left[\begin{array}{ccc} 1 &5 &2\\1/5 &1 &1/3\\1/2 &3 &1 \end{array}\right], $ | (16) |
| $ A_{22} = \left[\begin{array}{cc} 1& 1\\1 &1 \end{array}\right]. $ | (17) |
其中: 矩阵
2) 一致性检验.
判断矩阵客观地反映出不同指标间的相对重要性, 但无法保证每个判断矩阵都是一致的. 例如, 判断指标
| $ {\rm CI} = \frac{\lambda_{\rm max}-n}{n-1}. $ | (18) |
其中:
| 表 2 平均随机一致性指标 |
3) 计算相对权重.
计算各指标相对权重, 即求各判断矩阵的特征向量, 也就是计算符合
4) 计算综合权重.
计算各判断矩阵的相对权重之后, 还需计算确定指标层各指标相对于总目标的权重, 计算方法为
| $ w_i = \sum\limits_{j = 1}^{m}w_{ij}^{(3)}\cdot w_j^{(2)}. $ | (19) |
其中:
|
图 2 综合权重计算过程 |
最后, 结合综合权重可得异构资源的多目标调度综合评价值计算公式, 即
| $ T_{\rm value} = 0.39\cdot t_{\rm all}+0.07\cdot {\rm cost}_d^{\rm all}+0.375\cdot\rm cost_{all}+\\ \;\quad\qquad 0.165\cdot\rm energy_{all}. $ | (20) |
需要注意的是, 在实际应用中各指标需进行归一化处理. 将异构资源的多目标调度综合评价值
| $ R_{x\to x'}^{a} = k\cdot {\rm size}({\rm queue}(V_i))\cdot T_{\rm value}. $ | (21) |
利用式(21)计算出的多目标调度奖励值
强化学习Q-learning算法的基本思想是根据状态和动作构造一张
| $ Q_{t+1}(x, a) = Q_{t}(x, a)+\alpha\cdot (R_{x\to x'}^a+\\ \qquad \qquad \qquad \gamma\cdot Q_t(x', a')-Q_t(x, a)). $ | (22) |
其中:
算法1 AHP定权的Q-learning多目标作业调度.
输入:第
输出:第
1.
2. 构建状态空间
3. 选择第一个作业
4.
5. if(random
6. 在
7. else
8. 为作业
9. end if
10. 执行动作
11. 根据下阶段状态, 选择最大
12. 根据式(22)更新当前状态-动作的
13. 将作业与虚拟机的映射关系放入assignedList;
14. 令下一个状态
15. end for
16. 输出assignedList;
17. end
算法1在初始化
图 3是AHP定权的多目标强化学习作业调度总体框架图, 反映出多目标调度的总体运行状况及控制机制, 其主要由4个部分组成: 1) 用户层; 2) 计算资源层; 3) 监控层; 4) 决策层.
|
图 3 AHP定权的多目标强化学习作业调度框架 |
1) 用户层: 用户在不同时刻提交所需处理的作业, 然后这些作业进入作业队列等待处理. 这些作业种类不同, 而且对各类资源的需求也各异.
2) 计算资源层: 将异构服务器的实体资源抽象成虚拟资源, 便于对计算资源进行高效管理, 最大程度地利用数据中心内的可用计算资源.
3) 监控层: 作业的执行使得虚拟机以及物理服务器的资源利用率、耗电功率等发生变化. 因此不仅需要采集与作业执行相关的参数, 还需要采集计算资源的变化参数. 最后, 这部分采集的监控数据将作为反馈信息传送至决策层, 以供决策之需.
4) 决策层: 计算资源层和用户层的信息被实时更新至决策层. 而决策层利用AHP定权的强化学习算法对异构环境进行实时学习, 并确定当前状态下最优作业调度方案. 最后将该方案交给作业调度器执行. 随着作业部署到虚拟机, 计算资源层和用户层的变化信息被监控层传递给决策层. 这4个部分通力合作, 周而复始, 最终实现作业和异构资源的合理分配.
4 实验设计与结果分析 4.1 实验平台介绍MultiRECloudSim[16]是基于CloudSim3.0.3拓展开发的云计算仿真平台, 在原有的CloudSim平台增加了作业的多种资源需求模拟、预取资源管理模块以及多资源运行的能耗计算等功能.
4.2 异构资源平台设置本文在MultiRECloudSim[16]构建了6款异构服务器, 具体型号及功率映射函数如表 3所示. 其中: 功率映射函数根据SPEC官网提供的数据计算得到,
| 表 3 各类型主机的资源详情 |
为便于计算, 在每台服务器上部署一台虚拟机(VM), 虚拟机的计算能力在600 ~ 1 000 MIPS之间, 依据阿里云的收费标准, 计算出1核CPU计费为0.067 5 ¥/ h, 1 GB内存计费为0.037 5 ¥/ h, 即虚拟机
| $ {\rm cost}_v(V_i) = 0.067\, 5n+0.037\, 5m. $ | (23) |
其中:
本文共设置5个作业流, 作业分不同批次到达, 各批次作业的到达时间按泊松分布设定. 各作业流的到达时间和数量如图 4所示, 具体参数设置如表 4所示.
|
图 4 各批次作业到达时刻与数量 |
| 表 4 各作业流的参数设置 |
在仿真调度实验中, 设置如下基准作业调度算法:
1) 先来先服务调度算法(FCFS): 根据作业到达数据中心的先后顺序, 依次分配至空闲虚拟机.
2) 基于蚁群算法的调度算法(ACO): 以执行时间和平台能耗作为优化目标进行作业调度.
3) 基于遗传算法的主资源负载均衡调度算法(LVS): 通过对各指标加权设计适应度函数, 利用遗传操作挑选染色体, 当满足阈值时输出调度方案.
4) 贪心调度算法(GA): 将每个作业分配至当前最优虚拟机.
FCFS和GA属于传统作业调度算法, ACO和LVS属于多目标作业调度算法. 这些算法与本文算法(下文中用AHP-MQ表示)在执行时间、服务延迟成本、能耗、成本几个方面进行对比.
图 5为作业总执行时间. 由图 5可见, GA和AHP-MQ在作业总执行时间上表现较好. AHP-MQ比FCFS、ACO、LVS分别平均减少42.13
|
图 5 作业总执行时间 |
图 6为服务延迟成本. 由图 6可见, FCFS和LVS的服务延迟成本较大, 主要原因是FCFS按到达顺序分配作业, 并未考虑优化策略, 而LVS在调度时关注负载均衡, 不让过多作业集中到性能高的虚拟机上, 因此有较多作业处于等待状态. AHP-MQ算法在服务延迟成本这个调度目标上仅次于GA.
|
图 6 服务延迟成本 |
图 7为平台运行能耗. 由图 7可见, 在平台运行能耗方面, AHP-MQ算法和GA表现相当, 虽然AHP-MQ和GA在高性能虚拟机上部署较多作业导致单位时间内功率偏高, 但是AHP-MQ和GA的总执行时间远低于FCFS、ACO和LVS, 所以总体而言能耗更低.
|
图 7 平台运行能耗 |
图 8为总成本. 由图 8可见, GA和AHP-MQ的总成本比较低, 这与能耗较低的原因相似, 均为这些调度算法总执行时间少, 此外AHP-MQ在计算多目标调度综合评价值时, 成本的权重占较大比例.
|
图 8 总成本 |
在仿真平台内的实验结果表明, 所提出的AHP定权多目标强化学习作业调度算法在作业总执行时间、平台运行能耗方面表现较好, 但在服务延迟成本方面比GA表现劣势. 此外, AHP-MQ在总成本控制方面也表现得较好. 所提出的AHP-MQ算法能够发挥强化学习的能力, 较好地优化调度方案.
5 结论随着云计算的快速发展, 越来越多的作业提交至云数据中心. 在海量的异构资源的云数据中心进行作业调度是一个NP难问题. 本文针对云环境下多目标优化调度问题, 定义执行时间、服务延迟成本、平台运行能耗、成本等调度目标, 其中服务延迟成本描述用户对服务质量的满意程度; 然后设计AHP定权的多目标强化学习作业调度算法并将面向异构资源的多目标调度综合评价方法引入Q-learning奖励值的计算, 有利于后续作业的学习; 最后利用MultiRECloudSim仿真平台进行仿真实验, 结果表明所提出方法优于大部分对比方法, 能够较好地保障用户及服务提供商的利益. 在今后的研究中, 将考虑负载均衡, 优化奖励值的计算, 使该算法更加全面合理.
| [1] |
Guo J, Chang Z H, Wang S, et al. Who limits the resource efficiency of my datacenter: An analysis of alibaba datacenter traces[C]. IEEE/ACM 27th International Symposium on Quality of Service (IWQoS). Piscataway: IEEE, 2019: 1-10.
|
| [2] |
Gabaldon E, Vila S, Guirado F, et al. Energy efficient scheduling on heterogeneous federated clusters using a fuzzy multi-objective meta-heuristic[C]. IEEE International Conference on Fuzzy Systems (FUZZ- IEEE). Piscataway: IEEE, 2017: 1-6.
|
| [3] |
李智勇, 陈少淼, 杨波, 等. 异构云环境多目标Memetic优化任务调度方法[J]. 计算机学报, 2016, 39(2): 377-390. (Li Z Y, Chen S M, Yang B, et al. Multi-objective memetic algorithm for task scheduling on heterogeneous cloud[J]. Chinese Journal of Computers, 2016, 39(2): 377-390.) |
| [4] |
Akbari M, Rashidi H. A multi-objectives scheduling algorithm based on cuckoo optimization for task allocation problem at compile time in heterogeneous systems[J]. Expert Systems with Applications, 2016, 60: 234-248. DOI:10.1016/j.eswa.2016.05.014 |
| [5] |
胡成玉, 余果, 颜雪松, 等. 基于改进多目标优化算法的分布式数据中心负载调度[J]. 控制与决策, 2021, 36(1): 159-165. (Hu C Y, Yu G, Yan X S, et al. Modified multi-objective optimization algorithm for load scheduling of distributed data centers[J]. Control and Decision, 2021, 36(1): 159-165.) |
| [6] |
Zhu Z M, Zhang G X, Li M Q, et al. Evolutionary multi-objective workflow scheduling in cloud[J]. IEEE Transactions on Parallel and Distributed Systems, 2016, 27(5): 1344-1357. DOI:10.1109/TPDS.2015.2446459 |
| [7] |
苏命峰, 王国军, 李仁发. 基于利益相关视角的多维QoS云资源调度方法[J]. 通信学报, 2019, 40(6): 102-115. (Su M F, Wang G J, Li R F. Multidimensional QoS cloud computing resource scheduling method based on stakeholder perspective[J]. Journal on Communications, 2019, 40(6): 102-115.) |
| [8] |
Farahnakian F, Pahikkala T, Liljeberg P, et al. Energy-aware VM consolidation in cloud data centers using utilization prediction model[J]. IEEE Transactions on Cloud Computing, 2019, 7(2): 524-536. DOI:10.1109/TCC.2016.2617374 |
| [9] |
Islam S, Keung J, Lee K, et al. Empirical prediction models for adaptive resource provisioning in the cloud[J]. Future Generation Computer Systems, 2012, 28(1): 155-162. DOI:10.1016/j.future.2011.05.027 |
| [10] |
Chen M C, Yuan J L, Liu D L, et al. An adaption scheduling based on dynamic weighted random forests for load demand forecasting[J]. Journal of Supercomputing, 2020, 76(3): 1735-1753. DOI:10.1007/s11227-017-2223-3 |
| [11] |
Yi D L, Zhou X, Wen Y G, et al. Toward efficient compute-intensive job allocation for green data centers: A deep reinforcement learning approach[C]. IEEE 39th International Conference on Distributed Computing Systems(ICDCS). Piscataway: IEEE, 2019: 634-644.
|
| [12] |
Yang Z, Nguyen P, Jin H M, et al. MIRAS: model-based reinforcement learning for microservice resource allocation over scientific workflows[C]. IEEE 39th International Conference on Distributed Computing Systems (ICDCS). Piscataway: IEEE, 2019: 122-132.
|
| [13] |
罗亮, 吴文峻, 张飞. 面向云计算数据中心的能耗建模方法[J]. 软件学报, 2014, 25(7): 1371-1387. (Luo L, Wu W J, Zhang F. Energy modeling based on cloud data center[J]. Journal of Software, 2014, 25(7): 1371-1387.) |
| [14] |
李翔, 姜晓红, 吴朝晖, 等. 绿色数据中心的热量管理方法研究[J]. 计算机学报, 2015, 38(10): 1976-1996. (Li X, Jiang X H, Wu Z H, et al. Research on thermal management methods for green data centers[J]. Chinese Journal of Computers, 2015, 38(10): 1976-1996. DOI:10.11897/SP.J.1016.2015.01976) |
| [15] |
李蕊, 李跃, 徐浩, 等. 基于层次分析法和专家经验的重要电力用户典型供电模式评估[J]. 电网技术, 2014, 38(9): 2336-2341. (Li R, Li Y, Xu H, et al. Assessment on typical power supply mode for important power consumers based on analytical hierarchy process and expert experience[J]. Power System Technology, 2014, 38(9): 2336-2341.) |
| [16] |
Lin W W, Xu S Y, He L G, et al. Multi-resource scheduling and power simulation for cloud computing[J]. Information Sciences, 2017, 397/398: 168-186. |
| [17] |
SPEC. All published SPECpower_ssj2008 results[EB/OL]. (2020-08-12)[2020-09-13]. http://www.spec.org/power_ssj2008/results/power_ssj2008.html.
|
2022, Vol. 37
