计算机应用   2017, Vol. 37 Issue (8): 2218-2222  DOI: 10.11772/j.issn.1001-9081.2017.08.2218
0

引用本文 

王梓懿, 安俊秀, 王鹏. 基于多尺度量子谐振子算法的相空间概率聚类算法[J]. 计算机应用, 2017, 37(8): 2218-2222.DOI: 10.11772/j.issn.1001-9081.2017.08.2218.
WANG Ziyi, AN Junxiu, WANG Peng. Phase space probabilistic clustering algorithm based on multi-scale quantum harmonic oscillator algorithm[J]. Journal of Computer Applications, 2017, 37(8): 2218-2222. DOI: 10.11772/j.issn.1001-9081.2017.08.2218.

基金项目

国家自然科学基金资助项目(71673032)

通信作者

安俊秀, E-mail: 86631589@qq.com

作者简介

王梓懿(1993-), 男, 广西贺州人, 硕士研究生, 主要研究方向:分布式计算、智能算法;
安俊秀(1970-), 女, 山西临汾人, 教授, 硕士, CCF会员, 主要研究方向:社会计算、分布式计算;
王鹏(1975-), 男, 四川乐山人, 教授, 博士, CCF会员, 主要研究方向:分布式计算、智能算法

文章历史

收稿日期:2017-02-15
修回日期:2017-03-13
基于多尺度量子谐振子算法的相空间概率聚类算法
王梓懿1, 安俊秀1, 王鹏2    
1. 成都信息工程大学 并行计算实验室, 成都 610225;
2. 西南民族大学 计算机科学与技术学院, 成都 610225
摘要: 针对大型集群难以进行任务调度和资源分配的问题,提出一种基于多尺度量子谐振子算法的相空间概率聚类算法(PSPCA-MQHOA)。首先,将集群工作状态投影到相空间中,把复杂的集群工作状态转化为相空间中的点集;进而,将相空间网格化,形成多尺度量子谐振子算法(MQHOA)以处理离散目标函数;最后,利用MQHOA优化过程中波函数变化的概率解释对集群节点进行概率聚类。PSPCA-MQHOA继承了MQHOA物理模型明确、搜索能力强、结果精确等优点,并且由于以相空间作为离散化的目标函数,迭代次数大大减少。实验结果表明PSPCA-MQHOA能适用于多种负载状态的集群。
关键词: 概率聚类    量子谐振子    相空间    波函数    集群    
Phase space probabilistic clustering algorithm based on multi-scale quantum harmonic oscillator algorithm
WANG Ziyi1, AN Junxiu1, WANG Peng2     
1. Parallel Computing Laboratory, Chengdu University of Information Technology, Chengdu Sichuan 610225, China;
2. School of Computer Science and Technology, Southwest Minzu University, Chengdu Sichuan 610225, China
Abstract: A Phase Space Probabilistic Clustering Algorithm based on Multi-scale Quantum Harmonic Oscillator Algorithm (PSPCA-MQHOA) was proposed to solve the task scheduling and resource allocation of large clusters. Firstly, the cluster operating status was projected into the phase space, and the complex working state was transformed into the point set in the phase space. Furthermore, the phase space was meshed to form the Multi-scale Quantum Harmonic Oscillator Algorithm (MQHOA) for discrete objective function. Finally, probabilistic clustering of cluster nodes was carried out by using the probability interpretation of wave function in the MQHOA process. PSPCA-MQHOA inherits the advantages of MQHOA, such as explicit physical model, strong search capabilities and accurate results, and it has few iterations due to the discretized phase space. Experimental results show that PSPCA-MQHOA can be applied to clusters in a variety of load conditions.
Key words: probabilistic clustering    quantum harmonic oscillator    phase space    wave function    cluster    
0 引言

