Coding problems for memory and storage applications

Size: px
Start display at page:

Download "Coding problems for memory and storage applications"

Transcription

1 .. Coding problems for memory and storage applications Alexander Barg University of Maryland January 27, 2015 A. Barg (UMD) Coding for memory and storage January 27, / 73

2 Codes with locality Introduction: Big Data Big Data players: Facebook, Instagram, Google, MSFT, etc.; Dropbox, Box, etc. Companies marketing coding solutions: CleverSafe (RS codes) and others. A. Barg (UMD) Coding for memory and storage January 27, / 73

3 Codes with locality Introduction: Big Data Big Data players: Facebook, Instagram, Google, MSFT, etc.; Dropbox, Box, etc. Companies marketing coding solutions: CleverSafe (RS codes) and others. Cluster of machines running Hadoop at Yahoo! Node failures are the norm A. Barg (UMD) Coding for memory and storage January 27, / 73

4 Is repair cost a real issue? Codes with locality (Average number of failed nodes =20) 15Tb = 300Tb A. Barg (UMD) Coding for memory and storage January 27, / 73

5 Codes with locality Two approaches to data coding in distributed storage Codes with locality Regenerating codes A. Barg (UMD) Coding for memory and storage January 27, / 73

6 Codes with locality Regenerating codes 8 x k k+1 α α α Data Collector d+1 β β β 1 Repair bandwidth, dβ n n 1 α capacity nodes α capacity nodes Storage per node, α Data collection Node repair Trade-off B symbols are encoded into nα symbols stored in n nodes A. Barg (UMD) Coding for memory and storage January 27, / 73

7 Codes with locality Regenerating codes 8 x k k+1 α α α Data Collector d+1 β β β 1 Repair bandwidth, dβ n n 1 α capacity nodes α capacity nodes Storage per node, α Data collection Node repair Trade-off B symbols are encoded into nα symbols stored in n nodes Downloading the data is possible by accessing any k nodes A. Barg (UMD) Coding for memory and storage January 27, / 73

8 Codes with locality Regenerating codes 8 x k k+1 α α α Data Collector d+1 β β β 1 Repair bandwidth, dβ n n 1 α capacity nodes α capacity nodes Storage per node, α Data collection Node repair Trade-off B symbols are encoded into nα symbols stored in n nodes Downloading the data is possible by accessing any k nodes Node repair (exact or functional) can be performed by downloading β < α symbols from any subset of d nodes. A. Barg (UMD) Coding for memory and storage January 27, / 73

9 Codes with locality Regenerating codes 8 x k k+1 α α α Data Collector d+1 β β β 1 Repair bandwidth, dβ n n 1 α capacity nodes α capacity nodes Storage per node, α Data collection Node repair Trade-off B symbols are encoded into nα symbols stored in n nodes Downloading the data is possible by accessing any k nodes Node repair (exact or functional) can be performed by downloading β < α symbols from any subset of d nodes. Repair bandwidth dβ (n, k, d, {α, β}) regenerating codes A. Barg (UMD) Coding for memory and storage January 27, / 73

10 Codes with locality Regenerating codes 8 x k k+1 α α α Data Collector d+1 β β β 1 Repair bandwidth, dβ n n 1 α capacity nodes α capacity nodes Storage per node, α Data collection Node repair Trade-off B symbols are encoded into nα symbols stored in n nodes Downloading the data is possible by accessing any k nodes Node repair (exact or functional) can be performed by downloading β < α symbols from any subset of d nodes. Repair bandwidth dβ (n, k, d, {α, β}) regenerating codes A. Dimakis, P. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran, Network coding for distributed storage systems, 2010 A. Barg (UMD) Coding for memory and storage January 27, / 73

11 Codes with locality Locally recoverable codes: Plan In this part we focus on locally recoverable codes A. Barg (UMD) Coding for memory and storage January 27, / 73

12 Codes with locality Locally recoverable codes: Plan In this part we focus on locally recoverable codes LRC code: To recover one lost symbol of the encoding it suffices to access a small number r of other symbols. A. Barg (UMD) Coding for memory and storage January 27, / 73

13 Codes with locality Locally recoverable codes: Plan In this part we focus on locally recoverable codes LRC code: To recover one lost symbol of the encoding it suffices to access a small number r of other symbols. 1. Current solutions 2. Parameters of LRC codes 3. MDS-like codes with the locality property 4. The availability problem: Multiple recovering sets. 5 Extensions LRC codes on algebraic curves Cyclic LRC codes 6. Open problems: Bounds on codes; cyclic codes; list decoding A. Barg (UMD) Coding for memory and storage January 27, / 73

14 Codes with locality State-of-the-Art Coding technique RAID: Redundant Array of Independent Disks RAID 1 Replication (currently 3x) Provides high availability of information Can tolerate any 2 disk failures Widely used in Hadoop and many other systems Storage overhead of 200% RAID 6 uses [6,4,3] RS codes [n, k] RS codes Can tolerate any n-k disk failures Poor handling of single disk failures (The Repair Problem) A. Barg (UMD) Coding for memory and storage January 27, / 73

15 Codes with locality Limitations of Reed-Solomon codes Example: [14, 10] RS code Transmit 10 symbols to recover one lost value Generates 10x more traffic for recovery of one drive If large portion of the cluster is RS-coded, this leads to saturation of the network A. Barg (UMD) Coding for memory and storage January 27, / 73

16 Codes with locality Other constructions A combination of local and global parity checks for single and multiple nodes failures (C. Huang at al., Erasure coding in Windows Azure Storage, USENIX Conf. 2012) A. Barg (UMD) Coding for memory and storage January 27, / 73

17 Codes with locality Other constructions A combination of local and global parity checks for single and multiple nodes failures (C. Huang at al., Erasure coding in Windows Azure Storage, USENIX Conf. 2012) Other similar constructions (Windows Azure code) X1 X2 X3 X4 X5 X6 Y1 Y2 Y3 Y4 Y5 Y6 P1 P2 Px Py Pyramid codes (C. Huang et al., 2007) A. Barg (UMD) Coding for memory and storage January 27, / 73

18 LRC Codes Locally recoverable codes Table of codewords The code C F n is locally recoverable with locality r if every symbol can be recovered by accessing some other r symbols in the encoding (recovering set of coordinate i) a a I A. Barg (UMD) Coding for memory and storage January 27, / 73

19 LRC Codes (n, k, r) LRC code Let a F; consider the restriction C J of C to a subset J [n]. Let C J (a, i) = {x C J : x i = a}, i [n].. Definition. Code C has locality r if for every i [n] there exists a subset J i [n]\i, J i r such that. C Ji (a, i) C Ji (a, i) =, a a A. Barg (UMD) Coding for memory and storage January 27, / 73

20 LRC Codes (n, k, r) LRC code Let a F; consider the restriction C J of C to a subset J [n]. Let C J (a, i) = {x C J : x i = a}, i [n].. Definition. Code C has locality r if for every i [n] there exists a subset J i [n]\i, J i r such that. C Ji (a, i) C Ji (a, i) =, a a J. Han and L. Lastras-Montano, ISIT 2007; C. Huang, M. Chen, and J. Li, Symp. Networks App. 2007; F. Oggier and A. Datta 10; P. Gopalan, C. Huang, H. Simitci, and S. Yekhanin, IEEE Trans. Inf. Theory, Nov A. Barg (UMD) Coding for memory and storage January 27, / 73

21 Bounds Parameters of LRC codes A. Barg (UMD) Coding for memory and storage January 27, / 73

22 Bounds Parameters of LRC codes. Theorem. Let C be an (n, k, r) LRC code of cardinality q k over an alphabet of size q, then: The rate of C satisfies The minimum distance of C satisfies. k n r r + 1. (1) d n k k + 2. (2) r Bound (2) is due to Gopalan e.a. (2011) and Papailiopoulos e.a. (2012). A. Barg (UMD) Coding for memory and storage January 27, / 73

23 Bounds Parameters of LRC codes. Theorem. Let C be an (n, k, r) LRC code of cardinality q k over an alphabet of size q, then: The rate of C satisfies The minimum distance of C satisfies. k n r r + 1. (1) d n k k + 2. (2) r Bound (2) is due to Gopalan e.a. (2011) and Papailiopoulos e.a. (2012). Note that r = k reduces (2) to the Singleton bound d n k + 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

24 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals d(c) = n max{ S : C S < q k } S [n] A. Barg (UMD) Coding for memory and storage January 27, / 73

25 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals d(c) = n max{ S : C S < q k } S [n] The Singleton bound (without locality): S = k 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

26 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals The Singleton bound (with locality): d(c) = n max{ S : C S < q k } S [n] Let I i [n], I i r be the recovering set for the symbol c i, i = 1,..., n. A. Barg (UMD) Coding for memory and storage January 27, / 73

27 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals The Singleton bound (with locality): d(c) = n max{ S : C S < q k } S [n] Let I i [n], I i r be the recovering set for the symbol c i, i = 1,..., n. Let J m = m i=1i i, where m = (k 1)/r. Clearly J m k 1. A. Barg (UMD) Coding for memory and storage January 27, / 73

28 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals The Singleton bound (with locality): d(c) = n max{ S : C S < q k } S [n] Let I i [n], I i r be the recovering set for the symbol c i, i = 1,..., n. Let J m = m i=1i i, where m = (k 1)/r. Clearly J m k 1. Consider the subset J m = J m {1,..., m}. We have C J m q k 1. A. Barg (UMD) Coding for memory and storage January 27, / 73

29 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals The Singleton bound (with locality): d(c) = n max{ S : C S < q k } S [n] Let I i [n], I i r be the recovering set for the symbol c i, i = 1,..., n. Let J m = m i=1i i, where m = (k 1)/r. Clearly J m k 1. Consider the subset J m = J m {1,..., m}. We have C J m q k 1. If J m < k 1, add to J m any k 1 J m other coordinates to form the set L m [n]. A. Barg (UMD) Coding for memory and storage January 27, / 73

30 Bounds The distance bound Main idea. Let C be a q-ary code of length n, size q k. The distance d(c) equals The Singleton bound (with locality): d(c) = n max{ S : C S < q k } S [n] Let I i [n], I i r be the recovering set for the symbol c i, i = 1,..., n. Let J m = m i=1i i, where m = (k 1)/r. Clearly J m k 1. Consider the subset J m = J m {1,..., m}. We have C J m q k 1. If J m < k 1, add to J m any k 1 J m other coordinates to form the set L m [n]. We have C Lm < q k L m = k 1 + m = k 1 + k 1 k = k 2 + r r A. Barg (UMD) Coding for memory and storage January 27, / 73

31 Bounds Cadambe-Mazumdar bound (n, k, r) LRC code C A. Barg (UMD) Coding for memory and storage January 27, / 73

