• No results found

Rebuilding Ratio

In document Coding for Information Storage (Page 45-48)

3.6 Conclusions

4.2.2 Rebuilding Ratio

Let us present therebuilding algorithm:We define for a nonzero vectorv,Xv ={x∈ [0, 2m−1]:

x·v = 0}as the set of integers whose binary representation is orthogonal to v. For example,

X(1,0) = {0, 1}. Ifvis the zero vector we define Xv = {x ∈ Fm2 : x·(1, 1, ..., 1) =0}. For ease

of notation, denote the permutation fvj as fjand the setXvj asXj. Assume columnjis erased, and

defineSr = {ai,j : i∈ Xj}andSz = {ai,j : i ∈/ Xj}. Rebuild the elements inSrby rows and the elements inSzby zigzags.

Example 4.2 Consider the code in Figure4.4. Suppose node 1 (columnC1) is erased. SinceX1 = Xv1 = X(1,0) = {0, 1}, we will rebuild a0,1,a1,1 ∈ Sr by row parity elementsr0,r1, respectively.

the elementsa0,0,a0,2,a1,0,a1,2, and the following four parity elements

r0 =a0,0+a0,1+a0,2 r1 =a1,0+a1,1+a1,2

zf1(2) =z0=a0,0+2a2,1+2a1,2 zf1(3) =z1=a1,0+2a3,1+a0,2.

Here f1(2) = fv1(2) = f(1,0)(2) =0andzf1(2) =z0. Similarly, f1(3) = 1andzf1(3) =z1. Note

that each of the surviving node accesses exactly 12 of its elements. Similarly, if node 0 is erased, we haveX0 = {0, 3}so we rebuild a0,0,a3,0 by row anda1,0,a2,0 by zigzag. Since X2 = {0, 2}, we rebuild a0,2,a2,2 by row anda1,2,a3,2 by zigzag in node 2. Rebuilding a parity node is easily done by accessing all the information elements.

Theorem 4.3 Construct permutations f0, ...,fm and sets X0, ...,Xm by the standard basis and the

zero vector{ei}mi=0as in Construction4.1. Then the corresponding(m+3,m+1)code hasopti-

malratio of 12.

Note that the code in Figure 4.4 is actually constructed as in Theorem 4.3. In order to prove Theorem 4.3, we first prove the following lemma. We represent each systematic node by the binary vector that generates its corresponding permutation. And define |v\u| = i:v

i=1,ui=01 as the

number of coordinates at whichvhas a1butuhas a0.

Lemma 4.4 (i) LetT ⊆Fmbe a set of vectors. For anyv,uT, to rebuild nodev, the number of

accessed elements in nodeuis

2m−1+|fv(Xv)∩ fu(Xv)|. (ii) Ifv 6=0, then |fv(Xv)∩ fu(Xv)|=      |Xv|, |v\u| mod 2=0 0, |v\u| mod 2=1. (4.2)

Proof: (i) In the rebuilding of nodevthe elements in rows Xv are rebuilt by rows, thus the row parity column accesses the values of the sum of rowsXv. Therefore, the surviving nodeualso accesses its elements in rows Xv. Hence, by now |Xv| = 2m−1 elements are accessed in nodeu.

The elements of nodevin rowsXvare rebuilt by zigzags, thus the zigzag parity column accesses the values of the zigzag parity elements{zfv(l):l∈ Xv}, and each surviving systematic node accesses its elements that are contained in the corresponding zigzag sets, unless these elements were already accessed during the rebuilding by rows. The elements of nodeu in rows fu−1(fv(Xv)) belong to zigzag sets{Zfv(l) : l∈ Xv}, where fu−1is the inverse permutation of fu. Thus the extra elements nodeuneeds to access are in rows fu−1(fv(Xv))\Xv.But,

|fu−1(fv(Xv))\Xv| = |fu−1(fv(Xv))∩Xv| = |fu−1(fv(Xv))∪Xv| = 2m− |fu−1(fv(Xv))∪Xv| = 2m−(|fu−1(fv(Xv))|+|Xv| − |fu−1(fv(Xv))∩Xv|) = |fu−1(fv(Xv))∩Xv| = |fv(Xv)∩ fu(Xv)|,

where we used the fact that fv,fuare bijections, and|Xv|=2m−1. (ii) Consider the group(Fm

2,+), and recall that fv(X) = X+v ={x+v :x ∈ X}. The sets fv(Xv) =Xv+vand fu(Xv) =Xv+uare cosets of the subgroupXv = {w∈ Fm2 : w·v =0}, and they are either identical or disjoint. Moreover, they are identical iff v−u ∈ Xv, namely (v−u)·v = ∑i:vi=1,ui=01≡ 0 mod 2.However, by definition|v\u| ≡ i:vi=1,ui=01 mod 2, and the result follows.

Let {f0, ...,fk−1} be a set of permutations over the set [0, 2m −1] with associated subsets X0, ...,Xk−1 ⊆ [0, 2m−1], where each |Xi| = 2m−1. We say that this set is a set of orthogo-

nal permutationsif for anyi,j∈ [0,k−1],

|fi(Xi)∩ fj(Xi)| 2m−1 =δi,j,

where δi,j is the Kronecker delta. Assume the code was constructed by a set of orthogonal per- mutations. By Lemma 4.4 only half of the information is accessed (2m−1elements) in each of the surviving systematic columns during a rebuilding of a systematic column. Moreover, only2m−1el- ements are accessed from each parity node, too. Hence codes generated by orthogonal permutations have optimal rebuilding ratio1/2. Now we are ready to prove Theorem 4.3.

Proof:[Proof of Theorem 4.3] Leti6=0,j, then since|ei\ej|=1, we get by Lemma 4.4 part (ii) |fi(Xi)∩ fj(Xi)|=0. Moreover, fi(X0) ={x+ei :x·(1, 1, . . . , 1) =0}={y:y·(1, 1,· · · , 1) =1},and f0(X0)∩ fi(X0) = {x :x·(1,· · · , 1) =0} ∩ {y :y·(1,· · · , 1) =1} = ∅.

Hence the permutations f0, . . . ,fmare orthogonal permutations, and the ratio is1/2by Lemma 4.4 part (i).

Note that the optimal code can be shortened by removing some systematic columns and still retain an optimal ratio, i.e., for anyk≤ m+1we have a code with optimal rebuilding.

In document Coding for Information Storage (Page 45-48)