在云计算提供强大服务的背后,存在集群资源使用率偏低的现象:Bohrer[1]指出集群节点的使用率一般仅为11%~50%,大量资源处于闲置状态,资源浪费严重。Barrsos等[2]通过统计分析近5 000台主机近半年的运行状况,节点的使用率仅有10%~50%。因此,如何准确有效地分配云资源,提高集群资源利用率是云计算的一个重要研究内容。
在云计算的研究中,通过对Google cluster trace分析发现[3-4],云任务可分为即时响应的应用与批处理任务,其服务特征、资源需求具有多样性。多数研究通过分析任务作业时长,资源使用特性等,对任务进行聚类[5-10],以此描述任务的异构性特征,并根据聚类后各类簇的特性设置调度函数,其实验结果表明聚类调度对任务响应时间与集群资源使用有显著改善。但任务聚类通常并不完全是非此即彼的类别划分,也可能出现中间态模糊集。针对此类问题,三支决策聚类通过定义边缘域概念拓展了传统的二支聚类算法,并根据对象属性对兼具多标签对象作出进一步的划分,其中,三支决策理论源于Yao对概率粗糙集和决策粗糙集3个域的合理解释[11-13],是一种更为一般,有效的决策方法。本文将其引入云计算,为任务调度问题提供新的解决方案。
1 相关工作作为一种有效的问题解决手段,三支决策的基本思想是通过一对阈值
${c_{(\alpha ,\beta )}}:\tau :U \to \{ {S_1},{S_2},{S_3}\} $ | (1) |
式中:基于条件集
作为三支决策在聚类算法方面的有效应用,三支聚类[21-22]拓展了对象与集合的隶属关系。给定对象集合
传统的二支聚类算法在云计算中被广泛应用。文献[5]使用k-means算法将任务聚类为计算、存储与网络类型,引入权重因子调整属性间优先级,根据任务类型调度任务。刘家志[6]将FCM算法引入到任务调度中,根据CPU、内存、IO与带宽等属性为任务建模并聚类,根据类簇特征为任务设置调度函数。文献[7]根据集群资源的多维属性定义资源可见度,通过静态阈值划分可见度等级,在PSO调度中以该等级与任务执行时间作为适应性函数,提高集群负载均衡度。张以利等[8]根据作业长短及重要性聚类任务,构建LPM模型,追求最大化的任务完成数,文献[9]采用层级聚类对云任务进行预处理,以最小化任务完成时间为目标函数调度任务,兼顾资源负载与系统吞吐量,在满足服务质量的同时,缩短任务完成时间。高正九等[10]提出了一种基于任务分类的延迟调度算法,根据任务长度聚类,并依据该类别调整任务等待时间阈值。相比于DS、FIFO算法,该算法有效缩短了任务响应时间。
三支决策理论体系的引入,将对任务调度提供新思路。本文提出的三支聚类评分(three-way clustering weight,TWCW)算法,对任务进行三支聚类划分,追求最大化资源使用,根据聚类结果中核心态与模糊态任务偏好设置调度策略。
2 TWCW算法 2.1 任务模型在2011公布的Google Cluster Trace中,作业由一个或多个任务构成,与任务相关的属性有优先级、资源请求(resource request)与限制条件等[3]。从任务优先级的角度观察,Google设置了任务的12个优先级,并将其依次划分为高优先级(9-11)、中优先级(2-8)与低优先级(0-1)三类。优先级越高,意味着成功调度的几率更大,拥有更高的服务质量。且各优先级作业,其运行时长,资源使用特征存在异构性。在资源请求的维度上,任务请求的资源主要有CPU与内存空间,通过对CPU与内存在请求率上的回归分析得出,两者存在关联,但关联性较弱(
在trace数据中,作业可分为面向用户的交互式作业与批处理作业,它们对资源的请求存在多样化特性,且主要体现为对计算、内存与带宽资源的请求。因此本文选择在资源请求的维度为任务建模,以
调度器是集群的核心,负责任务的调度与资源的合并、迁移,其调度方式与效率将极大影响集群的性能输出。本文建立的调度模型如图1所示,其主要模块和功能如下:
Download:
|
|
1)调度器(Scheduler):聚类调度,为任务选择合适节点。
2)计算节点(Host):物理机节点,承载虚机。
3)虚机(VM):资源分配的基本单元,执行请求任务。
如图1所示,用户任务(Task)进入任务队列(Task queue),调度器(Scheduler)首先提取Task queue中的任务集合,根据任务属性将其聚类划分为
给定任务集合
基于三支聚类算法,提出任务类簇的三支表示形式:
$c{s_i} = (L(c{s_i}),M(c{s_i}))$ | (2) |
式中:
$T = L(c{s_i}) \cup M(c{s_i}) \cup R(c{s_i})$ | (3) |
$\begin{gathered} L(c{s_i}) \cap M(c{s_i}) = \text{Ø} \\ L(c{s_i}) \cap R(c{s_i}) = \text{Ø} \\ M(c{s_i}) \cap R(c{s_i}) = \text{Ø} \\ \end{gathered} $ | (4) |
若任务
1) 寻找最佳聚类数,使用聚类算法(如k-means)聚类任务集合
2) 确定类簇域对象,首先通过近邻域确定类簇
输入 任务集合
输出
1) 初始化,
2) 随机选取
3) 对于每个任务
4) 更新聚类中心
5) 如果聚类中心不发生变化至6);否则转至3);
6) 计算
7) 考查任务
8) 对于类中剩余非
9) 算法结束,输出结果
在对任务集合T进行三支聚类后得到聚类结果
定义1 类簇评分矩阵
${{ W}_{N{\text ×}M}} = \left[ {\begin{array}{*{20}{c}} {{w_{1,1}}}&{{w_{1,2}}}& \cdots &{{w_{1,M}}} \\ {{w_{2,1}}}&{{w_{2,2}}}& \cdots &{{w_{2,M}}} \\ \vdots & \vdots &{}& \vdots \\ {{w_{N,1}}}&{{w_{N,2}}}& \cdots &{{w_{N,M}}} \end{array}} \right],\;N = 3,M = k$ | (5) |
式中:
${{ W}_{3 \times 4}} = \left[ {\begin{array}{*{20}{c}} 4&3&2&1 \\ 3&1&4&2 \\ 2&4&1&3 \end{array}} \right]$ |
观察
在完成对任务的聚类、评分后,根据聚类结果
定义2 主机
${{\rm spac{e}}_{i,j}} = ({{{{\rm allocabl{e}}_{i,j}} - {{\rm allocate{d}}_{i,j}})}/{{{\rm allocabl{e}}_{i,j}}}}$ | (6) |
式中:
定义3 主机
${S_i} = \sum\limits_{j = 1}^N {{\mu _j} \cdot {{\rm spac{e}}_{i,j}},\;N = 3} $ | (7) |
式中
TWCW算法可最大限度的利用空闲资源,根据任务属性评估节点列表
${h_{\rm{target}}} = \max (\sum\limits_{j = 1}^N {{\mu _j}{\rm spac{e}}}_{i,j} ),\;N = 3,i = 1,2, \cdots ,m$ | (8) |
TWCW算法可最大限度的利用空闲资源,根据任务属性评估节点列表
对于
${\mu _j} = \frac{{{w_{j,i}}}}{{\displaystyle\sum\limits_{j = 1}^N {{w_{j,i}}} }},N = 3$ | (9) |
对于
输入 任务
输出 权重因子
1) 初始化权重因子
2) 获取集群资源resource,初始化迭代变量i=0;
3) 计算在第
4) 如果
5) 确定propi中比重最大的第
TWCW算法包括了任务聚类、评分与调度,其中:
1) 三支聚类时间复杂度分析。设任务集合的任务数为
2) 类簇评分时间复杂度分析。设聚类分支数为
3) 选择目标主机时间复杂度分析。设任务集合的任务数为
本文采用cloudsim3.0进行实验。实验模拟1 000个节点,主机均为四核的,单核处理能力为37 274 MIPS。主机 RAM为8 GB,硬盘容量为1 TB,带宽1 Gb/s。随机生成一系列虚拟请求构成的任务(请求序列)。任务的相关参数如表1所示。
实验采用了两个指标来评估TWCW算法的性能:平均响应时间和系统资源利用率。其中,平均响应时间包括等待时间和处理时间,系统资源利用率为主机集合的平均使用率。实验同时实现了k-means[5]和FCM[6]聚类调度算法,观察它们在上述性能方面的表现。
3.2 任务平均响应时间比较实验评估了TWCW聚类调度在任务响应时间的表现。实验分别实现了TWCW、k-means和FCM算法来验证聚类方式的改变对任务响应时间的影响,实验结果分别如图2所示。
Download:
|
|
由图2可以看出TWCW算法比k-means或FCM在任务响应时间上有一定下降。说明TWCW在对任务更细粒度聚类划分后,为任务选择偏好属性更充足的节点,使其能够更快地完成计算操作返回结果从而减少任务运行时间。经统计TWCW算法任务的平均响应时间,相比于FCM与k-means算法减少了约7%。
3.3 集群资源利用率比较实验验证了TWCW算法在资源利用率方面的优化效果。实验分别评估了TWCW、k-means和FCM算法在集群资源利用率方面的表现。实验结果分别如图3~4所示。
Download:
|
|
Download:
|
|
由图3可知,集群资源使用率随着负载的增加而增加,可以看出,在资源请求为1 000~2 000个时3种算法的差别不大,而在请求幅度继续增大时,TWCW算法的优化效果较为明显,相对其他算法最高有近11.3%的改善。
图4中四分位区间内的实线表示资源利用率的中位数。可以观察到,TWCW算法四分位区间相对集中且利用率中位数均高于其他算法,说明相比于k-means或FCM需提前设置聚类分支,TWCW聚类类簇的三支划分与域对象的分类调度能细粒度地将任务匹配给合适资源,避免了节点的过量负载与资源闲置,从而能更有效地平滑集群负载,提高资源使用率。
4 结束语本文在云任务调度中,引入三支聚类评分算法,以提高资源利用率为目标,利用任务的多样化特性,对任务集合进行三支聚类,通过类簇评分调度,实现资源的合理分配。并在试验中实现并比较了k-means和FCM聚类调度算法,考察它们在上述性能方面的表现,实验结果表明:对任务集合细粒度的类簇划分与对象的针对性调度,有利于集群资源利用率与负载均衡。
在未来的工作中,将对任务进行更细化的分类建模,改进任务与资源的匹配模型,且基于节能角度的考虑,对资源负载进行动态迁移,确定虚机迁移阈值的在线学习方案,设计评价函数动态调整阈值区间等。
[1] | BOHRER P, ELNOZAHY E N, KELLER T, et al. The case for power management in web servers[M]//GRAYBILL R, MELHEM R. Power Aware Computing. Boston, MA, USA: Springer, 2002: 261–289. (0) |
[2] | BARROSO L A, HÖLZLE U. The case for energy-proportional computing[J]. Computer, 2007, 40(12): 33-37. DOI:10.1109/MC.2007.443 (0) |
[3] | REISS C, TUMANOV A, GANGER G R, et al. Heterogeneity and dynamicity of clouds at scale: Google trace analysis[C]//Proceedings of the third ACM Symposium on Cloud Computing. New York, NY, USA, 2012: 1–13. (0) |
[4] | LIU Zitao, CHO S. Characterizing machines and workloads on a Google cluster[C]//Proceedings of 2012 41st International Conference on Parallel Processing Workshops. Pittsburgh, PA, USA, 2012: 397–403. (0) |
[5] |
左利云. 云计算中基于任务特性和资源约束的调度方法研究[D]. 广州: 华南理工大学, 2016: 1–139. ZUO Liyun. The scheduling methods based on the task features and resource constraints in cloud computing[D]. Guangzhou, China: South China University of Technology, 2016: 1–139. (0) |
[6] |
刘家志. 模糊C-均值算法在任务调度问题上的应用[C]//第十届中国通信学会学术年会论文集. 沈阳, 中国, 2014: 310–313. LIU Jiazhi. Application of fuzzy c-means algorithm in task scheduling problem[C]//A Collection of Academic Annual Meetings of the Tenth China Communications Society. Shenyang, China, 2014: 310-313. (0) |
[7] |
封良良, 夏晓燕, 贾振红, 等. 实验基于资源预先分类的云计算任务调度算法[J]. 计算机仿真, 2013, 30(10): 363-367, 410. FENG Liangliang, XIA Xiaoyan, JIA Zhenhong, et al. Task scheduling algorithm based on improved particle swarm optimization algorithm in cloud computing environment[J]. Computer simulation, 2013, 30(10): 363-367, 410. DOI:10.3969/j.issn.1006-9348.2013.10.083 (0) |
[8] |
张以利, 杨万扣. 云环境下基于任务分类和LPM优化模型的调度算法[J]. 微型电脑应用, 2013, 29(10): 5-8. ZHANG Yili, YANG Wankou. Scheduling algorithm based on task classifying and linear pogramming model in a cloud environment[J]. Microcomputer application, 2013, 29(10): 5-8. DOI:10.3969/j.issn.1007-757X.2013.10.002 (0) |
[9] |
陈晶晶. 云环境下基于非均匀粒度分类的任务调度算法研究[D].南京: 南京邮电大学, 2015: 1–59. CHEN Jingjing. Research on task scheduling algorithm based on non-uniform granularity classification in cloud environment[D]. Nanjing, China: Nanjing University of Posts and Telecommunications, 2015: 1–59. (0) |
[10] |
高正九, 郑烇, 辛波, 等. 基于任务分类的延迟调度算法[J]. 计算机系统应用, 2014, 23(9): 139-143. GAO Zhengjiu, ZHENG Quan, XIN Bo, et al. Delay scheduling algorithm based on task classification[J]. Computer systemsand & applications, 2014, 23(9): 139-143. DOI:10.3969/j.issn.1003-3254.2014.09.026 (0) |
[11] | YAO Yiyu. The superiority of three-way decisions in probabilistic rough set models[J]. Information sciences, 2011, 181(6): 1080-1096. DOI:10.1016/j.ins.2010.11.019 (0) |
[12] | YAO Yiyu. Three-way decisions with probabilistic rough sets[J]. Information sciences, 2010, 180(3): 341-353. DOI:10.1016/j.ins.2009.09.021 (0) |
[13] | YAO Yiyu. Three-way decision: an interpretation of rules in rough set theory[C]//Proceeding of the 4th International Conference Rough Sets and Knowledge Technology. Gold Coast, Australia, 2009: 642–649. (0) |
[14] | ZHOU Bing, YAO Yiyu, LUO Jigang. Cost-sensitive three-way email spam filtering[J]. Journal of intelligent information systems, 2014, 42(1): 19-45. DOI:10.1007/s10844-013-0254-7 (0) |
[15] | ZHANG Hengru, MIN Fan, HE Xu, et al. A hybrid recommender system based on user-recommender interaction[J]. Mathematical problems in engineering, 2015, 2015: 145636. (0) |
[16] | YAO Jingtao, AZAM Nouman. Web-based medical decision support systems for three-way medical decision making with game-theoretic rough sets[J]. IEEE transactions on fuzzy systems, 2015, 23(1): 3-15. DOI:10.1109/TFUZZ.2014.2360548 (0) |
[17] | QIAN Yuhua, ZHANG Hu, SANG Yanli, et al. Multigranulation decision-theoretic rough sets[J]. International journal of approximate reasoning, 2014, 55(1): 225-237. DOI:10.1016/j.ijar.2013.03.004 (0) |
[18] | LI Huaxiong, ZHOU Xianzhong, HUANG Bing, et al. Cost-sensitive three-way decision: a sequential strategy[M]//LINGRAS P, WOLSKI M, CORNELIS C, et al. Rough Sets and Knowledge Technology. Berlin, Germany: Springer, 2013: 325–337. (0) |
[19] | LIU Dun, LI Tianrui, LIANG Decui. Three-way decisions in dynamic decision-theoretic rough sets[M]//LINGRAS P, WOLSKI M, CORNELIS C, et al. Rough Sets and Knowledge Technology. Berlin, Germany: Springer, 2013: 291–301. (0) |
[20] | SHE Yanhong. On determination of thresholds in three-way approximation of many-valued nm-logic[M]//CORNELIS C, KRYSZKIEWICZ M, ŚLȨZAK D, et al. Rough sets and Current Trends in Computing. Cham, Germany: Springer, 2014: 136–143. (0) |
[21] |
于洪. 三支聚类分析[J]. 数码设计, 2016, 5(1): 31-35, 30. YU Hong. Three-way cluster analysis[J]. Peak data science, 2016, 5(1): 31-35, 30. (0) |
[22] |
于洪, 毛传凯. 基于k-means的自动三支决策聚类方法[J]. 计算机应用, 2016, 36(8): 2061-2065, 2091. YU Hong, MAO Chuankai. Automatic three-way decision clustering algorithm based on k-means[J]. Journal of computer applications, 2016, 36(8): 2061-2065, 2091. (0) |