• 沒有找到結果。

以抹除碼提升雲端檔案系統效能之研究

N/A
N/A
Protected

Academic year: 2021

Share "以抹除碼提升雲端檔案系統效能之研究"

Copied!
81
0
0

加載中.... (立即查看全文)

全文

(1)國立高雄大學資訊工程學系 碩士論文. 以抹除碼提升雲端檔案系統效能之研究 Improving the Performance of Cloud File Systems with Erasure Codes. 研究生:許卜 指導教授:吳俊興. 博士. 中華民國一零三年七月.

(2) 以抹除碼提升雲端檔案系統效能之研究 指導教授:吳俊興 博士(教授) 國立高雄大學資訊工程學系. 學生:許卜 國立高雄大學資訊工程學系. 摘要. 雲端檔案系統利用網路將多台儲存機器連接起來,儲存的資料被分散儲存在 多台儲存機器上,藉此提升雲端檔案系統的總體容量。使用者透過雲端檔案系統, 可以直接存取使用分散儲存在多台機器上的一份資料,並且還能對資料進行備份 的處理,加強整個系統的容錯能力。除此之外,雲端檔案系統也能夠加入抹除碼 對資料進行處理,利用抹除碼可以提升資料的可獲得性之特性,來減少資料的儲 存成本,更進一步的提升系統的儲存效能。 但是在現實生活中,考慮到環境與人為因素,若是沒有做到異地備援,當儲 存資料的本地端發生異常時,仍是有可能會造成資料的遺失或無法存取。針對此 問題,我們首先研究一般雲端檔案系統,探討傳統的兩種複製備份架構,提出支 援異地備援的可靠度分析模型,並應用抹除碼提出兩個簡易的編碼式異地備援架 構,擁有比一般傳統複製備份架構還要高的容錯能力。我們藉由改變資料的存放 配置來增加可獲得性,並發現在不增加儲存成本的情況下,仍可以大幅提升系統 的可靠度。進一步實作三種基本類型的抹除碼,並作效能的分析與比較,最後與 傳統的複製備份方式相比,抹除碼架構在資料的讀取時間與寫入時間亦不會有太 大的差異。根據上述研究結果顯示,我們所提出的編碼式異地備援方法可以確實 提升雲端檔案系統的效能,在未來極具發展與實際應用的潛力。 關鍵字: 雲端檔案系統、異地備援、可靠度、抹除碼。. i.

(3) Improving the Performance of Cloud File Systems with Erasure Codes Advisor(s): Dr.(Professor) Chun-Hsin Wu Department of Computer Science and Information Engineering National University of Kaohsiung Student: Pu Hsu Department of Computer Science and Information Engineering National University of Kaohsiung. ABSTRACT. Cloud file systems connect storage machines with networks. By distributing data over multiple storage machines, the total storage capacity of a cloud file system can be scalably increased. With redundant backup, the fault-tolerance of the system can also be significantly improved. To reduce the storage cost, cloud file systems usually employ erasure coding to improve the availability of data. In the real world, a cloud file system still suffers data loss or temporal malfunction under physical or unexpected failures. Without remote backup, sustainable access of data can not be guaranteed when the original data are not available for any reasons. To address this issue, we first develop reliability models to analyze traditional redundant-backup architectures, and then propose two intelligent erasure-coding architectures to support efficient remote backup. By adequately storing encoded data blocks in remote machines, the proposed architectures can significantly improve the system reliability with low storage cost. We further implement three typical types of erasure codes to realize the proposed architectures, and finally evaluate their performances. The results show that the proposed remote backup architectures with erasure codes can effectively improve the performance of cloud file systems. Keywords: Cloud File Systems, Remote Backup, Reliability, Erasure Codes. ii.

(4) 目錄 目錄 ................................................................................................................. iii 圖目錄 ............................................................................................................. vi 表目錄 ........................................................................................................... viii 致謝 ................................................................................................................. ix 1.. 2.. 前言........................................................................................................... 1 1.1.. 雲端檔案系統 ................................................................................ 1. 1.2.. 質疑與挑戰.................................................................................... 2. 1.3.. 貢獻與成果.................................................................................... 3. 1.4.. 論文內容 ....................................................................................... 4. 相關研究 ................................................................................................... 5 2.1.. RAID ............................................................................................. 5. 2.2.. Hadoop 雲端檔案系統................................................................... 6. 2.3.. 抹除碼 ........................................................................................... 7. 2.4. 3.. Reed-Solomon Code .............................................................. 7. 2.3.2.. Linear Combination Code ...................................................... 8. 2.3.3.. Luby-Transform Code............................................................ 9. 小結 .............................................................................................. 11. 雲端檔案系統架構.................................................................................. 12 3.1.. 3.2.. 3.3. 4.. 2.3.1.. 複製備份 ..................................................................................... 12 3.1.1.. R1 系統架構 ....................................................................... 12. 3.1.2.. R2 系統架構 ....................................................................... 13. 3.1.3.. R3 系統架構 ....................................................................... 14. 3.1.4.. Rn 系統架構 ....................................................................... 15. 編碼備份 ..................................................................................... 16 3.2.1.. E(4,2)系統架構 ................................................................... 17. 3.2.2.. E(5,2)系統架構 ................................................................... 18. 小結 ............................................................................................. 19. 可靠度分析 ............................................................................................. 21 4.1.. 系統架構之可靠度 ...................................................................... 21. 4.2.. 複製備份架構之可靠度 .............................................................. 22 iii.

(5) 4.3.. 4.4.. 4.5. 5.. R2 架構之可靠度................................................................ 22. 4.2.2.. R3 架構之可靠度................................................................ 25. 編碼備份架構之可靠度 .............................................................. 28 4.3.1.. E(4,2)架構之可靠度 ........................................................... 28. 4.3.2.. E(2n,n)架構之可靠度 ......................................................... 30. 4.3.3.. E(5,2)架構之可靠度 ........................................................... 30. 4.3.4.. E(2n+1,n)架構之可靠度 ..................................................... 32. 可靠度分析.................................................................................. 32 4.4.1.. 網路可靠度 ......................................................................... 32. 4.4.2.. 節點可靠度 ......................................................................... 35. 4.4.3.. 時間影響 ............................................................................. 38. 小結 ............................................................................................. 39. 抹除碼應用研究 ..................................................................................... 41 5.1.. 5.2.. 5.3.. 5.4. 6.. 4.2.1.. RS Code ....................................................................................... 41 5.1.1.. RS Code 編碼與解碼 .......................................................... 41. 5.1.2.. RS Code 實例...................................................................... 43. LC Code ....................................................................................... 46 5.2.1.. LC Code 編碼與解碼 .......................................................... 46. 5.2.2.. LC Code 實例 ..................................................................... 48. LT Code ....................................................................................... 49 5.3.1.. LT Code 編碼與解碼........................................................... 50. 5.3.2.. LT Code 實例 ...................................................................... 51. 小結 ............................................................................................. 53. 讀寫效能分析 ......................................................................................... 54 6.1.. 效能計算 ..................................................................................... 54. 6.2.. 複製備份讀寫效能 ...................................................................... 55. 6.3.. 6.2.1.. 複製備份寫入時間 ............................................................. 55. 6.2.2.. R2 架構讀取時間................................................................ 55. 6.2.3.. R3 架構讀取時間................................................................ 56. 編碼備份讀寫效能 ...................................................................... 58 6.3.1.. 編碼備份寫入時間 ............................................................. 58. 6.3.2.. E(4,2)架構讀取時間 ........................................................... 58. iv.

(6) 6.3.3.. 7.. E(5,2)架構讀取時間 ........................................................... 59. 6.4.. 抹除碼效能.................................................................................. 60. 6.5.. 寫入分析 ..................................................................................... 62. 6.6.. 讀取分析 ..................................................................................... 64. 6.7.. 小結 ............................................................................................. 67. 結論......................................................................................................... 68. 參考文獻......................................................................................................... 70. v.

(7) 圖目錄 圖 1–1 異地備援 .............................................................................................. 2 圖 1–2 異地備源兩種狀況 ............................................................................... 3 圖 2–1 HDFS ..................................................................................................... 6 圖 2–2 抹除碼原理 .......................................................................................... 7 圖 2–3 RS Code 編碼原理 ................................................................................ 8 圖 2–4 LC Code 編碼原理 ................................................................................ 9 圖 2–5 LT Code 編碼原理 ............................................................................... 10 圖 3–1 R1 架構 ............................................................................................... 12 圖 3–2 R2 架構 ............................................................................................... 13 圖 3–3 R2 架構:兩個 Blocks ........................................................................ 14 圖 3–4 R3 架構 ............................................................................................... 14 圖 3–5 R3 架構:兩個 Blocks ........................................................................ 15 圖 3–6 HDFS-RAID ........................................................................................ 16 圖 3–7 系統流程 ............................................................................................ 17 圖 3–8 E(4,2)架構 ........................................................................................... 17 圖 3–9 E(5,2)架構 ........................................................................................... 18 圖 4–1 網路可靠度對於系統本地端之可靠度 .............................................. 33 圖 4–2 網路可靠度對於系統異地端之可靠度 .............................................. 34 圖 4–3 網路可靠度對於系統雲端外部之可靠度 .......................................... 34 圖 4–4 節點可靠度變化之於本地端可靠度 .................................................. 35 圖 4–5 節點可靠度變化之於異地端可靠度 .................................................. 36 圖 4–6 節點可靠度變化之於雲端外部可靠度 .............................................. 37 圖 4–7 高機器節點可靠度之於系統可靠度比較 ........................................... 38 圖 4–8 可靠度與時間關係 ............................................................................. 39 圖 5–1 E(4,2)與 E(5,2)架構之 RS Code 編碼 ................................................. 41 圖 5–2 E(4,2)與 E(5,2)架構之 RS Code 解碼 ................................................. 42 圖 5–3 E(4,2)與 E(5,2)架構之 LC Code 編碼 ................................................. 46 圖 5–4 E(4,2)與 E(5,2)架構之 LC Code 解碼 ................................................. 47 圖 5–5 E(4,2)架構 LC Code 編碼範例 ............................................................ 48 vi.