随着云计算技术的大面积普及与应用,集群的规模将越来越大[1];同时节点间频繁的迁移、备份、失效处理等高耦合性操作对集群的任务调度和资源分配造成了巨大的困难[2-4]。一种有效的处理方案是:把集群节点按照工作状态聚类,同一聚类中的节点具有相同的负载状态,如CPU占用率、内存占用率、I/O吞吐量、磁盘空间、网络通信状态等。文献[5]运用模糊聚类技术把计算机划分成若干个能力均衡的逻辑集群;文献[6]使用改进的C均值聚类算法计算出集群节点聚类中心和分类结果。但是目前所有聚类算法都不能保证完全准确地把每一个实例划分到合理的类,如果给出节点属于各个类的概率来形成概率聚类,将有助于消除传统聚类问题中硬性而快速的判断方案引发的脆弱性[7]。在聚类的实际应用中已经有学者使用了概率模型[8-10],然而使用概率模型对集群节点按工作状态聚类的应用尚未见诸文献。

对相空间理论的研究发现,传统相空间同样适用于云计算系统的分析。文献[11]首次提出云计算相空间的概念,为分析云计算集群提供了思路;文献[12]提出了多尺度量子谐振子算法(Multi-scale Quantum Harmonic Oscillator Algorithm, MQHOA),其在收敛过程中波函数的特征对集群概率聚类具有启发作用;文献[13]基于MQHOA的高斯采样提出了一种聚类中心选取算法,证明了MQHOA用于聚类的可行性,但该算法不适用于密度分布呈多峰特性的数据集。本文在相空间的基础上利用多尺度量子谐振子算法的搜索聚焦能力,根据其收敛过程中波函数变化的概率解释,提出了基于多尺度量子谐振子算法的相空间概率聚类算法(Phase Space Probabilistic Clustering Algorithm base on Multi-scale Quantum Harmonic Oscillator Algorithm, PSPCA-MQHOA),并通过三种模拟集群实验验证了PSPCA-MQHOA能适用于多种负载状态的集群。

1 相空间模型与多尺度量子谐振子算法 1.1 相空间投影与网格化

目前基于云计算相空间的研究已经有一定的成果[14-16]。文献[11]给出了云计算相空间的一般定义:在云计算系统中以服务器的n个工作状态参数为坐标轴所形成的n维空间称为云计算系统的相空间。

对于只考虑两个工作状态xy的拥有p个节点的集群,可以由相空间中的点集C表示:C={(xi, yi):ip}。某集群节点的CPU占用率和内存占用率在相空间中的投影如图 1所示,进一步将相空间划分为n×n的网格,根据每个网格在相空间中的位置附加坐标,投影到相空间的节点就必然落入某一个网格中。

图 1 网格化相空间投影 Figure 1 Meshed phase space projection

将相空间如上述过程网格化后便可以运用MQHOA对节点进行聚类。如果把每一个网格当成一个点,落在网格中的节点数量当成函数值,整个相空间就可以抽象为一个离散的目标函数F(x, y),其定义域为:1≤xn2, 1≤yn2(x, y为整数)。此时网格取代连续目标函数中的点成为最小的计算单位,落入网格中的节点越多视为更优的采样位置,聚类的过程转化为优化问题,网格划分得越密计算的结果越精确。

1.2 多尺度量子谐振子算法在PSPCA-MQHOA中的应用

量子力学以其完备的理论成为现代物理学的基础支柱之一,在多种技术中得到了广泛的应用,其中量子谐振子的运动规律对优化问题有重要的启示。多尺度量子谐振子算法(MQHOA)就是一种模仿量子谐振子从高能态向基态收敛过程的函数优化算法,文献[17]详细介绍了其物理模型。MQHOA的波函数表示了目标函数在定义域上最优解出现位置的概率密度,由算法在函数优化的收敛过程中高斯函数的叠加形成。文献[12]给出了MQHOA在高维坐标分量xi的归一化波函数公式:

$ \psi {\rm{(}}x{\rm{)}} = \sum\limits_{i = 1}^k {\frac{1}{{\sqrt {2{\rm{ \mathsf{ π} }}} \sigma k}}\exp [-\frac{{{{(x-{x_i})}^2}}}{{2{\sigma ^2}}}]} $ (1)

