4. 系統分析
4.2. 空間成本
Erasure Code 在編碼後所產生的 Encoding Symbols 會比未經編碼的檔案塊還 要大,原因在於 Encoding Symbols 裡包含著 Erasure Cods 進行解碼還原檔案所需 要的資訊片段,因此我們需要計算進行 Erasure Code 編碼時所佔用的空間成本,
來作為評估本系統效能的一環。
空間成本會隨著 Encoding Symbols 的數量而增加,這意味著當 Key Manager 想要產生更多 Key Blocks 時,也會增加空間成本。在本章我們會計算利用 Erasure Code 將 k 塊原始區塊展開成 k 塊編碼區塊後,相較於原始區塊所額外佔用的空 間,也就是「k 個編碼區塊-k 個原始區塊」。
首先以 RS Code 來說,編碼前與編碼後的 Symbols 兩者大小並無不同,但 必須儲存生成矩陣作為還原檔案時的依據,因此 RS Code 與不使用 Erasure Code
圖 4-2 LT Code 可產生的金鑰數目(2n個)
的情形相比,空間成本的因素在於生成矩陣的大小。由圖 3-6 可以看出生成矩 陣的大小是以原始檔案長度k,以及編碼檔案長度k'所決定,所以我們可以簡單 推算出生成矩陣所佔的空間為「k× 'k×每個矩陣元素所佔的 bits」。然而,由於 RS Code 的生成矩陣本身必須符合 Vandermon-Matrix 形式,所以只需要知道矩 陣的第一列就能推算出後面的元素,由此可知在儲存生成矩陣時,只需要儲存 第一列的元素即可,依照這個原則我們可以推算出 RS Code 的生成矩陣所佔的 空間為「1 k× '×每個矩陣元素所佔的 bits」。
圖 4-3 顯示了公式推算結果,X 軸為檔案 Chunk Size,Y 軸為編碼產生的額 外空間(與未編碼做比較),另外為了比較每個 Symbol 的大小是否會造成空間成 本差異,我們在圖中描繪了兩條線,分別代表 p=16(每個 Symbol 16bits)與 p=8(每 個 Symbol 8bits)。然而從圖表顯示這兩條線是重疊的,亦即空間成本完全一樣,
這是因為擴增 Symbol 大小的同時,會減少 k 的數目導致空間成本下降,以 Chunk Size 160 bits 舉例來說,當 p=16 時,k=160/16=10;p=8 時 k=160/8=20,k 越小 代表成本越低,但 Symbol 大小越大則成本越高,此一增一減導致了兩條線完全
圖 4-3 RS Code 的空間成本
重疊,所以我們可以得到 Symbol 的大小並不影響空間成本這一個結論。
接下來看 LC Code,與原始區塊相比,LC Code 所需的額外空間在於係數,
也就是w 的部分,令原始區塊有m k塊,欲展開k'塊,每個係數佔 p-bit,則 LC Code 的空間成本為k×p×k'bits。圖 4-4 為計算結果,X 軸為檔案 Chunk Size,Y軸 為w ,即編碼所佔用的額外空間。本文假設每一 Symbol 固定為 16 bits 與 8 bits,m 所以隨著檔案大小的上升,k 的數目也會增加,而 k 的數目增加則代表了系統需 要產生的係數,也就是w 的大小也提高了。 m
除此之外, 當系統在隨機產生w 的時候,必須讓係數落在伽羅瓦域之內,m 寫成GF( p),p代表有限域的大小介於0~(2p −1)內,若p越大,則需要用越多 的 bits 來表示。圖 4-4 顯示三條曲線,分別是p=16、p=8與p=4。從 4.1 可 以知道 LC Code 可能產生的 Key Blocks 組合數相當多,因此這裡可以選擇p=4 來盡量降低空間成本。
與 LC Code 相同,LT Code 在進行編碼後,Encoding Symbols 需要含有該 Symbol 的資訊,包括 Degree 數與 Input Symbol vector(如圖 3-9),然而雖然兩種
圖 4-4 LC Code 的空間成本
編碼所需的資訊雖然相同,LT Code 所佔的空間卻比 LC Code 少很多,這是因為 LT Code 只是純粹進 行 Input Symbols 之間的 XOR 運算來產生 Encoding Symbols,所以在 Input Symbol vector 中只需要記錄哪些 Input Symbols 參與即可 (1 或 0)。因此令原始區塊有k塊,欲展開k'塊,則 LT Code 的空間成本為k×k'bits (Degree 數太小所以不計)。
從以上結論可知,影響 LC Code 的空間成本最直接的因素在於 k,也就是 Input Symbols 的數量,由圖可以發現 p=8 時的空間成本比 p=16 還多,這是因為 當 Chunk Size 相同時,p=16 的 k 會比 p=8 還少,連帶降低了空間成本。