(8) 圖 5–6 E(5,2)架構 LC Code 編碼範例 ............................................................ 49 圖 5–7 E(4,2)與 E(5,2)架構之 LT Code 編碼 .................................................. 50 圖 5–8 E(4,2)與 E(5,2)架構之 LT Code 解碼 .................................................. 51 圖 5–9 E(4,2)架構 LT Code 編碼範例 ............................................................ 52 圖 5–10 E(5,2)架構 LT Code 編碼範例 .......................................................... 52 圖 6–1 檔案大小與編碼時間關係 ................................................................. 61 圖 6–2 檔案大小與解碼時間關係 ................................................................. 62 圖 6–3 總寫入時間 ........................................................................................ 63 圖 6–4 本地端檔案大小與讀取時間關係 ...................................................... 65 圖 6–5 異地端檔案大小與時間關係 ............................................................. 66 圖 6–6 雲端外部檔案大小與時間關係.......................................................... 66. vii.

(9) 表目錄 表 3–1 系統架構比較 ................................................................................... 20 表 4–1 可靠度符號定義................................................................................ 21 表 5–1 GF(16)元素表..................................................................................... 43 表 5–2 RS(4,2)之生成矩陣 G ........................................................................ 44 表 5–3 RS(5,2)之生成矩陣 G ........................................................................ 45 表 6–1 時間效能符號定義 ............................................................................ 54 表 6–2 環境配備 ........................................................................................... 61. viii.

(10) 致謝 短短的兩年,不管是課業或是研究都從中學習到不少,真正感到有比兩年前 大學生的自己還要成長不少。大學時代雖然沒少作報告,但是當真正開始接觸作 研究,才明白自己所需要補足的部分還很差很多,不管是研讀論文亦或是做實驗 專案,對以前鮮少嘗試過的我來說各個都是一大挑戰。過程中充滿著許多酸甜苦 辣的經驗,有完成研究的成就感,也有遇到失敗覺得灰心喪志的挫折感,但是相 信這些經歷,最後都會化成養份提供我繼續出發前往人生下階段的動力,對於家 人一路的陪伴,一直扮演著我在學習路上的避風港,供給我一個良好的讀書機會 與學習環境,真的感到無以回報。 接著首先必須感謝的是,指導教授吳俊興老師。除了指引找不到方向而迷失 的我一條明確的道路,在做研究的過程中也總是不厭其煩的給予我正確的指導, 且在教學上並不會與學生產生距離感,能在學校與老師擁有如此近距離的學習機 會是大學時代完全無法想像的,在研究上也因為有老師無私的幫助,我才能順利 完成碩士學業。 最後要感謝的是研究所的學長與同學們,不僅對不熟悉學校事務的我給予許 多幫助,也因為彼此在不同領域的研究,見識到更多不一樣的專業知識,讓我獲 益匪淺,同學間的鼓勵與互助,也一直給我精神上很大的支持,感謝你們在我碩 士生涯的陪伴。. ix.

(11) 1. 前言 網路的普及與便利,讓人們對於網路的依賴性與日俱增,每分每秒都有大量 的數據在線上等待著被處理。這些龐大的數據儲存在資料中心或者伺服器裡,不 可避免的會有人為或者是天災等風險,造成部分資料的遺失或不可用。為了避免 這些狀況發生,資料的備份是解決問題的其中一種最佳方法。. 1.1. 雲端檔案系統 雲端檔案系統利用網路的方式將多台儲存機器連接起來,可將一份資料分散 儲存到多個不同的機器上,藉此加快對資料的存取速度,對外提供一管道可讓使 用者直接存取一份被分散儲存在多台機器上之資料,而不需另外自行至各儲存位 置存取被分散的資料。 本論文研究雲端檔案系統,以現今知名的 Hadoop[2]為例。Hadoop 是一套知 名的開源軟體,提供一個大量資料的分散式運算環境,其中在檔案系統部分,是 使用 Hadoop Distributed File System(HDFS)[3]。HDFS 具有容錯能力、高效率且 大容量的特色,並且為了防止意外的發生造成資料的缺失,也提供資料備份的功 能,Hadoop 在資料備份方面,一般使用複製備份的方式,對資料進行備份動作。 對一個良好的雲端檔案系統來說,因為設備因素或網路等問題,而無法維持 正常運作是絕對需要避免的。一般而言都會根據異地備援的概念,對設備以及資 料在不同的地方作備份,藉此達到分散風險之目的。如圖 1–1 所示,當 Data1 無法提供服務或者失去 Data1 時,可藉由備份的 Data2 來修復還原或者直接代替 Data1 對外提供服務,反之亦然。HDFS 採取的資料備份策略是在本地端儲存兩 份副本,在異地端另外再儲存一份副本作異地備援,使用的是一般傳統的複製備 份方式。與最簡單的異地備援方式,本地端以及異地端僅各儲存一份副本相比, HDFS 此備份策略的成本雖然比較高,但是在本地端遺失一份副本時,仍可以依 靠本地端的另一份副本維持系統運作,而不需耗費較多的系統效能來存取異地端 的備份資料,並且對於系統架構之容錯能力亦能獲得比較好的改善,簡單的異地 備援架構僅容許失去一份副本,而 HDFS 此備份方式卻容許最多失去兩份副本。 1.

(12) 圖 1–1 異地備援. 1.2. 質疑與挑戰 在備份資料的方法中除了直接複製備份外,亦可藉由抹除碼編碼的方式,將 資料先進行編碼處理,再分塊儲存,來提升資料的可用性與容錯能力。然而在不 同的檔案系統架構下,儲存資料的擺放方式,將深深的影響整個系統的可靠度。 抹除碼不僅能夠改善系統的安全性[1][4],也能夠增進系統的效能。一般研 究常關注在如何利用抹除編碼提升資料的可用性,使得儲存的備份資料量降低, 藉此減少系統所需付出的儲存成本,也就是副本的總數量,如 HDFS-RAID[5]、 HDFS-Xorbas[6]。在考慮到有異地備援的系統架構下,備份的資料會被儲存到不 同區域,當因為設備因素或網路問題,而使得原本使用中的本地端節點無法繼續 服務,這時候就必須依靠存放在異地端的備份資料,來幫助修復還原或者是替代 原節點繼續服務。 更進一步思考異地備援之情形,若是備份資料的儲存成本低於 2,即是說異 地備援兩端的節點最多只有一端可以擁有一份完整的副本。假設一系統為總儲存 成本 1.5 之狀況,如圖 1–2,Cloud1 本地端擁有一副完整的副本,異地端則只 有包含一半訊息的副本,當本地端之資料有缺失、毀損不超過一半以上,透過存 取異地端之備份資料可以維持住整個系統之正常運作。但是當本地端失去的資料 量超過一半以上,甚至是因為網路問題而全部暫時無法使用,這時候依靠異地端 僅只有一半的備份資料,是無法修復或代替失去的資料。考慮異地備援的狀況, 必須至少如圖 1–2 的 Cloud2 一樣,異地端備份的資料量必須至少與本地端的資. 2.

(13) 料量相等或者之上,如此才能在失去本地端全部資料之狀況下,仍舊能夠依靠備 份地資料來重建或代替本地端。. 圖 1–2 異地備源兩種狀況. 通常為了提升雲端檔案系統的效能,比較直覺的想法便是直接增加儲存成本 的方式,對於提升雲端檔案系統的效能來說既簡單又有效率,但是其成本的增加 亦是非常可觀;而不增加成本改使用比較複雜的方式來處理資料,藉以提升雲端 檔案系統的可靠度與容錯能力,卻又有可能因此提高雲端檔案系統的存取時間。 一般有限的資金與成本的條件下,在成本與效能之間的平衡與取捨,但又相對能 夠有效提升雲端檔案系統的可靠度與容錯能力,是個非常值得深入研究的議題。. 1.3. 貢獻與成果 為了解決上述問題,我們研究在符合異地備援之條件,並將網路影響因素納 入考慮,分析與計算各個架構的可靠度,主要的貢獻有下列三點: (1) 提出一個支援異地備援的可靠度分析模型,以作異地備援地各個架構的 可靠度比較。 (2) 兩個適用於抹除碼地異地備援架構,在相同或更少於傳統複製備份的儲 存成本下,能夠確切的提高整體系統的可靠度。依序深入介紹各個儲存 及備份資料的方式,再根據其系統架構來計算整體系統之可靠度,並且. 3.

(14) 將系統的不同角度所造成的差異亦納入計算。除了計算各個架構的可靠 度之外,也對傳統使用複製備份方法的既有架構作比較與分析。 (3) 本文亦研究三種不同類型之抹除碼,分析其不同類型對於雲端檔案系統 所造成之影響,並實作三種抹除碼之編碼與解碼方式,根據應用狀況對 編碼方式作改良,來探討抹除碼如何實際應用於雲端檔案系統。最後分 析三種抹除碼,並與傳統的雲端檔案系統架構作分析與比較。. 1.4. 論文內容 本篇論文下一章節將會介紹相關研究,包含 Hadoop 的雲端分散式檔案系統: HDFS,以及三種基本類型的抹除碼;在第 3 章介紹幾種不同的雲端檔案系統架 構,並比較與分析各個架構的差異;第 4 章直接實際計算第 3 章所介紹的各個系 統架構之可靠度,並提供更進一步詳細的分析與說明;第 5 章實作三種抹除碼, 並針對雲端檔案系統架構之應用,在編碼與解碼上作出一些改良,且比較三種抹 除碼因為不同的差異所導致的影響;第 6 章研究與分析應用抹除碼架構之效能, 與傳統的雲端檔案系統架構之差異,最後是結論與參考文獻。. 4.

