999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略

2018-11-30 05:57:36蒲勇霖于炯魯亮卞琛廖彬李梓楊
通信學(xué)報(bào) 2018年10期
關(guān)鍵詞:系統(tǒng)

蒲勇霖,于炯,,魯亮,卞琛,廖彬,李梓楊,4

?

storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略

蒲勇霖1,于炯1,2,魯亮2,卞琛2,廖彬3,李梓楊1,4

(1. 新疆大學(xué)軟件學(xué)院,新疆 烏魯木齊 830008;2. 新疆大學(xué)信息科學(xué)與工程學(xué)院,新疆 烏魯木齊 830046;3. 新疆財(cái)經(jīng)大學(xué)統(tǒng)計(jì)與信息學(xué)院,新疆 烏魯木齊 830012;4. 新疆潤物網(wǎng)絡(luò)有限公司,新疆 烏魯木齊 830002)

針對傳統(tǒng)大數(shù)據(jù)流式計(jì)算平臺節(jié)能策略并未考慮數(shù)據(jù)處理及傳輸?shù)膶?shí)時性問題,首先根據(jù)數(shù)據(jù)流處理的特點(diǎn)與storm集群的結(jié)構(gòu),建立有向無環(huán)圖、實(shí)例并行度、任務(wù)資源分配與關(guān)鍵路徑模型。其次結(jié)合拓?fù)鋱?zhí)行關(guān)鍵路徑與系統(tǒng)性能的分析,提出一種storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略(WNDVR-storm, energy-efficient strategy for work node by dram voltage regulation in storm),該策略針對是否有工作節(jié)點(diǎn)位于拓?fù)鋱?zhí)行的非關(guān)鍵路徑上設(shè)計(jì)了2種節(jié)能算法。最后根據(jù)系統(tǒng)數(shù)據(jù)處理及傳輸?shù)闹萍s條件確定工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值,并對選定的工作節(jié)點(diǎn)內(nèi)存電壓做出動態(tài)調(diào)整。實(shí)驗(yàn)結(jié)果表明,該策略能有效降低能耗,且制約條件越小節(jié)能效率越高。

大數(shù)據(jù);流式計(jì)算;storm;關(guān)鍵路徑;內(nèi)存電壓;能耗

1 引言

近年來,大數(shù)據(jù)相關(guān)研究及應(yīng)用已成為學(xué)術(shù)界和企業(yè)界關(guān)注的熱點(diǎn),其計(jì)算模式主要包括流式計(jì)算、批量計(jì)算、圖計(jì)算與交互計(jì)算等[1-5],且在全球范圍內(nèi)部署了許多大規(guī)模的數(shù)據(jù)中心,其高能耗、高污染與高費(fèi)用等問題也在日益突出[6]。因此,如何有效地解決新興信息技術(shù)帶來的高能耗問題,一直是廣大學(xué)者共同探討的焦點(diǎn)。據(jù)統(tǒng)計(jì),目前IT領(lǐng)域二氧化碳的排放量占全球比例的2%,預(yù)計(jì)到2020年這一比例將翻倍[7]。根據(jù)美國《紐約時報(bào)》報(bào)道:全球數(shù)據(jù)中心每年總用電量超過3 000億kW·h,相當(dāng)于30座核電廠的總發(fā)電量,而巨大的能量卻僅有6%~12%的能源被用于響應(yīng)用戶的請求[8]。特別是隨著大數(shù)據(jù)時代的到來,更多的能源被用于海量數(shù)據(jù)的處理,但其能效不斷降低。因此提高大數(shù)據(jù)計(jì)算過程中的能效,是減少大數(shù)據(jù)處理能耗成本的有效途徑。

目前,數(shù)據(jù)處理的實(shí)時性是衡量大數(shù)據(jù)應(yīng)用性能的一個重要指標(biāo),流式計(jì)算作為新的高性能、可容錯的分布式計(jì)算平臺,存在著能耗過高的問題[9],已經(jīng)給產(chǎn)業(yè)界帶來了巨大的開銷,因此對流式計(jì)算平臺的節(jié)能優(yōu)化是一個亟待解決的問題。無論是出于降低能耗保護(hù)環(huán)境,還是降低大數(shù)據(jù)運(yùn)營成本的目的,研究流式計(jì)算的節(jié)能策略都有著廣闊的應(yīng)用前景。

流式計(jì)算平臺利用內(nèi)存讀寫延遲極低的特性,有效地提高了數(shù)據(jù)的處理效率,但同時伴隨著較高的能耗。現(xiàn)有的流式大數(shù)據(jù)處理框架以twitter的storm[10]平臺為代表。storm是一個開源主從式架構(gòu)的分布式實(shí)時計(jì)算平臺,其編程模型簡單,數(shù)據(jù)處理高效,支持多種編譯語言,且支持拓?fù)浼壢蒎e機(jī)制,相比于不開源的Puma[11]與社區(qū)冷淡的S4[12],storm的應(yīng)用場景更為廣泛;相比于目前流行框架spark streaming[13],storm在數(shù)據(jù)處理實(shí)時性方面效果更佳。此外由于新版本特性的加入、與其他開源項(xiàng)目的無縫融合以及更多庫的支持,storm逐步成為學(xué)術(shù)界和產(chǎn)業(yè)界新的研究熱點(diǎn),被稱為“實(shí)時處理領(lǐng)域的hadoop”[14]。

一個流式計(jì)算拓?fù)浼捌渌囊幌盗腥蝿?wù)可通過有向無環(huán)圖(DAG, directed acyclic graph)表示,有向無環(huán)圖中的一個頂點(diǎn)代表系統(tǒng)某一個特定任務(wù),一條邊表示任務(wù)之間存在的依賴關(guān)系。當(dāng)數(shù)據(jù)流到來后,任務(wù)直接在其被調(diào)度到的工作節(jié)點(diǎn)內(nèi)存中完成,僅極少部分?jǐn)?shù)據(jù)被保存至硬盤。storm平臺在進(jìn)行數(shù)據(jù)處理及傳輸時,將有向無環(huán)圖中的每一個特定任務(wù)均勻地分配到每一個工作節(jié)點(diǎn)的工作進(jìn)程中,然而storm平臺并未考慮不同工作節(jié)點(diǎn)的性能和能耗差異及其帶來的工作節(jié)點(diǎn)之間的網(wǎng)絡(luò)傳輸開銷和節(jié)點(diǎn)內(nèi)部進(jìn)程與線程間的通信開銷,忽略了能耗效率問題,導(dǎo)致能效低下。針對storm平臺存在的能效過低的問題,本文主要貢獻(xiàn)如下。

1) 通過分析storm集群拓?fù)浼肮?jié)點(diǎn)結(jié)構(gòu),提出有向無環(huán)圖、實(shí)例并行度、任務(wù)資源分配及拓?fù)潢P(guān)鍵路徑的定義,用于表示數(shù)據(jù)流在系統(tǒng)內(nèi)部的工作狀態(tài)確定集群系統(tǒng)的拓?fù)淝闆r,為節(jié)能算法研究提供理論基礎(chǔ)。

2) 通過對拓?fù)潢P(guān)鍵路徑進(jìn)行分析,確定是否存在拓?fù)浞顷P(guān)鍵路徑工作節(jié)點(diǎn),從而提出關(guān)鍵路徑節(jié)能算法(DVRCP, DRAM voltage regulation on critical path)與非關(guān)鍵路徑節(jié)能算法(DVRNP, DRAM voltage regulation on non-critical path),并證明2種算法內(nèi)存電壓的調(diào)控范圍。此外根據(jù)數(shù)據(jù)處理限制條件對系統(tǒng)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值進(jìn)行判別,并通過數(shù)據(jù)流的處理及傳輸確定閾值的4種情況,使得系統(tǒng)在滿足網(wǎng)絡(luò)帶寬、內(nèi)存和CPU約束的前提下得到系統(tǒng)能耗最低值,并為工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略的設(shè)計(jì)提供算法支撐;

3) 通過對系統(tǒng)性能進(jìn)行評估,確定算法的可行性,提出storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略(WNDVR-storm, energy-efficient strategy for work node by DRAM voltage regulation in storm),使系統(tǒng)在拓?fù)鋱?zhí)行過程中根據(jù)工作節(jié)點(diǎn)真實(shí)情況確定系統(tǒng)工作節(jié)點(diǎn)數(shù)據(jù)處理閾值,動態(tài)調(diào)節(jié)內(nèi)存電壓以減少系統(tǒng)中的能耗損失。實(shí)驗(yàn)通過4個基準(zhǔn)測試從不同的角度證明了算法有效性。

2 相關(guān)工作

現(xiàn)有針對大規(guī)模的數(shù)據(jù)處理可歸為3類:流式數(shù)據(jù)處理模式、高性能批量數(shù)據(jù)處理模式以及二者混合的處理模式。其中,高性能批量數(shù)據(jù)處理模式主要以hadoop為核心進(jìn)行算法的改進(jìn),通常主要對框架內(nèi)在區(qū)域進(jìn)行切割劃分,以休眠部分磁盤區(qū)域或通過動態(tài)組件失活(dynamic component deactivation)在一段時間內(nèi)關(guān)閉硬件的部分組件達(dá)到節(jié)能的目的[15~17]。混合處理模式主要以MapReduce為核心進(jìn)行算法的改進(jìn),主要以任務(wù)完成后關(guān)閉相關(guān)節(jié)點(diǎn)[18]、作業(yè)調(diào)度[19]以及配置參數(shù)優(yōu)化[20]等提高能源利用率來達(dá)到節(jié)能的效果[21~24]。這2種方案在一定程度上解決了大數(shù)據(jù)處理的能耗問題,但無法直接作用于現(xiàn)有流式計(jì)算平臺。針對這一問題現(xiàn)有國內(nèi)外專家學(xué)者提出了針對流式計(jì)算性能優(yōu)化與能耗節(jié)約方面的策略。文獻(xiàn)[25]與文獻(xiàn)[26]總結(jié)了在大數(shù)據(jù)流式計(jì)算平臺中針對大數(shù)據(jù)呈現(xiàn)出的實(shí)時性、突發(fā)性、易失性、無限性、無序性等特征,給出理想的大數(shù)據(jù)流式計(jì)算平臺在數(shù)據(jù)傳輸、系統(tǒng)框架優(yōu)化以及應(yīng)用接口等方面的關(guān)鍵核心技術(shù)。此外,類比現(xiàn)有流式計(jì)算框架性能與能耗的優(yōu)缺點(diǎn),從系統(tǒng)容錯、能耗與性能等方面闡明了已有算法面臨的挑戰(zhàn)。為更好地解決系統(tǒng)能耗與性能的問題,現(xiàn)有學(xué)者提出了基于硬件[27]與軟件[28]兩方面的節(jié)能策略并進(jìn)行研究。