32 Bounds Cadambe-Mazumdar bound (n, k, r) LRC code C (q) k min(rs + k opt (n s(r + 1), d)) s 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

33 Bounds Cadambe-Mazumdar bound (n, k, r) LRC code C (q) k min(rs + k opt (n s(r + 1), d)) s 1 Consider the sets of coordinates L s constructed above, 1 s (k 1)/r. C Ls q rs The shortening of the code C on the coordinates in L s forms a code of length n s(r + 1) with distance d A. Barg (UMD) Coding for memory and storage January 27, / 73

34 Bounds Existence (Gilbert-Varshamov) bound A linear q-ary [n, k, d] code exists if ( ) d 2 n 1 (q 1) i < q n k i Add n/(r + 1) local parities i=0 k k n r + 1 Sequences of (R, δ) codes with locality r exist as long as R < r r + 1 δ log q 1 1 q (1 δ) log δ q 1 δ A. Barg (UMD) Coding for memory and storage January 27, / 73

35 Bounds Existence (Gilbert-Varshamov) bound A linear q-ary [n, k, d] code exists if ( ) d 2 n 1 (q 1) i < q n k i Add n/(r + 1) local parities i=0 k k n r + 1 Sequences of (R, δ) codes with locality r exist as long as R < r r + 1 δ log q 1 1 q (1 δ) log δ q 1 δ R r r + 1 hq(δ) A. Barg (UMD) Coding for memory and storage January 27, / 73

36 Constructions Early constructions. 1 Optimal ((r + 1) k/r, k, r) LRC code Prasanth, Kamath, Lalitha, and Kumar, ISIT 2012 Restricted length. 2 Optimal (n, k, r) LRC codes Silberstein, Rawat, Koluoglu, and Vishwanath, ISIT 2013 Tamo, Papailiopoulos, and Dimakis, ISIT 2013 Almost any n, k, r Field size q 2 n A. Barg (UMD) Coding for memory and storage January 27, / 73

37 Constructions RS-type codes Reed-Solomon codes An RS code C is a linear code of length n q 1 over the field F q A. Barg (UMD) Coding for memory and storage January 27, / 73

38 Constructions RS-type codes Reed-Solomon codes An RS code C is a linear code of length n q 1 over the field F q Given a polynomial f F q [x] and a set A = {P 1,..., P n } F q define the map ev A : f (f (P i ), i = 1,..., n) A. Barg (UMD) Coding for memory and storage January 27, / 73

39 Constructions RS-type codes Reed-Solomon codes An RS code C is a linear code of length n q 1 over the field F q Given a polynomial f F q [x] and a set A = {P 1,..., P n } F q define the map ev A : f (f (P i ), i = 1,..., n) RS code C encodes messages of k symbols. Let V k (q) = {f F q [x] : deg(f ) k 1} C : V k (q) F n q f ev A (f ) = (f (P i ), i = 1,..., n) A. Barg (UMD) Coding for memory and storage January 27, / 73

40 Constructions RS-type codes Reed-Solomon codes An RS code C is a linear code of length n q 1 over the field F q Given a polynomial f F q [x] and a set A = {P 1,..., P n } F q define the map ev A : f (f (P i ), i = 1,..., n) RS code C encodes messages of k symbols. Let V k (q) = {f F q [x] : deg(f ) k 1} C : V k (q) F n q f ev A (f ) = (f (P i ), i = 1,..., n) Example: Let q = 8, f (x) = 1 + αx + αx 2 f (x) (1, α 4, α 6, α 4, α, α, α 6 ) A. Barg (UMD) Coding for memory and storage January 27, / 73

41 Constructions RS-type codes Reed-Solomon codes A. Barg (UMD) Coding for memory and storage January 27, / 73

42 Constructions RS-type codes Reed-Solomon codes A. Barg (UMD) Coding for memory and storage January 27, / 73

43 Constructions RS-type codes Reed-Solomon codes A. Barg (UMD) Coding for memory and storage January 27, / 73

44 Constructions RS-type codes Reed-Solomon codes To recover one erased value we need to read k other values A. Barg (UMD) Coding for memory and storage January 27, / 73

45 Constructions RS-type codes LRC codes: Idea of construction What if we can interpolate low-degree polynomials? A. Barg (UMD) Coding for memory and storage January 27, / 73

46 Constructions RS-type codes LRC codes: Idea of construction What if we can interpolate low-degree polynomials? A. Barg (UMD) Coding for memory and storage January 27, / 73

47 Constructions RS-type codes Construction of LRC codes: Limitations We need a specially chosen set of points A Restricted set of polynomials A. Barg (UMD) Coding for memory and storage January 27, / 73

48 Constructions RS-type codes Construction of (n, k, r) LRC codes: Example Parameters: n = 9, k = 4, r = 2, q = 13; Set of points: A={1,2,3,4,5,6,9,10,12} A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} Message: a = (a 0,0, a 0,1, a 1,0, a 1,1 ) F k q Polynomial space: V k (q) := {a 0,0 + a 1,0 x + a 0,1 x 3 + a 1,1 x 4 } A. Barg (UMD) Coding for memory and storage January 27, / 73

49 Constructions RS-type codes Construction of (n, k, r) LRC codes: Example Parameters: n = 9, k = 4, r = 2, q = 13; Set of points: A={1,2,3,4,5,6,9,10,12} A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} Message: a = (a 0,0, a 0,1, a 1,0, a 1,1 ) F k q Polynomial space: V k (q) := {a 0,0 + a 1,0 x + a 0,1 x 3 + a 1,1 x 4 } E.g., a = (1, 1, 1, 1), f a(x) = 1 + x + x 3 + x 4 ; ev A (f ) = (4, 8, 7, 1, 11, 2, 0, 0, 0) A. Barg (UMD) Coding for memory and storage January 27, / 73

50 Constructions RS-type codes Construction of (n, k, r) LRC codes: Example Parameters: n = 9, k = 4, r = 2, q = 13; Set of points: A={1,2,3,4,5,6,9,10,12} A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} Message: a = (a 0,0, a 0,1, a 1,0, a 1,1 ) F k q Polynomial space: V k (q) := {a 0,0 + a 1,0 x + a 0,1 x 3 + a 1,1 x 4 } E.g., a = (1, 1, 1, 1), f a(x) = 1 + x + x 3 + x 4 ; ev A (f ) = (4, 8, 7, 1, 11, 2, 0, 0, 0) Say c 1 = f a (1) is erased. We access the recovering set A 1 to construct a line δ(x) = 2x + 2 such that δ(3) = 8, δ(9) = 7. A. Barg (UMD) Coding for memory and storage January 27, / 73

51 Constructions RS-type codes Construction of (n, k, r) LRC codes: Example Parameters: n = 9, k = 4, r = 2, q = 13; Set of points: A={1,2,3,4,5,6,9,10,12} A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} Message: a = (a 0,0, a 0,1, a 1,0, a 1,1 ) F k q Polynomial space: V k (q) := {a 0,0 + a 1,0 x + a 0,1 x 3 + a 1,1 x 4 } E.g., a = (1, 1, 1, 1), f a(x) = 1 + x + x 3 + x 4 ; ev A (f ) = (4, 8, 7, 1, 11, 2, 0, 0, 0) Say c 1 = f a (1) is erased. We access the recovering set A 1 to construct a line δ(x) = 2x + 2 such that δ(3) = 8, δ(9) = 7. Compute c 1 as δ(1) = 4 A. Barg (UMD) Coding for memory and storage January 27, / 73

52 Constructions RS-type codes Construction of (n, k, r) LRC codes: Example Parameters: n = 9, k = 4, r = 2, q = 13; Set of points: A={1,2,3,4,5,6,9,10,12} A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} Message: a = (a 0,0, a 0,1, a 1,0, a 1,1 ) F k q Polynomial space: V k (q) := {a 0,0 + a 1,0 x + a 0,1 x 3 + a 1,1 x 4 } E.g., a = (1, 1, 1, 1), f a(x) = 1 + x + x 3 + x 4 ; ev A (f ) = (4, 8, 7, 1, 11, 2, 0, 0, 0) Say c 1 = f a (1) is erased. We access the recovering set A 1 to construct a line δ(x) = 2x + 2 such that δ(3) = 8, δ(9) = 7. Compute c 1 as δ(1) = 4 It works! A. Barg (UMD) Coding for memory and storage January 27, / 73

53 Constructions RS-type codes Construction of (n, k, r) LRC codes Assume that q n, (r + 1) n, r k Let A F q, A = n A. Barg (UMD) Coding for memory and storage January 27, / 73

54 Constructions RS-type codes Construction of (n, k, r) LRC codes Assume that q n, (r + 1) n, r k Let A F q, A = n Suppose there exists a polynomial g(x) F[x] such that 1. deg g = r + 1, 2. There exists a partition A = {A 1,..., A n } of A into sets of size r + 1, such that g r+1 is constant on each set A i in the partition. For all i = 1,..., n/(r + 1), and any α, β A i, g(α) = g(β). A. Barg (UMD) Coding for memory and storage January 27, / 73

55 Constructions RS-type codes Construction of (n, k, r) LRC codes Assume that q n, (r + 1) n, r k Let A F q, A = n Suppose there exists a polynomial g(x) F[x] such that 1. deg g = r + 1, 2. There exists a partition A = {A 1,..., A n } of A into sets of size r + 1, such that g r+1 is constant on each set A i in the partition. For all i = 1,..., n/(r + 1), and any α, β A i, g(α) = g(β). E.g., n = 9, r = 2, q = 13; A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}}, Then g(x) = x 3 is constant on each of the A i s A. Barg (UMD) Coding for memory and storage January 27, / 73

56 Constructions RS-type codes Construction of (n, k, r) LRC codes Given A F, partition A into (r + 1)-subsets. To encode the message a F k, write a = (a ij, i = 0,..., r 1; j = 0,..., k 1) r Define the encoding polynomial r 1 f a(x) = f i (x)x i, where k r 1 f i (x) = a ij g(x) j, i = 0,..., r 1 A linear code C is constructed as follows: Ev :F k F n a (f a(β), β A) j=0 i=0 A. Barg (UMD) Coding for memory and storage January 27, / 73

57 Constructions RS-type codes Recovery of erased symbol Suppose that the location of erased symbol is α A j ; A j A To find c α we rely on the recovering set A j Find a polynomial δ(x) s.t. δ(β) = c β, β A j \α; deg δ r 1 : Then c α = δ(α) δ(x) = β A j \α c β β A j \{α,β} x β β β A. Barg (UMD) Coding for memory and storage January 27, / 73

58 Constructions RS-type codes Properties of the construction. Theorem. The constructed linear codes are optimal (n, k, r) LRC codes with respect to the. Singleton bound (2). Optimality is proved by counting degrees. Locality: Let α A j be the erased location. Define By the construction, for all β A j r 1 (x) = f i (α)x i i=0 (β) = f a (β) Since deg r 1, we see that (x) δ(x). A. Barg (UMD) Coding for memory and storage January 27, / 73