(15) 2. 相關研究 由於網路的發達與科技的進步,雲端在各種方面的相關應用開始大量的被推 廣與重視,而不管是什麼類型的雲端應用,通常都需要一個良好的雲端檔案系統 在背後支持著。本章節將會介紹資料的擺放方式,以及目前最具知名度的雲端開 源軟體:Hadoop,並接著介紹本文研究的三種基本的抹除碼。. 2.1. RAID Redundant Array of Independent Disks(容錯式磁碟陣列),簡稱 RAID。基本的 構想是藉由組合多個相對廉價的硬碟成為一個磁碟陣列,使其效能達到類似單個 昂貴且大容量的硬碟。通常 RAID 方式會比使用單顆硬碟有更多的好處,如增快 資料的存取速度、增強系統的容錯功能以及增加系統儲存的容量,一般來說根據 資料的擺放方式,可以分為標準 RAID 與混合 RAID 兩種。 標準 RAID 方式底下可再細分為六種,其中最基本的兩種為 RAID 0 與 RAID 1,這兩種 RAID 的資料擺放方式也是後續討論所著重參考的重點之一。標準 RAID 0 方式直接將資料分段分散儲存到不同的磁碟裡,藉由這種資料擺放方式, 能夠讓系統在對資料讀寫時都可以平行處理,以此來增進系統的讀寫速度。標準 RAID 1 是由兩組以上的磁碟陣列互作 Mirror(鏡像)處理,藉由這種複製方式會在 磁碟陣列裡儲存至少一份備份的副本,具有一定的容錯能力,並且在多執行緒作 業系統中,亦可對各個磁碟中之副本資料進行平行處理,達到增進系統讀寫速度 的目的。標準 RAID 0 由於沒有多作備份,不具備容錯能力,並且磁碟發生損壞 時資料遺失的風險相對上比較高;標準 RAID 1 有作備份,與 RAID 0 相比雖然 讀取速度較差,但是當相對上可靠度較高,當磁碟發生損壞時,只要有一組磁碟 依舊正常即可維持運作。 混合 RAID 有許多種方式,在這邊的討論以 RAID 0 與 RAID 1 為主。依據 RAID 0 與 RAID 1 的先後順序,混合 RAID 方式可區分為 RAID 0+1、RAID 1+0 兩種,RAID 0+1 即為先對磁碟陣列作 RAID 0 的分散儲存,再作 RAID 1 的鏡像 複製;反之 RAID 1+0 則是先對磁碟陣列作 RAID 1 的鏡像複製,再作 RAID 0 5.

(16) 的分散儲存。兩種方式雖然擁有相同的儲存成本,也都具備一定的容錯功能,但 是在不同的使用狀況下可靠度會有所差異。 近幾年來雲端服務快速的興起,雲端檔案系統的需求亦開始受到重視,將 RAID 資料儲存方式應用在雲端檔案系統裡,藉由改變資料的分配方式,能夠達 到改善系統效能的目的。一般研究都僅單純討論,在同一區網內部的系統效能, 在這邊本篇論文更進一步探討,當有異地備援之狀況下,考慮在兩個端點與網路 有可能發生錯誤之因素,對整體系統效能所造成的影響。. 2.2. Hadoop 雲端檔案系統 Hadoop 是目前用來處理大量資料的一套知名軟體,由 JAVA 語言編寫,根 據 Google 公司發表的論文 The Google File System[7]實作而來,與其他商用軟體 相比,具有高可靠性、高擴展性、高容錯能力,且因為是開源軟體,可以大大的 降低建置成本,以及後續的程式改寫與應用。 Hadoop 在架構上使用類似 Google 檔案系統的 Hadoop Distributed File System (HDFS)。圖 2–1 為 HDFS 的架構示意圖,由一個 Name Node 與多個 Data Node 組成,在分散式的儲存環境裡,提供單一的檔案目錄系統,而資料會被分成多塊 儲存在各個 Data Node 之上,並為其建立多個副本分散在其他的 Data Node。當 需要存取或者備份還原資料時,則依靠 Name Node 來對資料進行存取與操作。. 圖 2–1 HDFS HDFS 一般採取複製備份的方式為資料建立副本,常見方法為一份副本放在 相同集線器內另一部機器上,另一份副本放在集線器外部另一部機器,總共三份。 6.

(17) 為了增加資料的可用性來改進系統的效能,也可以使用編碼的方式先對資料進行 處理再儲存。從簡單的 XOR 到使用各種抹除碼,都有其一定的作用,在下一章 節將會討論與介紹三種本篇論文所研究的不同類型抹除碼。. 2.3. 抹除碼 抹除碼(Erasure Code)[8],是一種可以提升訊息可獲得性的編碼技術,通常 應用於網路通訊以及資料儲存等相關領域,其基本的概念是將原本檔案分區塊 (Block)來處理,取 n 個 Blocks 使用抹除碼編碼可將其展開為 m 個編碼區塊 (Encoded Block),在這之中只需收集一定數量的 Encoded Blocks 即可解碼回原本 的檔案[9]。 圖 2–2 為抹除碼的簡單原理示意圖,將 n 個 Blocks 經由編碼將其展開為 m 個 Encoded Blocks,只需從中收集 ℓ (ℓ ≥ n)個任意 Encoded Blocks 即可解碼回原 始資料,代表著容許失去總共 m-n 個 Blocks 與 Encoded Blocks,也因此從而得 知 m 與 n 之值決定了資料的可獲得性[10][11]。按照其解碼所需要的條件可再分 為兩大類,當解碼所需之 Encoded Blocks 數量等於 n 時即為 Optimal Code;當大 於 n 時則為 Near-Optimal Code。在後續小節將依序介紹三種本篇論文所使用到 的抹除碼,並說明其所屬類型以及編碼原理。. Any≧n. Encode n. ℓ. m. …. …. …. Decode 圖 2–2 抹除碼原理. 2.3.1. Reed-Solomon Code Reed-Solomon Code (RS Code)是一種被廣泛應用在各種通訊以及儲存應用 的編碼,在 1960 年由 Irving S. Reed 與 Gustave Solomon 提出[12],最常見的是 7.

(18) 在 CD、DVD 以及藍光光碟等應用上。 RS Code 是一種 Forward Error Correction Code,以線性組合的方式進行編碼, 將 n 份原始訊息轉換成 m 個訊息(m>n),圖 2–3 即為 RS Code 之編碼範例,藉 由新增加的冗餘訊息 Q1~Qm-n,可以提升接收端一定程度的容錯率。編碼過程為 計算 G‧B=E,對一 n 個 Blocks 的資料 B {B1,B2,…,Bn}進行處理,根據 RS Code 之原理可得一固定大小 m‧n 之生成矩陣 G,再來將生成矩陣與 n‧1 的矩陣 B 相乘,即可得到一 m‧1 矩陣 E {B1,B2,…,Bn,Q1,…,Qm-n},此矩陣內容即為編碼 後之 Encoded Blocks。當需要解碼時,只需收集與 Blocks 數量相等之 Encoded Blocks,作為 n‧1 之矩陣,與一固定的 n‧n 生成矩陣之反矩陣進行相乘,所求 得 n‧1 矩陣結果即為 n 份原始 Blocks 之值。在計算過程中須注意的是,RS Code 不管是編碼還是解碼,都必須在 Galois Field 內進行運算。 G  1  0      0  c 1 ,1    c  m  n ,1. 0 1  0 c 1, 2  c mn ,2. B. E. 0   B1   B  0  2   B1            B    1    2    Bn     c 1, n     Q 1   B       n    Q   c m  n , n   mn   . 圖 2–3 RS Code 編碼原理 RS Code 是一個頗具代表性的 Optimal Code,在後續的討論中將會繼續探討 以 RS Code 應用於不同雲端檔案系統架構之影響。. 2.3.2. Linear Combination Code Christos Gkantsidis 在 2005 年將 Network Coding[13]的概念應用在點對點的 網路傳播[14],論文中提出一個利用線性組合以及加入抹除碼原理的簡單編碼方 式,即為 Linear Combination Code (LC Code)。 LC Code 是一種改善檔案傳播效率的編碼技術,主要是利用在傳輸過程中對 資料進行編碼的動作,以此來增加資料的可用性。藉由讓使用者散播經過編碼後 的 Encoded Block,使得還原檔案的方式有更多樣性的組合[15][16][17],當有越 8.

(19) 多的使用者參與傳播,其他的使用者就越有可能湊齊還原檔案所需之 Encoded Blocks 數量。 LC Code 其原理為,將 n 個 Blocks 與一隨機產生的生成矩陣相乘,把相乘 結果之值加總起來即可得到一個 Encoded Block 訊息,圖 2–4 可以看到 LC Code 編碼過程示意圖。與 RS Code 一樣將 n 個 Blocks 的資料 B {B1,B2,…,Bn}作為 n‧ 1 矩陣,與 m‧n 生成矩陣 G 來進行編碼,同樣計算 G‧B=E,其相乘結果所得 之 m‧1 矩陣 E {Q1,Q2,…,Qm},即為編碼後之 Encoded Blocks。由於 LC Code 與 RS Code 生成矩陣產生的方式不同,LC Code 並沒有使用固定的生成矩陣組合, 因此 LC Code 的生成矩陣 G 的列數 m 並不會像 RS Code 被侷限住,可以擁有更 多的 Encoded Blocks,在解碼時只需要從生成矩陣裡收集,列與列之間彼此線性 獨立的組合,得到一個 n‧n 矩陣,再計算其反矩陣,最後與相對應的 n 個 Encoded Blocks 相乘,即可還原回原始 Blocks 之 n‧1 矩陣 B。. G  c 1 ,1 c  2 ,1      c m ,1 . B. E. c 1, 2  c 1, n   Q1   B1     c 2, 2  c 2,n    Q2  B 2                        B c m , 2  c m , n   n  Q m . 圖 2–4 LC Code 編碼原理 LC Code 與 RS Code 同為 Optimal Code,除了在 Code Rate 方面有所不同, LC Code 編碼後所產生的 Encoded Blocks 大小並不一定會像 RS Code 與原始 Blocks 大小一致,但是其 Encoded Blocks 的多樣性卻比 RS Code 優異不少,後 續會探討與 RS Code 同樣應用在雲端檔案系統,因為這些不同所產生之差異與優 劣比較。. 2.3.3. Luby-Transform Code Luby-Transform Code (LT Code)是一種符合 Fountain Code[18]特性的 Erasure Code,由 Michael Luby 於 2002 年提出[19],使用簡單的 XOR 運算方式來進行編 碼與解碼的動作。 9.

