摘 要: 云計算系統(tǒng)中數據中心的能耗問題早已成為人們廣泛關注的一個重點問題,從綠色節(jié)能角度分析如何對云計算平臺中的各種節(jié)點進行調度、對云計算系統(tǒng)中有效能量數據進行擺放是非常關鍵的問題。目前已有的節(jié)點調度策略無法在云計算系統(tǒng)中獲得較好的節(jié)能功效,導致云計算中的數據擺放成為一個比較嚴重的問題。通過對云計算系統(tǒng)中能量有效數據擺放算法和節(jié)點調度策略進行分析,為增強數據擺放方法與節(jié)點調度的有效性奠定良好的基礎。
關鍵詞: 云計算系統(tǒng); 能量有效性; 數據擺放算法; 節(jié)點調度策略
中圖分類號: TN702.2?34 文獻標識碼: A 文章編號: 1004?373X(2015)09?0080?03
Abstract: Energy consumption is widespread concerned of data center in the cloud computing, the key problem is to analyze how to schedule the node in cloud computing platform and how to place the effective energy data in cloud computing system with green energy saving point. In cloud computing system, the energy saving effect is unable to obtain by the existing strategy of node scheduling currently, so cloud computing data placement becomes a serious problem. Energy efficient data placement algorithm and node scheduling strategy of cloud computing system is analyzed, it built a good foundation to enhance the feasible of data placement method and the effective of node scheduling.
Keywords: cloud computing system; energy efficiency; data placement algorithm; node scheduling strategy
伴隨網絡技術的不斷發(fā)展及其運用范圍的不斷擴大,人類獲取數據及生產的能力也在不斷的發(fā)展,從而致使海量數據的運用越來越普遍。為了對海量數據的計算和管理提供有效的支持,出現了許多大規(guī)模、超大規(guī)模的數據密集型的計算平臺,比如云計算系統(tǒng)的出現,給人們使用大型計算系統(tǒng)提供了快捷、方便的計算服務和數據管理。但是,這些計算系統(tǒng)在使用的過程中同樣面臨著許多潛在的威脅,其中能量消耗問題是最嚴重的。
1 云計算系統(tǒng)中動態(tài)數據的擺放算法
1.1 數據塊的初始擺放
一般情況下,云計算系統(tǒng)中的數據量都顯得比較大,且其是事先就準備好的,因而對云計算系統(tǒng)中的數據進行合理的擺放能夠使云計算系統(tǒng)的相關性能得到不斷地提升。在云計算系統(tǒng)中的服務器處于集群初始的狀態(tài)時,且相關的數據信息是已知的,對這些已知的數據進行初始化的布置及預處理的作用是可以訪問到更多數據,且使其實現順序訪問,從而就可以達到一定的節(jié)能效果。
對已知的數據進行處理的過程中,首先應該把數據全部劃分成大小為[B]的相應的數據塊,這樣就可以獲得全數據塊的集合,其集合表示為[D={d0,d1,…,dm-1}。]為了使數據的可靠性得到有效的保證,應在節(jié)點中對數據塊進行備份,且對備份好的數量做好相應的定義,其可以定義成備份因子[K,]其中[K]大于1。這樣,就可以使各個數據塊都獲得一個相應的主備份塊,主備份塊則用[p]表示,且可以獲得[k-1]個從備份的數據塊。假設任務請求對數據塊進行訪問,其首先是對主備份塊進行訪問。主備份塊出現更新時,將更新的信息在統(tǒng)一的時間內傳遞到全部從備份的數據塊中;若沒有存在特殊的情況,只有主備份塊出現錯誤或者過載時,從備份數據塊才會被任務請求訪問。
對云計算平臺中數據擺放的算法進行分析的過程中,可以將數據儲存的節(jié)點集合設為[S,]其中[S={S0,][S1,…,SN-1},][N]表示的是節(jié)點的個數。此時,數據塊的初始化擺放如下:根據備份的因子數,把包含從數據塊、主數據塊的全部數據分成[K]組,其中每個組均與數據塊個數為[M]的全數據集合相等,并在[NK]個節(jié)點中對該數據塊進行儲存,各個分組中所分配的節(jié)點都不一樣。每一個組內存放一張節(jié)點位置的映射表和數據庫,將全部數據庫位置映射表(Map)存儲在主控模塊中。從節(jié)能和響應時間這兩個方面進行綜合考慮,組和組間可以運用不一樣的布置策略。因此綜合響應時間和節(jié)能的考慮,通過組間不同數據的分配方法,為了讓組和組間的映射位置有所區(qū)別,可以利用隨機映射的方法,隨機將各組中的數據塊映射到[NK]個節(jié)點里,進而得出這個組的具體位置映射表,之后再把全部位置映射表存放在主控模塊的位置映射表中。
1.2 對動態(tài)數據的擺放算法進行分析
在分析動態(tài)數據的擺放算法時,首先給出相應的動態(tài)數據擺放算法定義及公式,根據任務請求需要的相關數據塊在每個節(jié)點中的分布及分布多少,可以給出相應的定義1:在各個節(jié)點[s∈S]中,含有的總數據塊為[q,]達到任務請求隊列的需求量,該節(jié)點覆蓋率定義為[1][γ(s)=pq]。
另外,為了使數據可靠性得到有效的保證,可以采用數據塊的備份機制,各個數據塊均有一個相應的主備份塊及無數個從備份塊,將主備份數據塊進行轉移來達到轉移數據的目的。但是,對數據進行轉移的過程中,要求必須在相同數據之間才可以進行轉移,因此可以得出相應的定義2:若節(jié)點[s]與節(jié)點[st]中存在數據塊相同的備份,說明[s]與[st]之間的數據是可以互相進行交換。動態(tài)數據的擺放算法得以啟動的前提是,集群中的部分節(jié)點資源的利用率缺少相應的合理性,當其沒有所給定的閾值大時,就能夠對數據進行轉移,并把該節(jié)點關閉,這樣就可以節(jié)省一定的能量,減少能量的消耗。但是,當資源的利用率比給定閾值大時,一定要將節(jié)點的性能考慮進去,對其進行相應的調整,且不可以再向此節(jié)點轉移數據。由此可以得出,節(jié)點資源的利用率高低直接影響著數據擺放,因此可以給出相應節(jié)點資源的利用率公式:[U=e·Ucpu+(1-e)?Udisk,]其中,[e]代表比例因子;[Ucpu]表示利用率;[Udisk]表示磁盤利用率。得出相應的定義及計算公式之后,就可以根據公式進行相應的計算[2]。
例如,給出相應的動態(tài)數據擺放算法:在進行計算的過程中,算法基本的輸入是數據塊映射表和節(jié)點,輸出則是數據擺放的策略。在Map中找出資源利用率較低或者較高的相關節(jié)點,放入節(jié)點的集合(Sutil)公式中,對所有節(jié)點資源的利用率(Us)進行計算,并對其進行相應的判斷,看其是否比給定的閾值(Uup)大;如果比Uup大,則說明該節(jié)點是過載的節(jié)點,必須將該節(jié)點中主備份的數據塊轉移到資源利用率比較低的、能夠進行交換的其他節(jié)點中;若Us沒有Uup大,應該把此節(jié)點主備份的數據塊全部轉移到另外的節(jié)點,再利用節(jié)點的調度策略將該節(jié)點調到節(jié)能的狀態(tài)。在動態(tài)的數據擺放算法中,數據塊的轉移主要是對主備份的數據塊進行轉移,這樣能夠使數據的轉移量在最小的范圍之內,達到一定的節(jié)能目的。
2 對調度算法進行分析
云計算系統(tǒng)節(jié)能效果主要是受到節(jié)點調度的影響,對節(jié)點調度的相關策略進行探討是研究云計算系統(tǒng)節(jié)能的關鍵所在。在云計算系統(tǒng)中運用批處理及online調度模型,可以使調度算法得到相應的優(yōu)化,批處理的調度算法比較適合運用在任務請求的時間要求不夠嚴格的情況中;而online調度則屬于批處理調度中的特殊情況之一,其算法通常適合運用在實時性較高的環(huán)境中。
2.1 分析批量處理調度的具體定義及其算法
采用批處理調度的算法進行計算的前提條件是,任務請求的時間要求缺少一定的嚴格性,在調度時間全部結束時對任務請求進行相應的處理,如果集群在開始時期都處在關閉的狀態(tài),且在調度的時間范圍內,可以將任務請求完全隊列為Jrequest={r0,r1,…,rw},其中w大于0,可以將各個節(jié)點中任務執(zhí)行的時間設為Ti= Tcpu+Ti/o,計算的過程每個節(jié)點的平均功率為Pavg,此時集群中節(jié)點集合所消耗的功率為Pcluster=aPavg,a代表開啟的節(jié)點數目[3]。利用節(jié)點調度的策略讓任務請求隊列執(zhí)行時間縮到最短,根據初始化數據分配的相關策略可以得出,對任務進行并行處理能夠縮短任務執(zhí)行的時間,讓其達到最小值。
由于組間所采用的擺放方法不一樣,因此任務執(zhí)行并發(fā)度就會顯得越高,使任務執(zhí)行的時間變得越小。假設知道功率上限,并給出相應的優(yōu)化目標,如目標1:
目標1:已知Pmax,計算出[minTe=i=0a-1Ti。]
目標公式中的Pmax表示集群消耗功率上限,而[Te]表示全部任務請求的總執(zhí)行時間。在該優(yōu)化目標中主要是利用節(jié)點調度讓[Te=i=0a-1Ti]達到最小。
接下來根據給出的問題定義,如在問題定義1中,輸入:Map,Pmax,Jrequest={r0,r1,…,rn}(n大于0);輸出:任務分配策略,且JS={JS|Jrequest→S},其約束條件為min[Ti,]并且i小于等于N。問題定義1給出了功耗問題,對其性能進行求解[4]。
2.2 分析批量處理調度的相關算法
在優(yōu)化目標1中,可以對任務并行執(zhí)行,且根據初始數據擺放的策略,可以讓任務執(zhí)行的時間縮短到最小。批處理節(jié)點的調度計算方法如下:
輸入:初始化數據擺放策略映射表、集群消耗上限功率、Jrequest。
輸出:任務分配策略。
參照Map計算出[S]中的全部節(jié)點覆蓋率Y(s),再計算出[V=PmaxPavg,]其中While Jrequest≠[?]do,將Y(s)中最高的前V個節(jié)點開啟。
If ri表示讀操作,ri[∈]Jrequest,且必須把ri分配到任意的節(jié)點開啟中,對JS進行更新。如果當前所開啟的節(jié)點中沒有任務請求,應從關閉的節(jié)點中將Y(s)的最高節(jié)點找出來并開啟,把當前的節(jié)點全部關閉,調用相應的動態(tài)數據擺放算法。根據以上的批處理節(jié)點調度算法,因為已經知道每一臺機器的平均功率(Pavg),所以可以得出云計算系統(tǒng)中可以開啟的、最大的節(jié)點數目為[V=PmaxPavg,]將問題轉換為給定可用的節(jié)點數[V,]對如何使調度節(jié)點中任務執(zhí)行的時間[Te]達到最小進行求解。在覆蓋率中,每次所選的必須都是前[V]個節(jié)點中最高的節(jié)點,通過這[V]個節(jié)點進行并行化,并對該任務及性能做出相應地判斷,看其是否屬于讀操作,如果屬于讀操作可以將分配在此任務中的任意節(jié)點開啟,如果不是則只可以對節(jié)點開啟中的主數據庫進行相應的操作[5]。
2.3 分析online調度算法定義及算法
在批處理調度算法實時性要求比較高的條件下,無法發(fā)揮更好的性能,因此可以采用與實時性相適應的online調度策略。因為任務請求主要是對數據的主備份塊進行訪問,所以對于處在沒有開啟狀態(tài)中的[P,]可以利用動態(tài)的數據擺放算法交換相應的數據。
優(yōu)化目標2:已知Pmax,計算出[minTe=i=0a-1Ti。]
問題定義:輸入Map、Jrequest,輸出節(jié)點調度策略,已知集群消耗功率的上限是Pmax,且優(yōu)化目標主要是利用節(jié)點調度來讓任務請求執(zhí)行的時間Te達到最小。
3 結 語
云計算系統(tǒng)是規(guī)模較大的數據計算系統(tǒng)典范,云計算系統(tǒng)中的能量消耗問題比較嚴重。影響云計算系統(tǒng)不斷發(fā)展的主要因素是節(jié)能技術,節(jié)能計算是云計算系統(tǒng)底層中的一項服務。在本研究中,通過利用啟發(fā)式動態(tài)數據擺放算法對云計算系統(tǒng)中的數據擺放問題進行有效處理,不僅使節(jié)點調度策略達到了相應的節(jié)能功效,并且還對云計算系統(tǒng)中的約束條件進行了考慮。進而給云計算系統(tǒng)中的節(jié)點調度策略提供較大的空間,由此證明本文提出的計算方法在云計算系統(tǒng)中是可行的、有效的方法。
參考文獻
[1] 肖艷文,王金寶,李亞平.云計算系統(tǒng)中能量有效的數據擺放算法和節(jié)點調度策略[J].計算機研究與發(fā)展,2013,23(z1):342?351.
[2] 王鵬,張磊,郭又銘.云計算系統(tǒng)相空間分析模型及仿真研究[J].計算機學報,2013,25(47):257?258.
[3] 吳煜祺,曾國蓀,曾媛.云計算環(huán)境下調度算法的趨勢分析[J].微電子學與計算機,2012,52(33):7655?7657.
[4] 徐小龍,李玲娟,王汝傳.面向綠色云計算數據中心的動態(tài)數據聚集算法[J].系統(tǒng)工程與電子技術,2013,42(21):475?479.
[5] 左利云,曹志波.云計算中調度問題研究綜述[J].計算機應用研究,2012,83(65):1765?1767.
[6] 程春玲,張登銀,徐小龍.一種面向云計算的分態(tài)式自適應負載均衡策略[J].南京郵電大學學報,2012,61(76):341?343.