59 Constructions RS-type codes Constructing the polynomial g(x). Proposition. Let H be a subgroup of F q or F + q. The annihilator polynomial of H g(x) = h H(x h). is constant on each coset of H. A. Barg (UMD) Coding for memory and storage January 27, / 73

60 Constructions RS-type codes Constructing the polynomial g(x). Proposition. Let H be a subgroup of F q or F + q. The annihilator polynomial of H g(x) = h H(x h). is constant on each coset of H. Assume that H is a multiplicative subgroup and let a, ah be two elements of the coset ah, where h H, then g(ah) = h H (ah h) =h H h H(a hh 1 ) = h H(a h) =g(a). A. Barg (UMD) Coding for memory and storage January 27, / 73

61 Constructions RS-type codes Some generalizations The locator set A F, A = m i=1a i. Consider the algebra F A [x] = {f F[x] : f is constant on A i, i = 1,..., m; deg f < A }. A. Barg (UMD) Coding for memory and storage January 27, / 73

62 Constructions RS-type codes Some generalizations The locator set A F, A = m i=1a i. Consider the algebra F A [x] = {f F[x] : f is constant on A i, i = 1,..., m; deg f < A }. The properties of F A [x] are summarized as follows: 1. dim(f A [x]) = m; 2. Let α 1,..., α m be distinct nonzero elements of F, and let g be the polynomial of degree deg(g) < A that satisfies g(a i ) = α i for all i = 1,..., m. Then the polynomials 1, g,..., g m 1 form a basis of F A [x]. A. Barg (UMD) Coding for memory and storage January 27, / 73

63 Constructions RS-type codes Some generalizations The locator set A F, A = m i=1a i. Consider the algebra F A [x] = {f F[x] : f is constant on A i, i = 1,..., m; deg f < A }. The properties of F A [x] are summarized as follows: 1. dim(f A [x]) = m; 2. Let α 1,..., α m be distinct nonzero elements of F, and let g be the polynomial of degree deg(g) < A that satisfies g(a i ) = α i for all i = 1,..., m. Then the polynomials 1, g,..., g m 1 form a basis of F A [x]. General code construction: Let A F, A = n; A = m i=1a i, A i = r + 1 for all i. Let Φ be an injective mapping from F k to the space of polynomials F r A = r 1 i=0 F A[x]x i. The evaluation code obtained in this way is an (n, k, r) LRC code. A. Barg (UMD) Coding for memory and storage January 27, / 73

64 Constructions Extensions Extensions 1. It is possible to lift the divisibility constraints r k, (r + 1) n A. Barg (UMD) Coding for memory and storage January 27, / 73

65 Constructions Extensions Extensions 1. It is possible to lift the divisibility constraints r k, (r + 1) n 2. It is possible to define a systematic algebraic encoding mapping. A. Barg (UMD) Coding for memory and storage January 27, / 73

66 Constructions Extensions Extensions 1. It is possible to lift the divisibility constraints r k, (r + 1) n 2. It is possible to define a systematic algebraic encoding mapping. 3. To improve data availability, replace [r + 1, r, 2] local codes with [r + ρ 1, r] MDS codes. Then every c i is a function of any r out of r + ρ 1 coordinates. Bound on the distance: ( k ) d n k (ρ 1) (Kamath e.a., 2013) r A. Barg (UMD) Coding for memory and storage January 27, / 73

67 Constructions Extensions Extensions 1. It is possible to lift the divisibility constraints r k, (r + 1) n 2. It is possible to define a systematic algebraic encoding mapping. 3. To improve data availability, replace [r + 1, r, 2] local codes with [r + ρ 1, r] MDS codes. Then every c i is a function of any r out of r + ρ 1 coordinates. Bound on the distance: ( k ) d n k (ρ 1) (Kamath e.a., 2013) r Claim: Taking recovering sets of size A i = r + ρ 1 and a polynomial basis of F A[x], we can construct an (n, k, r) LRC code whose distance meets this bound. A. Barg (UMD) Coding for memory and storage January 27, / 73

68 Multiple recovering sets Availability problem Hot data accessed simultaneously by a very large number of users A. Barg (UMD) Coding for memory and storage January 27, / 73

69 Multiple recovering sets Availability problem Hot data accessed simultaneously by a very large number of users A. Barg (UMD) Coding for memory and storage January 27, / 73

70 Multiple recovering sets Multiple recovering sets: Definition Every symbol in data encoding appears in several disjoint (orthogonal) parity checks C F n a code of length n Every coordinate is recoverable from the codeword symbols in several recovering sets: i A. Barg (UMD) Coding for memory and storage January 27, / 73

71 Multiple recovering sets Multiple recovering sets: Definition Let C(a, i) = {x C : x i = a}, a F, i [n] The code C has two disjoint recovering sets if for every i [n] there are subsets R 1 i, R 2 i [n]\{i}, R 1 i R 2 i = such that C(a, i) j R C(a, i) j i R =, a a ; j = 1, 2 i A. Barg (UMD) Coding for memory and storage January 27, / 73

72 Multiple recovering sets Multiple recovering sets: Idea of construction A. Barg (UMD) Coding for memory and storage January 27, / 73

73 Multiple recovering sets Multiple recovering sets: Idea of construction A. Barg (UMD) Coding for memory and storage January 27, / 73

74 Multiple recovering sets Multiple recovering sets: Idea of construction A. Barg (UMD) Coding for memory and storage January 27, / 73

75 Multiple recovering sets Multiple recovering sets: Idea of construction A. Barg (UMD) Coding for memory and storage January 27, / 73

76 Multiple recovering sets Multiple recovering sets: Idea of construction 1 x f a(γ) can be found by interpolating δ 1 (x) as well as δ 2 (x) Γ f a x 2 x A. Barg (UMD) Coding for memory and storage January 27, / 73

77 Multiple recovering sets Multiple recovering sets: Example Take F = F 13 ; G, H F ; G = 5, H = 3 Let A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} F AG [x] = {f F[x] : f is constant on A i, i = 1, 2, 3; deg f < F } F AG [x] = 1, x 4, x 8, F AH [x] = 1, x 3, x 6, x 9 A. Barg (UMD) Coding for memory and storage January 27, / 73

78 Multiple recovering sets Multiple recovering sets: Example Take F = F 13 ; G, H F ; G = 5, H = 3 Let A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} F AG [x] = {f F[x] : f is constant on A i, i = 1, 2, 3; deg f < F } F AG [x] = 1, x 4, x 8, F AH [x] = 1, x 3, x 6, x 9 We construct an LRC (12, 4, {2, 3}), distance 6, code C : F 4 F 12 a = (a 0, a 1, a 2, a 3 ) f a(x) = a 0 + a 1 x + a 2 x 4 + a 3 x 6 2 f a (x) = f i (x)x i, where f 0 (x) = a 0 + a 2 x 4, f 1 (x) = a 1, f 2 (x) = a 3 x 4 ; f i F A [x] i=0 1 f a (x) = g j (x)x j where g 0 (x) = a 0 + a 3 x 6, g 1 (x) = a 1 + a 2 x 3 ; g j F AH [x] j=0 E.g., f a (1) can be recovered by computing δ 1 (x), x {5, 12, 8} OR δ 2 (x), x {3, 9} A. Barg (UMD) Coding for memory and storage January 27, / 73

79 Multiple recovering sets Multiple recovering sets General Construction: A = {α 1,..., α n} F, A = n; A A {}}{{}} { A = i 0 Ri 1 = j 0 Rj 2 ; Ri 1 = r + 1, Rj 2 = s + 1 k 1 f a(x) = a i g i (x), g i (x) FA r F s A i=0 Evaluation map: (a 1,..., a k ) C (f a (α 1 ),..., f a (α n )) Theorem: Assume that the partitions A, A are orthogonal. Then Eval (f : f F r A F s A ), x A gives an (n, k, {r, s}) LRC code with distance n m + 1, where m is the largest degree in F r A F s A. A. Barg (UMD) Coding for memory and storage January 27, / 73

80 Multiple recovering sets Constructing orthogonal partitions Orthogonal partitions can be obtained from the structure of additive or multiplicative subgroups of F q A. Barg (UMD) Coding for memory and storage January 27, / 73

81 Multiple recovering sets Constructing orthogonal partitions Orthogonal partitions can be obtained from the structure of additive or multiplicative subgroups of F q 1. F 13 ; G, H F 13; G = 5, H = 3 ; G H = id A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} A. Barg (UMD) Coding for memory and storage January 27, / 73

82 Multiple recovering sets Constructing orthogonal partitions Orthogonal partitions can be obtained from the structure of additive or multiplicative subgroups of F q 1. F 13 ; G, H F 13; G = 5, H = 3 ; G H = id A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} 2. Take G, H F + q, e.g., G = H = (Z 2 ) 2 ; F + 16 = (Z 2) 2 (Z 2 ) 2 A. Barg (UMD) Coding for memory and storage January 27, / 73

83 Multiple recovering sets Constructing orthogonal partitions Orthogonal partitions can be obtained from the structure of additive or multiplicative subgroups of F q 1. F 13 ; G, H F 13; G = 5, H = 3 ; G H = id A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} 2. Take G, H F + q, e.g., G = H = (Z 2 ) 2 ; F + 16 = (Z 2) 2 (Z 2 ) 2 G = {0000, 0001, 0010, 0011} and H = {0000, 0100, 1000, 1100} A G = {{0, 1, α, α 4 }, {α 5, α 10, α 2, α 8 }, {α 6, α 13, α 11, α 12 }, {α 7, α 9, α 14, α 3 }} A H = {{0, α 2, α 3, α 6 }, {1, α 8, α 14, α 13 }, {α, α 5, α 9, α 11 }, {α 4, α 10, α 7, α 12 }} A. Barg (UMD) Coding for memory and storage January 27, / 73

84 Multiple recovering sets Constructing orthogonal partitions Orthogonal partitions can be obtained from the structure of additive or multiplicative subgroups of F q 1. F 13 ; G, H F 13; G = 5, H = 3 ; G H = id A G = {{1, 5, 12, 8}, {2, 10, 11, 3}, {4, 7, 9, 6}} A H = {{1, 3, 9}, {2, 6, 5}, {4, 12, 10}, {7, 8, 11}} 2. Take G, H F + q, e.g., G = H = (Z 2 ) 2 ; F + 16 = (Z 2) 2 (Z 2 ) 2 G = {0000, 0001, 0010, 0011} and H = {0000, 0100, 1000, 1100} A G = {{0, 1, α, α 4 }, {α 5, α 10, α 2, α 8 }, {α 6, α 13, α 11, α 12 }, {α 7, α 9, α 14, α 3 }} A H = {{0, α 2, α 3, α 6 }, {1, α 8, α 14, α 13 }, {α, α 5, α 9, α 11 }, {α 4, α 10, α 7, α 12 }} Proposition: Two subgroups G, H define orthogonal coset partitions if they intersect trivially: G H = id A. Barg (UMD) Coding for memory and storage January 27, / 73