硬件節(jié)能策略主要對系統(tǒng)動態(tài)電壓和電源進(jìn)行縮放管理,替換高能耗的電子元件,以達(dá)到節(jié)能的目的。其方法操作簡單、效果明顯,但在大規(guī)模的集群部署中存在成本過高的問題。軟件節(jié)能策略是現(xiàn)在研究的熱點(diǎn),現(xiàn)階段軟件節(jié)能策略主要從與虛擬機(jī)結(jié)合的角度出發(fā),通過對虛擬機(jī)進(jìn)行部署調(diào)整[29-30]考慮數(shù)據(jù)不可控性以及減少網(wǎng)絡(luò)數(shù)據(jù)傳輸開銷來達(dá)到節(jié)能的目的。文獻(xiàn)[31]針對虛擬化數(shù)據(jù)中心(VNetDC, virtualized networked data center),提出了云計(jì)算SaaS計(jì)算模型下針對實(shí)時流式應(yīng)用的最小化能耗調(diào)度策略。該研究充分考慮到大數(shù)據(jù)傳輸不穩(wěn)定、不可控以及實(shí)時流數(shù)據(jù)量大等特性,在響應(yīng)時間約束條件不變的前提下,最小化計(jì)算與網(wǎng)絡(luò)傳輸?shù)目偰芎摹N墨I(xiàn)[9]提出大數(shù)據(jù)流式計(jì)算環(huán)境下的實(shí)時節(jié)能資源調(diào)度模型(re-stream),通過建立系統(tǒng)CPU利用率、能耗以及響應(yīng)時間之間的數(shù)學(xué)關(guān)系,并運(yùn)用分布式流式數(shù)據(jù)計(jì)算理論,定義了整個拓?fù)鋱?zhí)行的關(guān)鍵路徑,綜合運(yùn)用拓?fù)浞顷P(guān)鍵路徑上能耗感知的任務(wù)整合策略和拓?fù)潢P(guān)鍵路徑上性能感知的任務(wù)調(diào)度策略,使響應(yīng)時間和能耗均達(dá)到最低值。文獻(xiàn)[32]從有向無環(huán)圖優(yōu)化的角度出發(fā),提出彈性自適應(yīng)性數(shù)據(jù)流圖模型,并使用該策略進(jìn)行合理的資源分配,以尋求最小化響應(yīng)時間和最大化吞吐量,從側(cè)面降低了系統(tǒng)能耗。綜上所述,以上研究都是從滿足流式計(jì)算的特性出發(fā)提出合理的流式計(jì)算節(jié)能模型。但針對storm平臺框架的節(jié)能優(yōu)化,在減少通信開銷和降低能耗等方面仍存在很高的探索價值。

針對流式計(jì)算框架的節(jié)能優(yōu)化策略,已有部分學(xué)者進(jìn)行了相應(yīng)的研究。文獻(xiàn)[33]提出一種帶有能耗感知的任務(wù)整合(ETC, optimizing energy consumption with task consolidation in cloud)技術(shù),該技術(shù)的實(shí)行通過限制流式計(jì)算系統(tǒng)中CPU的使用率,使其低于額定閾值,整合與鞏固了虛擬集群間的任務(wù),從而實(shí)現(xiàn)了能源方面的任務(wù)整合,降低了系統(tǒng)能耗。然而,任務(wù)在集群間處理及傳輸時具有較高的網(wǎng)絡(luò)延遲,且網(wǎng)絡(luò)傳輸?shù)拈_銷較大。文獻(xiàn)[34]提出一種虛擬機(jī)調(diào)度的算法,建立每個虛擬機(jī)的能耗評估模型,該策略根據(jù)流式計(jì)算系統(tǒng)提供的不同數(shù)據(jù)計(jì)算資源,評估不同虛擬機(jī)間的能耗,且該實(shí)驗(yàn)方案通過xen虛擬化系統(tǒng)實(shí)現(xiàn)。但該策略在理想狀態(tài)下完成,缺乏實(shí)際應(yīng)用場景的實(shí)驗(yàn)基礎(chǔ)。

文獻(xiàn)[35]提出基于流式計(jì)算的2種副本調(diào)度節(jié)能算法——性能與能量均衡副本(PEBD, performance-energy balanced duplication)算法和能量感知副本(EAD, energy-aware duplication)算法,其節(jié)能策略的核心思想是當(dāng)系統(tǒng)內(nèi)部不執(zhí)行相應(yīng)的數(shù)據(jù)調(diào)度時,立刻降低系統(tǒng)的電壓。該策略既保證了系統(tǒng)內(nèi)任務(wù)快速執(zhí)行,同時滿足處理相同拓?fù)潢P(guān)鍵路徑的任務(wù),系統(tǒng)內(nèi)部能耗不會有顯著提高。其中副本可以避免因延遲而帶來的系統(tǒng)性能的降低。該策略有2個明顯的優(yōu)點(diǎn):1)能耗所帶來的任務(wù)副本可以減少能源的互聯(lián),縮短了任務(wù)處理的周期;2)提高了整個系統(tǒng)的性能。然而該策略存在部署難度較高、適用平臺相對單一的問題。

文獻(xiàn)[36]提出了面向storm平臺的實(shí)時數(shù)據(jù)節(jié)能策略(re-storm),該策略建立CPU占用率、系統(tǒng)響應(yīng)時間模型與能耗之間的數(shù)學(xué)模型,并根據(jù)storm平臺實(shí)時性的特點(diǎn)定義整個拓?fù)涞年P(guān)鍵路徑。通過運(yùn)用拓?fù)浞顷P(guān)鍵路徑上的能耗感知任務(wù)整合策略,使得部分位于拓?fù)浞顷P(guān)鍵路徑上的任務(wù)分配到拓?fù)潢P(guān)鍵路徑上,從而降低了系統(tǒng)整體能耗。該策略很好地解決storm平臺中的拓?fù)浞顷P(guān)鍵路徑上任務(wù)處理能耗問題,但仍有以下幾點(diǎn)有待優(yōu)化:1)算法有效降低系統(tǒng)整體的能耗,但是算法的時間復(fù)雜度顯著上升,對系統(tǒng)性能造成一定的影響;2)該策略僅考慮CPU能耗情況,但對別的集群部件能耗情況并未提及;3)該策略使用的為自己定義的拓?fù)溆?xùn)練集,并非公認(rèn)已有的拓?fù)洌虼巳狈σ欢ǖ耐ㄓ眯浴?/p>

本文與上述研究的不同之處在于以下3點(diǎn)。

1) 文獻(xiàn)[32-35]均是通過對系統(tǒng)拓?fù)溥M(jìn)行分析,但并未對如CPU使用率、數(shù)據(jù)的傳輸量等已有變量進(jìn)行能耗建模的研究。本文從CPU使用率、數(shù)據(jù)的傳輸量與內(nèi)存電壓3個方面考慮系統(tǒng)的真實(shí)情況并建立了相關(guān)模型,從而確定工作節(jié)點(diǎn)在不同狀態(tài)下合適的閾值選擇,確保系統(tǒng)在不同外在因素下都可以滿足節(jié)能策略的執(zhí)行要求。

2) 文獻(xiàn)[36]雖然提及了計(jì)算拓?fù)涑杀镜囊螅⑽磳τ?jì)算拓?fù)涑杀具M(jìn)行進(jìn)一步的分析建模,本文通過對計(jì)算成本進(jìn)行定義,驗(yàn)證storm集群對數(shù)據(jù)進(jìn)行處理及傳輸產(chǎn)生的必要開銷,降低已有算法忽略的部分時間開銷。

3) 實(shí)驗(yàn)基于Intel公司發(fā)布在GitHub上的storm-benchmark-master基準(zhǔn)測試[37],而非作者自己定義的拓?fù)洌虼烁哂写硇裕送猓cCPU的動態(tài)電壓調(diào)控節(jié)能策略(DVFS, dynamic voltage frequency scaling)[38]進(jìn)行對比,驗(yàn)證算法的可行性。

3 相關(guān)模型及定義

本節(jié)首先對storm集群的拓?fù)浣Y(jié)構(gòu)和任務(wù)并行度進(jìn)行定義,并在此基礎(chǔ)上對拓?fù)鋾r間計(jì)算成本、拓?fù)潢P(guān)鍵路徑工作節(jié)點(diǎn)的選擇判斷、工作節(jié)點(diǎn)內(nèi)存電壓取值范圍與節(jié)點(diǎn)工作狀況4個方面進(jìn)行了定義,根據(jù)以上分析確定工作節(jié)點(diǎn)內(nèi)存帶來的能耗問題。

3.1 storm的相關(guān)模型

WNDVR-storm在處理數(shù)據(jù)的過程中,根據(jù)單位時間內(nèi)數(shù)據(jù)處理及傳輸?shù)脑M數(shù)量確定系統(tǒng)工作節(jié)點(diǎn)是否位于拓?fù)鋱?zhí)行的關(guān)鍵路徑上,由系統(tǒng)的資源占用情況確定工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍。在滿足系統(tǒng)數(shù)據(jù)處理及傳輸?shù)募s束條件下,通過系統(tǒng)工作節(jié)點(diǎn)數(shù)據(jù)傳輸量與CPU使用率確定其工作節(jié)點(diǎn)閾值,動態(tài)調(diào)節(jié)系統(tǒng)工作節(jié)點(diǎn)的內(nèi)存電壓[39-40],減少原系統(tǒng)在處理數(shù)據(jù)時因高電壓而產(chǎn)生的無用功耗,進(jìn)而降低系統(tǒng)能耗。由此,可建立有向無環(huán)圖模型表示storm集群數(shù)據(jù)處理與工作節(jié)點(diǎn)的關(guān)系。

圖1 數(shù)據(jù)處理有向無環(huán)圖

圖2 實(shí)例并行度模型

圖3 任務(wù)資源分配模型

3.2 拓?fù)潢P(guān)鍵路徑與拓?fù)潢P(guān)鍵路徑總成本