(20) 在 LT Code 提出之前的抹除碼,進行編碼前都必須指定好編碼後所產生的 Encoded Blocks 數量,因此就必須先算好資料的遺失率或損壞率,再決定展開後 所需的 Encoded Blocks 數量。LT Code 的作法是一次運算只產生一個 Encoded Block,隨著傳送方不斷傳送訊息的過程中不停產生 Encoded Blocks,接收方只 需收集一定數量之 Encoded Blocks,即可解碼還原回原始訊息。此狀況就像是一 個不斷噴出水滴的噴泉,取水者不須在意水滴之間的差異,只須收集足夠的量即 可達成目的,故稱之為 Fountain Code。 圖 2–5 為 LT Code 之編碼示意圖,先取 n 個 Blocks 來進行編碼,接著將規 定數量之原始 Blocks 彼此 XOR 起來,所計算求得之值與記錄參與編碼之 Blocks 訊息合併起來,即為一個 Encoded Block,最後再根據需求重覆此一動作直到產 生完所需之數量為止。當需要解碼時,根據 Encoded Block 裡所記錄的參與 Blocks 訊息,從參與數量為 1 的 Encoded Block 開始解碼,由於原始 Blocks 參與數量為 1,故可直接視為原始 Block 之訊息,接著再利用此原始訊息對參與數量為 2 之 Encoded Blocks 進行解碼,只要擁有此份原始訊息參與之 Encoded Block 便可計 算出其他原始訊息,依此類推不斷重覆解碼動作即可解碼出所有原始資訊。. B. …. n. E. … 圖 2–5 LT Code 編碼原理 LT Code 這種編碼方式讓他亦被稱為 Rateless Code,雖然有著隨傳即收的好 處,但是也造成無法確定每次解碼所需之 Encoded Blocks 數量,由於每次 XOR 所挑選的原始 Blocks 皆採用隨機挑選的方式,有時候會因為原始訊息的覆蓋率 不完全導致部分資料解碼不出來的缺點,因此 LT Code 比較適用於不易受到微小 差異影響的影音傳送等相關領域。 10.

(21) LT Code 後續有許多的改良,例如 2006 年發表的 Raptor Code[20]就更進一 步的改善 LT Code,除了 Raptor Code 之外亦有許多相關研究[21],但是在這邊因 為應用的方向並不相同,考量三種抹除碼之特性,僅使用比較基本的 LT Code 來與 RS Code、LC Code 作比較便足夠了。. 2.4. 小結 本篇論文由於原本的 LC Code 以及 LT Code 並不完全適用於雲端檔案系統, 故在其編碼部分作出一些細節上的更動,改進 LC Code 的部分編碼方式,並且 為了使得 LT Code 能適用於本文之雲端檔案系統架構,參考其編碼原理與精神, 以其編碼以及解碼的運算方式為基礎,提出一類似 LT Code 的編碼方式來作比較 與分析,在第 5 章將會依序詳細說明,並介紹更完整的抹除碼如何應用於雲端檔 案系統之方法,最後更進一步的以實例進行說明。在第 6 章則實作三種抹除碼的 編碼與解碼方式,研究三種抹除碼在編碼與解碼上的差異。. 11.

(22) 3. 雲端檔案系統架構 本章節主要介紹在分散式檔案系統環境裡,根據備份方式的不同而區分開來 的幾種不同架構。首先可以從是否有編碼行為簡單區分為兩大類,第一類為使用 複製備份的方式,第二類則是使用編碼來處理備份的方式。一般常見的複製備份 方式在這邊以副本總數量為 2、3 兩種為主;而使用編碼備份方式的雲端檔案系 統架構,本文提出兩種簡易的雲端檔案系統架構來做比較與分析。. 3.1. 複製備份 一般常見的雲端檔案系統架構,所採用的備份方式為直接複製備份,在這邊 定義符號 Rn,代表總共有 n 個副本被儲存在各個儲存位置,儲存成本為 n,其 中由於儲存成本的考量,一般 R2 與 R3 是廣泛被使用的兩種傳統架構。隨著副 本總數 n 的增長,異地備援所獲得的效益也會逐步上升,但是與之相對的,所需 要付出的儲存成本亦會隨之提高為 n 倍。. 3.1.1. R1 系統架構 R1 架構即為資料只儲存一份在本地端,不再有其他備份的副本被儲存。可 視為不使用異地備援,僅單一本地端的雲端檔案系統架構。如圖 3–1 (a)所表示,. Sx. Sx. Sl. Sl. P1. P1. P2. B. B1. B2. (a) 單一 Block. (b) 兩個 Blocks 圖 3–1 R1 架構. 12.

(23) 資料以 B 來做代表;P 則代表各個儲存的機器節點;S 為底下機器對外的網路, 通常可視為路由器或交換器,Sl 代表的是本地端網路;最上層 Sx 代表外部雲端。 一般雲端檔案系統在儲存資料時都是以 Blocks 為單位來進行存取,當一份副本 有兩個 Blocks 時,可以利用分散儲存的方式,來加快資料的讀取速度,如圖 3– 1 (b)即為 R1 架構一份副本有兩個 Blocks 之儲存分配情形,在本地端底下不同的 機器節點各自儲存一個 Block,讀取資料時可以平行讀取 B1 與 B2 來加快速度。. 3.1.2. R2 系統架構 R2 架構採取最簡單的複製備份方式,對資料進行異地備援的動作。為了確 保當本地端無法被進行存取時,仍舊可以繼續提供服務,在異地端亦儲存備份一 份副本。如圖 3–2 所示,本地端 Sl 儲存一份資料 B,在異地端 Sr 也備份一份資 料 B。Sr 除了替 Sl 備份一份資料 B,當 Sl 發生錯誤或不可預期之意外,導致對外 連線中斷或無法繼續服務時,Sr 之資料可以立刻代替 Sl 繼續對外提供服務。. Sx Sl. Sr. P1. P2. B. B. 圖 3–2 R2 架構 對一般雲端檔案系統來說,同樣的 R2 架構在兩個 Blocks 之狀況,也會利用 分散儲存的方式,來加快讀取速度。如圖 3–3 即為 R2 架構一份副本有兩個 Blocks 的範例,在本地端與異端端都一樣還是各儲存一份副本,藉由分散儲存的方式, 能夠有比圖 3–2 的架構獲得更快的讀取速度。將原本儲存在本地端的一份副本 分散儲存到本地端底下不同的機器節點 P1、P2,異地端所儲存的副本也一樣分散 儲存到異地端底下不同的機器節點 P3、P4,這樣存取資料 B 時便可以同時平行 讀取 B1 與 B2,達到加快讀取速度的效果。. 13.

(24) Sx Sl. Sr. P1. P2. P3. P4. B1. B2. B1. B2. 圖 3–3 R2 架構:兩個 Blocks 此 R2 架構的優點,為既達到異地備援之效果,其儲存成本亦是最低的架構, 當 Sl 之機器一發生錯誤或意外時,可以依靠異地端的 Sr 來重建資料 B,同樣的 狀況反過來看亦是如此。但是考慮到本地端與異地端之間的傳輸效能,如果是單 一機器常發生異常之狀況,則將會造成所需付出的傳輸成本偏高。. 3.1.3. R3 系統架構 R3 架構為一般 Hadoop 常見的資料備份架構,跟 R2 一樣是以複製備份的方 式來進行異地備援。與 R2 不同的是,除了在異地端備份一份資料外,在本地端 也會多儲存備份一份資料 B。如圖 3–4 所示,以 R2 的架構為基礎,在本地端 Sl 底下節點 P2 多複製一份資料 B。當 P1 節點發生意外或錯誤時,R3 架構不需要 再透過異地端 Sr 之資料 B,來還原毀損或遺失的資料,可直接使用在本地端 P2 節點的備份資料。. Sx Sl. Sr. P1. P2. P3. B. B. B. 圖 3–4 R3 架構 以 HDFS 架構其傳統的備份方式來看,P1 與 P2 可視為同一個 Rack 底下不同 14.