85 Multiple recovering sets Remarks There are other ways of constructing codes with multiple (e.g., two) recovering sets: Product codes, Bipartite-graph codes A. Barg (UMD) Coding for memory and storage January 27, / 73

86 Multiple recovering sets Remarks There are other ways of constructing codes with multiple (e.g., two) recovering sets: Product codes, Bipartite-graph codes A family of optimal locally recoverable codes, with I. Tamo, arxiv: (IT Trans., no. 8, 2014) A. Barg (UMD) Coding for memory and storage January 27, / 73

87 Bounds on the parameters Multiple recovering sets. Theorem. Let C be an (n, k, r, t) LRC code with t disjoint recovering sets of size r. Then the rate of C satisfies k n 1 t j=1 (1 + 1 ) t 1 r jr The minimum distance of C is bounded above as follows:. d n d n k t k 1. (Tamo B, 2014) i=0 r i t(k 1) (Rawat e.a., 2014) t(r 1) + 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

88 Bounds on the parameters Multiple recovering sets. Theorem. Let C be an (n, k, r, t) LRC code with t disjoint recovering sets of size r. Then the rate of C satisfies k n 1 t j=1 (1 + 1 ) t 1 r jr The minimum distance of C is bounded above as follows:. d n d n k t k 1. (Tamo B, 2014) i=0 r i t(k 1) (Rawat e.a., 2014) t(r 1) + 1 It is likely that these bounds are not final A. Barg (UMD) Coding for memory and storage January 27, / 73

89 Locally recoverable codes, Part II LRC codes A block code of length n over F q is called LRC with locality r if every symbol of the codeword can be found by accessing some r symbols of the codeword. A. Barg (UMD) Coding for memory and storage January 27, / 73

90 Locally recoverable codes, Part II LRC codes A block code of length n over F q is called LRC with locality r if every symbol of the codeword can be found by accessing some r symbols of the codeword. Regenerating codes: Data can be read off from any location A. Barg (UMD) Coding for memory and storage January 27, / 73

91 Locally recoverable codes, Part II LRC codes A block code of length n over F q is called LRC with locality r if every symbol of the codeword can be found by accessing some r symbols of the codeword. Regenerating codes: Data can be read off from any location Last time we constructed RS-type LRC codes with q n, distance meeting the Gopalan et al. Singleton bound: k d n k + 2 r A. Barg (UMD) Coding for memory and storage January 27, / 73

92 Locally recoverable codes, Part II LRC codes A block code of length n over F q is called LRC with locality r if every symbol of the codeword can be found by accessing some r symbols of the codeword. Regenerating codes: Data can be read off from any location Last time we constructed RS-type LRC codes with q n, distance meeting the Gopalan et al. Singleton bound: k d n k + 2 r Asymptotic GV bound with locality: R r r + 1 hq(δ) A. Barg (UMD) Coding for memory and storage January 27, / 73

93 Locally recoverable codes, Part II Extensions Reed-Solomon codes can be extended in two ways: Codes on algebraic curves Cyclic codes and subfield subcodes A. Barg (UMD) Coding for memory and storage January 27, / 73

94 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

95 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q A. Barg (UMD) Coding for memory and storage January 27, / 73

96 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q A. Barg (UMD) Coding for memory and storage January 27, / 73

97 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

98 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) A. Barg (UMD) Coding for memory and storage January 27, / 73

99 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) Message space: span over F q of (x i, i = 0,..., k 1) A. Barg (UMD) Coding for memory and storage January 27, / 73

100 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) Message space: span over F q of (x i, i = 0,..., k 1) By construction, n q A. Barg (UMD) Coding for memory and storage January 27, / 73

101 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) Message space: span over F q of (x i, i = 0,..., k 1) By construction, n q (recall the MDS conjecture) A. Barg (UMD) Coding for memory and storage January 27, / 73

102 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) Message space: span over F q of (x i, i = 0,..., k 1) By construction, n q (recall the MDS conjecture) Longer codes? We need more points P i A. Barg (UMD) Coding for memory and storage January 27, / 73

103 Locally recoverable codes, Part II Algebraic codes RS codes: n q 1, 1 k n, d = n k + 1 To construct the code, take A := (P 1,..., P n) F q Message a = (a 1,..., a k ) F k q f (x) = k i=1 a ix i 1 (f (P 1 ),..., f (P n )) Message space: span over F q of (x i, i = 0,..., k 1) By construction, n q (recall the MDS conjecture) Longer codes? We need more points P i Curves to the rescue! A. Barg (UMD) Coding for memory and storage January 27, / 73

104 Locally recoverable codes, Part II AG codes in error correction 1. Gilbert-Varshamov bound An [n, k, d] code exists if ( ) d 2 n 1 (q 1) i < q n k i i=0 Let R = k/n, δ = d/n, take logs and divide by n: R 1 h q (δ) A. Barg (UMD) Coding for memory and storage January 27, / 73

105 Locally recoverable codes, Part II AG codes in error correction 1. Gilbert-Varshamov bound An [n, k, d] code exists if ( ) d 2 n 1 (q 1) i < q n k i i=0 Let R = k/n, δ = d/n, take logs and divide by n: R 1 h q (δ) 2. Tsfasman-Vlăduţ-Zink bound There exist explicit sequences of codes on algebraic curves with the parameters R 1 δ 1 q 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

106 Locally recoverable codes, Part II RS type codes Given A F, partition it into (r + 1)-subsets. To encode the message a F k, write a = (a ij, i = 0,..., r 1; j = 0,..., k r 1) A. Barg (UMD) Coding for memory and storage January 27, / 73

107 Locally recoverable codes, Part II RS type codes Given A F, partition it into (r + 1)-subsets. To encode the message a F k, write a = (a ij, i = 0,..., r 1; j = 0,..., k r 1) r 1 a f a(x) = f i (x)x i, where f i (x) = a ij g(x) j, i = 0,..., r 1 k r 1 i=0 j=0 A. Barg (UMD) Coding for memory and storage January 27, / 73

108 Locally recoverable codes, Part II RS type codes Given A F, partition it into (r + 1)-subsets. To encode the message a F k, write a = (a ij, i = 0,..., r 1; j = 0,..., k r 1) r 1 a f a(x) = f i (x)x i, where f i (x) = a ij g(x) j, i = 0,..., r 1 k r 1 i=0 j=0 Message space: span (g(x) j x i, i = 0,..., r 1; j = 0,..., k r 1) A. Barg (UMD) Coding for memory and storage January 27, / 73

109 Locally recoverable codes, Part II RS type codes Given A F, partition it into (r + 1)-subsets. To encode the message a F k, write a = (a ij, i = 0,..., r 1; j = 0,..., k r 1) r 1 a f a(x) = f i (x)x i, where f i (x) = a ij g(x) j, i = 0,..., r 1 k r 1 i=0 j=0 Message space: span (g(x) j x i, i = 0,..., r 1; j = 0,..., k r 1) Evaluation code C Ev :F k F n a (f a(p), P A) A. Barg (UMD) Coding for memory and storage January 27, / 73

110 Locally recoverable codes, Part II RS-like codes A. Barg (UMD) Coding for memory and storage January 27, / 73

111 Locally recoverable codes, Part II RS-like codes What is the meaning of g(x)? A. Barg (UMD) Coding for memory and storage January 27, / 73

112 Locally recoverable codes, Part II RS-like codes What is the meaning of g(x)? It does not make sense that the functions are g(x) j x i A. Barg (UMD) Coding for memory and storage January 27, / 73

113 Locally recoverable codes, Part II RS-like codes What is the meaning of g(x)? It does not make sense that the functions are g(x) j x i They should really be g(y) j x i A. Barg (UMD) Coding for memory and storage January 27, / 73

114 Codes on curves Geometric interpretation A := {1, 2, 3, 4, 5, 6, 9, 10, 12} F 13 g(x) :A F 13 x x 3 A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} g(a 1 ) = 1, g(a 2 ) = 8, g(a 3 ) = 12 A. Barg (UMD) Coding for memory and storage January 27, / 73

115 Codes on curves Geometric interpretation A := {1, 2, 3, 4, 5, 6, 9, 10, 12} F 13 g(x) :A F 13 x x 3 A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} g(a 1 ) = 1, g(a 2 ) = 8, g(a 3 ) = 12 g : F q F q g 1 (x) = r + 1 for every x in the image of g A. Barg (UMD) Coding for memory and storage January 27, / 73

116 Codes on curves Geometric interpretation A := {1, 2, 3, 4, 5, 6, 9, 10, 12} F 13 g(x) :A F 13 x x 3 A = {A 1 = {1, 3, 9}, A 2 = {2, 6, 5}, A 3 = {4, 12, 10}} g(a 1 ) = 1, g(a 2 ) = 8, g(a 3 ) = 12 g : F q F q g 1 (x) = r + 1 for every x in the image of g X Y A. Barg (UMD) Coding for memory and storage January 27, / 73

117 Codes on curves LRC codes on curves Consider the set of pairs (x, y) F 9 that satisfy the equation x 3 + x = y 4 α 7 α 6 α 5 α 4 x α 3 α 2 α α α 2 α 3 α 4 α 5 α 6 α 7 y A. Barg (UMD) Coding for memory and storage January 27, / 73

118 Codes on curves LRC codes on curves Consider the set of pairs (x, y) F 9 that satisfy the equation x 3 + x = y 4 α 7 α 6 α 5 α 4 x α 3 α 2 α α α 2 α 3 α 4 α 5 α 6 α 7 y 27 points of the Hermitian curve over F 9 ; α 2 = α + 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

119 Codes on curves LRC codes on curves Recall RS codes: C is a mapping V k = 1, x,..., x k 1 F n q A. Barg (UMD) Coding for memory and storage January 27, / 73

120 Codes on curves LRC codes on curves Recall RS codes: C is a mapping V k = 1, x,..., x k 1 F n q Hermitian codes Take the space of functions V := 1, y, y 2, x, xy, xy 2 A={27 points of the Hermitian curve over F 9 }; n = 27, k = 6 C : V F n 9 A. Barg (UMD) Coding for memory and storage January 27, / 73

121 Codes on curves LRC codes on curves Recall RS codes: C is a mapping V k = 1, x,..., x k 1 F n q Hermitian codes Take the space of functions V := 1, y, y 2, x, xy, xy 2 A={27 points of the Hermitian curve over F 9 }; n = 27, k = 6 E.g., message (1, α, α 2, α 3, α 4, α 5 ) C : V F n 9 F (x, y) = 1 + αy + α 2 y 2 + α 3 x + α 4 xy + α 5 xy 2 F (0, 0) = 1 etc. A. Barg (UMD) Coding for memory and storage January 27, / 73