本節(jié)主要在研究storm平臺的基礎(chǔ)上,根據(jù)定義2對拓?fù)潢P(guān)鍵路徑總成本進(jìn)行分析,通過研究發(fā)現(xiàn)storm集群處理數(shù)據(jù)對拓?fù)溆?jì)算成本帶來較大的影響。

將式(1)代入式(2)可得:

設(shè)元組a傳輸?shù)淖钸t開始時間為(),元組在拓?fù)渖献钸t完成時間為(),最遲開始時間()可以通過遍歷有向無環(huán)圖計(jì)算但方向相反,且存在最早開始時間等于最遲開始時間,為

在不引起拓?fù)潢P(guān)鍵路徑時間延誤的前提下,元組a傳輸?shù)淖钸t開始時間,為

其中,1為源自數(shù)據(jù)流A經(jīng)過的有向邊1的集合。

其中,2為指向數(shù)據(jù)流A經(jīng)過的有向邊1的集合。

圖4 拓?fù)鋱?zhí)行關(guān)鍵路徑的數(shù)據(jù)傳輸及處理情況

由線程計(jì)算成本與線程間通信成本可知,拓?fù)淇偟某杀緸橥負(fù)潢P(guān)鍵路徑總成本W。令拓?fù)潢P(guān)鍵路徑上所有線程的集合為E={e1,e2,…,e},eE,線程之間總通信成本為B={b1,c2,b2,c3,…,b(p?1),cp},b,cj∈B,則拓?fù)潢P(guān)鍵路徑總成本W

將所有線程計(jì)算成本與線程間通信成本代入式(13),得到拓?fù)潢P(guān)鍵路徑總成本W

對于單個元組,將式(9)與(11)代入式(13),拓?fù)潢P(guān)鍵路徑總成本W

3.3 拓?fù)浞顷P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控模型

根據(jù)3.2節(jié)提出的拓?fù)浞顷P(guān)鍵路徑節(jié)能算法,3.3節(jié)通過建立拓?fù)浞顷P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控模型,確定了拓?fù)鋱?zhí)行非關(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍。此外,通過定義數(shù)據(jù)處理及傳輸約束條件確定了工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值,動態(tài)調(diào)控系統(tǒng)內(nèi)存電壓。

storm平臺能耗主要體現(xiàn)在CPU使用率、網(wǎng)絡(luò)帶寬與內(nèi)存3個方面,其中CPU使用率的能耗最高,內(nèi)存其次而網(wǎng)絡(luò)帶寬的能耗最低。但是動態(tài)調(diào)節(jié)CPU電壓降低能耗的策略[41]已經(jīng)實(shí)現(xiàn),如通過動態(tài)調(diào)節(jié)CPU頻率高低來達(dá)到節(jié)能的效果[42]等,已廣泛應(yīng)用到IT行業(yè)的不同領(lǐng)域中。然而通過調(diào)節(jié)內(nèi)存電壓來達(dá)到節(jié)能效果的策略還不成熟,系統(tǒng)內(nèi)存常電壓存在額定值。

此外,針對工作節(jié)點(diǎn)是否存在拓?fù)鋱?zhí)行的非關(guān)鍵路徑上設(shè)計(jì)了2種節(jié)能算法,當(dāng)工作節(jié)點(diǎn)存在拓?fù)鋱?zhí)行的非關(guān)鍵路徑上時,系統(tǒng)實(shí)施拓?fù)浞顷P(guān)鍵路徑節(jié)能算法,且拓?fù)鋱?zhí)行的非關(guān)鍵路徑節(jié)能算法不改變系統(tǒng)性能;當(dāng)工作節(jié)點(diǎn)不存在拓?fù)鋱?zhí)行的非關(guān)鍵路徑上時,系統(tǒng)實(shí)施關(guān)鍵路徑節(jié)能算法,且關(guān)鍵路徑節(jié)能算法對系統(tǒng)性能造成一定的影響需要進(jìn)行相應(yīng)的評估。

此外,通過DVRNP算法,根據(jù)5 min內(nèi)系統(tǒng)處理及傳輸數(shù)據(jù)的采樣結(jié)果,確定工作節(jié)點(diǎn)是否在拓?fù)鋱?zhí)行的非關(guān)鍵路徑工作節(jié)點(diǎn),并計(jì)算所有拓?fù)鋱?zhí)行的非關(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍。

3.4 拓?fù)潢P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控模型

根據(jù)3.2節(jié)提出的關(guān)鍵路徑節(jié)能算法,3.4節(jié)通過定義性耗比確定了系統(tǒng)性能與能耗之間的關(guān)系。此外,根據(jù)性耗比建立了拓?fù)潢P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控模型,確定了系統(tǒng)電壓最低值。

節(jié)能算法以不改變storm集群性能為前提,而storm集群的性能主要體現(xiàn)在元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間,因此在storm集群下執(zhí)行節(jié)能算法需要以不影響元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間為前提。

定理1 在storm集群中,元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間與系統(tǒng)總能耗的性耗比為

其中,C是由多次實(shí)驗(yàn)并驗(yàn)證得到的性耗比誤差參數(shù),存在取值范圍。

因此,有

此外,通過DVRCP算法,根據(jù)5 min內(nèi)系統(tǒng)處理及傳輸數(shù)據(jù)的采樣結(jié)果,確定工作節(jié)點(diǎn)是否在拓?fù)鋱?zhí)行的關(guān)鍵路徑上,并計(jì)算所有拓?fù)鋱?zhí)行的關(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍。

4 工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略

本章主要介紹storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略,該策略在不影響系統(tǒng)性能的前提下,根據(jù)系統(tǒng)工作節(jié)點(diǎn)數(shù)據(jù)流的處理及傳輸情況對系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓進(jìn)行調(diào)控以達(dá)到節(jié)能的目的。節(jié)能算法流程如圖5所示。算法主要分為以下幾個步驟。

步驟1 通過采樣計(jì)算原系統(tǒng)線程與信道的時間成本。

步驟2 計(jì)算拓?fù)鋱?zhí)行的關(guān)鍵路徑。

步驟3 確定拓?fù)潢P(guān)鍵路徑工作節(jié)點(diǎn)與拓?fù)浞顷P(guān)鍵路徑工作節(jié)點(diǎn)。

步驟4 確定工作節(jié)點(diǎn)N的閾值。

步驟5 根據(jù)不同的節(jié)能算法計(jì)算系統(tǒng)總能耗。

圖5 節(jié)能算法流程

4.1 閾值調(diào)控模型

根據(jù)第3節(jié)確定storm集群基本的數(shù)據(jù)傳輸及處理情況,由于storm平臺下工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控節(jié)能策略針對是否有工作節(jié)點(diǎn)位于拓?fù)鋱?zhí)行的非關(guān)鍵路徑上設(shè)計(jì)了2種節(jié)能算法,并根據(jù)不同的節(jié)能算法計(jì)算工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍。此外,由storm集群數(shù)據(jù)處理及傳輸情況確定工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值,動態(tài)調(diào)節(jié)內(nèi)存電壓來達(dá)到節(jié)能的目的。該算法只需根據(jù)3.3節(jié)與3.4節(jié)確定工作節(jié)點(diǎn)內(nèi)存電壓的取值范圍,并由定義5對工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值進(jìn)行選擇,動態(tài)調(diào)控系統(tǒng)內(nèi)存電壓,其過程不會對storm集群的實(shí)時性造成較大的影響,算法的基本流程如下所示。

算法1對拓?fù)鋱?zhí)行非關(guān)鍵路徑上工作節(jié)點(diǎn)的內(nèi)存電壓的界限進(jìn)行定義,并根據(jù)工作節(jié)點(diǎn)的CPU使用率與數(shù)據(jù)傳輸量定義相應(yīng)的閾值,以對工作節(jié)點(diǎn)內(nèi)存電壓進(jìn)行動態(tài)調(diào)控,確定storm集群不同狀態(tài)下的功率值。

算法1 非關(guān)鍵路徑節(jié)能算法

輸入

/*拓?fù)鋱?zhí)行關(guān)鍵路徑上的工作節(jié)點(diǎn)*/

輸出

系統(tǒng)的功率,根據(jù)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值判斷系統(tǒng)的功率。

3) end while

/*拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)的內(nèi)存電壓上升*/

6) end if

20) end switch

根據(jù)3.3節(jié)確定拓?fù)鋱?zhí)行非關(guān)鍵路徑上工作節(jié)點(diǎn)的內(nèi)存電壓的最小值,而內(nèi)存常電壓額定值為最大值,算法的1)~6)行根據(jù)元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間不變的前提下,計(jì)算拓?fù)鋱?zhí)行非關(guān)鍵路徑上工作節(jié)點(diǎn)的內(nèi)存電壓的最小值;由定義5判斷相關(guān)參數(shù)是否滿足設(shè)定的閾值,動態(tài)調(diào)節(jié)拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)內(nèi)存電壓,確定此時系統(tǒng)的功率。7)~20)行通過系統(tǒng)數(shù)據(jù)處理及傳輸?shù)募s束條件確定合適的閾值:當(dāng)滿足1時,拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)內(nèi)存電壓為最低值,系統(tǒng)功率為1;當(dāng)滿足2時,動態(tài)調(diào)控拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)內(nèi)存電壓,系統(tǒng)功率為2;當(dāng)滿足3時,動態(tài)調(diào)控拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)內(nèi)存電壓,系統(tǒng)功率為3;當(dāng)滿足4時,拓?fù)浞顷P(guān)鍵路徑上工作節(jié)點(diǎn)內(nèi)存常電壓為額定值,系統(tǒng)功率為4。

算法2對拓?fù)鋱?zhí)行關(guān)鍵路徑上工作節(jié)點(diǎn)的內(nèi)存電壓的界限進(jìn)行定義,并根據(jù)工作節(jié)點(diǎn)的CPU使用率與數(shù)據(jù)傳輸量定義相應(yīng)的閾值,以對工作節(jié)點(diǎn)內(nèi)存電壓進(jìn)行動態(tài)的調(diào)控,確定storm集群不同狀態(tài)下的功率值。

算法2 關(guān)鍵路徑節(jié)能算法

輸入

輸出

系統(tǒng)的功率,根據(jù)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值判斷系統(tǒng)的功率。

3) end while

6) end if

20) end switch

4.2 工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略

能耗和功耗都是系統(tǒng)能量消耗的量度,但其意義不同。工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略是為了降低單位時間內(nèi)系統(tǒng)處理及傳輸數(shù)據(jù)的能耗。能耗是系統(tǒng)功率與運(yùn)行時間的乘積(單位為J)。計(jì)算式為[43]

