330 likes | 342 Views
This paper discusses the vulnerability and reliability of coding for distributed storage systems, with a focus on locally repairable codes. It explores the concepts of parallel repair versus sequential repair and provides examples of codes with sequential repair. The paper also presents a theorem on code rate bound for sequential locally repairable codes.
E N D
On Sequential Locally Repairable Codes Wentu Song, Kai Cai, Chau Yuen, Kui Cai, and Guangyue Han Advanced Coding and Signal Processing Lab, Singapore University of Technology and Design (SUTD) Department of Mathematics, University of Hong Kong 9TH ANNUAL NON-VOLATILE MEMORIES WORKSHOP, UCSD, MARCH 2018
1. Coding for Distributed Storage (DS) Systems Data Packets Encoder Coded Packets Distributed Storage System . . . . . . 1
1. Coding for Distributed Storage (DS) Systems Vulnerability of the system : Node failure = Erasure. Reliability of the system : Data retrieve & Node repair. . . . . . . 2
1. Coding for Distributed Storage (DS) Systems Vulnerability of the system : Node failure = Erasure. Reliability of the system : Data retrieve & Node repair. . . . . . . 3
1. Coding for Distributed Storage (DS) Systems Regenerating codes; Locally repairable codes ( LRC). Two families of codes . . . . . . 4
2. Locally Repairable Codes ( LRC ) linear code with locality : repair of a failed node xi xj 1 xj 2 . . . xj r r < k The subset R is called a recovery set of i and the number r (r < k) is called locality of i. Notation : [n] := {1,2, …, n}. 5
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair . . . . . . . . . . . . . . . yj 1 yj t yi 1 yin-t yi 2 yj 2 6
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair . . . . . . . . . . . . . . . yj 1 yj t yi 1 yin-t yi 2 yj 2 Sequential Repair: Parallel Repair: . . . . . . . . . . . . yi 1 yi 1 yin-t yi 2 yin-t yi 2 . . . yj t yj 2 yj 1 yj 1 yj 2 Parallel Repair : Each erasure is recovered by a set of remaining symbols. Sequential Repair : All erasures are recovered one by one such that each erasure can be recovered by the living symbols and/or the already-recovered symbols. . . . yj t 7
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Example: Code with availability 2 The code symbol x1 has 2 disjoint recovery set {x2, x5} and {x3,x7}. x1 = x2 + x5 = x3 + x7 . 8
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Example: Code with availability 2 9
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Example: Code with availability 2 10
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Example : Sequential repair. 11
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Code rate bound Codes with overall local repair tolerance: For any subset E of [n]={1,2,...,n} of size |E| t and any i in E, the ith code symbol has a recovery set contained in [n]\E. [1] ≤ No result Codes with Availability: Each code symbol has t mutually disjoint recovery sets, where t is called the availability. [2] Families of Codes with Parallel Repair Codes with Local-error-correction : Each code symbol is contained in an [r + t, r] MDS local code. [3] Codes with Cooperative local repair : Any set of t code symbols are functions of at most r other code symbols. [4] [1] L. Pamies-Juarez, H. D. L. Hollmann, and F. Oggier, Locally repairable codes with multiple repair alternatives, ISIT 2013. [2] A. S. Rawat, D. S. Papailiopoulos, A. G. Dimakis, and S. Vishwanath, Locality and Availability in Distributed Storage, ISIT 2014. [3] N. Prakash, G. M. Kamath, V. Lalitha, and P. V. Kumar, Optimal linear codes with a local-error-correction property, ISIT 2012. [4] A. S. Rawat, A. Mazumdar, and S. Vishwanath, cooperative Local Repair in Distributed Storage, http://arxiv.org/abs/1409.3900, 2015. 12
3. LRC for multiple erasures : Parallel Repair vs Sequential Repair Codes with Sequential Repair [5] N. Prakash, V. Lalitha, and P. V. Kumar, Codes with locality for two erasures, ISIT, 2014. [6] W. Song, Kai Cai, C. Yuen, Kui Cai, and G. Han, On sequential locally repairable codes, IEEE Trans. Inf. Theory, 2017. [7] S.B. Balaji, G.R. Kini, P.V Kumar, A tight rate bound and a matching construction for locally recoverable codes with sequential recovery from any number of multiple erasures, ISIT, 2017. 13
4. LRC with sequential repair --- Our results Definition : An [n, k] linear code C is called an (n, k, r, t)-sequential locally repairable code (SLRC) if any t erasures can be sequentially recovered, each with locality r. 1. Code rate bound Theorem 1 : The code rate of any (n, k, r, t = 3)-sequential locally repairable code (SLRC) satisfies Basic idea of the proof : (1) Repair Graph : A repair graph of an (n, k, r, t)-SLRC C is a directed acyclic graph with vertex set [n] = {1,2, …, n} and for all non-source vertex i, the set of its in-neighbors is a recovery set of it. (2) Minimal Repair Graph : A repair graph that has the least possible number of sources among all repair graphs of C. 14
4. LRC with sequential repair --- Our results Example : Repair graph of a [n = 9, k = 4, r = 2, t = 3]-SLRC. Code symbols: 1 2 3 6 8 Repair graph G1 : 5 7 4 9 G1 is not minimal. 15
4. LRC with sequential repair --- Our results 1 2 3 6 Repair graph G2 : 5 7 4 9 G2 is minimal. 8 16
4. LRC with sequential repair --- Our results (3) Structural Property of Minimal Repair Graph : For any subset E of [n] of size |E|≤ t, |Out(E)| ≥ |E ∩ S(G)|, where Out(E) is the set of all out-neighbors ofE and S(G) is the set of all sources of G. (4) A simple fact : For any (n, k, r, t)-SLRC C and any repair graph G of C, k ≤ |S(G)|. (5) The upper bound of the code rate can be derived by estimating the number of sources of minimal repair graphs of C. 1 2 3 6 5 7 4 LetE = {2,3,5}. Then Out(E) = {4,7,8,9} and E ∩ S(G) = {2,3} . So |Out(E)| ≥ |E ∩ S(G)|. 9 8 17
4. LRC with sequential repair --- Our results 2. Code construction 1) Construction by puncturing the product codes. Let r ≥ 2, andmbe a positive integer such that 1 ≤ t ≤ 2m-1 ; C :the product of m copies of the [r + 1, r] single-parity binary code. : index set of code symbols of C, where Zr+1 = {0, 1, 2, … , r}. For each integer s such that 0 ≤ s ≤ 2m-1, let suppm(s) : the support of the unique m-digit binary representation of s; For each , let . Let and . Example : For m = 6 and s = 22, then suppm(s) = suppm(010110) = {2, 3, 5} (indexed from right to left) . Let r = 2 and = (1, 2, 0, 2, 2, 1) . Then . Moreover, we have 18
4. LRC with sequential repair --- Our results 2. Code construction Code construction : If t = 2m-1 , let If 1 ≤ t < 2m-1, letbe the punctured code of C with respect to . Then is an (n,k, r, t)-SLRC with and So the code rate is 19
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results An Example ofproductcode:
4. LRC with sequential repair --- Our results 2) Construction from resolvable configurations. A (kt-1; br) configuration is a pair (X, ), where X is a set of k elements, called points, and is a collection of b subsets of X, called lines, such that (1) Each line contains r points; (2) Each point belongs to t -1 lines; and (3) Every pair of distinct points belong to at most one line. The configuration (X, ) is called resolvable, if further (4) All lines in can be partitioned into t -1 parallel classes, where a parallel class is a set of lines that partition X. Let X = [k] = {1,2, …, k} and be the t - 1 parallel classes of the resolvable configuration (X, ) . Code construction : C is the binary code with information symbols x1,x2, …, xk ,and parity symbols xk+1, xk+2, … , xk+b+ such that • xk+iis the sum of { xj , jAi }, for each j = 1, 2, …, b; • Let { xk+1, xk+2, … , xk+s } is partitioned into non-empty subsets of size ≤ r and xk+b+iis the sum of the symbols in the ith subset, for each i = 1, 2, … , . 20
4. LRC with sequential repair --- Our results If t ≥ 3 is an odd number, then C is an (n, k, r, t)-SLRC with code rate So the code rate is 21
5. LRC with sequential repair --- Discussions and future work For t ≥ 4, we conjecture that the code rate of any (n, k, r, t)-SLRC has the following form where and such that . An achievable upper bound on the code rate of (n, k, r, t)-SLRC matching this conjecture is proved in [7] for sufficiently large n. For small n, determining the code rate is still an open problem. [7] S.B. Balaji, G.R. Kini, P.V Kumar, A tight rate bound and a matching construction for locally recoverable codes with sequential recovery from any number of multiple erasures, ISIT, 2017. 22