莫 理,柳本林,張樹(shù)保,羅 勇,劉代國(guó)
(1.西部檢修試驗(yàn)分公司自動(dòng)化檢修部,貴州 興義 562400;2.西部檢修試驗(yàn)分公司生產(chǎn)技術(shù)部,貴州 興義 562400)
高擴(kuò)展性的水電廠光纖測(cè)溫系統(tǒng)能夠處理海量數(shù)據(jù)流,高效分析水電廠光纖測(cè)溫?cái)?shù)據(jù),為水電廠光纖供電提供指導(dǎo)。
文獻(xiàn)[1]將系統(tǒng)可擴(kuò)展性的優(yōu)化問(wèn)題轉(zhuǎn)換為全局通信開(kāi)銷優(yōu)化問(wèn)題;利用迭代求解算法,實(shí)現(xiàn)系統(tǒng)并行擴(kuò)展性。該方法的剖分結(jié)果不準(zhǔn)確,導(dǎo)致系統(tǒng)并行擴(kuò)展性較差。文獻(xiàn)[2]采用IP 溯源技術(shù)建立具有高擴(kuò)展性的求解架構(gòu),動(dòng)態(tài)確定溯源輕量。該方法未有效設(shè)計(jì)系統(tǒng)服務(wù)模塊,導(dǎo)致系統(tǒng)問(wèn)題擴(kuò)展性較差?;谝陨侠碚?,設(shè)計(jì)基于分布式K-means 算法的水電廠光纖測(cè)溫系統(tǒng)。根據(jù)實(shí)際可擴(kuò)展加速比,優(yōu)化系統(tǒng)可擴(kuò)展性,提高水電廠的供電經(jīng)濟(jì)效益。
1.1.1 計(jì)算系統(tǒng)通信可擴(kuò)展加速比
系統(tǒng)執(zhí)行程序時(shí)產(chǎn)生的通信開(kāi)銷稱為真實(shí)情況[3]。假設(shè)程序執(zhí)行的所有通信開(kāi)銷為0,將其稱作理想情況。程序在真實(shí)情況和理想情況下的執(zhí)行時(shí)間如圖1 所示。
圖1 系統(tǒng)程序的執(zhí)行
設(shè)系統(tǒng)各個(gè)程序進(jìn)程為i=1,2,…,a,理想執(zhí)行時(shí)間為pi,真實(shí)執(zhí)行時(shí)間為li,則系統(tǒng)程序的真實(shí)執(zhí)行時(shí)間Pa、理想執(zhí)行時(shí)間La的計(jì)算公式為:
通信開(kāi)銷,是系統(tǒng)程序由于通信而增加的開(kāi)銷[4]。定義通信開(kāi)銷因子f為:
系統(tǒng)的實(shí)際加速比E為:
式中,S為系統(tǒng)程序串行版本的執(zhí)行時(shí)間[5]。當(dāng)系統(tǒng)規(guī)模增大時(shí),實(shí)際加速比出現(xiàn)上確界。利用通信墻,定義E值上確界。當(dāng)系統(tǒng)存在通信墻時(shí),判定系統(tǒng)通信不可擴(kuò)展;當(dāng)系統(tǒng)不存在通信墻時(shí),判定其可擴(kuò)展。結(jié)合金錢加速比和實(shí)際加速比,得到通信可擴(kuò)展加速比A為:
式中,c1為系統(tǒng)一個(gè)處理單元的金錢開(kāi)銷,ci為i個(gè)系統(tǒng)處理單元的并行機(jī)金錢開(kāi)銷[6]。由式(4)可知,使用頻率高的處理器,能增加系統(tǒng)處理單元數(shù)量,從而加快鏈路和路由器的運(yùn)行速度,擴(kuò)大網(wǎng)絡(luò)規(guī)模。至此完成系統(tǒng)通信可擴(kuò)展加速比的計(jì)算。
1.1.2 計(jì)算系統(tǒng)能耗可擴(kuò)展加速比
當(dāng)系統(tǒng)規(guī)模增長(zhǎng)時(shí),僅將有效工作產(chǎn)生的能量消耗,視作負(fù)載均衡的理想系統(tǒng)能耗[7]。將系統(tǒng)實(shí)際運(yùn)行的能量消耗,視作系統(tǒng)實(shí)際情況的能耗。能量消耗隨系統(tǒng)規(guī)模增長(zhǎng)的變化情況如圖2 所示。
圖2 能耗隨系統(tǒng)規(guī)模增長(zhǎng)的變化
設(shè)系統(tǒng)節(jié)點(diǎn)有效計(jì)算能耗為g1,網(wǎng)絡(luò)有效通信能耗為g2,網(wǎng)絡(luò)資源能耗為g3,節(jié)點(diǎn)空轉(zhuǎn)能耗為g4,其中g(shù)1不隨系統(tǒng)規(guī)模的增長(zhǎng)而改變,則系統(tǒng)n個(gè)節(jié)點(diǎn)的理想能耗Mn、實(shí)際能耗Rn的計(jì)算公式為:
系統(tǒng)能耗因子b的表達(dá)式為:
設(shè)系統(tǒng)節(jié)點(diǎn)為j=1,2,…,n,系統(tǒng)能耗實(shí)際加速比u的計(jì)算公式為:
其中,Rj為系統(tǒng)在j個(gè)節(jié)點(diǎn)上運(yùn)行產(chǎn)生的能量消耗,T1、Tj分別為系統(tǒng)在一個(gè)節(jié)點(diǎn)、j個(gè)節(jié)點(diǎn)上完成水電廠光纖測(cè)溫工作量所需要的時(shí)間[8]。分析性能增長(zhǎng)與能耗增長(zhǎng)的內(nèi)在關(guān)系,利用能耗性能率度量額外能量消耗對(duì)光纖測(cè)溫系統(tǒng)計(jì)算性能的影響程度[9]。系統(tǒng)能耗可擴(kuò)展加速比Z為:
其中,V為系統(tǒng)能耗性能率[10]。通過(guò)系統(tǒng)能耗可擴(kuò)展加速比Z,體現(xiàn)系統(tǒng)有效計(jì)算能耗與并行引入額外總能耗之間的變化關(guān)系[11]。至此完成系統(tǒng)可擴(kuò)展性模型的構(gòu)建。
利用協(xié)同過(guò)濾系統(tǒng)可擴(kuò)展性模型優(yōu)化系統(tǒng)可擴(kuò)展性。在模型中輸入水電廠光纖測(cè)溫的歷史數(shù)據(jù),不斷擴(kuò)大數(shù)據(jù)規(guī)模,通過(guò)分布式K-means 算法計(jì)算水電廠光纖測(cè)溫?cái)?shù)據(jù)的相似度[12]。定義測(cè)溫?cái)?shù)據(jù)的樣本集合Q為:
其中,xm=(xm1,xm2,…,xmd) 為第m項(xiàng)數(shù)據(jù) 的d個(gè)不同屬性,U為數(shù)據(jù)集合的樣本容量[13]。分布式Kmeans 算法的聚類中心B為:
其中,Ge為第e個(gè)簇類中心點(diǎn),K為簇類個(gè)數(shù)[14]。計(jì)算模型樣本集合中,任意兩個(gè)數(shù)據(jù)xm和Ge之間的歐氏距離J(xm,Ge)為:
歐氏距離J(xm,Ge)越小,樣本數(shù)據(jù)的相似度越高[15]。
根據(jù)模型樣本集合的聚類數(shù)量,劃分系統(tǒng)并行計(jì)算的任務(wù)數(shù)目,聚合相似度高的樣本數(shù)據(jù)放在同一個(gè)任務(wù)中。分散模型的樣本數(shù)據(jù)集,并行處理多個(gè)任務(wù)[16]。將分散的數(shù)據(jù)集塊存儲(chǔ)在系統(tǒng)的多個(gè)節(jié)點(diǎn)上,使系統(tǒng)通過(guò)元數(shù)據(jù)節(jié)點(diǎn)交互數(shù)據(jù),每個(gè)小數(shù)據(jù)集都可以并行操作,處理水電廠光纖測(cè)溫?cái)?shù)據(jù),實(shí)現(xiàn)系統(tǒng)的分布式擴(kuò)展。至此完成基于分布式K-means 算法的系統(tǒng)可擴(kuò)展性優(yōu)化,實(shí)現(xiàn)基于分布式K-means算法的水電廠光纖測(cè)溫系統(tǒng)可擴(kuò)展性優(yōu)化方法設(shè)計(jì)。
將該文設(shè)計(jì)方法與文獻(xiàn)[1]、文獻(xiàn)[2]所提方法進(jìn)行對(duì)比實(shí)驗(yàn),驗(yàn)證三組方法優(yōu)化系統(tǒng)可擴(kuò)展性的有效性。
水電廠光纖測(cè)溫系統(tǒng)實(shí)驗(yàn)環(huán)境包含兩個(gè)環(huán)境,分別為分布式運(yùn)行環(huán)境和串行運(yùn)行環(huán)境。分布式環(huán)境采用Hadoop 框架配置,版本為Cloudera Hadoop;串行環(huán)境采用普通PC 機(jī)。實(shí)驗(yàn)平臺(tái)為多個(gè)節(jié)點(diǎn)組成 的Cluster,節(jié)點(diǎn)由18GB RAM 和2.98G 8 核Intel Xeom X9870 CPU 組成。系統(tǒng)搭建Hadoop 節(jié)點(diǎn)集群,集群通信基于MPI 庫(kù)實(shí)現(xiàn)。系統(tǒng)數(shù)據(jù)集選擇某水電廠測(cè)溫的開(kāi)放數(shù)據(jù)集,該數(shù)據(jù)集提供多種規(guī)模數(shù)據(jù)集,將數(shù)據(jù)集寫入HDFS 中。實(shí)驗(yàn)環(huán)境如表1 所示[17]。
表1 實(shí)驗(yàn)環(huán)境配置
Hadoop 節(jié)點(diǎn)集群使用VMware 虛擬機(jī),在PC 機(jī)上虛擬出15臺(tái)主機(jī),命名為Master、Slavel1-Slavel14,模擬網(wǎng)絡(luò)可容納的節(jié)點(diǎn)數(shù)量,節(jié)點(diǎn)IP 地址分布如表2 所示。
表2 Hadoop集群節(jié)點(diǎn)IP地址
2.2.1 系統(tǒng)并行可擴(kuò)展性實(shí)驗(yàn)結(jié)果
固定系統(tǒng)測(cè)試的數(shù)據(jù)集規(guī)模,改變系統(tǒng)測(cè)溫程序的并行度,測(cè)試分布式運(yùn)行環(huán)境和串行運(yùn)行環(huán)境中各個(gè)并行度下的通信執(zhí)行時(shí)間。通信時(shí)間占比越低,表示并行擴(kuò)展性越好,實(shí)驗(yàn)對(duì)比結(jié)果如圖3所示。
圖3 系統(tǒng)通信時(shí)間占比實(shí)驗(yàn)結(jié)果
由圖3 可知,設(shè)計(jì)方法的通信時(shí)間占比,明顯低于文獻(xiàn)[1]、文獻(xiàn)[2]所提方法,并行擴(kuò)展性優(yōu)化效果更好。
2.2.2 系統(tǒng)問(wèn)題可擴(kuò)展性實(shí)驗(yàn)結(jié)果
固定系統(tǒng)測(cè)溫程序的并行度,改變系統(tǒng)測(cè)試的數(shù)據(jù)集規(guī)模,測(cè)試分布式運(yùn)行環(huán)境和串行運(yùn)行環(huán)境中,各個(gè)問(wèn)題規(guī)模下的總執(zhí)行時(shí)間??倛?zhí)行時(shí)間占比越低,表示系統(tǒng)問(wèn)題擴(kuò)展性越好,實(shí)驗(yàn)對(duì)比結(jié)果如圖4 所示。
圖4 系統(tǒng)總執(zhí)行時(shí)間占比實(shí)驗(yàn)結(jié)果
由圖4 可知,設(shè)計(jì)方法的總執(zhí)行時(shí)間占比,要明顯低于文獻(xiàn)[1]、文獻(xiàn)[2]所提方法的總執(zhí)行時(shí)間占比,問(wèn)題擴(kuò)展性優(yōu)化效果更好。
2.2.3 系統(tǒng)響應(yīng)時(shí)間對(duì)比結(jié)果
改變集群節(jié)點(diǎn)數(shù)量,采用450 GB 數(shù)據(jù)集,測(cè)試分布式環(huán)境和串行環(huán)境中的系統(tǒng)響應(yīng)時(shí)間,實(shí)驗(yàn)對(duì)比結(jié)果如表3 所示。
表3 系統(tǒng)響應(yīng)時(shí)間實(shí)驗(yàn)結(jié)果
由表3 可知,節(jié)點(diǎn)數(shù)目增加時(shí),系統(tǒng)響應(yīng)時(shí)間隨之減少。在分布式運(yùn)行環(huán)境中,設(shè)計(jì)方法優(yōu)化后,系統(tǒng)平均響應(yīng)時(shí)間為151 s,響應(yīng)時(shí)間最低。在串行運(yùn)行環(huán)境中,設(shè)計(jì)方法響應(yīng)時(shí)間為306 s,響應(yīng)時(shí)間最短,提高了系統(tǒng)處理大規(guī)模數(shù)據(jù)的響應(yīng)效率。
文中研究?jī)?yōu)化了水電廠光纖測(cè)溫系統(tǒng)可擴(kuò)展性,充分利用分布式K-means 算法的技術(shù)優(yōu)勢(shì),提高了系統(tǒng)并行擴(kuò)展性和問(wèn)題擴(kuò)展性的優(yōu)化效果。但該研究仍存在一定不足,未來(lái)可以結(jié)合協(xié)同過(guò)濾推薦算法,緩解水電廠大數(shù)據(jù)稀疏性,進(jìn)一步減少計(jì)算資源的浪費(fèi)。