由此可見,能耗反映的是一段時間內(nèi)系統(tǒng)能量消耗的總和。已知原系統(tǒng)能耗包括內(nèi)存能耗、CPU能耗、網(wǎng)絡(luò)帶寬能耗與磁盤能耗等,因此,原系統(tǒng)的能耗oec為

其中,E為系統(tǒng)內(nèi)存的能耗,CPU為系統(tǒng)CPU進(jìn)行數(shù)據(jù)處理的能耗,NET為數(shù)據(jù)傳輸網(wǎng)絡(luò)帶寬的能耗,HDD為系統(tǒng)磁盤的能耗,other為其他外在因素帶來的能耗。

數(shù)據(jù)流通過I/O讀/寫入內(nèi)存堆棧區(qū)后,通過內(nèi)存尋址將內(nèi)存中的數(shù)據(jù)提交到主控節(jié)點(diǎn)nimbus,根據(jù)主控節(jié)點(diǎn)的分配任務(wù)策略,在系統(tǒng)數(shù)據(jù)處理及傳輸?shù)募s束條件下進(jìn)行閾值判斷,而后通過工作節(jié)點(diǎn)對數(shù)據(jù)進(jìn)行處理計(jì)算,并經(jīng)過內(nèi)存中spout/Bolt實(shí)現(xiàn)數(shù)據(jù)的處理及傳輸,此外,數(shù)據(jù)處理及傳輸?shù)拈撝涤上到y(tǒng)性能與能耗共同決定。根據(jù)數(shù)據(jù)流的處理及傳輸情況對系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓進(jìn)行動態(tài)調(diào)控,高于工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值內(nèi)存電壓上升,低于工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值內(nèi)存電壓下降,從而確定系統(tǒng)的功率,此過程在內(nèi)存堆棧區(qū)完成。此外,系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓最低值由3.3節(jié)與3.4節(jié)決定,系統(tǒng)工作節(jié)點(diǎn)內(nèi)存常電壓最高值為額定值,經(jīng)計(jì)算后的數(shù)據(jù)通過bolt在內(nèi)存中進(jìn)行傳輸直到將數(shù)據(jù)推進(jìn)內(nèi)存全局變量區(qū),該過程會對數(shù)據(jù)進(jìn)行存取且會產(chǎn)生時延。此時系統(tǒng)的能耗Ec為

其中,W為storm集群進(jìn)行數(shù)據(jù)處理及傳輸時間的必要成本,將式(15)代入式(28),根據(jù)不同的節(jié)能算法可分兩種情況計(jì)算系統(tǒng)節(jié)約的能耗,如式(29)所示。

其中,式(29)的參數(shù)與式(15)、式(28)相同,式(29)為數(shù)據(jù)流經(jīng)內(nèi)存后系統(tǒng)節(jié)約的總能耗。經(jīng)過閾值判別后的數(shù)據(jù)流通過系統(tǒng)工作節(jié)點(diǎn)進(jìn)行處理,數(shù)據(jù)處理的相關(guān)算法如下所示。

算法3 數(shù)據(jù)的傳輸及處理算法

輸入

輸出

全局變量區(qū),處理后的數(shù)據(jù)進(jìn)入內(nèi)存全局變量區(qū)。

/*如果系統(tǒng)實(shí)施非關(guān)鍵路徑節(jié)能算法*/

/*此時能耗為1*/

7) else

/*此時能耗為2*/

9) end if

/*構(gòu)造數(shù)據(jù)流模型*/

/*獲得數(shù)據(jù)文件中的一條數(shù)據(jù)流*/

/*內(nèi)存堆棧區(qū)推進(jìn)為內(nèi)存全局變量區(qū)*/

13) end for

算法3為系統(tǒng)進(jìn)行工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略的真實(shí)情況,1)~4)行為數(shù)據(jù)信息選擇獲取及處理數(shù)據(jù)的總時間,5)~9)行為判斷不同節(jié)能算法產(chǎn)生的能耗,10)~13)行為對系統(tǒng)數(shù)據(jù)流模型的構(gòu)建及數(shù)據(jù)處理環(huán)境的改變。

4.3 算法評估

算法3主要表示系統(tǒng)內(nèi)數(shù)據(jù)的傳輸及處理產(chǎn)生的能耗,根據(jù)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值確定數(shù)據(jù)的傳輸路徑,與原系統(tǒng)時間復(fù)雜度相同,為

工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略的時間開銷主要取決于算法1和算法2的時間復(fù)雜度,這兩個算法不應(yīng)過于復(fù)雜而影響整個系統(tǒng)的性能,因此下文將分析算法1和算法2的執(zhí)行開銷。

設(shè)執(zhí)行工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略的時間復(fù)雜度為

其中,()為系統(tǒng)執(zhí)行算法1或算法2的時間復(fù)雜度,()為系統(tǒng)執(zhí)行算法3的時間復(fù)雜度。算法1主要對拓?fù)浞顷P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓取值范圍進(jìn)行選擇判別,系統(tǒng)性能并未發(fā)生改變,其中DVRNP算法在拓?fù)潢P(guān)鍵路徑上執(zhí)行的時間復(fù)雜度與原系統(tǒng)相同為(),在拓?fù)浞顷P(guān)鍵路徑上執(zhí)行的時間復(fù)雜度為

其中,為根據(jù)系統(tǒng)數(shù)據(jù)處理總時間內(nèi)存電壓改變的次數(shù),內(nèi)存額定常電壓為1.5 V,則內(nèi)存電壓改變的次數(shù)不超過150次,對系統(tǒng)性能影響很小。

算法2主要計(jì)算拓?fù)潢P(guān)鍵路徑工作節(jié)點(diǎn)內(nèi)存電壓取值范圍,系統(tǒng)性能會發(fā)生改變。則拓?fù)鋱?zhí)行關(guān)鍵路徑工作節(jié)點(diǎn)電壓調(diào)控的時間復(fù)雜度為

其中,為根據(jù)系統(tǒng)性耗比電壓改變的次數(shù),為根據(jù)系統(tǒng)能耗電壓改變的次數(shù),則內(nèi)存電壓改變次數(shù)不超過22 500次,這對系統(tǒng)性能造成一定的影響。

此時,系統(tǒng)實(shí)施DVRNP算法的時間復(fù)雜度為

系統(tǒng)實(shí)施DVRCP算法的時間復(fù)雜度為

工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略分為DVRNP算法與DVRCP算法,其中實(shí)施DVRNP算法系統(tǒng)性能不存在影響,在這里不做考慮。系統(tǒng)實(shí)施DVRCP算法能耗與性能之間存在一定的關(guān)系,即性耗比。假設(shè)系統(tǒng)中運(yùn)行50 000元組的數(shù)據(jù),原系統(tǒng)基準(zhǔn)測試完全處理50 000 元組數(shù)據(jù)用時1 s,能耗為6.32 kJ,常數(shù)C為0.9;工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略后系統(tǒng)運(yùn)行基準(zhǔn)測試完全處理50 000 元組數(shù)據(jù)用時1.05 s,能耗為4.37 kJ,常數(shù)C為0.7。原系統(tǒng)性耗比為0.007 12,實(shí)施策略后系統(tǒng)性耗比為0.00 826,由此可見,實(shí)施DVRCP算法后的整體性能優(yōu)于原系統(tǒng),因此工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控策略在時間復(fù)雜度上是完全可行的。

4.4 算法實(shí)現(xiàn)與部署

要在storm集群中部署工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略,需要在storm集群中獲取storm UI REST API相關(guān)信息,其中可通過/api/v1/topology獲得拓?fù)涞乃行畔ⅲň€程到工作節(jié)點(diǎn)的映射關(guān)系及各類參數(shù)的配置信息。此外,可通過/api/v1/cluster獲得當(dāng)前系統(tǒng)的各類狀態(tài)信息,包括線程、進(jìn)程與節(jié)點(diǎn)間的所有通信開銷及映射關(guān)系。對于拓?fù)渲懈骶€程的CPU資源使用信息,可通過Java API函數(shù)中ThreadMXBean類的getThreadCpuTime(long id)方法獲得,其中系統(tǒng)ID為線程的ID;對于實(shí)驗(yàn)中數(shù)據(jù)傳輸頻率及所傳數(shù)據(jù)元組的多少則通過./ storm UI > /dev/null 2>&1 &命令檢測,其中顯示core表示該命令執(zhí)行成功,傳輸結(jié)果通過累加獲取,整個過程在/bin目錄下完成。此外,CPU使用率與數(shù)據(jù)傳輸頻率的數(shù)據(jù)通過nmon[44]軟件獲取,且操作系統(tǒng)中數(shù)據(jù)處理信息與硬件相關(guān)參數(shù)可通過/proc目錄下相關(guān)文件獲取。代碼編譯完成后,通過打jar分組至主控節(jié)點(diǎn)nimbus的storm_HOME/lib目錄下,并在/conf/storm.yaml中配置好相關(guān)參數(shù)后運(yùn)行。改進(jìn)后的storm架構(gòu)如圖6所示。

對圖6改進(jìn)后的storm架構(gòu)中的相關(guān)名詞進(jìn)行解釋。

1) 監(jiān)控器(control monitor):在一段時間內(nèi),收集各線程占用的內(nèi)存,網(wǎng)絡(luò)帶寬和CPU數(shù)據(jù)處理、傳輸時間及各線程之間的數(shù)據(jù)流大小。

2) 數(shù)據(jù)庫(database):存儲任務(wù)分配信息和監(jiān)控器傳來的數(shù)據(jù)處理及傳輸時間信息,并實(shí)時更新。

3) 自定義調(diào)節(jié)器(custom regulator):在自定義調(diào)節(jié)器中確定系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓的調(diào)控范圍,并根據(jù)系統(tǒng)數(shù)據(jù)處理及傳輸約束條件對工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值進(jìn)行判別,以調(diào)節(jié)合適的內(nèi)存電壓。

圖6 改進(jìn)后的storm架構(gòu)

5 實(shí)驗(yàn)及結(jié)果分析

搭建的storm集群有一個主控節(jié)點(diǎn)nimbus、16個工作節(jié)點(diǎn)supervisor與3個關(guān)聯(lián)節(jié)點(diǎn)zookeeper,且整個集群在無其他任務(wù)運(yùn)行的條件下進(jìn)行實(shí)驗(yàn)。

