《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 網絡編碼系統中基于訪問頻度的數據重建方法
網絡編碼系統中基于訪問頻度的數據重建方法
來源:微型機與應用2014年第6期
李 凱
(暨南大學 計算機科學系, 廣東 廣州510632)
摘要: 在分布式存儲系統中,通常需要在節點失效之后引入新節點并重建數據,以保證系統的可用性。網絡編碼(Network Coding)存儲技術通過數據在存活節點內部作線性組合,可以大幅度降低數據重建時的下載帶寬,因此近網絡編碼技術在節點修復過程中具有非常重要的地位。但同時其大量的線性組合運算也導致了相當可觀的時間開銷,極大地影響了數據重建的效率和用戶的響應請求。基于網絡編碼文件系統(NCFS),提出了一種結合80-20法則的數據重建方法,并作出了程序實現與仿真驗證。實驗結果表明,新系統在重建效率、用戶平均響應時間及吞吐率方面均有較大提升。
Abstract:
Key words :

摘  要: 在分布式存儲系統中,通常需要在節點失效之后引入新節點并重建數據,以保證系統的可用性。網絡編碼(Network Coding)存儲技術通過數據在存活節點內部作線性組合,可以大幅度降低數據重建時的下載帶寬,因此近網絡編碼技術在節點修復過程中具有非常重要的地位。但同時其大量的線性組合運算也導致了相當可觀的時間開銷,極大地影響了數據重建的效率和用戶的響應請求。基于網絡編碼文件系統(NCFS),提出了一種結合80-20法則的數據重建方法,并作出了程序實現與仿真驗證。實驗結果表明,新系統在重建效率、用戶平均響應時間及吞吐率方面均有較大提升。
關鍵詞: 網絡編碼; NCFS; 數據重建; 80-20法則

    在這個大數據的年代,數據量增長的速度是驚人的。據IDC報告顯示,預計到2020年全球數據總量將超過40 ZB(相當于4萬億GB)[1],這一數據量是2011年的22倍。為了給海量數據提供有效的存儲及服務的能力,誕生了許多大規模數據存儲系統, 比如GFS、Hadoop、OceanStore、Lustre、Gluster等。在這些大型存儲系統中,數據分布在一系列的節點(磁盤等物理介質)上,為了保證數據的可用性,系統必須能夠容忍節點失效。為了達到這一目的,分布式存儲系統引入了冗余數據以提供容錯能力。
    一般的容錯技術包括副本技術,糾刪碼技術和網絡編碼技術。副本技術對一個數據對象創建多個副本,并將這些副本分散到不同的節點上。當一個節點失效時,可以通過訪問其他節點的數據副本來重建新節點。比如GFS[1]為每個數據塊提供了3個副本。糾刪碼技術是能夠容忍一個或多個節點同時失效的編碼技術,而且比副本技術有更高的空間存儲效率。常見的糾刪碼有Reed- Solomon碼、LDPC碼等。網絡編碼技術通過選擇特殊的編碼系數來構造生成矩陣,在節點修復時,把存儲在同一節點上的若干數據塊做線性運算,所以該節點傳輸一個數據塊就等于提供了做運算之前的若干個數據塊的信息,從而有效地節省了帶寬。
    DIMAKIS等人于2007年首先在分布式存儲系統中引入網絡編碼思想,提出了一種稱為再生碼(regenerating code)[2]的編碼技術。隨后,Rashmi等人提出了E-MBR(Exact minimum Bandwidth Regenerating)碼[3],突破了網絡編碼的理論階段,給出了一個具體的最優帶寬再生碼方案。雖然網絡編碼在數據重建時,下載帶寬方面表現優越,但是其付出的運算開銷卻不可忽視[2]。據NCFS[4]研究表明,網絡編碼在退化模式下的表現明顯不如RAID5和RAID6。Tian Lei等人實現了以訪問頻度優先的數據重構優化方法[5]來改善磁盤陣列中數據重建緩慢的問題,不過他們只限于對RAID5和RAID10的研究。基于此,本文提出了一種在網絡編碼修復過程中利用80/20法則來加快數據重建過程的方法。在NCFS平臺上進行了仿真實現,并對RAID5、RAID6和E-MBR編碼在節點重建時間、用戶平均響應時間和吞吐率方面進行了比較。