(25) 的儲存機器,即本地端;P3 則是在另一個不同的 Rack 底下之儲存機器,即異地 端。利用此架構方式備份資料,將三份備份資料分別儲存在這三個機器節點,此 方式能夠簡單達到異地備援之效果,並解決 R2 架構所產生的傳輸效能問題。 與 R2 架構使用兩個 Blocks 相同,R3 架構在兩個 Blocks 的狀況一樣能夠使 用分散儲存的方式,來加快系統對資料的讀取速度。如圖 3–5 即為 R3 架構兩 個 Blocks 的儲存方式,在本地端儲存兩份副本總共有四個 Blocks,分別都分散 儲存到本地端底下不同的機器節點 P1、P2、P3、P4,異地端所備份的副本一樣將 兩個 Blocks 分散儲存 P5、P6,如此一來在存取資料時,便能平行讀取 B1 與 B2, 利用分散儲存的方式達到加快資料讀取速度之效果。. Sx Sl. Sr. P1. P2. P3. P4. P5. P6. B1. B2. B1. B2. B1. B2. 圖 3–5 R3 架構:兩個 Blocks R3 架構與 R2 架構相比,所需花費的儲存成本相對增加,但是在本地端 Sl 經常有單一機器發生錯誤或意外之狀況,不需要如 R2 架構一樣付出比較高的傳 輸成本,考慮到 R4、R5 等後續的備份方式之架構,下一小節將整理以 Rn 架構 來說明與介紹。. 3.1.4. Rn 系統架構 觀察 R2 與 R3 之架構,可簡單推論出各個 Rn 架構。Rn 系統架構分別在本 地端 Sl 放置⌈n/2⌉個資料 B,異地端 Sr 則備份⌊n/2⌋個資料 B,依據儲存的資料 B 之數量 n,將其分散在 n 台機器節點之上。 當 n 之值越大時,異地備援之效果亦會隨之提高,但是相對的,所需付出的 儲存空間成本亦會提升為 n 倍。因應各種不同的使用情形,n 之值並不一定是越. 15.

(26) 大就越好,如果資料量本身已經十分龐大,則其 n 倍之儲存成本將會是一個難以 想像的數字。一般的雲端檔案系統在實際應用時,資金以及設備等相關因素會限 制住儲存成本的增加,考慮到 R4 或 R5 甚至是儲存成本更高的架構並不常被應 用,後續的分析將以 R2 以及 R3 為主作代表。. 3.2. 編碼備份 雲端檔案系統除了使用傳統的複製備份方式,亦可以利用抹除碼來對資料進 行編碼與解碼。以 HDFS 應用抹除碼,如圖 3–6 之 HDFS-RAID 架構為例,除 了原本的 Name Node 外,新增了的一個 RAID Node,利用 RAID Node 來負責所 有資料的編碼與解碼。有別於 Rn 系統架構使用直接複製備份的方式,除了將資 料儲存在本地端與異地端來達到異地備援之目的,在資料備份到異地端之前,會 先將資料進行編碼處理,使其獲得更高的可用性。按照 R2 與 R3 之系統架構類 型,分別提出兩種與其相對應的抹除碼系統架構:E(4,2)、E(5,2)。 Name Node RAID Node. Data Node 1 Data Node 2 Data Node 3. 圖 3–6 HDFS-RAID 如圖 3–7,在抹除碼編碼前會先將 File 切 Blocks,再分 n 個 Blocks 下去編 碼處理,將 Blocks 編碼後所產生的 Encoded Blocks 分散儲存到各個機器節點之 上,藉由收集 ℓ (ℓ ≥ n)個 Encoded Blocks 來解碼回原本的 n 個 Blocks。本論文所 定義的 E(m,n)架構,m 代表編碼後所產生之 Encoded Blocks 數量,在此為了方 便後續討論,每台儲存機器皆儲存一份 Encoded Block;n 代表的則是還原回原 始資料所需的 Blocks 數量。. 16.

(27) B1. …. B2. Bn. … …. File. Pick n Blocks B1. B2. …. Bn. Encode to m Encoded Blocks Q1. Q2. …. Qn. …. Qm. Collect ℓ to Decode B1. B2. …. Bn. 圖 3–7 系統流程. 3.2.1. E(4,2)系統架構 E(4,2)架構使用抹除碼的方式對資料進行異地備援處理,先將原始資料切 Block 來處理,將兩個原始 Blocks,分散儲存在本地端兩節點,以提升資料讀取 速度,再將經抹除碼處理過產生的兩塊冗餘資料(即 Encoded Block),備份儲存在 異地端之兩相異節點。如圖 3–8 所示,E(4,2)系統架構將資料 B 分為兩個 Blocks,. Sx Sl. Sr. P1. P2. P3. P4. B1. B2. Q1. Q2. 圖 3–8 E(4,2)架構. 17.

(28) 分別為 B1 與 B2,將其存放在不同的本地端 Sl 節點 P1、P2,再利用編碼的方式對 資料進行處理,產生另外兩塊冗餘資料 Q1 與 Q2,最後將兩塊冗餘放置於異地端 Sr 的兩個節點 P3、P4,達到異地備援之效果。 例如當 Sl 失去任何一個節點之資料,即可透過異地端 Sr 存取 Q1 或 Q2 其中 一塊冗餘資料,與 Sl 剩餘之資料來進行解碼還原的動作,回復原本的資料 B。即 使 Sl 整個發生意外或錯誤時,亦可藉由 Q1 與 Q2 兩塊冗餘資料進行解碼動作,回 復原始資料 B 繼續提供服務。E(4,2)架構儲存成本與 R2 相等,使用抹除碼來提 升資料的可用性與容錯能力,再藉由將資料分散儲存的方式,換取更高的資料讀 取速度。 由 R2 系統架構衍生而來的 E(4,2)系統架構之想法,可以推想出 E(2n,n)之系 統架構,隨著 n 值的變動,即為將 n 個 Blocks 儲存在本地端,n 份 Encoded Blocks 存放在異地端,也就是 Sl 儲存原始的 n 個 Blocks,Sr 則存放經由編碼處理過的 n 分冗餘資料作備份,當 Sl 有任何機器節點發生異常時,Sr 的任意節點所儲存之冗 餘資料,皆可作為備份資料來進行解碼幫助還原。. 3.2.2. E(5,2)系統架構 E(5,2)在 E(4,2)的架構基礎上稍作修正,一樣使用抹除碼來對資料進行異地 備援,不同的地方是在本地端多儲存一份冗餘資料,當本地端有任一原始資料無 法存取時,可以利用此份冗餘資料來減少對異地端的資料存取次數。如圖 3–9, 本地端 Sl 多儲存一份冗餘資料在 P3 節點,當 Sl 失去 P1 或 P2 任意一節點時,不. Sx Sl. Sr. P1. P2. P3. P4. P5. B1. B2. Q1. Q2. Q3. 圖 3–9 E(5,2)架構. 18.

(29) 再需要依靠異地端 Sr 的參與來進行解碼動作,只需要將本地端 P3 之資料 Q1 與剩 下的本地端資料 B1 或 B2 進行解碼動作,即可取回原始資料 B 來繼續對外提供服 務。且當本地端 Sl 無法對外繼續服務時,一樣可以在異地端 Sr,藉由 Q2、Q3 兩 塊冗餘資料解碼回復原始資料 B。 E(5,2)架構所需要的儲存成本比 E(4,2)還高,類似 R2 與 R3 之差別,改進 E(4,2) 在失去單一機器節點的情況經常發生時,所需付出較高的傳輸成本,並利用抹除 碼的方式使得儲存成本比 R3 架構還低,且資料存取速度亦獲得提升。 根據 R3 系統架構衍生而來的 E(5,2)系統架構之想法,為了減少存取異地端 資料所需付出之高成本,在本地端多存放一份冗餘資料,可以推想出(2n+1,n)之 系統架構。與(2n,n)之系統架構差異不大,主要是在本地端 Sl,除了存放 n 個原 始的 Blocks 之外,還多存放一份冗餘資料作備份來使用,當本地端 Sl 任意節點 有異常狀況發生時,藉由這份額外的冗餘資料之參與,即可不須異地端 Sr 參與 來解碼還原。. 3.3. 小結 一般傳統複製備份方式,如 R2、R3 架構,在資料為多個 Blocks 時是採取 隨機分配策略來擺放儲存資料,在機器節點數量夠多的狀況,所有 Blocks 擺放 位置皆會不一樣。為了在後續的分析與比較,能夠與 E(4,2)、E(5,2)架構保持一 致性,使用兩個 Blocks 的狀況是比較公平與合理的。與直接將單一 Block 的狀 況平方處理,會造成在判斷網路的可靠度時多重複判斷,使得 R1、R2、R3 架構 顯得比較差。 由於各個架構之間的不同,以及使用的資料儲存方式,在這邊以不使用異地 備援的 R1 為基準,對各個架構之間的儲存成本差異做個小結。R1 架構儲存一份 副本的方式有最低的儲存成本 1,與之相對的當任何情況發生時幾乎都無法迴避 風險;使用直接複製備份方式的 R2 與 R3 架構,因為是直接將資料複製備份作 副本,儲存到各台儲存機器之上,其儲存成本會直接受到副本數量的影響,所以 分別各為 2 與 3;E(m,n)架構的儲存成本會受到編碼後所展開的 Encoded Blocks 數量影響,當 Encoded Blocks 數量 m 之值越大,所需要付出的儲存成本也越高, 例如以 E(4,2)以及 E(5,2)這兩個架構來說,其 Encoded Blocks 數量分別為 4 跟 5, 19.

(30) 由於一個 Encoded Block 只有一份副本大小的一半,是故 E(4,2)與 E(5,2)其儲存 成本分別為 2 以及 2.5。 除了儲存成本的差異之外,各個架構之間的磁碟容錯數也不相同,R2 架構 只能容許失去一個節點,磁碟容錯數為 1;R3 架構最多可以失去兩個節點仍能 維持住系統正常運作,磁碟容錯數為 2;E(4,2)架構雖然儲存成本與 R2 架構相等, 但是磁碟容錯數卻與 R3 架構不相上下,可以容忍最多失去兩個節點;E(5,2)架 構儲存成本比 R3 略低,卻有比 R3 更高的磁碟容錯數 3,可以容忍失去三個節點。 除此之外,E(m,n)架構皆有作異地備援,與 R2、R3 架構一樣具有網路容錯能力, 即使當一邊網路斷掉或檔案全部遺失,仍舊能夠繼續維持住整個系統運作。在斷 時磁碟容錯能力部分,即失去異地端僅剩本地端之狀況下,R1、R2 與 E(4,2)架 構只要失去任何一個節點即無法維持系統正常運作,而 R3 與 E(5,2)因為有在本 地端多備份一份副本,仍然能夠容忍失去一個節點,同理可推 Rn 架構與 E(m,n) 架構。將上述各個架構關係整理如表 3–1 所示: 表 3–1 系統架構比較 架構 R1 R2 R3 Rn E(4,2) E(5,2) E(m,n). 儲存成本 1 2 3 n 2 2.5 m/n. 磁碟容錯數 0 1 2 n-1 2 3 m-n. 網路容錯能力 No Yes Yes Yes Yes Yes Yes. 20. 斷網時磁碟容錯能力 No No Yes No Yes -.