本文實(shí)驗(yàn)?zāi)康臑轵?yàn)證工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略的有效性,其主要的測試標(biāo)準(zhǔn)有集群的吞吐量、能耗、數(shù)據(jù)的處理響應(yīng)時間等。實(shí)驗(yàn)算法采用WordCount、Sol、RollingSort與RollingCount[37]作為基準(zhǔn)測試用例,最后對實(shí)驗(yàn)結(jié)果進(jìn)行分析。

5.1 實(shí)驗(yàn)環(huán)境

為證明WNDVR-storm的有效性,實(shí)驗(yàn)需要的storm集群部署在19臺普通PC機(jī)上,且每臺PC機(jī)的內(nèi)存統(tǒng)一為4 GB。根據(jù)不同節(jié)點(diǎn)的運(yùn)行情況,storm集群節(jié)點(diǎn)及數(shù)據(jù)處理環(huán)境的配置參數(shù)如表1所示。

表1 storm環(huán)境配置參數(shù)

其中,控制臺節(jié)點(diǎn)進(jìn)程UI、主控節(jié)點(diǎn)進(jìn)程nimbus、關(guān)聯(lián)節(jié)點(diǎn)進(jìn)程zookeeper1(leader)運(yùn)行在同一臺PC機(jī)上,工作節(jié)點(diǎn)進(jìn)程supervisor 1~16與關(guān)聯(lián)節(jié)點(diǎn)進(jìn)程zookeeper2、3(follower)分別部署在18臺不同PC機(jī)上,此外,根據(jù)不同的節(jié)點(diǎn)類型選定3臺PC機(jī)進(jìn)行nmon測試監(jiān)控,記錄CPU使用率、數(shù)據(jù)傳輸頻率及內(nèi)存占用率等。整個storm集群內(nèi)各節(jié)點(diǎn)硬件參數(shù)配置相同,現(xiàn)記錄storm集群內(nèi)處理1 GB數(shù)據(jù),PC機(jī)配置參數(shù)如表2所示。

表2 storm集群內(nèi)PC機(jī)配置參數(shù)

為全面測試工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略的有效性,實(shí)驗(yàn)選取4組不同基準(zhǔn)測試用例對該策略進(jìn)行測試,分別是網(wǎng)絡(luò)帶寬敏感型(network- sensitive)的Sol、CPU敏感型(CPU-sensitive)的WordCount、內(nèi)存敏感型(memory-sensitive)的RollingSort以及storm真實(shí)場景下的應(yīng)用RollingCount,各基準(zhǔn)測試運(yùn)行時工作進(jìn)程(worker)的數(shù)量與當(dāng)前所需的工作節(jié)點(diǎn)一一對應(yīng),其余參數(shù)保留其默認(rèn)配置,具體基準(zhǔn)測試參數(shù)配置如表3所示。

其中,設(shè)置topology.workers為16,表示各基準(zhǔn)測試運(yùn)行時僅在一個工作節(jié)點(diǎn)內(nèi)分配一個工作進(jìn)程;設(shè)置topology.acker.executors為16,表示保證數(shù)據(jù)流的可靠傳輸,各工作進(jìn)程除了運(yùn)行分配給它的線程之外,還額外運(yùn)行一個Acker Bolt實(shí)例;此外,設(shè)置的每個message.size等于一個元組的大小。

此外,內(nèi)存電壓取值范圍根據(jù)3.3節(jié)與3.4節(jié)不同工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控模型確定,實(shí)驗(yàn)通過二分法測得位于拓?fù)鋱?zhí)行關(guān)鍵路徑上的工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控選擇在1.20~1.50 V不斷改變,位于拓?fù)鋱?zhí)行非關(guān)鍵路徑上的工作節(jié)點(diǎn)的內(nèi)存電壓調(diào)控選擇在1.32~1.50 V不斷改變。在2 min內(nèi)不停地傳輸元組,記錄單機(jī)內(nèi)存不同狀態(tài)的能耗如表4所示。

表3 基準(zhǔn)測試參數(shù)配置

表4 DDR3 1066內(nèi)存能耗的數(shù)據(jù)測量值

5.2 工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值選擇

根據(jù)4.1節(jié)實(shí)驗(yàn)環(huán)境參數(shù)設(shè)置完成以下實(shí)驗(yàn),由于工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略使用storm平臺,因此在節(jié)能的同時需要保持計(jì)算的效率,即不能影響系統(tǒng)的性能。為便于實(shí)驗(yàn)檢測,根據(jù)4種基準(zhǔn)測試用例設(shè)置metrics.poll的值為5 000 ms,metrics.time的值為300 000 ms,即每組實(shí)驗(yàn)每5 s刷新一次數(shù)據(jù),共統(tǒng)計(jì)5 min。

根據(jù)上述條件,現(xiàn)有storm集群存在19臺普通PC機(jī),通過nmon軟件檢測5 min內(nèi)storm集群處理一份數(shù)據(jù)文件,統(tǒng)計(jì)系統(tǒng)CPU使用率與數(shù)據(jù)傳輸量的變化,為后續(xù)實(shí)驗(yàn)奠定基礎(chǔ)。

圖7 原系統(tǒng)執(zhí)行RollingCount后,數(shù)據(jù)處理及傳輸約束條件

通過storm UI可以檢測出整個storm集群存在2個拓?fù)鋱?zhí)行非關(guān)鍵路徑的工作節(jié)點(diǎn)與14個拓?fù)鋱?zhí)行關(guān)鍵路徑的工作節(jié)點(diǎn),后續(xù)的實(shí)驗(yàn)以此為前提,圖7系統(tǒng)執(zhí)行RollingCount后數(shù)據(jù)處理及傳輸約束條件。由圖7可以看出,計(jì)算后CPU使用率的平均值約為62.8%,數(shù)據(jù)傳輸量的平均值約為49 632 tuple/s。同理可得,系統(tǒng)執(zhí)行RollingSort后,CPU使用率的平均值約為59.6%,數(shù)據(jù)傳輸量的平均值約為46 528 tuple/s;系統(tǒng)執(zhí)行WordCount后,CPU的使用率的平均值約為86.4%,數(shù)據(jù)傳輸量的平均值約為97 329 tuple/s,系統(tǒng)執(zhí)行Sol后,CPU的使用率的平均值約為23.2%,數(shù)據(jù)傳輸量的平均值約為98 361 tuple/s。現(xiàn)通過表1~表3中的環(huán)境配置相關(guān)參數(shù)進(jìn)行24次實(shí)驗(yàn)。根據(jù)圖7系統(tǒng)數(shù)據(jù)處理及傳輸約束條件,分別對CPU敏感型的WordCount、網(wǎng)絡(luò)帶寬敏感型的Sol與內(nèi)存敏感型的RollingSort進(jìn)行測試,且每個基準(zhǔn)測試進(jìn)行4次實(shí)驗(yàn)。根據(jù)系統(tǒng)數(shù)據(jù)處理及傳輸約束條件平均值,由不同工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能算法確定工作節(jié)點(diǎn)的不同閾值,并對實(shí)驗(yàn)結(jié)果進(jìn)行對比分析。該實(shí)驗(yàn)通過storm UI觀測工作節(jié)點(diǎn)數(shù)據(jù)處理情況,根據(jù)數(shù)據(jù)傳輸量、CPU使用率與內(nèi)存功率來確定合適工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值,實(shí)驗(yàn)結(jié)果如圖8所示。

從實(shí)驗(yàn)結(jié)果中可以看出,storm集群的功率隨工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量選定閾值的不同而改變。由圖8的6組實(shí)驗(yàn)測試可知,實(shí)驗(yàn)組test11、test21、test31、test41、test51與test61為原系統(tǒng)不進(jìn)行節(jié)能算法且不改變工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值,在50 s之前系統(tǒng)數(shù)據(jù)處理的功率逐步上升,且穩(wěn)定在50 s左右,其原因?yàn)閿?shù)據(jù)傳輸速率逐步穩(wěn)定,而數(shù)據(jù)傳輸及處理在不同的工作節(jié)點(diǎn)上的功率不相同。但對于不同的基準(zhǔn)測試,系統(tǒng)根據(jù)不同的閾值情況,通過實(shí)施不同的節(jié)能算法,使功率明顯低于原系統(tǒng),具體計(jì)算結(jié)果在表5中進(jìn)行統(tǒng)計(jì)。

由表5可知,系統(tǒng)執(zhí)行DVRCP算法后的功率低于執(zhí)行DVRNP算法后的功率。且根據(jù)實(shí)驗(yàn)test13、test23、test33、test43、test53與test63的結(jié)果可知,系統(tǒng)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的最佳閾值由實(shí)驗(yàn)前期采樣結(jié)果以及實(shí)驗(yàn)選擇不同的拓?fù)錄Q定。因此,后續(xù)實(shí)驗(yàn)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值根據(jù)實(shí)驗(yàn)前期采樣結(jié)果與選擇的不同拓?fù)溆?xùn)練集決定。

5.3 工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略實(shí)驗(yàn)結(jié)果分析

根據(jù)工作節(jié)點(diǎn)是否在拓?fù)鋱?zhí)行的關(guān)鍵路徑上,工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略可分為2種節(jié)能算法,并根據(jù)數(shù)據(jù)處理限制條件對工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值進(jìn)行判別,從而動態(tài)調(diào)節(jié)系統(tǒng)不同電壓,當(dāng)系統(tǒng)數(shù)據(jù)處理高于工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值時內(nèi)存電壓上升,當(dāng)系統(tǒng)數(shù)據(jù)處理低于工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值時內(nèi)存電壓下降。現(xiàn)通過不同的基準(zhǔn)測試對策略進(jìn)行測試,并通過對比CPU的動態(tài)電壓調(diào)控節(jié)能策略[38],驗(yàn)證算法的可行性。根據(jù)5.2節(jié)實(shí)驗(yàn)test13、test23、test33、test43、test53與test63選擇的閾值,通過測試5 min內(nèi)系統(tǒng)不停地傳輸元組的能耗,對系統(tǒng)進(jìn)行CPU敏感型的WordCount、內(nèi)存敏感型的RollingSort以及網(wǎng)絡(luò)帶寬敏感型的Sol共3組不同的基準(zhǔn)測試,其中基準(zhǔn)測試WordCount與Sol為理想狀態(tài)下系統(tǒng)的能耗情況,RollingSort為整個系統(tǒng)工作節(jié)點(diǎn)內(nèi)存環(huán)境的能耗情況。圖9展示了0~5 min內(nèi)系統(tǒng)在3種基準(zhǔn)測試下的能耗情況。