1 背景知識
1.1  帕雷托法則(Pareto principle)

    帕雷托法則又稱80-20法則,在計算機科學里,80-20法則代表80%的資源只被20%的操作所使用。具體到文件系統的訪問行為,是指80%的請求往往集中在20%的文件上,從而導致某一部分數據被頻繁重復地訪問,而其他數據則相對訪問頻度較低。比如視頻網站約20%的視頻文件由于經常被觀看而必須保存在內存中,以提供快速及時的響應;而剩余的80%視頻文件則觀看次數較少,可把這些數據置于存儲后端,需要訪問時再從后端提取。
 80-20法則對數據重建具有非常重要的借鑒意義。因為一旦節點失效,系統就處于退化模式,處于退化模式下的文件系統同時兼顧重建節點和響應用戶請求的工作。此時對失效節點的寫請求可能被拒絕,讀請求轉化為對若干存活數據節點的讀請求再對讀出來的數據作編碼運算。若20%的熱點數據遲遲沒有重建完成,則會累積大量退化讀寫請求。此時不但額外增加了讀操作和運算,而且磁盤重建數據流和用戶請求數據流對不同區域的讀寫操作會導致磁盤來回長尋道,因而嚴重降低了系統的I/O性能和系統的響應能力。若優先重建熱點數據,則能明顯縮短退化模式的持續時間,改善系統的I/O效率和系統響應能力。
1.2 E-MBR編碼(Exact Minimum Bandwidth Regenerating Code)
     一般再生碼分為最小帶寬再生碼(MBR)和最小存儲再生碼(MSR)。相比MSR,MBR以略增加節點的存儲量為代價,換取降低數據重建的帶寬開銷。通常用一個元組(n,k.,m,d)來描述一個MBR編碼系統。數據編碼后分布存儲在n個節點上,用戶連接其中任意k個節點可以還原出原始文件。節點修復時,新節點連接d個節點來完成修復。m=n-d,即當失效的節點多于m個時,就必須要通過還原整個原始文件來完成節點修復,這將帶來相比常規節點修復過程高得多的帶寬和計算開銷。一般最基本的編碼方式是d=n-1。E-MBR編碼[3]是Rashmi等人提出來的一種準確性修復MBR編碼。
2 實驗設計
2.1 NCFS系統架構

    NCFS是基于FUSE[6],實現在用戶空間的網絡編碼文件系統。通過把物理節點掛載到當前的文件系統下面(如/mnt/ncfs)即可以像訪問邏輯節點一樣訪問節點中的數據。NCFS主要由文件系統層、編碼層、存儲層組成。文件系統層負責文件系統的操作,比如文件讀、寫、刪除等;編碼層提供了RAID5、RAID6、E-MBR的存儲編碼方式;存儲層提供訪問具體物理設備的接口。在實驗中,用Linux操作系統的偽塊設備/dev/loop來模擬物理磁盤的存儲行為,用戶的讀、寫請求都是針對/dev/loop1, /dev/loop2等塊設備的讀寫。其系統架構如圖1所示。


2.3 數據重建算法
  (1)把記錄訪問頻度的數組access_rec[n]排序,得出從大到小記錄區域號的數組blk_seq[n];
    (2)從blk_seq[n]中取出一個區域號,進行該區域的數據重建;

 


    (3)重復步驟(2),直到節點數據重建完成。
