現今因為網路的發達,資訊的傳播速度與數量更是驚人,其規模因應需求變
得十分龐大,一個典型的雲端檔案系統可能有數萬台機器,數億筆資料,其重要
性也是與日俱增。而對雲端檔案系統而言,天災人禍造成的資料遺失或資料毀損
更是一大威脅。
為了減少資料遺失或毀損這些狀況對雲端檔案系統所造成的威脅,一般都會
採取對資料進行備份的動作,並且為了更進一步將風險分散開來,可以使用異地
備援的方式達到目的。異地備援除了可以將風險降低之外,將網路的因素也納入
考量的話,當異地備援的資料量大於或等於本地端時,還能夠在網路發生異常時,
失去本地端所有資料之狀況下,依靠異地端的備份資料來復原本地端資料,甚至
是直接代替本地端來提供服務。
本篇論文考慮異地備援以及網路兩個因素的影響,研究抹除編碼應用在雲端
檔案系統,針對當系統的本地端或異地端網路崩潰時,系統可能無法繼續運作之
問題,使用異地備援的方式來解決,介紹兩種直接使用複製備份方式的異地備援
架構,並提出兩種適用抹除碼的異地備援架構,分別計算與推導四種架構之可靠
度,最後進行分析與比較。兩種抹除碼架構在結構上,擁有比本文介紹的兩種複
製備份方式的異地備援架構還要高的容錯能力,並且根據研究結果顯示,使用抹
除碼架構進行異地備援,在付出同樣或比較少的儲存成本,與使用直接複製備份
方式的架構相比,是可以得到更高的系統可靠度。
在抹除碼部分,研究三種基本的抹除碼:RS Code、LC Code 及 LT Code。
為了使 LC Code 與 LT Code 更加適用於雲端檔案系統之應用,根據 RS Code 的
部分編碼方式改變 LC Code 的編碼方式,使 LC Code 編碼與解碼的運算成本大
幅下降;依據原本 LT Code 的編碼與解碼方式,提出一個類似 LT Code 的抹除碼,
使其能夠完整應用在雲端檔案系統。針對三種抹除碼進行實驗與分析,經由實驗
數據可得,RS Code 在編碼與解碼部分需要付出比較高的時間成本,但是在其餘
方面並沒有太大的缺點,適用於一般的雲端檔案系統應用;LC Code 在編碼與解
碼部分快於 RS Code,但是需要付出額外的儲存成本,比較適用於檔案比較小的
雲端檔案系統之應用;LT Code 的編碼與解碼時間是最為快速的,但是因為需要
將原始資料分散開來儲存,造成每次的存取不像 RS Code 與 LC Code 可直接讀
取到整份原始資料,都必須付出額外解碼時間才能夠讀取,也因此 LT Code 適用
於資料寫入後不需要經常使用到原始資料,或者是較注重在編碼與解碼速度的雲
端檔案系統應用。
傳統複製備份方式與本篇論文提出的抹除碼架構之系統效能比較,抹除碼架
構的可靠度在相同的儲存成本下皆優於傳統複製備份架構,不僅如此,甚至還能
在比較低的儲存成本狀況,仍舊保持著比較高的容錯能力與可靠度,並且在資料
的讀取時間與寫入時間亦不會造成太大的影響。以目前的研究成果來說,可以證
實使用抹除碼應用於本文的異地備援架構,能夠確切的提升雲端檔案系統的效
能。
參考文獻
[1] 王派星, 許卜 and 吳俊興, 以抹除碼提升雲端儲存服務之安全 性, 第二十三屆全國資訊安全會議 (CISC), 2013.
[2] Apache Hadoop, http://hadoop.apache.org/
[3] Konstantin Shvachko, Hairong Kuang, Sanjay Radia and Robert Chansler, “The Hadoop Distributed File System”, IEEE Symposium on Mass Storage Systems and Technologies, 2010.
[4] Cong Wang, Qian Wang, Kui Ren and Wenjing Lou, “Ensuring Data Storage Security in Cloud Computing”, International Workshop on Quality of Service, 2009.
[5] HDFS RAID, http://wiki.apache.org/hadoop/HDFS-RAID
[6] Maheswaran Sathiamoorthy, Megasthenis Asteris, Dimitris Papailiopoulos, Alexandros Dimakis, Ramkumar Vadali, Scott Chen and Dhruba Borthakur, “XORing Elephants: Novel Erasure Codes for Big Data”, Proceedings of VLDB, 2013.
[7] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, “The Google File System”, ACM Symposium on Operating Systems Principles, 2003.
[8] Alexandros Dimakis, Philip Godfrey, Martin Wainwright and Kannan Ramchandran, “Network Coding for Distributed Storage Systems”, IEEE Transactions on Information Theory, 2010.
[9] James Plank, “Erasure Codes for Storage Applications”, Tutorial at USENIX FAST, 2005.
[10] Dimitrios Tsolis and Theodore Papatheodorou, “Web Services for Digital Rights Management and Copyright Protection in Digital Media”, International Conference on Digital Interactive Media in Entertainment and Arts, 2008.
[11] Hakim Weatherspoon and John Kubiatowicz, “Erasure Coding vs.
Replication: A Quantitative Comparison”, International Workshop on Peer-to-Peer Systems, 2002.
[12] Irving Reed and Gustave Solomon, “Polynomial Codes Over Certain Finite Fields”, Journal of The Society for Industrial and Applied Mathematics, 1960.
[13] Ahlswede Rudolf, Ning Cai, Shuo-Yen Robert Li and Raymond
Yeung, “Network Information Flow”, IEEE Transactions on
Information Theory, 2000.
[14] Christos Gkantsidis and Pablo Rodriguez, “Network Coding for Large Scale Content Distribution”, Annual Joint Conference of The IEEE Computer and Communications Societies, 2005.
[15] Christian Ortolf, Christian Schindelhauer and Arne Vater,
“Classifying Peer-to-Peer Network Coding Schemes”, The Annual Symposium on Parallelism in Algorithms and Architectures, 2009.
[16] Christian Ortolf, Christian Schindelhauer and Arne Vater,
“Paircoding: Improving File Sharing Using Sparse Network Codes”, International Conference on Internet and Web Applications and Services, 2009.
[17] Qing-Chao Cai and Kwok-Tung Lo, “Two Blocks Are Enough: on The Feasibility of Using Network Coding to Ameliorate The Content Availability of BitTorrent Swarms”, IEEE Transactions on Parallel and Distributed Systems, 2013.
[18] David Mackay, “Fountain Codes”, IEEE Communications, 2005.
[19] Michael Luby, “LT Codes”, IEEE Symposium on Foundations of Computer Science, 2002.
[20] Amin Shokrollahi, “Raptor Codes”, IEEE Transactions on Information Theory, 2006.
[21] Michael Mitzenmacher, “Digital Fountains: A Survey and Look
Forward”, IEEE Information Theory Workshop, 2004.