圖8 3種不同基準(zhǔn)測試的工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值情況

表5 兩種節(jié)能算法下系統(tǒng)的功率情況

由圖9可以看出,隨著時間的增加,系統(tǒng)的能耗不斷上升,且系統(tǒng)實(shí)施3種節(jié)能算法后的能耗明顯小于原系統(tǒng),而DVFS算法明顯優(yōu)于其他2種節(jié)能算法。但DVFS算法已廣泛應(yīng)用到IT行業(yè)的不同領(lǐng)域,而內(nèi)存的電壓調(diào)控節(jié)能策略還不成熟,且CPU的工作電壓遠(yuǎn)高于內(nèi)存的工作電壓,因此DVFS算法節(jié)能效果更明顯。對于DVRNP算法與DVRCP算法,由圖9(a) 的WordCount測試與圖9(b)的Sol測試表明,在220 s前DVRNP算法的節(jié)能效果優(yōu)于DVRCP算法的節(jié)能效果,根據(jù)3.4節(jié)可知,DVRCP算法受系統(tǒng)元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間的影響,因此220 s前DVRNP算法的節(jié)能效果比較好;在220 s后系統(tǒng)執(zhí)行DVRCP算法的節(jié)能效果優(yōu)于DVRNP算法的節(jié)能效果,根據(jù)5.2節(jié)采樣確定storm集群存在2個拓?fù)鋱?zhí)行的非關(guān)鍵路徑工作節(jié)點(diǎn)與14個拓?fù)鋱?zhí)行的關(guān)鍵路徑工作節(jié)點(diǎn),因此220 s后DVRCP算法的節(jié)能效果比較好。而圖9(b) RollingSort測試的能耗相對較高的原因?yàn)榘巳缦到y(tǒng)必要時間計(jì)算成本W等物理因素,在180 s后系統(tǒng)的數(shù)據(jù)處理及傳輸基本穩(wěn)定,系統(tǒng)能耗逐步達(dá)到平衡。

圖9 系統(tǒng)在3種基準(zhǔn)測試下的能耗情況

RollingCount是storm平臺下的一個大數(shù)據(jù)典型基準(zhǔn)測試,其特點(diǎn)為持續(xù)在內(nèi)存中遵循某個統(tǒng)計(jì)指令(如同一件商品的出現(xiàn)次數(shù))計(jì)算,然后每隔一段時間輸出實(shí)時計(jì)算后的結(jié)果,可以廣泛應(yīng)用到各類需要大數(shù)據(jù)實(shí)時計(jì)算的場景,例如實(shí)時熱門廣告、商品、微博等的統(tǒng)計(jì)。本實(shí)驗(yàn)采用RollingCount對系統(tǒng)的真實(shí)功率進(jìn)行測試,首先根據(jù)5.2節(jié)對RollingCount基準(zhǔn)測試的閾值進(jìn)行選擇,圖10為0~5 min內(nèi)對storm集群19臺PC機(jī)采用RollingCount測試的功率情況。

圖10 系統(tǒng)執(zhí)行RollingCount測試后的功率情況

由圖10可以看出,系統(tǒng)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值在CPU使用率為65%、數(shù)據(jù)處理量為50 000 tuple/s的情況下,2種算法的節(jié)能效果最好,且系統(tǒng)執(zhí)行DVRNP算法與DVRCP算法后的功率明顯小于原系統(tǒng)。因此后續(xù)系統(tǒng)執(zhí)行RollingCount測試的實(shí)驗(yàn)工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值以CPU使用率65%、數(shù)據(jù)處理量50 000 tuple/s為準(zhǔn)。由圖10計(jì)算,系統(tǒng)執(zhí)行DVRNP算法的功率的平均值為924.2 W,系統(tǒng)執(zhí)行DVRCP算法的功率的平均值為791.1W,因此系統(tǒng)執(zhí)行DVRCP算法的功率低于系統(tǒng)執(zhí)行DVRNP算法的功率。為計(jì)算系統(tǒng)的能耗,需對系統(tǒng)不同時期的能耗結(jié)果進(jìn)行累加,現(xiàn)計(jì)算19臺PC機(jī)5min內(nèi)的能耗情況,計(jì)算結(jié)果如圖11所示。

圖11 系統(tǒng)執(zhí)行RollingCount測試后計(jì)算系統(tǒng)的能耗結(jié)果

由圖11可以看出,原系統(tǒng)能耗基本不受系統(tǒng)數(shù)據(jù)處理及傳輸?shù)挠绊懀到y(tǒng)實(shí)施3種不同的節(jié)能算法后,能耗增加比率也在隨著時間的變化不斷發(fā)生改變,而CPU的工作電壓遠(yuǎn)高于內(nèi)存的工作電壓,故DVFS算法節(jié)能效果優(yōu)于其他2種算法,但調(diào)節(jié)CPU的電壓容易對系統(tǒng)的性能造成影響,不適合storm系統(tǒng)的運(yùn)行。對于DVRNP算法與DVRCP算法而言,在180 s之前,數(shù)據(jù)傳輸量較少,相對觸發(fā)CPU使用率閾值的可能較低,系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓普遍較低,將系統(tǒng)實(shí)施DVRNP算法與DVRCP算法分別與原系統(tǒng)能耗作對比,系統(tǒng)實(shí)施DVRNP算法將原系統(tǒng)的能耗降低到54.3%,系統(tǒng)實(shí)施DVRCP算法將原系統(tǒng)的能耗降低到53.0%;在180 s之后,數(shù)據(jù)傳輸量超過系統(tǒng)閾值,且觸發(fā)CPU使用率閾值的可能性較高,系統(tǒng)工作節(jié)點(diǎn)內(nèi)存電壓增大,將系統(tǒng)實(shí)施DVRNP算法與DVRCP算法分別與原系統(tǒng)能耗作對比,系統(tǒng)實(shí)施DVRNP算法將處理能耗降低到原系統(tǒng)的97.1%,系統(tǒng)實(shí)施DVRCP算法將處理能耗降低到原系統(tǒng)的93.3%。因此,現(xiàn)統(tǒng)計(jì)系統(tǒng)5 min內(nèi)處理及傳輸數(shù)據(jù)的總能耗,其中原系統(tǒng)總能耗為7 170.3 kJ,實(shí)施DVRNP算法后的系統(tǒng)能耗為5 212.7 kJ,實(shí)施DVRCP算法后的系統(tǒng)能耗為4 656.8 kJ。系統(tǒng)實(shí)施DVRNP算法與DVRCP算法分別與原系統(tǒng)能耗作對比,系統(tǒng)實(shí)施DVRNP算法將原系統(tǒng)的能耗降低了28.5%,系統(tǒng)實(shí)施DVRCP算法將原系統(tǒng)的能耗降低了35.1%。綜上所述,工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略取得了比較理想的效果。

由于缺少更多的物理節(jié)點(diǎn),實(shí)驗(yàn)通過虛擬機(jī)建立更多的虛擬節(jié)點(diǎn)以評估算法的局限性,實(shí)驗(yàn)分別設(shè)置36、56、76和96個工作節(jié)點(diǎn)與原系統(tǒng)16個工作節(jié)點(diǎn)進(jìn)行比對,以能耗降低的百分比為評估指標(biāo),實(shí)驗(yàn)結(jié)果如圖12所示。

圖12 實(shí)施2種算法系統(tǒng)的節(jié)能效果

圖12為理想狀態(tài)下實(shí)施2種算法系統(tǒng)的節(jié)能效果,由圖12可知,系統(tǒng)實(shí)施2種節(jié)能算法并未隨著工作節(jié)點(diǎn)的增加而產(chǎn)生影響。但在理想狀態(tài)下并未考慮數(shù)據(jù)的處理及傳輸速率等因素,現(xiàn)根據(jù)真實(shí)節(jié)點(diǎn)數(shù)量的增加情況,計(jì)算數(shù)據(jù)的處理及傳輸速率,具體的計(jì)算結(jié)果如圖13所示。

圖13 系統(tǒng)實(shí)施2種算法對系統(tǒng)數(shù)據(jù)的處理及傳輸速率的影響

由圖13可知,實(shí)施DVRNP算法對系統(tǒng)數(shù)據(jù)的處理及傳輸速率基本不會產(chǎn)生影響,但實(shí)施DVRCP算法會隨著集群節(jié)點(diǎn)數(shù)的增加,而使系統(tǒng)數(shù)據(jù)的處理速率降低,工作節(jié)點(diǎn)間數(shù)據(jù)傳輸速率下降,系統(tǒng)性能下降,且數(shù)據(jù)的處理及傳輸速率降低會影響系統(tǒng)整體的通信開銷,由此,根據(jù)圖13可得出DVRCP算法的理論函數(shù)為

其中,V為數(shù)據(jù)的處理及傳輸速率,N為節(jié)點(diǎn)數(shù),代入圖13的數(shù)據(jù),化簡得到式(37)。

由此可知,實(shí)施DVRCP算法隨著工作節(jié)點(diǎn)數(shù)量的增加會對系統(tǒng)性能等因素造成一定的影響,因此工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略存在一定的局限性。

工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略應(yīng)該以保證性能為前提,其中DVRNP算法對系統(tǒng)性能沒有影響,在此不做分析。然而DVRCP算法對系統(tǒng)性能造成一定的影響,其主要的影響為元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間增加,因此需要對DVRCP算法進(jìn)行評估,評估的方法為選用性耗比,圖14為5 min內(nèi)系統(tǒng)性耗比的變化。

圖14 性耗比

根據(jù)3.4節(jié)可以看出,實(shí)施DVRCP算法后系統(tǒng)的性耗比與原系統(tǒng)性耗比基本相等,現(xiàn)由圖14測試16個工作節(jié)點(diǎn)的結(jié)果可知,系統(tǒng)實(shí)施DVRCP算法對storm集群的性耗比并不構(gòu)成影響,但是元組在拓?fù)鋱?zhí)行關(guān)鍵路徑上的處理及傳輸時間與系統(tǒng)總能耗乘機(jī)的倒數(shù)存在誤差,實(shí)驗(yàn)中不同服務(wù)器之間的性耗比并不相同,經(jīng)實(shí)驗(yàn)反復(fù)測試,獲得實(shí)驗(yàn)存在誤差常數(shù)C在[0.75, 1.34]之間。原系統(tǒng)16臺服務(wù)器的平均性耗比為0.073 75;實(shí)施DVRCP算法后系統(tǒng)16臺服務(wù)器的平均性耗比為0.081 5。由此,可見DVRCP算法對系統(tǒng)的性能不構(gòu)成影響,因此DVRCP算法是完全可行的。

