More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code each storage node as a single column...

23
More Codes Never Enough
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    214
  • download

    1

Transcript of More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code each storage node as a single column...

Page 1: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

More Codes Never Enough

Page 2: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

2

EVENODD Code

Basics of EVENODD code each storage node as a

single column # of data nodes k = p

(prime) # of total nodes n = p+2

encoding and decoding pure XOR operations

MDS property (r = 2) tolerate any 2 node failures

parity

nodes

data

nodes

Page 3: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

3

EVENODD Code Encoding

Parity node I: Simple horizontal parity

Parity node II: Diagonal parity with adjuster complement

parity I parity II

Page 4: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

4

EVENODD Code Encoding

Parity node I: Simple horizontal parity

Parity node II: Diagonal parity with adjuster complement

adjuster

parity I parity II

Page 5: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

5

EVENODD Encoding

0 0 0 1 0

1 1 0 0 0

0 1 0 0 0

1 1 0 1 1

parity

1

0

1

0

Numerical example

0

0

0

1

1

1

1

1

0

data

Page 6: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

6

EVENODD Code Decoding

Zig-Zag decode algorithm Recover adjuster Find a start point Decode iteratively

adjuster

node failures

Page 7: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

r = 3

Page 8: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

8

STAR Code

Basics of STAR code Extension of EVENODD code

EVENODD code + 1 additional parity node An efficient MDS code

Tolerating up to 3 node failures (r = 3) Encoding is straightforward

parity III

Page 9: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

9

STAR Code Decoding

Decode algorithm needs to handle any 3 node failures Special cases can be handled easily (parity failures)

e.g. parity node III among the 3 failures exact EVENODD decode

Difficult part is to deal with 3 information node failures Key to efficient decoding

node failures

Page 10: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

10

STAR Code Decoding (cont.)

In the 2nd column, the sum of any pair of cells with stride 3 can be recovered.

Starting with the last cell (zero), all cells in the 2nd column can then be recovered.

The remaining problem is to recover 2 node failures apply EVENODD decoding

node failures

Page 11: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

11

Comparison with Extended EVENODD Code

Similarities pure XOR-based (k+3, k) MDS

Differences Extended EVENODD

slope 0, 1, 2 generalize to tolerate more than triple failures

STAR slope 0, 1, -1 geometric symmetry faster decoding

Page 12: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

12

Decoding Complexity

STAR vs. Extended EVENODD

Page 13: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

13

Decoding Performance

per node 2880 byte, XOR-based RS implementation from J. Blomer

Page 14: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

Bit-Decoding

Page 15: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

15

Bit-Decoding of EVENODD

Page 16: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

16

Bit-Decoding of EVENODD

Page 17: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

17

Bit-Decoding of EVENODD

Page 18: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

18

Bit-Decoding of EVENODD

Page 19: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

Optimal Updates

Page 20: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

20

More on EVENODD

Encoding Complexity Decoding Complexity Update Complexity

Page 21: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

21

Update Complexity

EVENODD: 3 – 2/p Lower Bound?

Page 22: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

22

Update Complexity

EVENODD: 3 – 2/p Lower Bound: 2 + 1/p Gap: 49%

Page 23: More Codes Never Enough. 2 EVENODD Code Basics of EVENODD code  each storage node as a single column # of data nodes k = p (prime) # of total nodes n.

23

EVENODD-2?

Update Complexity: 2 + 1/p May be extended to r = 3 r > 4?