3 實驗評估與分析
  對新系統和原系統的平均重建時間、平均響應時間和吞吐率3個性能指標進行了實驗數據收集,并進行了比對。

    實驗數據結果如圖5所示。

    實驗分析:實驗數據顯示,E-MBR在平均重建時間、平均響應時間和吞吐率3個性能指標的表現都劣于RAID5和RAID6,這是因為網絡編碼的優勢主要在于節省重建帶寬,而為此付出了額外的時間開銷,導致重建過程較緩慢。
     不過從圖表中可以看出,經過改進后的新系統在各性能的表現都比原系統好。其中平均重建時間從1.33 s/MB降低到0.75 s/MB,有43.6%的改善;平均響應時間從4.98 ms到改進后的0.71 ms,整整提高了7倍;吞吐率也有了3.23倍的提升。
  系統在退化模式下的性能提升關鍵在于讓訪問頻度最高的數據在最短的時間里重建完成并投入服務,使對這部分數據的大量訪問請求能夠得到及時的響應,從而減輕了CPU的壓力。另外,優先重建訪問頻度高的數據能夠讓重建數據流和用戶請求數據流盡可能地重疊,以減少大量的磁頭長尋道,從而得到更高的I/O 效率。
    本文基于網絡編碼文件系統(NCFS),利用80-20法則對原系統的數據重建過程進行了優化,結果顯示新系統在平均重建時間、平均響應時間和吞吐率各方面均有比較大的提升。實驗過程中用到了偽塊設備來模擬磁盤的存儲行為,所有節點都在同一臺計算機上。這與真實的分布式網絡有一定的差別。
參考文獻
[1] GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google  file system[C]. Proc. of the 19th ACM Symp. on operating  Systems Principles. December, 2003:29-43.
[2] DIMAKIS A G,GODFREY P B,WAINWRIGHT M J,et al.  Network coding for distributed storage systems[C]. IEEE  Proc. INFOCOM, May 2007:2000-2008.
[3] RASHMI K V, SHAH N B, KUMAR P V, et al. Explicit construction of optimal exact regenerating codes for distributed storage[C]. In Proc. of Allerton Conference, 2009:1243-1249.
[4] Hu Yuchong, Yu Chiuman, Yan Kit Li, et al. NCFS: on  the practicality and extensibility of a network-coding-based  distributed file system[C]. Proceedings of the 2011 International Symposium on Network Coding(NETCOD), 2011.
[5] Tian Lei,Feng Dan,Jiang Hong, et al. PRO: a popularity based multi-threaded reconstruction optimization for RAID-Structured Storage Systems[C]. In FAST′ 07, San Jose, CA, 2007:227-290.
[6] FUSE[OL]. http://fuse.sourceforge.net/, 2013.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩欧美一区二区三区在线 | 日韩a级无码免费视频| 人人妻人人澡人人爽欧美精品| 韩国r级2020年最新| 国内精品久久久久久无码不卡| 中文字幕乱码中文字幕| 果冻传媒麻豆电影| 亚洲综合色婷婷| 精品综合久久久久久99| 国产无遮挡吃胸膜奶免费看视频| 99视频精品全部免费观看| 成年网站在线观看| 久久精品国产只有精品2020| 欧美日韩在大午夜爽爽影院| 免费成人在线电影| 色国产精品一区在线观看| 国产欧美日韩灭亚洲精品| 99久久久国产精品免费牛牛 | 依依成人精品视频在线观看| 色视频在线观看免费| 国产熟女乱子视频正在播放| 97福利视频精品第一导航| 少妇高潮太爽了在线视频| 久久久噜噜噜久久中文福利| 校花小冉黑人系列小说| 亚洲熟妇AV一区二区三区漫画 | 精品欧洲男同同志videos| 国产午夜片无码区在线播放| 青青草原视频在线观看| 在总受文里抢主角攻np| yellow高清在线观看完整视频在线 | 欧美成人18性| 人人妻人人澡人人爽欧美一区双| 美女在线免费观看| 国产亚洲av综合人人澡精品| 久久福利资源网站免费看| 国产精品爽黄69天堂a| 99热在线精品国产观看| 好紧好湿太硬了我太爽了网站| 中文字幕亚洲综合久久| 日本久久综合网|