6 結(jié)束語

隨著大數(shù)據(jù)技術(shù)的不斷發(fā)展,各種流式計(jì)算平臺和系統(tǒng)不斷產(chǎn)生,storm作為大數(shù)據(jù)流式計(jì)算的主流平臺,已逐漸在學(xué)術(shù)界和產(chǎn)業(yè)界引起廣泛關(guān)注,然而storm系統(tǒng)并未考慮因自身性能帶來的能耗問題。近年來現(xiàn)有研究改進(jìn)了storm數(shù)據(jù)調(diào)度存在的某些問題,但依舊存在系統(tǒng)能耗過高以及應(yīng)用場景單一等問題。針對上述問題,本文提出了WNDVR-storm,即針對工作節(jié)點(diǎn)是否在拓?fù)鋱?zhí)行的關(guān)鍵路徑上分別提出2種節(jié)能算法,計(jì)算不同工作節(jié)點(diǎn)內(nèi)存電壓取值范圍,并通過數(shù)據(jù)處理及傳輸制約條件,以此對工作節(jié)點(diǎn)CPU使用率與數(shù)據(jù)傳輸量的閾值進(jìn)行判別,根據(jù)數(shù)據(jù)流的處理及傳輸情況對系統(tǒng)電壓進(jìn)行動態(tài)調(diào)節(jié),從而降低了系統(tǒng)不必要的能耗損失。經(jīng)4種基準(zhǔn)測試論證了算法的可行性,工作節(jié)點(diǎn)內(nèi)存電壓調(diào)控節(jié)能策略有效地提高了storm平臺的能量利用率。

下一步的研究工作主要包括以下幾點(diǎn)。

1) 從storm平臺的性能出發(fā),以不改變甚至提高系統(tǒng)性能為前提,實(shí)現(xiàn)storm平臺的節(jié)能。可通過提高storm平臺的計(jì)算速率,降低數(shù)據(jù)處理時間以實(shí)現(xiàn)系統(tǒng)的節(jié)能,如將系統(tǒng)部分CPU處理的非文本數(shù)據(jù)替換到圖形處理器(GPU, graphics processing unit)中處理。

2) 可以增大storm平臺的網(wǎng)絡(luò)帶寬,網(wǎng)絡(luò)帶寬越大,數(shù)據(jù)量的傳輸速率越快,從而使得系統(tǒng)整體性能提高,可從側(cè)面提高系統(tǒng)節(jié)能效果。因此,可以考慮網(wǎng)絡(luò)帶寬方面的節(jié)能策略,以減少數(shù)據(jù)處理時間來達(dá)到降低storm平臺能耗的目的。

3) 可通過降低storm平臺的內(nèi)存延遲,提高系統(tǒng)的整體性能,如果延遲降低,則數(shù)據(jù)傳輸時間變短,從而達(dá)到以提高性能為前提并從側(cè)面降低系統(tǒng)能耗的目的。

[1] 孟小峰, 慈祥. 大數(shù)據(jù)管理: 概念、技術(shù)與挑戰(zhàn)[J]. 計(jì)算機(jī)研究與發(fā)展, 2013, 50(1): 146-169.

MENG X F, CI X. Big data management: concepts, techniques and challenges[J]. Journal of Computer Research and Development, 2013, 50(1): 146-169.

[2] 孫大為. 大數(shù)據(jù)流式計(jì)算: 應(yīng)用特征和技術(shù)挑戰(zhàn)[J]. 大數(shù)據(jù), 2015,1(3): 99-105.

SUN D W. Big data stream comuting: features and challenges[J]. Big Data Research, 2015,1(3): 99-105.

[3] CHEN C L P, ZHANG C Y. Data-intensive applications, challenges, techniques and technologies: a survey on big data[J]. Information Sciences, 2014, 275(11): 314-347.

[4] RANJAN R. Streaming big data processing in datacenter clouds[J]. IEEE Cloud Computing, 2014, 1(1): 78-83.

[5] KAMBATLA K, KOLLIAS G, KUMAR V, et al. Trends in big data analytics[J]. Journal of Parallel and Distributed Computing, 2014, 74(7): 2561-2573.

[6] 鄧維, 劉方明, 金海, 等. 云計(jì)算數(shù)據(jù)中心的新能源應(yīng)用: 研究現(xiàn)狀與趨勢[J]. 計(jì)算機(jī)學(xué)報(bào), 2013, 36(3): 582-598.

DENG W, LIU F M, JIN H, et al. Leveraging renewable energy in cloud computing datacenters: state of the art and future research[J]. Chinese Journal of Computers, 2013, 36(3): 582-598.

[7] 廖彬, 張?zhí)? 于炯, 等. 溫度感知的MapReduce節(jié)能任務(wù)調(diào)度策略[J].通信學(xué)報(bào), 2016, 37(1): 61-75.

LIAO B, ZHANG T, YU J, et al. Temperature aware energy-efficient task scheduling strategies for MapReduce[J]. Journal on Communications, 2016, 37(1): 61-75.

[8] 蒲勇霖,于炯,魯亮,等. 基于實(shí)時流式計(jì)算系統(tǒng)的數(shù)據(jù)分類節(jié)能策略[J].計(jì)算機(jī)工程與設(shè)計(jì),2017, 38(1): 59-64

PU Y L, YU J, LU L, et al. Energy-efficient strategy based on data classification in real-time stream computing system[J]. Computer Engineering and Design, 2017, 38(1): 59-64

[9] SUN D, ZHANG G, YANG S, et al. Re-Stream: Real-time and energy-efficient resource scheduling in big data stream computing environments[J]. Information Sciences, 2015, (319): 92-112.

[10] TOSHNIWAL A, TANEJA S, SHUKLA A, et al. Storm @Twitter [C] //Proc of the 2014 ACM SIGMOD Int Conf on Management of data. ACM, 2014: 147-156.

[11] BORTHAKUR D, GRAY J, SARMA J S, et al. Apache hadoop goes realtime at Facebook[C] //The 2011 ACM SIGMOD Int Conf on Management of data. 2011: 1071-1080.

[12] NEUMEVER L, ROBBINS B, NAIR A, et al. S4: Distributed stream computing platform[C] //The 10th IEEE Int Conf on Data Mining Workshops (ICDMW 2010). 2010: 170-177.

[13] ZAHARIA M, DAS T, LI H, et al. Discretized streams: an efficient and fault-tolerant model for stream processing on large clusters[C]//The 4th USENIX conf on Hot Topics in Cloud Computing. 2012: 10.

[14] FISCHER M J, SU X, YIN Y. Assigning tasks for efficiency in hadoop[C]//The 22th annual ACM Symp on Parallelism in algorithms and architectures. 2010: 30-39.

[15] ALBERS S. Energy-efficient algorithms[J]. Communications of the ACM, 2010, 53(5):86-96.

[16] TCHEMYKH A, PECERO J E, BARRONDO A, et al. Adaptive energy efficient scheduling in Peer-to-Peer desktop grids[J]. Future Generation Computer Systems, 2014, 36(7):209-220.

[17] POLLAKIS E, CAVALCANTE R L G, STANCZAK S. Traffic demand-aware topology control for enhanced energy-efficiency of cellular networks[J]. EURASIP Journal on Wireless Communications and Networking, 2016, 2016(1):61-77.

[18] LIU G X, XU J L, HONG X B. Internet of things sensor node information scheduling model and energy saving strategy[J]. Advanced Materials Research, 2013, 773(1):215-220.

[19] WANG X, WANG Y, CUI Y. A new multi-objective bi-level programming model for energy and locality aware multi-job scheduling in cloud computing[J]. Future Generation Computer Systems, 2014, 36(7):91-101.

[20] HE F Y, WANG F. Research on energy saving for multi-back after blending water from one station system’s parameters optimization[J]. Advanced Materials Research, 2014, 1023:187-191.

[21] MILI M R, MUSAVIAN L, HAMDI K A, et al. How to increase energy efficiency in cognitive radio networks[J]. IEEE Transactions on Communications, 2016, 64(5):1829-1843.

[22] CHEN X, YANG H, ZHANG W. A comprehensive sensitivity study of major passive design parameters for the public rental housing development in Hong Kong[J]. Energy, 2015, (93): 1804-1818.

[23] WANG H, CHEN Q. A semi-empirical model for studying the impact of thermal mass and cost-return analysis on mixed-mode ventilation in office buildings[J]. Energy & Buildings, 2013, 67(4):267-274.

[24] YANG T, MINO G, BAROLLI L, et al. Energy-saving in wireless sensor networks considering mobile sensor nodes[J]. Computer Systems Science & Engineering, 2011, 27(5): 317-326.

[25] 孫大為, 張廣艷, 鄭緯民. 大數(shù)據(jù)流式計(jì)算: 關(guān)鍵技術(shù)及系統(tǒng)實(shí)例[J].軟件學(xué)報(bào), 2014, 25(4): 839-862.

SUN D W, ZHANG G Y, ZHENG W M. Big data stream computing: Technologies and instances[J]. Journal of Software, 2014, 25(4): 839-862.

[26] LI K C, JIANG H, YANG L T, et al. Big data: algorithms, analytics, and applications[M]. Florida: CRC Press, 2015: 193-214.

[27] BONAMY R, BILAVARN S, MULLER F. An energy-aware scheduler for dynamically reconfigurable multi-core systems[C]// International Symposium on Reconfigurable Communication-Centric Systems-On-Chip. 2015:1-6.

[28] 蒲勇霖, 于炯, 魯亮, 等. 大數(shù)據(jù)流式計(jì)算環(huán)境下的內(nèi)存節(jié)能策略[J].小型微型計(jì)算機(jī)系統(tǒng), 2017, 38(9): 1988-1993.

PU Y L, YU J, LU L, et al. Energy-efficient strategy for memory in big data stream computing environment[J]. Journal of Chinese Mini-Micro Computer Systems, 2017, 38(9):1988-1993.

[29] TRIHINAS D, PALLIS G, DIKAIAKOS M D. JCatascopia: monitoring elastically adaptive applications in the cloud[C]//The 14th IEEE/ACM Int Symp on Cluster, Cloud and Grid Computing (CCGrid). 2014: 226-235.