(31) 4. 可靠度分析 本章節將對第 3 章所介紹的各種類型之雲端檔案系統架構,進行各種可靠度 的理論推導。除了包含各個儲存架構的可靠度推導與計算,在 4.2 將會更進一步 的分析與比較其結果。接下來 4.3 則實際進行模擬實驗,驗證理論分析之結果並 進行比較,最後在 4.4 對 4.2 與 4.3 之結果進行小結。. 4.1. 系統架構之可靠度 為了簡化計算公式與後續的分析討論,如表 4–1 將 Sx 之可靠度設為 t,Sl 與 Sr 代入相同可靠度 s,各個機器節點之可靠度度皆為 p。並根據對資料存取的 三種不同角度 Al、Ar 及 A,進行可靠度推導與計算,分別對應本地端、異地端 及雲端外部三個角度。最後為更進一步讓計算過程能夠簡單明瞭不那麼複雜,特 別定義一計算符號. ,代表在機器數量為 m 之狀況下,只存活 n 台機器之機. 率,每台機器存活率為 p;當需要計算機器數量為 m,至少有 n 台機器存活之機 率時,每台機器存活率為 p,則以. 表示。. 表 4–1 可靠度符號定義 Symbol E(m,n) Sθ Alϕ Arϕ Aϕ. Definition 代表系統架構,m 為編碼後展開之 Encoded Blocks 數量,n 為回復資料 所需之 Blocks 數量 代表網路可靠度,θ:{l,r,x},l 代表本地端,r 代表異地端,x 代表雲端 外部 為系統本地端之可靠度,ϕ 代表系統架構 為系統異地端之可靠度,ϕ 代表系統架構 為系統雲端外部之可靠度,ϕ 代表系統架構 代表 m 台機器存活 n 台之機率 公式: 代表 m 台機器至少存活 n 台以上之機率 公式:. 21.

(32) 4.2. 複製備份架構之可靠度 使用直接複製備份方式,最簡單的架構為 R1 架構,由於沒有異地備援,故 在可靠度的角度也沒有異地端,只有本地端或雲端外部,所以只需考慮機器節點 存活機率. 、本地端網路 Sl、雲端外部網路 Sx。後續比較為求公平,沒有特. 別強調皆一律以使用兩個 Blocks 的架構來進行計算。 單一 Block:R1 架構由於沒有異地備援,故也沒有異地端,從網路內部或外 部看也一樣,所以只需考慮機器節點存活機率. 、內部網路 、外部網路 Sx. 之可靠度即可。 ‧ ‧ ‧ ‧. 兩個 Blocks:R1 架構雲端外部的系統可靠度,若是系統正常運作,則必須 兩個機器節點存活. ,且本地端網路存活 Sl,且經過雲端外部 Sx 存取,整體. 系統可靠度為三者相乘。R1 架構本地端的系統可靠度與雲端外部系統可靠度相 似,差在本地端存取不需經過雲端外部,不必考慮 Sx,故只需計算機器節點存 活. 、本地端網路存活 Sl 即可。 ‧ ‧ ‧ ‧. 4.2.1. R2 架構之可靠度 假設本地端網路 Sl 與異地端網路 Sr 代入可靠度 s,雲端外部網路 Sx 代入 t, 每個機器節點可靠度皆為 p,並且失去網路或機器節點皆不會修復。R2 架構因 為異地備援的副本數量與本地端一致,故本地端系統可靠度與異地端系統可靠度 在這邊會一致,但是考慮到所列之公式以及其所代表的意義仍有所差異,因此依 舊將其過程完整展示如接下來所示。. 22.

(33) R2 架構本地端之整體系統可靠度. ,單一 Block 時:本地端存取資料時,. 本地端網路 Sl 一定必須存活,只要當本地端節點皆存活時 運作,可靠度為. ‧ ;或本地端失去節點時. 地端所需要的資料. ‧ ,可靠度為. ,系統維持正常. ,藉由通過 ‧ 存取異. ‧ ‧ ‧. ‧ ,將上述可靠. 度加總起來即為整體系統可靠度。 ‧. ‧ ‧ ‧. ‧. ‧. ‧ ‧‧ ‧. R2 架構本地端之整體系統可靠度. ,兩個 Blocks 時:本地端存取資料時,. 本地端網路 Sl 一定必須存活,只要當本地端兩個節點皆存活時 正常運作,可靠度為. ‧ ;或本地端失去一個節點時. 存取異地端所需要的資料 地端失去所有節點時 靠度為. ‧ ,可靠度為. ,藉由通過 ‧. ‧ ‧ ‧. ‧ ;或本. ,只能通過 ‧ 在異地端存取到資料. ‧ ‧ ‧ ‧. ‧ ‧ ‧. ‧. ‧ ,可. ‧ ,將上述可靠度加總起來即整體系統可靠度。. ‧ ‧ ‧. ‧. ‧ ‧ ‧‧ ‧. ‧ ‧‧. ‧. R2 異地端之整體系統可靠度. ,單一 Block 時:異地端存取資料時,異. 地端網路 Sr 一定必須存活,只要當異地端之節點還存活時 常運作,可靠度為. ‧ ;或異地端失去一個節點時. 取本地端所需要的資料. ‧ ,可靠度為. 可靠度加總起來即為整體系統可靠度。 ‧ ‧. ,系統維持. ‧ ‧ ‧. ‧. ‧ ‧‧ ‧ 23. ,則系統維持正 ,藉由通過 ‧ 存. ‧ ‧ ‧. ‧ ,將上述.

(34) R2 異地端之整體系統可靠度. ,兩個 Blocks 時:異地端存取資料時,異. 地端網路 Sr 一定必須存活,只要當異地端之節點還存活兩個時. ,則系統維. 持正常運作,可靠度為. ,藉由通過. ‧ ;或異地端失去一個節點時. ‧ 存取本地端需要的資料. ‧ ‧ ‧. ‧ ;. 或異地端失去所有的節點. ,只能通過 ‧ 在本地端存取資料. ‧ ,. 可靠度為. ‧ ,將上述可靠度加總起來即為整體系統可靠. ‧ ‧ ‧. ‧ ,可靠度為. 度。 ‧. ‧ ‧ ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧ ‧‧ ‧. ‧ ‧‧. ‧. R2 雲端外部之整體系統可靠度. ,單一 Block 時:雲端外部存取資料必須. 網路 Sx 存活,底下可再分兩個狀況:第一個狀況當本地端網路 Sl 存活時,本地 端節點存活時. ,系統維持正常運作,可靠度. ,藉由存取異地端所需要的資料. ;或本地端失去節點時. ,可靠度為. ‧. ‧ 。第二. 個狀況當本地端網路不存活時(1-Sl),只能存取異地端 Sr 資料 為. ‧ ‧. ‧ ,可靠度. ‧ ,將上述可靠度加總起來即為整體系統可靠度。 ‧. ‧. ‧ ‧. ‧. ‧ ‧. R2 雲端外部之整體系統可靠度. ‧. ‧. ‧ ‧. ,兩個 Blocks 時:雲端外部存取資料必. 須網路 Sx 存活,底下可再分兩個狀況:第一個狀況當本地端網路 Sl 存活時,本 地端兩個節點皆存活時 失去一個節點時. ,系統維持正常運作,可靠度為. ,藉由存取異地端所需要的資料. 24. ;或本地端 ‧ ,可靠度為.

(35) ‧. ‧ ;或本地端失去所有節點時. ‧ ,可靠度為. ‧. ,只能在異地端存取到資料. ‧ 。第二個狀況當本地端網路不存活時. (1-Sl),只能存取異地端 Sr 資料. ‧ ,可靠度為. ‧. ‧ ,將上. 述可靠度加總起來即為整體系統可靠度。 ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧ ‧. ‧. ‧ ‧ ‧. ‧. ‧. ‧. 4.2.2. R3 架構之可靠度 假設本地端網路 Sl 與異地端網路 Sr 代入可靠度 s,雲端外部網路 Sx 代入 t, 每個機器節點可靠度皆為 p,並且失去網路或機器節點皆不會修復。R3 架構之 可靠度由於本地端比異地端多一個儲存節點,其三個不同的角度會得到三種不同 的系統可靠度,而且 R3 架構必須考慮到兩個 Blocks 彼此互相獨立不能互補。 R3 本地端之整體系統可靠度. ,單一 Block 時:當本地端存取資料時網. 路 Sl 必須存活,當本地端之節點至少存活一個時 可靠度為 存取資料. ‧ ;或本地端失去所有節點 ‧ ,可靠度為. ‧ ‧ ‧. ,則維持系統正常運作, ,只能通過 Sl、Sx 在異地端 ‧ ,上述所有可靠度之加. 總即為整體系統可靠度。 ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧‧ ‧. R3 本地端之整體系統可靠度. ,兩個 Blocks 時:當本地端存取資料時網. 路 Sl 必須存活,當本地端之節點兩個 Blocks 至少都存活一個時 則維持系統正常運作,可靠度為. ‧. 25. ‧. ,. ‧ ;或本地端只有第一個 Block.