PSPCA-MQHOA的概率聚类过程就是寻找网格化相空间中局部包含节点最多的网格的过程,其波函数表示了网格化相空间中包含节点最多的网格出现位置的概率密度,以此波函数可以确定聚类个数, 计算各网格中节点分属于各聚类的概率。PSPCA-MQHOA过程可以视为MQHOA对一个离散目标函数的多峰优化过程。

2 PSPCA-MQHOA 2.1 PSPCA-MQHOA原理分析

根据MQHOA在相空间上的优化过程设计PSPCA-MQHOA的基本思想:将集群工作状态投影到相空间,把相空间划分为n×n个网格。在n×n个网格中随机选取k个网格作为采样网格集合K。对K中每一个采样网格ki(1≤ik)按标准差为当前尺度σs的高斯函数N(ki, σs2)生成新的网格,若新网格中的节点数大于采样网格ki中的节点数,则用新网格替换采样网格ki。如此对每一个ki进行m次高斯采样,然后计算采样网格位置之间标准差变化量的最大值MAX(Δσk),若MAX(Δσk)小于当前尺度σs,则把当前尺度σs减半,重复进行以上过程直到当前尺度σs小于预定义的停止尺度σ。以此形成一种类似于MQHOA多峰问题的解决办法。

图 2为尺度收敛下采样网格的移动情况,图中网格中的数字表示被投影到该网格的节点数,被阴影覆盖的网格为当前采样网格,图 2(a)~(d)分别为尺度在12.5、6.25、3.125、1.562 5下的采样网格位置,从中可以看出随着算法尺度的收敛,采样网格朝着局部节点数最多的网格聚拢。

图 2 尺度收敛下采样网格的移动情况 Figure 2 Movement of sampling mesh under scale convergence
2.2 PSPCA-MQHOA基本流程

算法1  PSPCA-MQHOA。

输入  集群状态相空间, 采样网格个数k, 采样参数m, 算法停止尺度σ, 搜索尺度σs

输出  集群节点概率聚类的结果。

步骤1  把集群状态相空间划分为n×n的网格,随机生成k个初始采样网格。

步骤2  对每一个采样网格ki,按标准差为σs的高斯分布N(ki, σs2)生成新的采样网格,若生成的网格包含更多节点则用新网格更新当前采样网格,每个采样网格重复此过程m次。

步骤3  若k个采样网格位置标准差变化量的最大值MAX(Δσk)满足MAX(Δσk)≥σs, 则返回步骤2,否则进入步骤4。

步骤4  若σsσ,搜索尺度减半σs=σs/2,返回步骤2;否则算法结束,此时的波函数图像就表示集群的概率聚类。

PSPCA-MQHOA的迭代过程由嵌套的两种收敛组成:多尺度收敛和量子谐振子收敛。其中多尺度收敛的次数在网格划分完成后是固定不变的;对于量子谐振子收敛,后续的实验表明其次数在同一尺度下通常为1。

2.3 算法结果分析

PSPCA-MQHOA的输出结果为在停止尺度σ下的波函数,由于PSPCA-MQHOA的波函数表示了包含节点最多的网格出现位置的概率分布,所以波函数图像波峰的位置就是节点数最多的网格最有可能出现的位置,即聚类的中心,波峰的数量则是聚类的数量。类似于量子谐振子处于基态时波函数由多个高斯函数叠加形成,此时的波函数由多个高斯函数在聚类中心处叠加形成。将组成波函数的若干个高斯函数分离出来单独讨论可知,每一个高斯函数都是由数个采样网格在某处聚集形成,则此处必然是一个全局或局部节点数最密集的区域,自然地在这个区域就存在着一个聚类。若将每一个高斯函数代表一个聚类,那么高斯函数的函数值就是网格中节点属于其代表聚类的概率贡献,因此每一个网格中的节点都有属于各个聚类的概率贡献,将其归一化后就得出了节点属于各个聚类的概率。综上所述,对算法输出的波函数进行如下处理后形成了集群节点的概率聚类:

假设算法停止时波函数图像有c个波峰,则该集群节点按工作状态可分为c个聚类,记为Ci。坐标为(x, y)的网格处的波函数值为c个高斯函数在(x, y)处的叠加,即:Ψ(x, y)= $ \sum\limits_{i = 1}^c {f(x, y, i)} $,其中f(x, y, i)为第i个高斯函数在网格(x, y)处提供的波函数值,则网格(x, y)中的节点分属于各类的概率为:P[Ci|(x, y)]=f(x, y, i)/Ψ(x, y)。

3 实验分析

本章在二维相空间下对PSPCA-MQHOA进行实验,对算法参数进行分析,以确定实验中使用的算法停止尺度σ、采样网格个数k和采样参数m的选取;然后对三种模拟集群的工作状态进行概率聚类实验,输出其波函数图像,并与传统聚类算法进行比较。

3.1 实验参数的分析

PSPCA-MQHOA的精确性与网格的划分有密切关系,网格划分得越密算法的结果越精确,然而计算开销越大。实际情况中需要根据集群中节点的数量动态调整网格划分的密度,因此不详细讨论网格的划分密度。为确定实验参数使用的测试数据为拥有四个聚类中心的二维数据集,其在相空间的投影如图 3所示,并假设相空间划分为n×n个网格,参数kmσ将以n的倍数进行取值。

图 3 四聚类中心测试数据集 Figure 3 Test data set with four clustering centers
3.1.1 算法停止尺度σ的分析与选取

算法停止尺度σ的取值直接关系着波函数的形态,σ取值过大则算法过早停止,波函数在聚类位置叠加次数不足,如图 4(a)所示为σ=n/2时波函数的俯视图;σ取值过小则算法收敛过度,波函数在聚类中心处过度叠加,如图 4(b)所示为σ=n/30时波函数的正视图。实验的σ取值为n/2与n/30之间的一个合适的中间值σ=n/10,其波函数图像俯视图如图 4(c)所示。

图 4 σ不同取值下的波函数图像 Figure 4 Wave function images with different values of σ
3.1.2 采样网格个数k、采样参数m的分析与选取

PSPCA-MQHOA参数km的选取会影响算法得到的聚类个数和聚类的位置。通过使用召回率(Recall)和精确率(Precision)来衡量km取值不同时算法测试结果的好坏。其中:召回率R侧重于考查算法的查全率,计算方式如式(2) 所示;精确率P侧重于考查算法的查准率,计算方式如式(3) 所示。

$ R = {\rm{算法得出的与测试数据吻合的聚类数/测试数据的聚类数}} $ (2)
$ P = {\rm{算法得出的与测试数据吻合的聚类数/算法得出的所有聚类数}} $ (3)

以相空间网格密度n的不同倍数对参数km进行取值,组成若干个不同的km参数组合,对测试数据进行聚类实验,记录10次实验的平均召回率和精确率,如表 1所示。从表 1可以看出,参数km共同影响算法的召回率和精确率。当k较小时,算法的召回率较低,这是因为采样网格数过少,无法全面覆盖所有局部节点最多的网格;当m较小时,算法的精准率较低,这是因为算法以高斯采样寻找更优网格的次数过少,采样网格没有完全聚集到局部节点最多的网格。随着参数km取值的增大,算法的召回率和精确率趋近于1。理论上参数km越大算法越稳定,计算开销也越大。同时考虑到算法的稳定性与效率,实验参数km的取值为:k=n×1.5, m=n×2.0。

表 1 不同km取值下平均召回率和精确率 Table 1 Average recall rate and precision rate of different k, m values
3.2 概率聚类实验

实验使用的数据为三种不同负载状态下的模拟集群Cluster1、Cluster2、Cluster3。其中:Cluster1处于低负荷状态;Cluster2处于负载不均衡状态;Cluster3中有两组节点负荷相似。它们在网格化的相空间投影如图 5所示。

图 5 三种模拟集群相空间投影图 Figure 5 Phase space projection of three simulated clusters