[30] VAN D V J S, VAN D W B, LAZOVIK E, et al. dynamically scaling apache storm for the analysis of streaming data[C]//The 2015 IEEE 1st Int Conf on Big Data Computing Service and Applications. 2015: 154-161.

[31] CORDESCHI N, SHOJAFAR M, AMENDOLA D, et al. Energy-efficient adaptive networked datacenters for the QoS support of real-time applications[J]. The Journal of Supercomputing, 2014, 71(2): 448-478.

[32] BASKIYAR S, ABDEL-KADER R. Energy aware DAG scheduling on heterogeneous systems[J]. Cluster Computing, 2010, 13(4): 373-383.

[33] HSU C H, SLAGTER K D, CHEN S C, et al. Optimizing energy consumption with task consolidation in clouds[J]. Information Sciences, 2014, 258(3):452-462.

[34] KIM N, CHO J, SEO E. Energy-credit scheduler: an energy-aware virtual machine scheduler for cloud systems[J]. Future Generation Computer Systems, 2014, 32(2):128-137.

[35] ZONG Z, MANZANARES A, RUAN X, et al. EAD and PEBD: two energy-aware duplication scheduling algorithms for parallel tasks on homogeneous clusters[J]. IEEE Transactions on Computers, 2010, 60(3):360-374.

[36] PATAN R, RAJASEKHARA B M. Re-storm: real-time energy efficient data analysis adapting storm platform[J]. Jurnal Teknologi, 2016, 78(10):139-146.

[37] 魯亮,于炯,卞琛,等. 大數(shù)據(jù)流式計(jì)算框架Storm的任務(wù)遷移策略[J]. 計(jì)算機(jī)研究與發(fā)展, 2018, 55(1): 71-92.

LU L, YU J, BIAN C, et al. A Task Migration Strategy in Big Data Stream Computing with Storm[J]. Journal of Computer Research and Development, 2018, 55(1): 71-92.

[38] MATTEIS T D, MENCAGLI G. Keep calm and react with foresight: strategies for low-latency and energy-efficient elastic data stream processing[J]. Journal of Systems and Software, 2016, 51(8):1-12.

[39] PAMLEY M R, ORRO J M, KEOWN W F, et al. Dynamic memory voltage scaling for power management: US, US20100250981[P]. 2010.

[40] 蒲勇霖, 于炯, 王躍飛, 等. 大數(shù)據(jù)流式計(jì)算環(huán)境下的閾值調(diào)控節(jié)能策略[J]. 計(jì)算機(jī)應(yīng)用, 2017, 37(6):1580-1586.

PU Y L, YU J, WANG Y F, et al. Energy-efficient strategy for threshold control in big data stream computing environment[J]. Journal of Computer Applications, 2017, 37(6):1580-1586.

[41] HONG S P, YOO S J. Dynamic voltage scaling method of CPU using workload estimator and computer readable medium storing the method: US, US7685446[P]. 2010.

[42] HWANG I, PEDRAM M. A comparative study of the effectiveness of CPU consolidation versus dynamic voltage and frequency scaling in a virtualized multicore server[J]. IEEE Transactions on Very Large Scale Integration Systems, 2016, 24(6):2103-2116.

[43] 林闖, 田源, 姚敏. 綠色網(wǎng)絡(luò)和綠色評價: 節(jié)能機(jī)制、模型和評價[J].計(jì)算機(jī)學(xué)報(bào), 2011, 34(4): 593-612.

LIN C, TIAN Y, YAO M. Green network and green evaluation: mechanism, modeling and evaluation[J]. Chinese Journal of Computers, 2011, 34(4): 593-612.

[44] GRIFFITHS N. Nmon performance: A free tool to analyze AIX and Linux performance[EB/OL]. (2017-06-25)[2017-07-03]. http://www. ibm. com/ developerworks/aix/library/au-analyze aix.

Energy-efficient strategy for work node by DRAM voltage regulation in storm

PU Yonglin1, YU Jiong1,2, LU Liang2, BIAN Chen2, LIAO Bin3, LI Ziyang1,4

1. School of Software, Xinjiang University, Urumqi 830008, China 2. School of Information Science and Engineering, Xinjiang University, Urumqi 830046, China 3. School of Statistics and Information, Xinjiang University of Finance and Economics, Urumqi 830012, China 4. Xinjiang Runwu Network Limited Company, Urumqi 830002, China

Focused on the problem that traditional energy-efficient strategies never consider about the real time of data processing and transmission, models of directed acyclic graph, parallelism of instance, resource allocation for task and critical path were set up based on the features of data stream processing and the structure of storm cluster. Meanwhile, the WNDVR-storm (energy-efficient strategy for work node by dram voltage regulation in storm) was proposed according to the analysis of critical path and system performance, which included two energy-efficient algorithms aiming at whether there were any work nodes executing on the non-critical path of a topology. Finally, the appropriate threshold values fit for the CPU utilization of work node and the volume of transmitted data were determined based on the data processing and transmission constraints to dynamically regulate the DRAM voltage of the system. The experimental result shows that the strategy can reduce energy consumptioneffectively. Moreover, the fewer constraints are, the higher energy efficiency is.

big data, stream computing, storm, critical path, DRAM voltage, energy consumption

TP311

A

10.11959/j.issn.1000-436x.2018213

蒲勇霖(1991?),男,山東淄博人,新疆大學(xué)博士生,主要研究方向?yàn)閮?nèi)存計(jì)算、流式計(jì)算、綠色計(jì)算等。

于炯(1964?),男,新疆烏魯木齊人,博士,新疆大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)椴⑿杏?jì)算、分布式系統(tǒng)、綠色計(jì)算等。

魯亮(1990?),男,新疆烏魯木齊人,新疆大學(xué)博士生,主要研究方向?yàn)榉植际较到y(tǒng)、內(nèi)存計(jì)算、綠色計(jì)算。

卞琛(1981?),男,江蘇南京人,博士,新疆大學(xué)副教授,主要研究方向?yàn)榉植际较到y(tǒng)、內(nèi)存計(jì)算、綠色計(jì)算等。

廖彬(1986?),男,新疆烏魯木齊人,博士,新疆財(cái)經(jīng)大學(xué)副教授、碩士生導(dǎo)師,主要研究方向?yàn)榉植际较到y(tǒng)、數(shù)據(jù)庫理論與技術(shù)、綠色計(jì)算等。

李梓楊(1993?),男,新疆烏魯木齊人,新疆大學(xué)碩士生,主要研究方向?yàn)榱魇接?jì)算、內(nèi)存計(jì)算等。

2017?07?18;

2017?12?25

蒲勇霖,puyonglin1991@foxmail.com

國家自然科學(xué)基金資助項(xiàng)目(No.61262088, No.61462079, No.61562086, No.61363083, No.61562078);國家科技部科技支撐項(xiàng)目(No.2015BAH02F01);新疆維吾爾自治區(qū)研究生科研創(chuàng)新項(xiàng)目(No.XJGRI2016028)

The National Natural Science Foundation of China (No.61262088, No.61462079, No.61562086, No.61363083, No. 61562078), The Science and Technology Support Projects of Ministry of National Science and Technology(No. 2015BAH02F01), The Research Innovation Project of Graduate Student in Xinjiang Uygur Autonomous Region (No. XJGRI2016028)

猜你喜歡
系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
基于UG的發(fā)射箱自動化虛擬裝配系統(tǒng)開發(fā)
半沸制皂系統(tǒng)(下)
FAO系統(tǒng)特有功能分析及互聯(lián)互通探討
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統(tǒng) 德行天下
PLC在多段調(diào)速系統(tǒng)中的應(yīng)用
主站蜘蛛池模板: 日本午夜视频在线观看| 日韩高清一区 | 亚洲免费人成影院| 精品无码国产自产野外拍在线| 视频二区亚洲精品| 久久亚洲精少妇毛片午夜无码| 免费观看国产小粉嫩喷水| 国产又爽又黄无遮挡免费观看| 台湾AV国片精品女同性| 日韩AV手机在线观看蜜芽| 91精品国产自产在线老师啪l| 日日拍夜夜操| 久久久久久国产精品mv| 亚洲精品成人7777在线观看| 一级高清毛片免费a级高清毛片| 久久成人免费| 亚洲国产精品久久久久秋霞影院 | а∨天堂一区中文字幕| 中国精品久久| 精品三级网站| 五月婷婷综合网| 国内精品九九久久久精品 | 制服丝袜国产精品| 欧美日韩中文字幕在线| 一级毛片在线播放免费观看| 欧美日韩亚洲综合在线观看| 午夜国产在线观看| 看看一级毛片| 国产精品偷伦在线观看| 日韩福利视频导航| 99色亚洲国产精品11p| 精品人妻一区二区三区蜜桃AⅤ| 久久久精品无码一二三区| 国产一区三区二区中文在线| 国产成人精品免费av| 中文毛片无遮挡播放免费| 日韩精品专区免费无码aⅴ| 又黄又湿又爽的视频| 真人高潮娇喘嗯啊在线观看| 久久久精品国产亚洲AV日韩| 国产精品播放| 日韩中文精品亚洲第三区| 国产色婷婷| 一区二区三区四区日韩| 97亚洲色综久久精品| 狠狠色综合久久狠狠色综合| 日韩区欧美国产区在线观看| 99尹人香蕉国产免费天天拍| 天天综合网色| 成人一级免费视频| 刘亦菲一区二区在线观看| 日韩免费毛片视频| 狠狠色狠狠色综合久久第一次| 国产精品人人做人人爽人人添| 欧美色伊人| AV不卡无码免费一区二区三区| 国产啪在线91| 国产乱人伦精品一区二区| 国产精品亚欧美一区二区| 亚洲床戏一区| 亚洲欧美天堂网| 在线观看亚洲人成网站| 国产乱子伦一区二区=| 色哟哟精品无码网站在线播放视频| 黄色网页在线观看| 亚洲色中色| 凹凸国产分类在线观看| 国产丝袜无码精品| 国产精品浪潮Av| 五月天天天色| 欧美在线视频不卡| 99久久亚洲综合精品TS| 国产后式a一视频| 国产精品大尺度尺度视频| 在线观看视频99| 黄色网站在线观看无码| 精品中文字幕一区在线| 日韩在线观看网站| 无码视频国产精品一区二区| 久久天天躁狠狠躁夜夜躁| 婷婷综合亚洲| 成人国产一区二区三区|