(36) 存活一個節點以上時 料. ‧. ‧ ,可靠度為. ,藉由通過 Sl、Sx,存取異地端所需要的資 ‧. 個 Block 存活一個節點以上 要的資料. ‧ ‧ ‧ ‧. ‧ ,可靠度為. 去所有節點. ‧ ;或本地端只有第二. ,藉由通過 Sl、Sx,存取異地端所需 ‧. ‧ ‧ ‧. ‧ ;或本地端失. ,只能通過 Sl 、Sx 在異地端存取到兩個 Blocks,可靠度為. ‧ ‧ ‧. ‧ ,上述所有可靠度之加總即為整體系統可靠度。. ‧. ‧. ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧ ‧. ‧. ‧ ‧‧. ‧ ‧‧ ‧. ‧. R3 異地端之整體系統可靠度. ,單一 Block 時:當異地端存取資料時網. 路 Sr 必須存活,當異地端節點存活時 ‧ ;或異地端失去節點時 ‧ ,可靠度為. ‧. ,可以維持正常運作,可靠度為 ,藉由通過 Sr 、Sx ,存取本地端節點. ‧ ‧ ‧. ‧ ,上述所有可靠度之加總即為. 整體系統可靠度。 ‧. ‧ ‧ ‧. ‧. ‧. ‧ ‧‧. ‧. R3 異地端之整體系統可靠度. ,兩個 Blocks 時:當異地端存取資料時網. 路 Sr 必須存活,當異地端兩個節點存活時 ‧ ;或異地端失去任一個節點時 要的 Block 至少一個節點存活 或異地端失去所有的節點 有一個存活. ‧. ,可以維持正常運作,可靠度為 ,藉由通過 Sr、Sx,存取本地端需. ‧ ,可靠度為. ‧ ‧ ‧. ‧ ;. ,只能通過 Sr、Sx 存取本地端,兩個 Blocks 至少 ‧ ,可靠度為. 上述所有可靠度之加總即為整體系統可靠度。. 26. ‧ ‧ ‧. ‧. ‧ ,.

(37) ‧. ‧ ‧ ‧. ‧ ‧ ‧ ‧. ‧. ‧. ‧. ‧ ‧‧ ‧ ‧‧. ‧ ‧. R3 雲端外部之整體系統可靠度. ‧. ,單一 Block 時:雲端外部存取資料時網. 路 Sx 必須存活,底下可再分兩個狀況:第一個狀況,本地端網路 存活時,當本 地端節點至少存活一個時 去所有節點. ,系統正常運作,可靠度為. ,只能在異地端存取. ;或本地端失 ‧. ‧ 。. 第二個狀況,當本地端網路不存活時(1-Sl),只能存取異地端 Sr 資料. ‧ ,. 可靠度為 ‧. ‧. ‧ ,可靠度為. ‧ ,將上述可靠度加總起來即為整體系統可靠度。. ‧. ‧. ‧ ‧. ‧. ‧. ‧ ‧. R3 雲端外部之整體系統可靠度. ‧. ‧ ‧. ,兩個 Blocks 時:雲端外部存取資料時. 網路 Sx 必須存活,底下可再分兩個狀況:第一個狀況,本地端網路 存活時,當 本地端之節點兩個 Blocks 至少都存活一個時 可靠度為. ‧. ‧. ;或本地端只有第一個 Block 存活一個節點以上時. ‧. ,藉由存取異地端所需要的資料. ‧. ‧. ‧ ‧. ‧. ,可靠度為. ‧ ;或本地端只有第二個 Block 存活一個節點以上. , 藉 由 存 取 異 地 端 資 料 ‧. ,系統正常運作,. ‧ ;或本地端失去所有節點. 到兩個 Blocks,可靠度為. ‧. 時(1-Sl),只能存取異地端 Sr 資料. ‧. , 可 靠 度 為. ,只能在異地端存取. ‧ 。第二個狀況,當本地端網路不存活 ‧ ,可靠度為. 上述可靠度加總起來即為整體系統可靠度。. 27. ‧. ‧ ,將.

(38) ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧ ‧. ‧ ‧ ‧. ‧. ‧ ‧ ‧. ‧. ‧ ‧. ‧. ‧. 4.3. 編碼備份架構之可靠度 使用抹除碼的 E(m,n)架構,在這邊根據前面章節提到的 E(4,2)以及 E(5,2)兩 種架構來進行可靠度的計算。並且更進一步的延伸推導 E(2n,n)以及 E(2n+1,n)的 可靠度。. 4.3.1. E(4,2)架構之可靠度 假設本地端網路 Sl 與異地端網路 Sr 代入可靠度 s,雲端外部網路 Sx 代入 t, 每個機器節點可靠度皆為 p,並且失去網路或機器節點皆不會修復,每個 Encoded Blocks 皆均勻分散至各個節點。E(4,2)架構之可靠度因為本地端與異地端之副本 數量一致,使得本地端與異地端之結果相同,但考慮到所列之公式以及其所代表 的意義仍有所差異,因此依舊將其過程完整展示如下面所示。 ,本地端 Sl 內部存取資料之可靠度為. E(4,2)本地端之整體系統可靠度. ‧ ,或本地端 Sl 內部單一節點異常發生時,藉由通過 Sl、Sx,存取異地 端 Sr 資料之可靠度為. ‧ ,或本地端 Sl 內部節點全部異常發生時,藉由. 通過 Sl、Sx,存取異地端 Sr 資料之可靠度為. ‧ ,將上述可靠度加總起來. 即為整體系統可靠度。 ‧ ‧ ‧ ‧. ‧ ‧ ‧ ‧. 28. ‧.

(39) ‧. ‧ ‧‧ ‧ ‧‧. ‧. ‧. ,異地端 Sr 內部存取資料之可靠度為. E(4,2)異地端之整體系統可靠度. ‧ ,或異地端 Sr 內部單一節點異常發生時,藉由通過 Sr、Sx,存取本地 端 Sl 資料之可靠度為. ‧ ,或異地端 Sr 內部節點全部異常發生時,藉由通. 過 Sr、Sx,存取本地端 Sl 資料之可靠度為. ‧ ,將上述可靠度加總起來即. 為整體系統可靠度。 ‧. ‧ ‧ ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧ ‧‧. ‧ ‧‧. ‧. ‧. ,雲端外部 Sx 外部存取資料之可靠. E(4,2)雲端外部之整體系統可靠度. 度必須為 Sx 存活,底下再區分兩種狀況:第一種狀況當本地端 Sl 存活時,本地 端 Sl 內部存取資料之可靠度為 地端 Sr 資料之可靠度為. ,或本地端 Sl 內部只剩單一節點時,存取異 ‧ ;或者是本地端 Sl 內部節點全部異常發生時,. 存取異地端 Sr 資料之可靠度為. ‧ 。第二種狀況是本地端 Sl 不存活之情況,. 存取異地端端 Sr 資料之可靠度為. ‧ ,將上述可靠度加總起來即為整體系. 統可靠度。 ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧ ‧. ‧ ‧. ‧. ‧. ‧. 29. ‧. ‧.

(40) 4.3.2. E(2n,n)架構之可靠度 考慮 E(4,2)架構之原理,更進一步推算當使用 n 個 Blocks 的 E(2n,n)架構之 系統可靠度,與其他架構一樣依序從三個角度分別進行計算。 當計算 E(2n,n)本地端之整體系統可靠度. ‧. ‧. ‧. ,從. 之推導可得:. ‧ ‧. 當計算 E(2n,n)雲端外部之整體系統可靠度 ‧. 之推導可得:. ‧ ‧. 當計算 E(2n,n)異地端之整體系統可靠度 ‧. ,從. ‧. ,從. 之推導可得:. ‧ ‧. ‧. ‧. 4.3.3. E(5,2)架構之可靠度 假設本地端網路 Sl 與異地端網路 Sr 代入可靠度 s,雲端外部網路 Sx 代入 t, 每個機器節點可靠度皆為 p,並且失去網路或機器節點皆不會修復,每個 Encoded Blocks 皆均勻分散至各個節點。E(5,2)架構之可靠度由於本地端比異地端多一個 儲存節點,其三個不同的角度會得到三種不同的系統可靠度。 ,本地端 Sl 內部存取資料之可靠度為. E(5,2)本地端之整體系統可靠度. ‧ ,或本地端 Sl 內部只剩單一節點時,藉由通過 Sl、Sx,存取異地端 Sr 資料之可靠度為. ‧ ,或本地端 Sl 內部全部節點異常發生時,藉由通過. Sl、Sx,存取異地端 Sr 資料之可靠度為. ‧ ,將上述可靠度加總起來即為. 整體系統可靠度。 ‧ ‧ ‧ ‧. ‧ ‧ ‧ ‧ 30. ‧.

(41) ‧. ‧ ‧‧. ‧ ‧‧. ‧. ‧. ,異地端 Sr 內部存取資料之可靠度為. E(5,2)異地端之整體系統可靠度. ‧ ,或異地端 Sr 內部單一節點異常發生時,藉由通過 Sr、Sx,存取本地 端 Sl 資料之可靠度為. ‧ ,或異地端 Sr 內部節點全部異常發生時,藉由通. 過 Sr、Sx,存取本地端 Sl 資料之可靠度為. ‧ ,將上述可靠度加總起來即. 為整體系統可靠度。 ‧. ‧ ‧ ‧. ‧ ‧ ‧ ‧. ‧. ‧ ‧ ‧‧. ‧. ‧ ‧‧. ‧. ,雲端外部 Sx 外部存取資料之可靠. E(5,2)雲端外部之整體系統可靠度. 度必須為 Sx 存活,底下再區分兩種狀況:第一種狀況當本地端 Sl 存活時,本地 端 Sl 內部存取資料之可靠度為 異地端 Sr 資料之可靠度為. ,或本地端 Sl 內部只剩單一節點時,存取 ‧ ;或者是本地端 Sl 內部節點全部異常發生. 時,存取異地端 Sr 資料之可靠度為. ‧ 。第二種狀況是本地端 Sl 不存活之. 情況,只能存取異地端 Sr 資料之可靠度為. ‧ ,將上述可靠度加總起來即. 為整體系統可靠度。 ‧. ‧. ‧. ‧. ‧. ‧. ‧. ‧ ‧. ‧ ‧. ‧. ‧. ‧. 31. ‧. ‧.