122 Codes on curves LRC codes on curves α 7 α α 7 α 5 0 α 6 α 2 α 5 α 6 α 4 α 2 0 α 4 α 7 α 3 α 5 α 5 x α 3 α 3 α 7 α α α 2 α 3 α α 6 α α α 2 α 3 α 4 α 5 α 6 α 7 y A. Barg (UMD) Coding for memory and storage January 27, / 73

123 Codes on curves LRC codes on curves Let P = (α, 1) be the erased location. α 7 α α 7 α 5 0 α 6 α 2 α 5 α 6 α 4 α 2 0 α 4 α 7 α 3 α 5 α 5 x α 3 α 3 α 7 α α α 2 α 3 α X α 6 α α α 2 α 3 α 4 α 5 α 6 α 7 y A. Barg (UMD) Coding for memory and storage January 27, / 73

124 Codes on curves LRC codes on curves α 7 α α 7 α 5 0 α 6 α 2 α 5 α 6 α 4 α 2 0 α 4 α 7 α 3 α 5 α 5 x α 3 α 3 α 7 α α α 2 α 3 α? α 6 α α α 2 α 3 α 4 α 5 α 6 α 7 Let P = (α, 1) be the erased location. Recovering set I P = {(α 4, 1), (α 3, 1)} Find f (x) : f (α 4 ) = α 7, f (α 3 ) = α 3 y f (x) = αx α 2 A. Barg (UMD) Coding for memory and storage January 27, / 73

125 Codes on curves LRC codes on curves α 7 α α 7 α 5 0 α 6 α 2 α 5 α 6 α 4 α 2 0 α 4 α 7 α 3 α 5 α 5 x α 3 α 3 α 7 α α α 2 α 3 α? α 6 α α α 2 α 3 α 4 α 5 α 6 α 7 Let P = (α, 1) be the erased location. Recovering set I P = {(α 4, 1), (α 3, 1)} Find f (x) : f (α 4 ) = α 7, f (α 3 ) = α 3 y f (x) = αx α 2 f (α) = 0 = F (P) A. Barg (UMD) Coding for memory and storage January 27, / 73

126 Codes on curves Hermitian codes q = q 2 0, q 0 prime power A. Barg (UMD) Coding for memory and storage January 27, / 73

127 Codes on curves Hermitian codes q = q 2 0, q 0 prime power X : x q 0 + x = y q 0+1 A. Barg (UMD) Coding for memory and storage January 27, / 73

128 Codes on curves Hermitian codes q = q 2 0, q 0 prime power X : x q 0 + x = y q 0+1 X has q 3 0 = q 3/2 points in F q A. Barg (UMD) Coding for memory and storage January 27, / 73

129 Codes on curves Hermitian codes q = q 2 0, q 0 prime power X : x q 0 + x = y q 0+1 X has q 3 0 = q 3/2 points in F q Let g : X Y = P 1, g(p) = g(x, y) := y A. Barg (UMD) Coding for memory and storage January 27, / 73

130 Codes on curves Hermitian codes q = q 2 0, q 0 prime power X : x q 0 + x = y q 0+1 X has q 3 0 = q 3/2 points in F q Let g : X Y = P 1, g(p) = g(x, y) := y We obtain a family of q-ary codes of length n = q 3 0, with locality r = q 0 1. k = (t + 1)(q 0 1), d n tq 0 (q 0 2)(q 0 + 1) A. Barg (UMD) Coding for memory and storage January 27, / 73

131 Codes on curves Hermitian codes q = q 2 0, q 0 prime power X : x q 0 + x = y q 0+1 X has q 3 0 = q 3/2 points in F q Let g : X Y = P 1, g(p) = g(x, y) := y We obtain a family of q-ary codes of length n = q 3 0, with locality r = q 0 1. k = (t + 1)(q 0 1), d n tq 0 (q 0 2)(q 0 + 1) It is also possible to take g(p) = x (projection on x); we obtain LRC codes with locality q 0 A. Barg (UMD) Coding for memory and storage January 27, / 73

132 Codes on curves Two recovering sets α 7 α 6 α 5 α 4 x α 3 α 2 α α α 2 α 3 α 4 α 5 α 6 α 7 Polynomial basis {x i y j, i = 0, 1,..., r 1 1, j = 0, 1,..., r 2 1} y A. Barg (UMD) Coding for memory and storage January 27, / 73

133 Codes on curves Two recovering sets α 7 α 6 α 5 α 4 x α 3 α 2 α α α 2 α 3 α 4 α 5 α 6 α 7 Polynomial basis {x i y j, i = 0, 1,..., r 1 1, j = 0, 1,..., r 2 1} (24, 6, {2, 3}) LRC(2) code over F 9 y A. Barg (UMD) Coding for memory and storage January 27, / 73

134 General LRC codes on curves Codes on curves Map of curves X, Y smooth projective absolutely irreducible curves over k rational separable map of degree r + 1. g : X Y A. Barg (UMD) Coding for memory and storage January 27, / 73

135 General LRC codes on curves Codes on curves Map of curves X, Y smooth projective absolutely irreducible curves over k rational separable map of degree r + 1. g : X Y Lift the points of Y S = {P 1,..., P s } Y (k); Q = π 1 ( ), where π : Y P 1 k. Assume that there is a partition of points A := g 1 (S) = {P ij, i = 0,..., r, j = 1,..., s} X(k) such that g(p ij ) = P j for all i, j. A. Barg (UMD) Coding for memory and storage January 27, / 73

136 General LRC codes on curves Codes on curves Map of curves X, Y smooth projective absolutely irreducible curves over k rational separable map of degree r + 1. g : X Y Lift the points of Y S = {P 1,..., P s } Y (k); Q = π 1 ( ), where π : Y P 1 k. Assume that there is a partition of points A := g 1 (S) = {P ij, i = 0,..., r, j = 1,..., s} X(k) such that Basis of the function space g(p ij ) = P j for all i, j. {f j x i, i = 0,..., r 1; j = 1,..., m} A. Barg (UMD) Coding for memory and storage January 27, / 73

137 General LRC codes on curves Codes on curves Map of curves X, Y smooth projective absolutely irreducible curves over k rational separable map of degree r + 1. g : X Y Lift the points of Y S = {P 1,..., P s } Y (k); Q = π 1 ( ), where π : Y P 1 k. Assume that there is a partition of points A := g 1 (S) = {P ij, i = 0,..., r, j = 1,..., s} X(k) such that Basis of the function space g(p ij ) = P j for all i, j. {f j x i, i = 0,..., r 1; j = 1,..., m} Construct LRC codes Evaluation codes constructed on the set A have the locality property with parameter r. A. Barg (UMD) Coding for memory and storage January 27, / 73

138 Codes on curves Asymptotically good sequences of codes Let q = q0, 2 where q 0 is a prime power. Take Garcia-Stichtenoth towers of curves: x 0 := 1; X 1 := P 1, k(x 1 ) = k(x 1 ); X l : z q 0 l + z l = x q 0+1 l 1, x l 1 := z l 1 k(x l 1 ) (if l 3), x l 2 A. Barg (UMD) Coding for memory and storage January 27, / 73

139 Codes on curves Asymptotically good sequences of codes Let q = q 2 0, where q 0 is a prime power. Take Garcia-Stichtenoth towers of curves: x 0 := 1; X 1 := P 1, k(x 1 ) = k(x 1 ); X l : z q 0 l + z l = x q 0+1 l 1, x l 1 := z l 1 k(x l 1 ) (if l 3), x l 2 There exist families of q-ary LRC codes with locality r whose rate and relative distance satisfy R r r + 1 R r r + 1 ( 1 δ 3 q + 1 ), r = q 1 ( 1 δ 2 q ), r = q q 1 (better than the GV bound) A. Barg (UMD) Coding for memory and storage January 27, / 73

140 Codes on curves Asymptotically good sequences of codes Let q = q 2 0, where q 0 is a prime power. Take Garcia-Stichtenoth towers of curves: x 0 := 1; X 1 := P 1, k(x 1 ) = k(x 1 ); X l : z q 0 l + z l = x q 0+1 l 1, x l 1 := z l 1 k(x l 1 ) (if l 3), x l 2 There exist families of q-ary LRC codes with locality r whose rate and relative distance satisfy R r r + 1 R r r + 1 ( 1 δ 3 q + 1 ), r = q 1 ( 1 δ 2 q ), r = q q 1 (better than the GV bound) ) Recall the TVZ bound without locality: R 1 δ 1 q 1 A. Barg (UMD) Coding for memory and storage January 27, / 73

141 Codes on curves Asymptotically good sequences of codes Let q = q 2 0, where q 0 is a prime power. Take Garcia-Stichtenoth towers of curves: x 0 := 1; X 1 := P 1, k(x 1 ) = k(x 1 ); X l : z q 0 l + z l = x q 0+1 l 1, x l 1 := z l 1 k(x l 1 ) (if l 3), x l 2 There exist families of q-ary LRC codes with locality r whose rate and relative distance satisfy R r r + 1 R r r + 1 ( 1 δ 3 q + 1 ), r = q 1 ( 1 δ 2 q ), r = q q 1 (better than the GV bound) Locally recoverable codes on algebraic curves, with I. Tamo and S. Vlăduţ, arxiv: A. Barg (UMD) Coding for memory and storage January 27, / 73

142 Codes on curves What next? A. Barg (UMD) Coding for memory and storage January 27, / 73

143 Codes on curves What next? A. Barg (UMD) Coding for memory and storage January 27, / 73

144 Codes on curves What next? A. Barg (UMD) Coding for memory and storage January 27, / 73

145 Codes on curves What next? A. Barg (UMD) Coding for memory and storage January 27, / 73

146 Cyclic LRC codes Another connection: Cyclic codes and Binary cyclic codes A. Barg (UMD) Coding for memory and storage January 27, / 73

147 Cyclic LRC codes Another connection: Cyclic codes and Binary cyclic codes Consider an [n = 15, k = 4] RS code over F 16 ; A = {1, α, α 2,..., α 14 } A. Barg (UMD) Coding for memory and storage January 27, / 73

Constructions of Optimal Cyclic (r, δ) Locally Repairable Codes

Constructions of Optimal Cyclic (r, δ) Locally Repairable Codes Constructions of Optimal Cyclic (r, δ) Locally Repairable Codes Bin Chen, Shu-Tao Xia, Jie Hao, and Fang-Wei Fu Member, IEEE 1 arxiv:160901136v1 [csit] 5 Sep 016 Abstract A code is said to be a r-local

More information

Regenerating Codes and Locally Recoverable. Codes for Distributed Storage Systems