下面使用PSPCA-MQHOA对上述三种集群按工作状态进行概率聚类,网格密度n为20,实验参数为σ=n/10,k=n×1.5,m=n×2.0。算法输出的波函数如图 6所示。图 6(a)为三种集群状态波函数的正视图,图 6(b)为三种集群状态波函数的俯视图。从图 6可以看出,PSPCA-MQHOA的波函数图像正好对应了集群节点的聚类情况,算法不仅可以应用在节点数量少、负载状态单一的集群,对节点数量多、负载不均衡的集群也同样适用,同时能区分集群中负载状态十分相似的节点。

图 6 三种集群数据的波函数图像 Figure 6 Wave function images of three clusters

在算法的两种收敛中,量子谐振子收敛的次数由采样网格移动情况与当前搜索尺度的关系决定,上述实验中这种关系如图 7所示。从图 7中可以看出,采样网格位置标准差变化量的最大值均小于当前搜索尺度,即每次量子谐振子收敛过程中,只需进行一次高斯采样便可生成满足条件的采样网格,当前尺度下量子谐振子收敛次数为1。这是由于网格化的相空间是一个定义域取值范围很小的离散目标函数,每次采样后网格位置的变化都非常小。因此,PSPCA-MQHOA的性能只与网格划分、集群工作状态数量和参数km有关,与相空间的投影情况(即集群负载情况)无关。

图 7 采样网格标准差变化量与搜索尺度的关系 Figure 7 Relationship between variation of standard deviation of sampling grid and search scale

使用2.3节所述的方法将集群节点进行聚类,并将聚类结果与经典聚类算法K-means和DBSCAN(Density-Based Spatial Clustering of Applications with Noise)进行比较,如表 2所示,其中K-means算法在数据集Cluster1、Cluster2、Cluster3中K取值分别为1、3、2。

表 2 不同聚类算法的正确率比较 Table 2 Accuracy comparison of different clustering algorithms

表 2可以看出:对于Cluster1,由于聚类只有一个,各算法的效果相当;对于Cluster2和Cluster3,K-means算法的效果最好,但K-means算法比较依赖K的设定。在不需要提前设定聚类个数的算法中,PSPCA-MQHOA的效果略好于DBSCAN算法。

4 结语

PSPCA-MQHOA将相空间离散化后作为MQHOA的目标函数,将普通的聚类问题转化为MQHOA的多峰优化问题,并用波函数表示集群的概率聚类。通过对三种模拟集群的聚类实验,验证了PSPCA-MQHOA能适用于多种负载状态的集群,并且算法具有迭代次数少、结果直观明确等优点。使用波函数对集群节点进行概率聚类也给云计算系统分析、云计算监控、负载均衡调度等工作提供了新思路。

