more codes never enough. 2 evenodd code basics of evenodd code each storage node as a single column...

23
More Codes Never Enough

Post on 21-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

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?