鐘 將,楊 雷
(重慶大學(xué)計(jì)算機(jī)學(xué)院,重慶400044)
隨著云計(jì)算技術(shù)的不斷完善和普及,在繼追求性能、容量、容錯(cuò)、安全性等指標(biāo)之后,綠色節(jié)能逐漸成為該行業(yè)內(nèi)的新標(biāo)準(zhǔn)。文獻(xiàn)[1]指出2008年路由器、交換機(jī)、服務(wù)器、冷卻設(shè)備等互聯(lián)網(wǎng)設(shè)備總共消耗8 680億度電,占全球總耗電量的5.3%。本文針對(duì)新聞媒體機(jī)構(gòu)中急需高效管理的海量文本、圖片、音頻和視頻新聞數(shù)據(jù),對(duì)傳統(tǒng)HDFS文件存儲(chǔ)策略進(jìn)行優(yōu)化以實(shí)現(xiàn)節(jié)能降耗,同時(shí)平衡節(jié)點(diǎn)負(fù)載。
當(dāng)前學(xué)術(shù)界主要圍繞Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)節(jié)能管理展開(kāi)研究[2]。一些學(xué)者通過(guò)對(duì)計(jì)算負(fù)載分類(lèi)學(xué)習(xí)或者實(shí)時(shí)遷移存儲(chǔ)數(shù)據(jù)等手段[3-5]減少服務(wù)器運(yùn)行時(shí)的能耗;還有一些學(xué)者主要研究如何減少對(duì)整個(gè)數(shù)據(jù)中心基礎(chǔ)設(shè)施的冷卻成本[6-7]?,F(xiàn)有研究成果雖然節(jié)能明顯,但與傳統(tǒng)HDFS一樣,采用基于機(jī)架感知[8]的數(shù)據(jù)塊存儲(chǔ)策略使得數(shù)據(jù)塊在集群中的分布具有隨機(jī)性,該策略一方面會(huì)導(dǎo)致整個(gè)集群的數(shù)據(jù)分布出現(xiàn)不均衡的情況,特別是有新節(jié)點(diǎn)加入時(shí),新節(jié)點(diǎn)和原有節(jié)點(diǎn)上的分布不均,新增節(jié)點(diǎn)需要經(jīng)歷較長(zhǎng)時(shí)間甚至人工操作,才能與現(xiàn)有節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)均衡分布,這樣在分配MapReduce任務(wù)時(shí),新節(jié)點(diǎn)可能分配不到可執(zhí)行的任務(wù),浪費(fèi)新增節(jié)點(diǎn)的計(jì)算和存儲(chǔ)能力[9-10]。另一方面,不同文件間的訪問(wèn)規(guī)律存在巨大差異,如果使HDFS集群中所有數(shù)據(jù)節(jié)點(diǎn)都處于活躍狀態(tài),勢(shì)必造成能耗的增加,導(dǎo)致大量電能被浪費(fèi)[11]。
在實(shí)際應(yīng)用中,新聞?lì)悢?shù)據(jù)的訪問(wèn)具備一定訪問(wèn)規(guī)律,可在傳統(tǒng)HDFS基礎(chǔ)上進(jìn)行針對(duì)性優(yōu)化,以改善HDFS存取效能。本文研究維基新聞網(wǎng)站訪問(wèn)日志,分析新聞數(shù)據(jù)訪問(wèn)的分布規(guī)律,提出針對(duì)海量新聞數(shù)據(jù)的高效存儲(chǔ)策略。該策略通過(guò)數(shù)據(jù)節(jié)點(diǎn)分區(qū)、具有最大活動(dòng)剩余空間的節(jié)點(diǎn)優(yōu)先匹配、文件遷移和節(jié)點(diǎn)待機(jī)等機(jī)制對(duì)整個(gè)HDFS實(shí)施節(jié)能降耗,同時(shí)使得集群中各節(jié)點(diǎn)的數(shù)據(jù)分布保持均衡,提高整個(gè)系統(tǒng)的計(jì)算效能。
HDFS[12]是Google文件系統(tǒng)(Google File System,GFS)進(jìn)行開(kāi)發(fā),采用主/從(Master/Slave)架構(gòu),包含一個(gè)名字節(jié)點(diǎn)(NameNode)和多個(gè)數(shù)據(jù)節(jié)點(diǎn)(DataNode)。名字節(jié)點(diǎn)是管理節(jié)點(diǎn),用于管理數(shù)據(jù)節(jié)點(diǎn)和客戶端對(duì)文件的訪問(wèn)。如圖1所示,HDFS存儲(chǔ)的文件被分成若干個(gè)64 MB大小的塊(Chunk),而DataNode用于存儲(chǔ)這些數(shù)據(jù)塊。DataNode分布在多個(gè)機(jī)架(Rack)中,DataNode間通過(guò)機(jī)架網(wǎng)絡(luò)進(jìn)行通信。每個(gè)DataNode定期向NameNode發(fā)送心跳信息,以此報(bào)告該節(jié)點(diǎn)的狀態(tài)信息和存儲(chǔ)的數(shù)據(jù)塊信息。
圖1 HDFS框架
如圖2所示,HDFS副本機(jī)制基于機(jī)架感知。每個(gè)數(shù)據(jù)塊會(huì)有多個(gè)副本,其默認(rèn)值為3,對(duì)3個(gè)副本的存放策略為:第1份放在本地節(jié)點(diǎn)上;第2份放在另外一個(gè)Rack的某一節(jié)點(diǎn)上;第3份放在與第2份相同Rack的另一節(jié)點(diǎn)上。雖然HDFS對(duì)于Rack的確定是有選擇的,但對(duì)于節(jié)點(diǎn)的確定卻具有一定隨機(jī)性,導(dǎo)致數(shù)據(jù)在集群中分布不均。
圖2 HDFS副本機(jī)制
通過(guò)對(duì)HDFS文件存儲(chǔ)機(jī)制的改進(jìn),采取數(shù)據(jù)節(jié)點(diǎn)分區(qū)策略、具有最大活動(dòng)剩余空間的節(jié)點(diǎn)優(yōu)先匹配策略、文件遷移策略和節(jié)點(diǎn)待機(jī)等策略以達(dá)到節(jié)能省電和數(shù)據(jù)分布均衡的目的。
如圖3所示,該策略是將所有DataNode邏輯上分為HotRackZone和ColdRackZone 2個(gè)區(qū)域。HotRackZone中的DataNode處于全天活躍狀態(tài),稱(chēng)為HotDataNode,性能最佳,但能耗高;ColdRackZone中的DataNode默認(rèn)處于待機(jī)狀態(tài),稱(chēng)為ColdDataNode,雖然讀文件響應(yīng)時(shí)間可能會(huì)受到影響,但能耗較低。當(dāng)新創(chuàng)建文件時(shí),文件所有副本都放入HotRackZone的節(jié)點(diǎn)中,以保證良好的讀取性能。采取分區(qū)策略的目的是使HotRackZone中的節(jié)點(diǎn)保證文件訪問(wèn)響應(yīng)低時(shí)延和可靠性,同時(shí)使ColdRackZone中的節(jié)點(diǎn)盡量待機(jī)以降低能耗。
圖3 數(shù)據(jù)節(jié)點(diǎn)分區(qū)策略
對(duì)ColdRackZone中的節(jié)點(diǎn)而言,有數(shù)據(jù)塊需要寫(xiě)入時(shí),優(yōu)先匹配剩余空間最大且處于活動(dòng)狀態(tài)的DataNode。而對(duì)HotRackZone中的節(jié)點(diǎn),則只需優(yōu)先匹配剩余空間最大的節(jié)點(diǎn)。
選擇剩余空間最大的節(jié)點(diǎn),一方面能使新數(shù)據(jù)塊快速分布到負(fù)載較輕的節(jié)點(diǎn)中,使集群中的數(shù)據(jù)盡量分布均衡,從而自動(dòng)調(diào)節(jié)負(fù)載;另一方面使創(chuàng)建時(shí)間相近的文件盡量分散到不同節(jié)點(diǎn)中,以便將來(lái)被訪問(wèn)時(shí)不至于一直訪問(wèn)同一節(jié)點(diǎn)而導(dǎo)致該節(jié)點(diǎn)無(wú)法進(jìn)入待機(jī)狀態(tài)。同時(shí),優(yōu)先選擇處于活動(dòng)狀態(tài)的節(jié)點(diǎn),則可以減少已待機(jī)節(jié)點(diǎn)被喚醒的可能,達(dá)到更好的節(jié)能效果,其流程如圖4所示。
圖4 具有最大活動(dòng)剩余空間的節(jié)點(diǎn)優(yōu)先匹配流程
當(dāng)ColdRackZone中優(yōu)先匹配剩余空間最大的節(jié)點(diǎn)時(shí),考慮以下2種方案。方案1:直接選擇剩余空間最大的節(jié)點(diǎn),不考慮數(shù)據(jù)分布均衡的問(wèn)題。該方案會(huì)使ColdRackZone中有較多數(shù)據(jù)分布不均衡的節(jié)點(diǎn)出現(xiàn),訪問(wèn)文件時(shí)需要喚醒節(jié)點(diǎn)的次數(shù)較多,影響數(shù)據(jù)訪問(wèn)效率,但優(yōu)點(diǎn)是集群的耗電量低,有較好的節(jié)能效果。方案2:所選擇的節(jié)點(diǎn)空間使用率不大于ColdRackZone中所有節(jié)點(diǎn)平均使用率。這相當(dāng)于在寫(xiě)入數(shù)據(jù)時(shí)有選擇性地進(jìn)行平衡數(shù)據(jù)分布,可以使得ColdRackZone中過(guò)載或負(fù)載的節(jié)點(diǎn)非常少,實(shí)現(xiàn)數(shù)據(jù)分布的自均衡,提高集群的服務(wù)效率,但缺點(diǎn)是耗電量會(huì)有所增加。
該策略需要在NameNode上增加HotNodeList和ColdNodeList 2張表來(lái)保存節(jié)點(diǎn)的主要信息,一旦節(jié)點(diǎn)有數(shù)據(jù)操作時(shí),需要實(shí)時(shí)更新表中數(shù)據(jù)。節(jié)點(diǎn)的剩余空間、所處狀態(tài)等信息可直接從節(jié)點(diǎn)的心跳信息中獲得。HotNodeList用于維護(hù)HotRackZone中所有節(jié)點(diǎn)存儲(chǔ)空間使用情況、節(jié)點(diǎn)所處狀態(tài)、節(jié)點(diǎn)最后一次訪問(wèn)時(shí)間等信息,并按可用空間大小降序排列,以便有新數(shù)據(jù)塊需要寫(xiě)入時(shí),能快速匹配到最合適的節(jié)點(diǎn)。類(lèi)似地,ColdNodeList用于維護(hù)ColdRackZone中所有節(jié)點(diǎn)的信息。
本文選擇新聞網(wǎng)站作為研究對(duì)象是因?yàn)樾侣劸W(wǎng)站較其他網(wǎng)站(比如,搜索引擎、交友網(wǎng)站等)更具時(shí)效性,所以其訪問(wèn)的規(guī)律性更強(qiáng),便于進(jìn)行針對(duì)性的優(yōu)化。通過(guò)對(duì)維基英文新聞網(wǎng)站的訪問(wèn)日志數(shù)據(jù)的分析,統(tǒng)計(jì)了1 000條新聞數(shù)據(jù)從創(chuàng)建開(kāi)始之后10d內(nèi)的疊加訪問(wèn)量。如圖5所示,文件自創(chuàng)建起的3d內(nèi)訪問(wèn)量較大,其訪問(wèn)量幾乎占10d內(nèi)訪問(wèn)總量的60%;7 d內(nèi)的訪問(wèn)量占10 d內(nèi)訪問(wèn)總量的88%;而10 d之后文件通常很少再被訪問(wèn)。
圖5 10d內(nèi)的新聞疊加訪問(wèn)量
從以上訪問(wèn)規(guī)律可以看出,文件自創(chuàng)建之后每天的訪問(wèn)量呈遞減趨勢(shì),需要將HotDataNode中駐留時(shí)間超過(guò)駐留時(shí)間閾值Texsisted和前一日訪問(wèn)量小于日最低訪問(wèn)量閾值Taccessed的文件遷移到ColdDataNode中。因?yàn)殡S著文件駐留時(shí)間增加,文件被訪問(wèn)的次數(shù)逐漸降低,這些訪問(wèn)量較低的文件會(huì)大量占據(jù)HotDataNode存儲(chǔ)空間,將這些文件移動(dòng)到ColdDataNode中,能有效利用HotDataNode的存儲(chǔ)空間。同時(shí),由于ColdDataNode默認(rèn)是處于待機(jī)狀態(tài),即如果沒(méi)有寫(xiě)入或讀取任務(wù)時(shí),則使節(jié)點(diǎn)待機(jī),可以較大幅度地降低能耗。其中,Texsisted是根據(jù)圖5訪問(wèn)規(guī)律曲線中階段性下降幅度較大的2個(gè)時(shí)間點(diǎn)確定的;Taccessed是根據(jù)經(jīng)驗(yàn)確定的,如實(shí)驗(yàn)中認(rèn)為日最低訪問(wèn)量小于5次的文件就屬于“冷門(mén)”文件。文件遷移流程如圖6所示。
由于對(duì)文件進(jìn)行遷移會(huì)影響整個(gè)系統(tǒng)的效率和性能,因此如果在訪問(wèn)的非高峰時(shí)段來(lái)實(shí)施,則會(huì)最大限度降低策略對(duì)性能的影響。通過(guò)對(duì)訪問(wèn)日志的統(tǒng)計(jì)發(fā)現(xiàn),每天02:00-04:00為網(wǎng)站訪問(wèn)量的低峰期,文件遷移策略可以在此時(shí)間段內(nèi)進(jìn)行。
該策略只在ColdRackZone中進(jìn)行,其目的是為了使ColdRackZone中的節(jié)點(diǎn)在沒(méi)有讀寫(xiě)任務(wù)時(shí)被置為待機(jī)狀態(tài),降低ColdRackZone的總能耗。上文已指出在ColdNodeList表中記錄了節(jié)點(diǎn)最后一次被訪問(wèn)的時(shí)間,同時(shí)設(shè)定了一個(gè)節(jié)點(diǎn)待機(jī)時(shí)間閾值Tidle,在每個(gè)小時(shí)末遍歷表中所有節(jié)點(diǎn),如果節(jié)點(diǎn)最后一次訪問(wèn)時(shí)間與當(dāng)前時(shí)間之差大于節(jié)點(diǎn)待機(jī)時(shí)間閾值Tidle,則將該節(jié)點(diǎn)置為待機(jī)狀態(tài)。ColdDataNode待機(jī)流程如圖7所示。
圖7 ColdDataNode待機(jī)流程
因?yàn)橛袛?shù)據(jù)的寫(xiě)入和讀取,所以ColdDataNode會(huì)在以下2種情況時(shí)會(huì)被喚醒:
(1)HotDataNode中滿足一定條件的文件遷移到處于待機(jī)狀態(tài)的ColdDataNode時(shí)。該情況是可控的,在每天非高峰時(shí)段進(jìn)行。
(2)已經(jīng)移動(dòng)到ColdDataNode中的文件再次被訪問(wèn)時(shí)。如果再次被訪問(wèn)的文件位于已經(jīng)由其他任務(wù)喚醒的節(jié)點(diǎn)上,則文件可以直接被訪問(wèn),響應(yīng)時(shí)延不會(huì)增加;如果文件位于待機(jī)狀態(tài)的節(jié)點(diǎn)上,則需要喚醒該節(jié)點(diǎn),就會(huì)增加響應(yīng)時(shí)延。該情況的發(fā)生是隨機(jī)、不可預(yù)測(cè)的。
實(shí)驗(yàn)?zāi)M一個(gè)擁有120個(gè)數(shù)據(jù)節(jié)點(diǎn)的HDFS集群,數(shù)據(jù)節(jié)點(diǎn)功耗[3]如表1所示。
表1 數(shù)據(jù)節(jié)點(diǎn)功耗
實(shí)驗(yàn)所用數(shù)據(jù)集來(lái)自于維基英文新聞網(wǎng)站一個(gè)月的訪問(wèn)日志。實(shí)驗(yàn)前對(duì)數(shù)據(jù)集進(jìn)行預(yù)處理,假設(shè)新聞中包含圖片、視頻等多媒體資料,因此對(duì)日志中的文件大小進(jìn)行放大2 000倍操作,最終訪問(wèn)記錄中包含28.3×104個(gè)文件,總數(shù)據(jù)量為66 TB。實(shí)驗(yàn)各項(xiàng)參數(shù)設(shè)置如表2所示。
表2 實(shí)驗(yàn)參數(shù)設(shè)置
采用下式計(jì)算集群耗電量:
其中,Pn表示第n個(gè)節(jié)點(diǎn)的功率(假設(shè)節(jié)點(diǎn)在表1所示的額定功率下工作);Tn表示第n個(gè)節(jié)點(diǎn)的總工作時(shí)間。傳統(tǒng)HDFS集群和HotRackZone節(jié)點(diǎn)的月耗電量的計(jì)算簡(jiǎn)單,不再贅述。ColdRackZone中的節(jié)點(diǎn)能耗,分為節(jié)點(diǎn)處于活躍狀態(tài)和節(jié)點(diǎn)處于待機(jī)狀態(tài)兩部分進(jìn)行計(jì)算。
圖8為增加了節(jié)能策略的HDFS與傳統(tǒng)HDFS月耗電量對(duì)比。圖8(a)采用3.2節(jié)中的方案1在駐留時(shí)間閾值Texsisted=3時(shí)的集群耗電量,可以看出節(jié)能HDFS的月耗電量不足傳統(tǒng)HDFS的70%。圖8(b)為采用3.2節(jié)中方案2在駐留時(shí)間閾值Texsisted=7時(shí)的集群耗電量,該方案的耗電量較方案1有所增加,但仍比傳統(tǒng)HDFS省電20%以上。無(wú)論采用哪個(gè)方案,隨著駐留時(shí)間閾值Texsisted的增大,其節(jié)能效果也更好。這是因?yàn)殡S著Texsisted的增大,移動(dòng)到ColdDataNode中的文件被訪問(wèn)的次數(shù)會(huì)更低,節(jié)點(diǎn)待機(jī)概率和時(shí)間都會(huì)增大。
圖8 月耗電量比較
圖9和圖10為當(dāng)駐留時(shí)間閾值Texsisted=7,分別采用3.2節(jié)中的方案1和方案2時(shí),ColdRackZone中全部節(jié)點(diǎn)的每天活動(dòng)情況。采用方案1時(shí),隨著時(shí)間的推移,待機(jī)過(guò)的節(jié)點(diǎn)數(shù)量始終大于總數(shù)的50%,而采用方案2時(shí),待機(jī)過(guò)的節(jié)點(diǎn)數(shù)量約占總數(shù)的25%。集群整體節(jié)能省電目標(biāo)的實(shí)現(xiàn)正是依賴(lài)于這些沒(méi)有任務(wù)而待機(jī)的節(jié)點(diǎn),同時(shí)也解釋了方案2比方案1耗電量更大的原因。
本文不對(duì)HotRackZone中節(jié)點(diǎn)的使用率情況進(jìn)行分析,因?yàn)镠otRackZone中的節(jié)點(diǎn)一直處于活躍狀態(tài),對(duì)文件讀取或訪問(wèn)非常高效。并且當(dāng)有數(shù)據(jù)需要寫(xiě)入時(shí)需優(yōu)先匹配剩余空間最大的DataNode,因此,節(jié)點(diǎn)使用非常均衡,在此不做詳細(xì)分析。
圖11和圖12表示當(dāng)駐留時(shí)間閾值Texsisted=7,分別采用3.2節(jié)中方案1和方案2時(shí),ColdRackZone節(jié)點(diǎn)的使用情況。
如圖11所示,ColdRackZone中始終存在使用率已達(dá)上限和使用率為0的節(jié)點(diǎn),初步表明該區(qū)域的數(shù)據(jù)分布不均衡。在10d~22d階段,平均使用率曲線與最低使用率曲線相距較近,說(shuō)明在此階段多數(shù)節(jié)點(diǎn)使用率很低,只有少數(shù)節(jié)點(diǎn)使用率很高。在22d~31d階段,平均使用率曲線與最大使用率曲線相距較近,說(shuō)明此階段大多數(shù)節(jié)點(diǎn)使用率都很高,同時(shí)仍然有使用率非常低甚至使用率為0的節(jié)點(diǎn),進(jìn)一步證明方案1存在使節(jié)點(diǎn)數(shù)據(jù)分布不均衡的情況發(fā)生。
如圖12所示,ColdRackZone中所有節(jié)點(diǎn)的平均使用率曲線始終與最大使用率曲線幾乎重疊,這表明采用方案2會(huì)使節(jié)點(diǎn)的數(shù)據(jù)分布更均衡。在10d~20d階段,仍然存在數(shù)量極少的低使用率節(jié)點(diǎn),這是因?yàn)椴捎肏DFS機(jī)架選擇機(jī)制,當(dāng)數(shù)據(jù)量達(dá)不到足夠量時(shí),不會(huì)使每個(gè)節(jié)點(diǎn)都寫(xiě)入數(shù)據(jù),也就是說(shuō)存在空閑節(jié)點(diǎn)。當(dāng)20d后,當(dāng)移入的數(shù)據(jù)量越來(lái)越多時(shí),最大使用率和最小使用率之差會(huì)逐漸減小,數(shù)據(jù)分布也會(huì)趨于平衡。
圖13為當(dāng)駐留時(shí)間閾值Texsisted=7時(shí),每天需要遷移的文件數(shù)量和數(shù)據(jù)量。平均每天遷移約8×103個(gè)文件,共1.92TB的數(shù)據(jù)量。假設(shè)每個(gè)ColdDataNode擁有4個(gè)1TB的硬盤(pán),平均每天有2TB的數(shù)據(jù)需要移入,按照帶寬為80MB/s計(jì)算,該操作能在2h內(nèi)完成,這與3.3節(jié)統(tǒng)計(jì)出每天02:00-04:00是訪問(wèn)低峰期的規(guī)律相契合,這也證明了文件遷移策略的可行性。
圖13 遷移文件數(shù)量和數(shù)據(jù)量的變化情況
假設(shè)不考慮傳輸時(shí)延因素,傳統(tǒng)HDFS讀取文件響應(yīng)時(shí)間是系統(tǒng)處理時(shí)間,而本文節(jié)能存儲(chǔ)策略由于要使部分節(jié)點(diǎn)待機(jī),如果此時(shí)要讀取的文件恰好位于待機(jī)節(jié)點(diǎn)上,則讀取文件的響應(yīng)時(shí)間還要加上喚醒節(jié)點(diǎn)所需的時(shí)間。
當(dāng)駐留時(shí)間閾值Texsisted=7且采用3.2節(jié)中方案1時(shí),如果文件駐留時(shí)間選擇3d或者7d,那么在2 041 921次訪問(wèn)中只有734次訪問(wèn)需要喚醒冷節(jié)點(diǎn),不到0.05%的文件訪問(wèn)會(huì)出現(xiàn)喚醒數(shù)據(jù)節(jié)點(diǎn)而造成響應(yīng)時(shí)延增加。當(dāng)駐留時(shí)間閾值Texsisted=7且采用3.2節(jié)中方案2時(shí),文件訪問(wèn)會(huì)出現(xiàn)喚醒數(shù)據(jù)節(jié)點(diǎn)的次數(shù)下降為356次,占總訪問(wèn)次數(shù)的0.02%,說(shuō)明方案2在讀取響應(yīng)時(shí)間上略優(yōu)于方案1。綜上所述,無(wú)論采用哪種方案,99.9%以上的文件訪問(wèn)均在熱節(jié)點(diǎn)上,因此本文設(shè)計(jì)的節(jié)能策略對(duì)系統(tǒng)讀文件響應(yīng)時(shí)延的影響都較小。
本文節(jié)能策略對(duì)文件創(chuàng)建時(shí)的寫(xiě)操作沒(méi)有影響,因?yàn)榇藭r(shí)的寫(xiě)操作發(fā)生在HotRackZone節(jié)點(diǎn)中。而文件遷移時(shí)的寫(xiě)操作可能會(huì)出現(xiàn)需要喚醒節(jié)點(diǎn)的情況,但本文采取了優(yōu)先匹配活動(dòng)節(jié)點(diǎn)和遷移訪問(wèn)低峰期的節(jié)點(diǎn)降低這種負(fù)面影響,并且對(duì)于新聞數(shù)據(jù),讀取和訪問(wèn)效率更值得關(guān)注。
本文在傳統(tǒng)HDFS文件存儲(chǔ)的基礎(chǔ)上加入節(jié)能策略,提出一種針對(duì)海量新聞數(shù)據(jù)存儲(chǔ)的節(jié)能Hadoop分布式文件系統(tǒng)。通過(guò)仿真實(shí)驗(yàn)證明了該策略的可行性,對(duì)比分析了具有最大活動(dòng)剩余空間的節(jié)點(diǎn)優(yōu)先匹配策略中2種不同節(jié)點(diǎn)選擇方案的優(yōu)劣,但無(wú)論選擇哪種方案系統(tǒng)都有較好的節(jié)能效果,并且節(jié)能策略對(duì)文件讀取訪問(wèn)效率的影響較小。如果采用3.2節(jié)中方案2的節(jié)點(diǎn)選擇機(jī)制,能在一定程度上解決集群中數(shù)據(jù)分布不均的問(wèn)題,使得集群的存儲(chǔ)管理更高效。但對(duì)訪問(wèn)日志進(jìn)一步的觀察發(fā)現(xiàn),對(duì)于熱度高的新聞和熱度低的新聞,駐留時(shí)間閾值Texsisted和日最低訪問(wèn)量閾值Taccessed的取值是不同的,如果按照靜態(tài)的固定值來(lái)計(jì)算,則會(huì)對(duì)節(jié)能效果產(chǎn)生一定的負(fù)面影響。因此,下一步將通過(guò)動(dòng)態(tài)設(shè)置Texsisted和Taccessed,以取得更高的節(jié)能效率。另外,本文策略會(huì)使集群中出現(xiàn)負(fù)載或過(guò)載的節(jié)點(diǎn),在今后工作中將進(jìn)一步研究數(shù)據(jù)分布自均衡問(wèn)題。
[1]Yun D,Lee J.Research in Green Network for Future Internet[J].Journal of KIISE,2010,28(1):41-51.
[2]劉晨光.面向 Hadoop存儲(chǔ)系統(tǒng)的節(jié)能優(yōu)化技術(shù)研究[D].武漢:華中科技大學(xué),2012.
[3]Kaushik R T,Bhandarkar M,Nahrstedt K.Evaluation and Analysis of GreenHDFS:A Self-adaptive,Energy-conserving Variant of the Hadoop Distributed File System[C]//Proceedings of the 2nd International Conference on Cloud Computing Technology and Science.Washington D.C.,USA:IEEE Press,2010:274-287.
[4]Kaushik R T,Bhandarkar M.GreenHDFS:Towards an Energy-conserving, Storage-efficient, Hybrid Hadoop Compute Cluster[C]//Proceedings of USENIX Annual Technical Conference.Vancouver,Canada:USENIX Press,2010:109-112.
[5]廖 彬,于 炯,張 陶,等.基于分布式文件系統(tǒng)HDFS的節(jié)能算法[J].計(jì)算機(jī)學(xué)報(bào),2013,36(5):1047-1064.
[6]Leverich J,Kozyrakis C.On the Energy(In)Efficiency of Hadoop Clusters[J].ACM SIGOPS Operating Systems Review,2010,44(1):61-65.
[7]Lang W,Patel J M.Energy Management for MapReduce Clusters[J].Proceedings of the VLDB Endowment,2010,3(1/2):129-139.
[8]蔡 斌.Hadoop 源 碼 分 析 [EB/OL].[2014-04-17].http://caibinbupt.iteye.com/.
[9]Wirtz T,Ge R.Improving Mapreduce Energy Efficiency for Computation Intensive Workloads[C]//Proceedings of 2011International Green Computing Conference and Workshops.Washington D.C.,USA:IEEE Press,2011:1-8.
[10]Maheshwari N,Nanduri R,Varma V.Dynamic Energy Efficient Data Placement and Cluster Reconfiguration Algorithm for MapReduce Framework[J].Future Generation Computer Systems,2012,28(1):119-127.
[11]Kaushik R T,Abdelzaher T,Egashira R,et al.Predictive Data and Energy Management in Green HDFS[C]//Proceedings of 2011International Green Computing Conference and Workshops.Washington D.C.,USA:IEEE Press,2011:1-9.
[12]Apache.Apache Hadoop[EB/OL].[2014-04-17].http://hadoop.a(chǎn)pache.org/.
[13]Wikipedia.Pagecount files for 2014[EB/OL].[2014-04-17].http://dumps.wikimedia.org/other/pagecounts-raw/2014/.