Regenerating Codes and Locally Recoverable. Codes for Distributed Storage Systems Regenerating Codes and Locally Recoverable 1 Codes for Distributed Storage Systems Yongjune Kim and Yaoqing Yang Abstract We survey the recent results on applying error control coding to distributed storage

More information

Security in Locally Repairable Storage

Security in Locally Repairable Storage 1 Security in Locally Repairable Storage Abhishek Agarwal and Arya Mazumdar Abstract In this paper we extend the notion of locally repairable codes to secret sharing schemes. The main problem we consider

More information

Cyclic Linear Binary Locally Repairable Codes

Cyclic Linear Binary Locally Repairable Codes Cyclic Linear Binary Locally Repairable Codes Pengfei Huang, Eitan Yaakobi, Hironori Uchikawa, and Paul H. Siegel Electrical and Computer Engineering Dept., University of California, San Diego, La Jolla,

More information

Progress on High-rate MSR Codes: Enabling Arbitrary Number of Helper Nodes

Progress on High-rate MSR Codes: Enabling Arbitrary Number of Helper Nodes Progress on High-rate MSR Codes: Enabling Arbitrary Number of Helper Nodes Ankit Singh Rawat CS Department Carnegie Mellon University Pittsburgh, PA 523 Email: asrawat@andrewcmuedu O Ozan Koyluoglu Department

More information

Explicit MBR All-Symbol Locality Codes

Explicit MBR All-Symbol Locality Codes Explicit MBR All-Symbol Locality Codes Govinda M. Kamath, Natalia Silberstein, N. Prakash, Ankit S. Rawat, V. Lalitha, O. Ozan Koyluoglu, P. Vijay Kumar, and Sriram Vishwanath 1 Abstract arxiv:1302.0744v2

More information

Linear Programming Bounds for Robust Locally Repairable Storage Codes