(42) 4.3.4. E(2n+1,n)架構之可靠度 考慮 E(5,2)架構之原理,更進一步推算當使用 n 個 Blocks 的 E(2n+1,n)架構 之系統可靠度,與其他架構一樣依序從三個角度分別進行計算。 當計算 E(2n+1,n)本地端之整體系統可靠度. ‧. ‧. 之推導可得:. ‧ ‧. 當計算 E(2n+1,n)異地端之整體系統可靠度 ‧. ,從. ‧. ,從. 之推導可得:. ‧ ‧. 當計算 E(2n+1,n)雲端外部之整體系統可靠度. ,從. 之推導可. 得:. ‧. ‧ ‧. ‧ ‧ ‧. 4.4. 可靠度分析 接下來將根據前面章節所列舉的各個架構之可靠度推導結果,代入數據觀察 與分析其所造成的影響與變化。將先觀察網路可靠度在相同機器節點之可靠度所 造成之影響;接著則是觀察機器節點在固定網路可靠度之條件下,因為不同的節 點可靠度所產生的變化;最後將時間的因素納入考量,代入一呈現 Exponential 的時間曲線之節點可靠度,分析在固定網路可靠度下,整個系統可靠度隨著時間 的推進所出現之狀況。. 4.4.1. 網路可靠度 為了評估網路可靠度對於整體系統可靠度所造成的影響,我們先簡化假設所 有的機器節點可靠度一致為 0.999。雲端外部若是網路非常不穩無法使用,在目. 32.

(43) 前的系統架構情況下,則主要討論的異地備援影響會式微失去意義,故可以直接 設為 1 先不考慮,並且為了維持比較的公平與正確,所有的架構皆以兩個 Blocks 的狀況來作比較與分析。 圖 4–1 為本地端的整體系統可靠度,節點可靠度為 0.999,隨著網路可靠度 變化可以觀察到,在網路的可靠度皆為 0.9 時,E(5,2)架構之可靠度最高,R3 架 構緊接在後,再來是 E(4,2)架構,三者的可靠度差距並不明顯,代表在此時 E(4,2)、 E(5,2)架構都有接近甚至是超越 R3 架構的可靠度,並且與後面的 R2 架構相比有 著一定的落差,最後只有 R1 架構明顯最低,這也是因為 R1 架構不使用任何的 備份方式,在這裡可當作一個標準來對照。. 1.0 0.9 0.8. Reliability. 0.7 0.6 0.5 0.4. R1 R2 R3 E(4,2) E(5,2). 0.3 0.2 0.1 0.0. 0.09. 0.9. 0.99 0.999 Network. 0.9999. 0.99999. 圖 4–1 網路可靠度對於系統本地端之可靠度 圖 4–2 為異地端的整體系統可靠度,節點可靠度一樣為 0.999,由於 R1 架 構並沒有異地端,故在此圖看不到 R1 架構。比較圖 4-1 與 4-2 可發現到,由於 本地端在 R3 架構以及 E(5,2)架構內部擁有較多的機器數量,使得圖 4–1 的 R3 架構與 E(5,2)架構呈現比較高的系統可靠度,R2 架構與 E(4,2)架構由於本地端與 異地端之機器數量相等,故在兩張圖之間並無差異。. 33.

(44) 1.0 0.9 0.8. Reliability. 0.7 0.6 0.5 0.4. R2. 0.3. R3. 0.2. E(4,2). 0.1. E(5,2). 0.0. 0.09. 0.9. 0.99 0.999 Network. 0.9999. 0.99999. 圖 4–2 網路可靠度對於系統異地端之可靠度 圖 4–3 為雲端外部的整體系統可靠度,節點可靠度為 0.999,與圖 4–1 結 果類似,一樣以 R1 架構作為標準對照。在網路可靠度為 0.9 時,由於是從雲端. 1.0 0.9 0.8. Reliability. 0.7 0.6 0.5 0.4. R1 R2 R3 E(4,2) E(5,2). 0.3 0.2 0.1 0.0. 0.09. 0.9. 0.99 0.999 Network. 0.9999. 圖 4–3 網路可靠度對於系統雲端外部之可靠度. 34. 0.99999.

(45) 外部來看,所以機器數量上的差異,在一開始就對可靠度造成十分明顯的差異, 可以清楚觀察到 E(5,2)架構有最高的可靠度,R3 架構次之,再來是 E(4,2)架構以 及之後的 R2 架構,最後是作為標準的 R1 架構。比較網路可靠度的三張圖可以 發現到,有作資料備份並且異地備援的架構,可靠度都有顯著的改善,並且對於 其本地端以及異地端來說,整體的系統可靠度會受限於網路的可靠度,只有從外 部視角來看系統可靠度,才比較不受網路影響,可以得到網路因素對於系統本地 端以及異地端造成的影響,要比外雲端外部來得高出許多這一結果。. 4.4.2. 節點可靠度 接下來為了評估節點的可靠度對於系統可靠度所造成的影響,一樣可以先簡 化假設所有的機器節點可靠度皆一致,本地端網路與異地端網路可靠度也一致, 且為了維持比較的公平與正確,所有的架構皆以兩個 Blocks 的狀況來作比較與 分析。以不使用異地備援的 R1 架構為標準,假設將本地端與異地兩端之網路可 靠度設為 0.999,雲端外部的可靠度一樣是 1,根據機器節點可靠度的高低變化, 可以觀察到機器節點對於整個系統可靠度所造成之影響。 圖 4–4 為從本地端觀察之整體系統可靠度比較,R1 架構沒有異地備援影響,. 1.0 0.9 0.8. Reliability. 0.7 0.6 0.5 0.4. R1 R2 R3 E(4,2) E(5,2). 0.3 0.2 0.1 0.0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. p 圖 4–4 節點可靠度變化之於本地端可靠度 35. 0.9. 1.

(46) 呈現為節點可靠度平方的曲線狀,其他架構則受到異地備援的好處,皆呈現出可 靠度比較高的弧狀曲線。先對相同儲存成本的 R2 以及 E(4,2)架構作比較,在這 邊可以明顯看得出來 E(4,2)架構能夠提供比較高的系統可靠度;接著比較儲存成 本最高為 3 的 R3 架構以及儲存成本為 2.5 的 E(5,2)架構,從這裡可以發現到儲 存成本 2.5 的 E(5,2)架構,已經比 R3 架構提供更高的整體系統可靠度,不僅在 可靠度上獲得改善,亦能在儲存成本這邊獲得一定的節省。 圖 4–5 為從異地端觀察之整體系統可靠度比較,由於 R1 架構沒有使用異 地備援,所以在此圖無法加入比較,而 R2 架構及 E(4,2)架構皆為對稱狀架構, 故在圖 4–5 與圖 4–4 呈現出同樣的結果,R3 架構及 E(5,2)架構則是因為在異 地端儲存的副本數量低於本地端的副本數量,所以在圖 4-5 呈現出來的數據都略 低於圖 4-4,然而 E(4,2)、E(5,2)架構分別與 R2、R3 架構相比,仍然展現出比較 高的可靠度。. 1.0 0.9 0.8. Reliability. 0.7 0.6 0.5 0.4. R2. 0.3. R3. 0.2. E(4,2). 0.1. E(5,2). 0.0. 0.1. 0.2. 0.3. 0.4. 0.5. 0.6. 0.7. 0.8. 0.9. 1. p 圖 4–5 節點可靠度變化之於異地端可靠度 圖 4–6 為從雲端外部觀察之整體系統可靠度比較,除了沒有異地備援的 R1 架構以外,其餘四種架構之可靠度皆獲得一定程度的提升,呈現結果則跟圖 4– 4 相差不多,與 R1 架構相比,使用異地備援的其他架構都有比較高的可靠度, 並且可以確認到硬用抹除碼的 E(4,2)架構以及 E(5,2)架構的可靠度,在相同的機 36.

參考文獻

相關文件

for some constant  1 and all sufficiently  large  , then  Θ.

Rodman, Canonical forms for symmetric/skew-symmetric real matrix pairs under strict equivalence and congruence, Linear Algebra and its Applications 406 (2005),

若我們能知道有 k 個 row 的矩陣一 定能利用 elementary row operations 化為 echelon form 這個事實且利用這個事實證得有 k + 1 個 row 的矩陣一定能利用 elementary row

sort 函式可將一組資料排序成遞增 (ascending order) 或 遞減順序 (descending order)。. 如果這組資料是一個行或列向量,整組資料會進行排序。

在這一節中, 我們介紹 change of basis 的概念, 了解到一個 linear operator 換了 ordered basis

1990 年底羅東 SMART1 陣列結束後,為了解不同地質條件下之地動反應中 研院地球研究所隨即於花蓮地區設置了第二個強震儀陣列,即 SMART2 陣列 (Strong Motion Accelerograph Array

定遠 鎮遠 來遠 經遠 超勇 楊威 由於北洋艦隊各艦的主要火. 力多在前端,因此最佳陣式

The significant and positive abnormal returns are found on all sample in BCG Matrix quadrants.The cumulative abnormal returns of problem and cow quadrants are higher than dog and