陳平+皇甫大鵬+林曼筠+趙現綱
(1.北京師范大學信息網絡中心,北京 100875;2.中國氣象局國家衛(wèi)星氣象中心,北京 100081)
摘 要:隨著教育領域的應用軟件種類的不斷增加,如何為軟件提供合理的硬件資源和提高軟件的運行效率受到越來越多的關注。本文提出了一套基于軟件運行特征的軟件分型方法,該方法利用軟件運行時資源消耗情況來刻畫軟件運行特征。首先引用主成分分析方法對軟件運行特征數據進行分析;然后采用聚類算法對教育領域軟件進行分型;結合主成分分析結果解釋各類軟件綜合運行特征的意義,并將其作為優(yōu)化軟件硬件資源分配和提高軟件運行效率的依據。
關鍵詞:聚類算法;主成分分析;特征分析
中圖分類號:TP391 文獻標志碼:A 文章編號:1673-8454(2017)06-0078-04
一、引言
隨著教育領域系統(tǒng)種類的快速增加和高性能計算軟件的需求的不斷增長,教育領域軟件和系統(tǒng)所依賴的軟硬件資源的運行情況成為人們關注的重點工作。尤其是高校在化學、物理、天文、衛(wèi)星等領域高性能計算的方面的實時、高效方面提出了很大的要求,在無法監(jiān)控軟件內部運行的情況下,如何能夠通過軟件運行特征分析軟件的運行情況,成為研究的熱點。
本文采用的數據是北京師范大學用于教育和科研高性能計算等方面的軟件或系統(tǒng)的運行特征數據,首先,對采集原始軟件運行特征數據進行特征提取和加工,使其更好的表達軟件的特征;其次,使用主成分分析方法對采集的運行特征進行分析,計算主成分提取其特征,并分析其實際意義;然后使用加工后的軟件特征數據進行K-means算法進行[4-6]聚類分析;最后結合主成分分析結果,描述每類軟件的特點。
二、軟件運行特征提取與處理
1.軟件和硬件環(huán)境概述
本文的研究對象是用于教育軟件和科研高性能計算方面的軟件和硬件資源的運行特征,軟件資源包括188個教育軟件;硬件資源包括3臺浪潮小型機和50臺普通服務器,詳細的配置見表1。
2.軟件運行特征數據采集
軟件運行特征數據采集范圍包含188個應用軟件,軟件運行數據的采集方式:是通過定期調用linux命令和接口。軟件運行特征數據采集類型包括CPU級、系統(tǒng)級、進程級和作業(yè)級數據。
3.運行特征數據刻畫
軟件特征分析還需將軟件的運行特征盡量完整的表達,并將每個軟件的運行特征通過一個向量來表達??坍嬡浖\行特征需要從兩個方面來考慮:(1)軟件運行的時間序列特征;(2)消除平臺間差異和系統(tǒng)本身的資源消耗。
4.特征數據歸一化
原始數據中每個運行特征的單位都不一樣,數據之間的大小差異很大,為了減少特征數據之間的差異,首先對數據進行歸一化處理。本文選用Min-max標準化方法是對原始數據進行線性變換。設minA和maxA分別為屬性A的最小值和最大值,將A的一個原始值x通過Min-max標準化映射成在區(qū)間[0,1]中的值x',其公式為:
x'=(x-minA)/(maxA-minA) (1)
三、特征分析法原理
主成分分析方法[1](Principal Component Analysis,PCA)是一種統(tǒng)計方法。通過正交變換將一組可能存在相關性的變量轉換為一組線性不相關的變量,轉換后的這組變量叫主成分。主成分分析的結果好壞,主要取決于指標之間的相關性,如果相關性很強則主成分分析的結果會很好,反之則較差[2]。特征分析法的計算方法與步驟如下。
(1)根據原始數據矩陣計算相關矩陣
原始數據矩陣每行表示1個軟件的運行特征,每列表示軟件1個運行特征的值,通過SPSS軟件分析結果見表2。該矩陣反映了任意兩個軟件的運行特征之間的相關性。
(2)通過總方差提出主成分
根據文獻[2],當ρ(累加%)≥0.8~0.9時,就可以選用前面4-6個主分量代替原來的14個運行特征,并且保留了原來14個運行特征所包含的主要信息,這前4-6個主分量稱為公共影響因子。
(3)計算軟件主體成分
通過表3和表4分析發(fā)現,可以用1、2、3和4四個主成分代表原始矩陣的主要因素。在運行過程中,表達式中的變量已經不是原始變量,而是標準化變量,以第一主成分為例,可被其他標準化變量表示為:
F1=0.732*Zx1+0.547*Zx2+*+0.254*Zx14 (2)
通過分析表4中的四個主成分系數,選取相關性系數較大的運行特征作為分析的因素。表5中可以發(fā)現第一類主成分中主要與運行時長和磁盤讀寫資源相關;第二類主成分主要跟網絡資源和CPI有關;第三類主成分主要與計算資源相關;第四類主成分與內存和緩存有關。
通過表4和表5,提取新的主成分公式如下:
F1=0.732*Zx1+0.722*Zx7+0.736*Zx8+0.652*Zx9+0.766*Zx10+0.755*Zx11(3)
F2=0.715*Zx6+0.681*Zx12+0.63*Zx13+0.775*Zx14(4)
F3=0.779*Zx4+0.774*Zx5(5)
F4=0.798*Zx2+0.706*Zx3(6)
四、聚類分析結果
本文采用改進K-means算法進行聚類,聚類結果如下圖所示,共得出了三種類型:
結合主成分分析結果和聚類結果,容易得出以下結果:第一類中第四主成分值較高,其他值都較低,該類軟件對內存和緩存的要求比較高,為內存密集型軟件;第二類中4個主成分都很高,該類軟件屬于綜合密集型,對CPU、內存、磁盤和網絡的需求量都比較大;第三類中4個主成分都比較低,屬于小規(guī)模資源密集型,該類軟件運行時間比較短,對各種資源的需求量整體偏低。
通過上述兩幅圖表可以發(fā)現,CPU的整體使用率偏低,可以降低CPU的配置或者在此服務器上增加應用軟件。內存使用比較密集且集中,可以增加內存的容量以提升運行速度。軟件對磁盤的讀寫速度要求比較高,突發(fā)性流量加大,建議磁盤配備轉速較高或者增加多級緩存資源,以降低磁盤讀寫對軟件計算的影響。經調研和實驗驗證,上述結果與實際情況相符,可以作為軟硬件資源優(yōu)化的依據。
五、結束語
本文使用主成分分析法和聚類算法對教育和科研軟件進行了特征分析,為軟件提供了特征圖和資源需求情況。該結論可進一步用于分析軟件調度算法提高硬件利用率和降低軟件等待時間。
參考文獻:
[1]馬金龍,景新幸,楊海燕.主成分分析和K-means 聚類在說話人識別中的應用[J].計算機應用, 2015,35( S1) : 127-129.
[2]李柞泳,丁晶,彭莉紅著.環(huán)境質量評價原理與方法[M].化學工業(yè)出版社,2004.
[3]尹成祥,張宏軍,張睿,綦秀利,王彬.一種改進的K-Means算法[J].計算機技術與發(fā)展,2014,24(10):30-33.
[4]HUANGFU Dapeng, LIN Qianhui, ZHOU Jingmin, et al. An Improved Similarity Algorithm for Personalized Recommendation, Computer Science-Technology and Applications 2009, 54-57.
[5]楊文波.信息資源個性化服務技術的研究與實現[D].北京:北京航空航天大學,2006.
[6]孟洋,趙方.基于信息熵理論的動態(tài)規(guī)劃特征選取算法[J].計算機工程與設計,2010,31(17):3879-3881.
[7]原福永,張曉彩,羅思標.基于信息熵的精確屬性賦權K-means聚類算法[J].計算機應用,2011,31(6):1675-1678.
[8]汪中,劉貴全,陳恩紅.一種優(yōu)化初始中心點的K-means算法[J].模式識別與人工智能,2009,22(2):299-304.
[9]李永森,楊善林,馬溪駿.空間聚類算法中的K值優(yōu)化問題研究[J].系統(tǒng)仿真學報,2006,18(3):573-576.
[10]Mac Queen J. Some methods for classification and analysis of multivariate observations[C].Proceeding of the Berkeley symposium on mathematical statistics and probability. [s.1.] [s.n.] 1967:281-297.
(編輯:郭桂真)