Linear Programming Bounds for Robust Locally Repairable Storage Codes Linear Programming Bounds for Robust Locally Repairable Storage Codes M. Ali Tebbi, Terence H. Chan, Chi Wan Sung Institute for Telecommunications Research, University of South Australia Email: {ali.tebbi,

More information

On Locally Recoverable (LRC) Codes

On Locally Recoverable (LRC) Codes On Locally Recoverable (LRC) Codes arxiv:151206161v1 [csit] 18 Dec 2015 Mario Blaum IBM Almaden Research Center San Jose, CA 95120 Abstract We present simple constructions of optimal erasure-correcting

More information

An Upper Bound On the Size of Locally. Recoverable Codes

An Upper Bound On the Size of Locally. Recoverable Codes An Upper Bound On the Size of Locally 1 Recoverable Codes Viveck Cadambe Member, IEEE and Arya Mazumdar Member, IEEE arxiv:1308.3200v2 [cs.it] 26 Mar 2015 Abstract In a locally recoverable or repairable

More information

Coding with Constraints: Minimum Distance. Bounds and Systematic Constructions

Coding with Constraints: Minimum Distance. Bounds and Systematic Constructions Coding with Constraints: Minimum Distance 1 Bounds and Systematic Constructions Wael Halbawi, Matthew Thill & Babak Hassibi Department of Electrical Engineering arxiv:1501.07556v2 [cs.it] 19 Feb 2015 California

More information

Secure RAID Schemes from EVENODD and STAR Codes

Secure RAID Schemes from EVENODD and STAR Codes Secure RAID Schemes from EVENODD and STAR Codes Wentao Huang and Jehoshua Bruck California Institute of Technology, Pasadena, USA {whuang,bruck}@caltechedu Abstract We study secure RAID, ie, low-complexity

More information

Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction

Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction K V Rashmi, Nihar B Shah, and P Vijay Kumar, Fellow, IEEE Abstract Regenerating codes

More information

Asymptotically good sequences of codes and curves

Asymptotically good sequences of codes and curves Asymptotically good sequences of codes and curves Ruud Pellikaan Technical University of Eindhoven Soria Summer School on Computational Mathematics July 9, 2008 /k 1/29 Content: 8 Some algebraic geometry

More information

Balanced Locally Repairable Codes

Balanced Locally Repairable Codes Balanced Locally Repairable Codes Katina Kralevska, Danilo Gligoroski and Harald Øverby Department of Telematics, Faculty of Information Technology, Mathematics and Electrical Engineering, NTNU, Norwegian

More information

Balanced Locally Repairable Codes

Balanced Locally Repairable Codes Balanced Locally Repairable Codes Katina Kralevska, Danilo Gligoroski and Harald Øverby Department of Telematics, Faculty of Information Technology, Mathematics and Electrical Engineering, NTNU, Norwegian

More information

arxiv: v1 [cs.it] 5 Aug 2016

arxiv: v1 [cs.it] 5 Aug 2016 A Note on Secure Minimum Storage Regenerating Codes Ankit Singh Rawat arxiv:1608.01732v1 [cs.it] 5 Aug 2016 Computer Science Department, Carnegie Mellon University, Pittsburgh, 15213. E-mail: asrawat@andrew.cmu.edu

More information

IBM Research Report. Construction of PMDS and SD Codes Extending RAID 5

IBM Research Report. Construction of PMDS and SD Codes Extending RAID 5 RJ10504 (ALM1303-010) March 15, 2013 Computer Science IBM Research Report Construction of PMDS and SD Codes Extending RAID 5 Mario Blaum IBM Research Division Almaden Research Center 650 Harry Road San

More information

Codes With Hierarchical Locality

Codes With Hierarchical Locality 1 Codes With Hierarchical Locality Birenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar Department of Electrical Communication Engineering, Indian Institute of Science, Bangalore. Email: biren,

More information

Optimal binary linear locally repairable codes with disjoint repair groups

Optimal binary linear locally repairable codes with disjoint repair groups 1 Optimal binary linear locally repairable codes with disjoint repair groups Jingxue Ma and Gennian Ge arxiv:17110718v1 [csit] 20 Nov 2017 Abstract In recent years, several classes of codes are introduced

More information

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding. Linear December 2, 2011 References Linear Main Source: Stichtenoth, Henning. Function Fields and. Springer, 2009. Other Sources: Høholdt, Lint and Pellikaan. geometry codes. Handbook of Coding Theory,

More information

Distributed storage systems from combinatorial designs

Distributed storage systems from combinatorial designs Distributed storage systems from combinatorial designs Aditya Ramamoorthy November 20, 2014 Department of Electrical and Computer Engineering, Iowa State University, Joint work with Oktay Olmez (Ankara

More information

Linear Exact Repair Rate Region of (k + 1, k, k) Distributed Storage Systems: A New Approach

Linear Exact Repair Rate Region of (k + 1, k, k) Distributed Storage Systems: A New Approach Linear Exact Repair Rate Region of (k + 1, k, k) Distributed Storage Systems: A New Approach Mehran Elyasi Department of ECE University of Minnesota melyasi@umn.edu Soheil Mohajer Department of ECE University

More information

A Tight Rate Bound and Matching Construction for Locally Recoverable Codes with Sequential Recovery From Any Number of Multiple Erasures

A Tight Rate Bound and Matching Construction for Locally Recoverable Codes with Sequential Recovery From Any Number of Multiple Erasures 1 A Tight Rate Bound and Matching Construction for Locally Recoverable Codes with Sequential Recovery From Any Number of Multiple Erasures arxiv:181050v1 [csit] 6 Dec 018 S B Balaji, Ganesh R Kini and

More information

Locally Encodable and Decodable Codes for Distributed Storage Systems

Locally Encodable and Decodable Codes for Distributed Storage Systems Locally Encodable and Decodable Codes for Distributed Storage Systems Son Hoang Dau, Han Mao Kiah, Wentu Song, Chau Yuen Singapore University of Technology and Design, Nanyang Technological University,

More information

Sector-Disk Codes and Partial MDS Codes with up to Three Global Parities

Sector-Disk Codes and Partial MDS Codes with up to Three Global Parities Sector-Disk Codes and Partial MDS Codes with up to Three Global Parities Junyu Chen Department of Information Engineering The Chinese University of Hong Kong Email: cj0@alumniiecuhkeduhk Kenneth W Shum

More information

arxiv: v1 [cs.it] 18 Jun 2011

arxiv: v1 [cs.it] 18 Jun 2011 On the Locality of Codeword Symbols arxiv:1106.3625v1 [cs.it] 18 Jun 2011 Parikshit Gopalan Microsoft Research parik@microsoft.com Cheng Huang Microsoft Research chengh@microsoft.com Sergey Yekhanin Microsoft

More information

On MBR codes with replication

On MBR codes with replication On MBR codes with replication M. Nikhil Krishnan and P. Vijay Kumar, Fellow, IEEE Department of Electrical Communication Engineering, Indian Institute of Science, Bangalore. Email: nikhilkrishnan.m@gmail.com,

More information

Explicit Maximally Recoverable Codes with Locality

Explicit Maximally Recoverable Codes with Locality 1 Explicit Maximally Recoverable Codes with Locality Parikshit Gopalan Cheng Huang Bob Jenkins Sergey Yekhanin Abstract Consider a systematic linear code where some local) parity symbols depend on few

More information

Lecture 12: November 6, 2017

Lecture 12: November 6, 2017 Information and Coding Theory Autumn 017 Lecturer: Madhur Tulsiani Lecture 1: November 6, 017 Recall: We were looking at codes of the form C : F k p F n p, where p is prime, k is the message length, and

More information

Minimum Repair Bandwidth for Exact Regeneration in Distributed Storage

Minimum Repair Bandwidth for Exact Regeneration in Distributed Storage 1 Minimum Repair andwidth for Exact Regeneration in Distributed Storage Vivec R Cadambe, Syed A Jafar, Hamed Malei Electrical Engineering and Computer Science University of California Irvine, Irvine, California,

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Spring 2009 Instructor : Stefaan Delcroix Chapter 1 Introduction to Error-Correcting Codes It happens quite often that a message becomes corrupt

More information

Error-correcting Pairs for a Public-key Cryptosystem

Error-correcting Pairs for a Public-key Cryptosystem Error-correcting Pairs for a Public-key Cryptosystem Ruud Pellikaan g.r.pellikaan@tue.nl joint work with Irene Márquez-Corbella Code-based Cryptography Workshop 2012 Lyngby, 9 May 2012 Introduction and

More information

Product-matrix Construction

Product-matrix Construction IERG60 Coding for Distributed Storage Systems Lecture 0-9//06 Lecturer: Kenneth Shum Product-matrix Construction Scribe: Xishi Wang In previous lectures, we have discussed about the minimum storage regenerating

More information

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16

Solutions of Exam Coding Theory (2MMC30), 23 June (1.a) Consider the 4 4 matrices as words in F 16 Solutions of Exam Coding Theory (2MMC30), 23 June 2016 (1.a) Consider the 4 4 matrices as words in F 16 2, the binary vector space of dimension 16. C is the code of all binary 4 4 matrices such that the

More information

Rack-Aware Regenerating Codes for Data Centers

Rack-Aware Regenerating Codes for Data Centers IEEE TRANSACTIONS ON INFORMATION THEORY 1 Rack-Aware Regenerating Codes for Data Centers Hanxu Hou, Patrick P. C. Lee, Kenneth W. Shum and Yuchong Hu arxiv:1802.04031v1 [cs.it] 12 Feb 2018 Abstract Erasure

More information

: Error Correcting Codes. October 2017 Lecture 1

: Error Correcting Codes. October 2017 Lecture 1 03683072: Error Correcting Codes. October 2017 Lecture 1 First Definitions and Basic Codes Amnon Ta-Shma and Dean Doron 1 Error Correcting Codes Basics Definition 1. An (n, K, d) q code is a subset of

More information

Optimal Locally Repairable and Secure Codes for Distributed Storage Systems

Optimal Locally Repairable and Secure Codes for Distributed Storage Systems Optimal Locally Repairable and Secure Codes for Distributed Storage Systems Ankit Singh Rawat, O. Ozan Koyluoglu, Natalia Silberstein, and Sriram Vishwanath arxiv:0.6954v [cs.it] 6 Aug 03 Abstract This

More information

-ИИИИИ"ИИИИИИИИИ 2017.

-ИИИИИИИИИИИИИИ 2017. -.. -ИИИИИ"ИИИИИИИИИ 2017. Ы :,. : 02.03.02 -. 43507,..,.. - 2017 .. " " 2017. 1. : «, -.» 2. : 10 2017. 3. ( ): -. 4. ( ). -. - Э. -. -. 5.. - -. 6. (, ). : ИИИИИИИИИИИИИИИИ. : ИИИИИИИИИИИИИИИИИИ..,..

More information

MATH 291T CODING THEORY

MATH 291T CODING THEORY California State University, Fresno MATH 291T CODING THEORY Fall 2011 Instructor : Stefaan Delcroix Contents 1 Introduction to Error-Correcting Codes 3 2 Basic Concepts and Properties 6 2.1 Definitions....................................

More information

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013

Coding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013 Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved

More information

Distributed Data Storage with Minimum Storage Regenerating Codes - Exact and Functional Repair are Asymptotically Equally Efficient

Distributed Data Storage with Minimum Storage Regenerating Codes - Exact and Functional Repair are Asymptotically Equally Efficient Distributed Data Storage with Minimum Storage Regenerating Codes - Exact and Functional Repair are Asymptotically Equally Efficient Viveck R Cadambe, Syed A Jafar, Hamed Maleki Electrical Engineering and

More information

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes

The BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding

More information

A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes

A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes A Piggybacing Design Framewor for Read-and Download-efficient Distributed Storage Codes K V Rashmi, Nihar B Shah, Kannan Ramchandran, Fellow, IEEE Department of Electrical Engineering and Computer Sciences

More information

Linear Programming Bounds for Distributed Storage Codes

Linear Programming Bounds for Distributed Storage Codes 1 Linear Programming Bounds for Distributed Storage Codes Ali Tebbi, Terence H. Chan, Chi Wan Sung Department of Electronic Engineering, City University of Hong Kong arxiv:1710.04361v1 [cs.it] 12 Oct 2017

More information

Maximally Recoverable Codes with Hierarchical Locality

Maximally Recoverable Codes with Hierarchical Locality Maximally Recoverable Codes with Hierarchical Locality Aaditya M Nair V Lalitha SPCRC International Institute of Information Technology Hyderabad India Email: aadityamnair@researchiiitacin lalithav@iiitacin

More information

Distributed Storage Systems with Secure and Exact Repair - New Results

Distributed Storage Systems with Secure and Exact Repair - New Results Distributed torage ystems with ecure and Exact Repair - New Results Ravi Tandon, aidhiraj Amuru, T Charles Clancy, and R Michael Buehrer Bradley Department of Electrical and Computer Engineering Hume Center

More information

A Piggybacking Design Framework for Read- and- Download- efficient Distributed Storage Codes. K. V. Rashmi, Nihar B. Shah, Kannan Ramchandran

A Piggybacking Design Framework for Read- and- Download- efficient Distributed Storage Codes. K. V. Rashmi, Nihar B. Shah, Kannan Ramchandran A Piggybacking Design Framework for Read- and- Download- efficient Distributed Storage Codes K V Rashmi, Nihar B Shah, Kannan Ramchandran Outline IntroducGon & MoGvaGon Measurements from Facebook s Warehouse

More information

Lecture 03: Polynomial Based Codes

Lecture 03: Polynomial Based Codes Lecture 03: Polynomial Based Codes Error-Correcting Codes (Spring 016) Rutgers University Swastik Kopparty Scribes: Ross Berkowitz & Amey Bhangale 1 Reed-Solomon Codes Reed Solomon codes are large alphabet

More information

Binary MDS Array Codes with Optimal Repair

Binary MDS Array Codes with Optimal Repair IEEE TRANSACTIONS ON INFORMATION THEORY 1 Binary MDS Array Codes with Optimal Repair Hanxu Hou, Member, IEEE, Patric P. C. Lee, Senior Member, IEEE Abstract arxiv:1809.04380v1 [cs.it] 12 Sep 2018 Consider

More information

Coding for loss tolerant systems

Coding for loss tolerant systems Coding for loss tolerant systems Workshop APRETAF, 22 janvier 2009 Mathieu Cunche, Vincent Roca INRIA, équipe Planète INRIA Rhône-Alpes Mathieu Cunche, Vincent Roca The erasure channel Erasure codes Reed-Solomon

More information

Can Linear Minimum Storage Regenerating Codes be Universally Secure?

Can Linear Minimum Storage Regenerating Codes be Universally Secure? Can Linear Minimum Storage Regenerating Codes be Universally Secure? Sreechakra Goparaju University of California, San Diego La Jolla, CA, USA Email: sgoparaju@ucsd.edu Salim El Rouayheb Illinois Institute

More information

Update-Efficient Error-Correcting. Product-Matrix Codes

Update-Efficient Error-Correcting. Product-Matrix Codes Update-Efficient Error-Correcting 1 Product-Matrix Codes Yunghsiang S Han, Fellow, IEEE, Hung-Ta Pai, Senior Member IEEE, Rong Zheng, Senior Member IEEE, Pramod K Varshney, Fellow, IEEE arxiv:13014620v2

More information

Explicit Code Constructions for Distributed Storage Minimizing Repair Bandwidth

Explicit Code Constructions for Distributed Storage Minimizing Repair Bandwidth Explicit Code Constructions for Distributed Storage Minimizing Repair Bandwidth A Project Report Submitted in partial fulfilment of the requirements for the Degree of Master of Engineering in Telecommunication

More information

Zigzag Codes: MDS Array Codes with Optimal Rebuilding

Zigzag Codes: MDS Array Codes with Optimal Rebuilding 1 Zigzag Codes: MDS Array Codes with Optimal Rebuilding Itzhak Tamo, Zhiying Wang, and Jehoshua Bruck Electrical Engineering Department, California Institute of Technology, Pasadena, CA 91125, USA Electrical

More information

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class Error Correcting Codes: Combinatorics, Algorithms and Applications Spring 2009 Homework Due Monday March 23, 2009 in class You can collaborate in groups of up to 3. However, the write-ups must be done

More information

Fractional Repetition Codes For Repair In Distributed Storage Systems

Fractional Repetition Codes For Repair In Distributed Storage Systems Fractional Repetition Codes For Repair In Distributed Storage Systems 1 Salim El Rouayheb, Kannan Ramchandran Dept. of Electrical Engineering and Computer Sciences University of California, Berkeley {salim,

More information

Communication Efficient Secret Sharing

Communication Efficient Secret Sharing Communication Efficient Secret Sharing 1 Wentao Huang, Michael Langberg, senior member, IEEE, Joerg Kliewer, senior member, IEEE, and Jehoshua Bruck, Fellow, IEEE arxiv:1505.07515v2 [cs.it] 1 Apr 2016

More information

LDPC Code Design for Distributed Storage: Balancing Repair Bandwidth, Reliability and Storage Overhead

LDPC Code Design for Distributed Storage: Balancing Repair Bandwidth, Reliability and Storage Overhead LDPC Code Design for Distributed Storage: 1 Balancing Repair Bandwidth, Reliability and Storage Overhead arxiv:1710.05615v1 [cs.dc] 16 Oct 2017 Hyegyeong Park, Student Member, IEEE, Dongwon Lee, and Jaekyun

More information

Communication Efficient Secret Sharing

Communication Efficient Secret Sharing 1 Communication Efficient Secret Sharing Wentao Huang, Michael Langberg, Senior Member, IEEE, Joerg Kliewer, Senior Member, IEEE, and Jehoshua Bruck, Fellow, IEEE Abstract A secret sharing scheme is a

More information

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory An Introduction to (Network) Coding Theory Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland July 12th, 2018 1 Coding Theory Introduction Reed-Solomon codes 2 Introduction Coherent network

More information

Cooperative Repair of Multiple Node Failures in Distributed Storage Systems

Cooperative Repair of Multiple Node Failures in Distributed Storage Systems Cooperative Repair of Multiple Node Failures in Distributed Storage Systems Kenneth W. Shum Institute of Network Coding The Chinese University of Hong Kong Junyu Chen Department of Information Engineering

More information

Section 3 Error Correcting Codes (ECC): Fundamentals

Section 3 Error Correcting Codes (ECC): Fundamentals Section 3 Error Correcting Codes (ECC): Fundamentals Communication systems and channel models Definition and examples of ECCs Distance For the contents relevant to distance, Lin & Xing s book, Chapter

More information

LET be the finite field of cardinality and let

LET be the finite field of cardinality and let 128 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 43, NO. 1, JANUARY 1997 An Explicit Construction of a Sequence of Codes Attaining the Tsfasman Vlăduţ Zink Bound The First Steps Conny Voss Tom Høholdt,

More information

Interference Alignment in Regenerating Codes for Distributed Storage: Necessity and Code Constructions

Interference Alignment in Regenerating Codes for Distributed Storage: Necessity and Code Constructions Interference Alignment in Regenerating Codes for Distributed Storage: Necessity and Code Constructions Nihar B Shah, K V Rashmi, P Vijay Kumar, Fellow, IEEE, and Kannan Ramchandran, Fellow, IEEE Abstract

More information

Batch and PIR Codes and Their Connections to Locally Repairable Codes

Batch and PIR Codes and Their Connections to Locally Repairable Codes Batch and PIR Codes and Their Connections to Locally Repairable Codes Vitaly Skachek Abstract Two related families of codes are studied: batch codes and codes for private information retrieval. These two

More information

Cauchy MDS Array Codes With Efficient Decoding Method

Cauchy MDS Array Codes With Efficient Decoding Method IEEE TRANSACTIONS ON COMMUNICATIONS Cauchy MDS Array Codes With Efficient Decoding Method Hanxu Hou and Yunghsiang S Han, Fellow, IEEE Abstract arxiv:609968v [csit] 30 Nov 206 Array codes have been widely

More information

Arrangements, matroids and codes

Arrangements, matroids and codes Arrangements, matroids and codes first lecture Ruud Pellikaan joint work with Relinde Jurrius ACAGM summer school Leuven Belgium, 18 July 2011 References 2/43 1. Codes, arrangements and matroids by Relinde

More information

On Linear Subspace Codes Closed under Intersection

On Linear Subspace Codes Closed under Intersection On Linear Subspace Codes Closed under Intersection Pranab Basu Navin Kashyap Abstract Subspace codes are subsets of the projective space P q(n), which is the set of all subspaces of the vector space F

More information

Code-Based Cryptography Error-Correcting Codes and Cryptography

Code-Based Cryptography Error-Correcting Codes and Cryptography Code-Based Cryptography Error-Correcting Codes and Cryptography I. Márquez-Corbella 0 1. Error-Correcting Codes and Cryptography 1. Introduction I - Cryptography 2. Introduction II - Coding Theory 3. Encoding

More information

Weakly Secure Regenerating Codes for Distributed Storage

Weakly Secure Regenerating Codes for Distributed Storage Weakly Secure Regenerating Codes for Distributed Storage Swanand Kadhe and Alex Sprintson 1 arxiv:1405.2894v1 [cs.it] 12 May 2014 Abstract We consider the problem of secure distributed data storage under

More information

Lecture 6: Expander Codes

Lecture 6: Expander Codes CS369E: Expanders May 2 & 9, 2005 Lecturer: Prahladh Harsha Lecture 6: Expander Codes Scribe: Hovav Shacham In today s lecture, we will discuss the application of expander graphs to error-correcting codes.

More information

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups.

MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. MATH 433 Applied Algebra Lecture 21: Linear codes (continued). Classification of groups. Binary codes Let us assume that a message to be transmitted is in binary form. That is, it is a word in the alphabet

More information

Berlekamp-Massey decoding of RS code

Berlekamp-Massey decoding of RS code IERG60 Coding for Distributed Storage Systems Lecture - 05//06 Berlekamp-Massey decoding of RS code Lecturer: Kenneth Shum Scribe: Bowen Zhang Berlekamp-Massey algorithm We recall some notations from lecture

More information

Asymptotically good sequences of curves and codes

Asymptotically good sequences of curves and codes Asymptotically good sequences of curves and codes Ruud Pellikaan Appeared in in Proc 34th Allerton Conf on Communication, Control, and Computing, Urbana-Champaign, October 2-4, 1996, 276-285 1 Introduction

More information

Algebraic geometry codes

Algebraic geometry codes Algebraic geometry codes Tom Høholdt, Jacobus H. van Lint and Ruud Pellikaan In the Handbook of Coding Theory, vol 1, pp. 871-961, (V.S. Pless, W.C. Huffman and R.A. Brualdi Eds.), Elsevier, Amsterdam

More information

MATH32031: Coding Theory Part 15: Summary

MATH32031: Coding Theory Part 15: Summary MATH32031: Coding Theory Part 15: Summary 1 The initial problem The main goal of coding theory is to develop techniques which permit the detection of errors in the transmission of information and, if necessary,

More information

Lecture 12. Block Diagram

Lecture 12. Block Diagram Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data

More information

Skew Cyclic Codes Of Arbitrary Length

Skew Cyclic Codes Of Arbitrary Length Skew Cyclic Codes Of Arbitrary Length Irfan Siap Department of Mathematics, Adıyaman University, Adıyaman, TURKEY, isiap@adiyaman.edu.tr Taher Abualrub Department of Mathematics and Statistics, American

More information

A Characterization Of Quantum Codes And Constructions

A Characterization Of Quantum Codes And Constructions A Characterization Of Quantum Codes And Constructions Chaoping Xing Department of Mathematics, National University of Singapore Singapore 117543, Republic of Singapore (email: matxcp@nus.edu.sg) Abstract

More information

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory An to (Network) Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland April 24th, 2018 Outline 1 Reed-Solomon Codes 2 Network Gabidulin Codes 3 Summary and Outlook A little bit of history

More information

1 Vandermonde matrices

1 Vandermonde matrices ECE 771 Lecture 6 BCH and RS codes: Designer cyclic codes Objective: We will begin with a result from linear algebra regarding Vandermonde matrices This result is used to prove the BCH distance properties,

More information

Coding for Memory with Stuck-at Defects

Coding for Memory with Stuck-at Defects Coding for Memory with Stuck-at Defects Yongjune Kim B. V. K. Vijaya Kumar Electrical Computer Engineering, Data Storage Systems Center (DSSC) Carnegie Mellon University Pittsburgh, USA yongjunekim@cmu.edu,

More information

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials

Outline. MSRI-UP 2009 Coding Theory Seminar, Week 2. The definition. Link to polynomials Outline MSRI-UP 2009 Coding Theory Seminar, Week 2 John B. Little Department of Mathematics and Computer Science College of the Holy Cross Cyclic Codes Polynomial Algebra More on cyclic codes Finite fields

More information

A Tale of Two Erasure Codes in HDFS

A Tale of Two Erasure Codes in HDFS A Tale of Two Erasure Codes in HDFS Dynamo Mingyuan Xia *, Mohit Saxena +, Mario Blaum +, and David A. Pease + * McGill University, + IBM Research Almaden FAST 15 何军权 2015-04-30 1 Outline Introduction

More information

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding

Chapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding Chapter 6 Reed-Solomon Codes 6. Finite Field Algebra 6. Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding 6. Finite Field Algebra Nonbinary codes: message and codeword symbols

More information

Error Correcting Codes Questions Pool

Error Correcting Codes Questions Pool Error Correcting Codes Questions Pool Amnon Ta-Shma and Dean Doron January 3, 018 General guidelines The questions fall into several categories: (Know). (Mandatory). (Bonus). Make sure you know how to

More information

The Complete Hierarchical Locality of the Punctured Simplex Code

The Complete Hierarchical Locality of the Punctured Simplex Code The Complete Hierarchical Locality of the Punctured Simplex Code Matthias Grezet and Camilla Hollanti Department of Mathematics and Systems Analysis Aalto University Finland Emails: firstname.lastname@aalto.fi

More information

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system Steve Baker December 6, 2011 Abstract. The evaluation of various error detection and correction algorithms and

More information

Lecture 3: Error Correcting Codes

Lecture 3: Error Correcting Codes CS 880: Pseudorandomness and Derandomization 1/30/2013 Lecture 3: Error Correcting Codes Instructors: Holger Dell and Dieter van Melkebeek Scribe: Xi Wu In this lecture we review some background on error

More information

Synchronizing Edits in Distributed Storage Networks

Synchronizing Edits in Distributed Storage Networks Synchronizing Edits in Distributed Storage Networks Salim El Rouayheb, Sreechakra Goparaju, Han Mao Kiah, Olgica Milenkovic Department of Electrical and Computer Engineering, Illinois Institute of Technology,

More information

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory

6.895 PCP and Hardness of Approximation MIT, Fall Lecture 3: Coding Theory 6895 PCP and Hardness of Approximation MIT, Fall 2010 Lecture 3: Coding Theory Lecturer: Dana Moshkovitz Scribe: Michael Forbes and Dana Moshkovitz 1 Motivation In the course we will make heavy use of

More information

Math 512 Syllabus Spring 2017, LIU Post

Math 512 Syllabus Spring 2017, LIU Post Week Class Date Material Math 512 Syllabus Spring 2017, LIU Post 1 1/23 ISBN, error-detecting codes HW: Exercises 1.1, 1.3, 1.5, 1.8, 1.14, 1.15 If x, y satisfy ISBN-10 check, then so does x + y. 2 1/30

More information

Erasure Codes for Distributed Storage: Tight Bounds and Matching Constructions

Erasure Codes for Distributed Storage: Tight Bounds and Matching Constructions Erasure Codes for Distributed Storage: Tight Bounds and Matching Constructions arxiv:1806.04474v1 [cs.it] 12 Jun 2018 A Thesis Submitted for the Degree of Doctor of Philosophy in the Faculty of Engineering

More information

Fountain Uncorrectable Sets and Finite-Length Analysis

Fountain Uncorrectable Sets and Finite-Length Analysis Fountain Uncorrectable Sets and Finite-Length Analysis Wen Ji 1, Bo-Wei Chen 2, and Yiqiang Chen 1 1 Beijing Key Laboratory of Mobile Computing and Pervasive Device Institute of Computing Technology, Chinese

More information

Refined analysis of RGHWs of code pairs coming from Garcia-Stichtenoth s second tower

Refined analysis of RGHWs of code pairs coming from Garcia-Stichtenoth s second tower Refined analysis of RGHWs of code pairs coming from Garcia-Stichtenoth s second tower arxiv:5.0630v [cs.it] 9 Nov 05 Olav Geil, Stefano Martin, Umberto Martínez-Peñas, Diego Ruano Abstract Asymptotically

More information

Permutation Codes: Optimal Exact-Repair of a Single Failed Node in MDS Code Based Distributed Storage Systems

Permutation Codes: Optimal Exact-Repair of a Single Failed Node in MDS Code Based Distributed Storage Systems Permutation Codes: Optimal Exact-Repair of a Single Failed Node in MDS Code Based Distributed Storage Systems Viveck R Cadambe Electrical Engineering and Computer Science University of California Irvine,

More information

IEEE TRANSACTIONS ON INFORMATION THEORY 1

IEEE TRANSACTIONS ON INFORMATION THEORY 1 IEEE TRANSACTIONS ON INFORMATION THEORY 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Proxy-Assisted Regenerating Codes With Uncoded Repair for Distributed Storage Systems Yuchong Hu,

More information

MULTI-SYMBOL LOCALLY REPAIRABLE CODES

MULTI-SYMBOL LOCALLY REPAIRABLE CODES NORWEGIAN UNIVERSITY OF SCIENCE AND TECHNOLOGY Faculty of Information Technology, Mathematics and Electrical Engineering Department of Telematics UNIVERSITY OF TARTU Faculty of Mathematics and Computer

More information

Report on PIR with Low Storage Overhead

Report on PIR with Low Storage Overhead Report on PIR with Low Storage Overhead Ehsan Ebrahimi Targhi University of Tartu December 15, 2015 Abstract Private information retrieval (PIR) protocol, introduced in 1995 by Chor, Goldreich, Kushilevitz

More information

Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases

Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases MM Research Preprints, 42 48 No. 16, April 1998. Beijing Construction of a Class of Algebraic-Geometric Codes via Gröbner Bases Changyan Di, Zhuojun Liu Institute of Systems Science Academia Sinica, Beijing

More information