参考文献(References)
[1] 陈康, 郑纬民. 云计算:系统实例与研究现状[J]. 软件学报, 2009, 20(5): 1337-1348. (CHEN K, ZHENG W M. Cloud computing:system instances and current research[J]. Journal of Software, 2009, 20(5): 1337-1348.)
[2] 李建锋, 彭舰. 云计算环境下基于改进遗传算法的任务调度算法[J]. 计算机应用, 2011, 31(1): 184-186. (LI J F, PENG J. Task scheduling algorithm based on improved genetic algorithm in cloud computing environment[J]. Journal of Computer Applications, 2011, 31(1): 184-186.)
[3] 华夏渝, 郑骏, 胡文心. 基于云计算环境的蚁群优化计算资源分配算法[J]. 华东师范大学学报(自然科学版), 2010(1): 127-134. (HUA X Y, ZHENG J, HU W X. Ant colony optimization algorithm for computing resource allocation based on cloud computing environment[J]. Journal of East China Normal University (Natural Science), 2010(1): 127-134.)
[4] ERGU D, KOU G, PENG Y, et al. The analytic hierarchy process:task scheduling and resource allocation in cloud computing environment[J]. The Journal of Supercomputing, 2013, 64(3): 835-848. DOI:10.1007/s11227-011-0625-1
[5] 刘伯成, 陈庆奎. 云计算中的集群资源模糊聚类划分模型[J]. 计算机科学, 2011, 38(10A): 157-160, 168. (LIU B C, CHEN Q K. Fuzzy clustering partition model for computer cluster in cloud computing[J]. Computer Science, 2011, 38(10A): 157-160, 168.)
[6] 姚婧, 何聚厚. 基于模糊聚类分析的云计算负载平衡策略[J]. 计算机应用, 2012, 32(1): 213-217. (YAO J, HE J H. Load balance strategy of cloud computing based on fuzzy clustering analysis[J]. Journal of Computer Applications, 2012, 32(1): 213-217.)
[7] WITTEN I H, FRANK E, HALL M A. Data Mining:Practical Machine Learning Tools and Techniques[M]. 3rd ed. San Francisco, CA:Morgan Kaufmann Publishers Inc., 2011:285-287.
[8] MADDAH M, WELLS W M, Ⅲ, WARFIELD S K, et al. Probabilistic clustering and quantitative analysis of white matter fiber tracts[C]//IPMI 2007:Proceedings of the 20th International Conference on Information Processing in Medical Imaging, LNCS 4584. Berlin:Springer-Verlag, 2007:372-383.
[9] VOGT J E, KLOFT M, STARK S, et al. Probabilistic clustering of time-evolving distance data[J]. Machine Learning, 2015, 100(2/3): 635-654.
[10] LU Z, LEEN T K. Penalized probabilistic clustering[J]. Neural Computation, 2007, 19(6): 1528-1567. DOI:10.1162/neco.2007.19.6.1528
[11] 王鹏. 云计算系统相空间广义热力学参数定义及分析[J]. 计算机应用, 2012, 32(8): 2172-2175. (WANG P. Definitions and analysis of general thermodynamic parameters in cloud computing phase space[J]. Journal of Computer Applications, 2012, 32(8): 2172-2175.)
[12] 王鹏, 黄焱, 任超, 等. 多尺度量子谐振子高维函数全局优化算法[J]. 电子学报, 2013, 41(12): 2468-2473. (WANG P, HUANG Y, REN C, et al. Multi-scale quantum harmonic oscillator for high-dimensional function global optimization algorithm[J]. Acta Electronica Sinica, 2013, 41(12): 2468-2473. DOI:10.3969/j.issn.0372-2112.2013.12.023)
[13] 燕京京, 王鹏, 范家兵, 等. 基于量子谐振子模型的聚类中心选取算法[J]. 电子学报, 2016, 44(2): 405-412. (YAN J J, WANG P, FAN J B, et al. Clustering center selecting algorithm based on quantum harmonic oscillator model[J]. Acta Electronica Sinica, 2016, 44(2): 405-412.)
[14] 张磊, 王鹏, 黄焱, 等. 基于相空间的云计算仿真系统研究与设计[J]. 计算机科学, 2013, 40(2): 84-86. (ZHANG L, WANG P, HUANG Y, et al. Research and design of cloud computing simulation system based on phase space[J]. Computer Science, 2013, 40(2): 84-86.)
[15] 郭又铭, 王鹏, 唐华, 等. 基于相空间的云计算专用监控系统[J]. 计算机工程, 2013, 39(7): 40-44. (GUO Y M, WANG P, TANG H, et al. Specialized cloud computing monitoring system based on phase space[J]. Computer Engineering, 2013, 39(7): 40-44.)
[16] 王鹏, 黄焱, 李坤, 等. 云计算集群相空间负载均衡度优先调度算法研究[J]. 计算机研究与发展, 2014, 51(5): 1095-1107. (WANG P, HUANG Y, LI K, et al. Load balancing degree first algorithm on phase space for cloud computing cluster[J]. Journal of Computer Research andt Development, 2014, 51(5): 1095-1107. DOI:10.7544/issn1000-1239.2014.20120808)
[17] 王鹏, 黄焱. 多尺度量子谐振子优化算法物理模型[J]. 计算机科学与探索, 2015, 9(10): 1271-1280. (WANG P, HUANG Y. Physical model of multi-scale quantum harmonic oscillator optimization algorithm[J]. Journal of Frontiers of Computer Science and Technology, 2015, 9(10): 1271-1280.)