p. vijay kumar joint work with coding: from … › ... › docs › 2782 ›...

32
Codes for Distributed Storage - Two Recent Results P. Vijay Kumar joint work with Birenjith Sasidharan and Gaurav Agarwal Coding: From Practice to Theory Simons Institute Workshop February 11, 2015

Upload: others

Post on 06-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Codes for Distributed Storage- Two Recent Results

P. Vijay Kumar

joint work withBirenjith Sasidharan and Gaurav Agarwal

Coding: From Practice to TheorySimons Institute Workshop

February 11, 2015

Page 2: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Two Recent Results

Codes&with&Locality&

Low&Repair&Degree&

Regenera6ng&Codes&

Low&Repair&

Bandwidth&

High-Rate MSR Code with LowSub-Packetization Level

(alphabet size)

α = (n − k)n

(n−k)

Codes with Hierarchical Locality

A. G. Dimakis, P. B. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran, “NetworkCoding for Distributed Storage Systems,” IEEE Trans. Inform. Th., Sep. 2010.P. Gopalan, C. Huang, H. Simitci, and S. Yekhanin, “On the Locality of CodewordSymbols,” IEEE Trans. Inf. Theory, Nov. 2012.

2 / 32

Page 3: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

High-Rate MSR Codes

Birenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, “A High-Rate MSR Code

With Polynomial Sub-Packetization Level,” submitted to ISIT 2015, see also

arXiv:1501.06662v1 [cs.IT] 27 Jan 2015.3 / 32

Page 4: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Regenerating Codes

Parameters: ( [n, k , d ], [α, β], B, Fq )

1

k+1

k

2

n

Data Collector

α

α

α

α capacity nodes

1

d+1

2

n

1’

3

β

β

β

α capacity nodes

Data Collection: Connect to any k nodes

Nodes Repair: Connect to d nodes, download β symbols from each

We will assume Exact Node Repair

4 / 32

Page 5: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Cut-Set Bound from Network Coding

File size B ≤k∑

i=1

min{ α, (d − i + 1)β }

cut

DC

in out

5 / 32

Page 6: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Many Flavors of Optimality for Given (k , d ,B)

Repair Bandwidth (dβ) vs Storage-per-Node (α)Two extremes:

I Minimum Storage Regenerating (MSR) pointI Minimum Bandwidth Regenerating (MBR) point

6 / 32

Page 7: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Constructions of MSR Codes (Rate R ≤ 12)

1 K. V. Rashmi, Nihar B. Shah and P. Vijay Kumar, “Optimal Exact-Regenerating Codesfor Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction,”IT-Trans, August 2011.

2 Changho Suh and Kannan Ramchandran, “Exact-Repair MDS Code Construction Using

Interference Alignment,” IT-Trans, March 2011.

I Nihar Shah, K. V. Rashmi, P. Vijay Kumar and Kannan Ramchandran,

“Interference Alignment in Regenerating Codes for Distributed Storage: Necessity

and Code Constructions,” IT-Trans, April 2012.

7 / 32

Page 8: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Constructions of High-Rate MSR Codes (Rate R > 12)

1 Viveck R. Cadambe, SyedAli Jafar, Hamed Maleki, Kannan Ramchandran and ChanghoSuh, “Asymptotic Interference Alignment for Optimal Repair of MDS Codes inDistributed Storage,” IT-Trans, May 2013. (establish existence)

2 D. S. Papailiopoulos, A. G. Dimakis, and V. R. Cadambe, “Repair Optimal Erasure Codesthrough Hadamard Designs,” IT-Trans, May 2013. (construction for 2 parities)

3 Itzhak Tamo, Zhiying Wang, and Jehoshua Bruck, “Zigzag Codes: MDS Array CodesWith Optimal Rebuilding,” IT-Trans, March 2013. (repair systematic nodes)

4 Z. Wang, I. Tamo, J. Bruck, “On Codes for Optimal Rebuilding Access,” Allerton, 2011(also repair parity)

8 / 32

Page 9: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Sub-Packetization Level

1 Bound1 in [1]

log2(α) (logδ(α) + 1) ≥ k − 1

2

δ = 1 +1

r − 1, r = (n − k).

2 Construction in [2]

α = rk+1

3 Present Construction

α = rnr

[1] Sreechakra Goparaju, Itzhak Tamo, and Robert Calderbank, “An ImprovedSub-Packetization Bound for Minimum Storage Regenerating Codes,” IT-Trans, May 2014.

[2] Z. Wang, I. Tamo, J. Bruck, “On Codes for Optimal Rebuilding Access,” Allerton, 2011.

1Typo in presentation pointed out by E. Teletar has been corrected here.9 / 32

Page 10: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Sub-Packetization Level

Present Construction

α = rnr

r = (n − k)

Parameter t Rate R = t−1t Sub-packetization level α

t = 3 23 r3

t = 4 34 r4

t = 5 45 r5

10 / 32

Page 11: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Construction Builds on the Earlier Work ...

Itzhak Tamo, Zhiying Wang, and Jehoshua Bruck, “Zigzag Codes:MDS Array Codes With Optimal Rebuilding,” IT-Trans, March 2013

Z. Wang, I. Tamo, J. Bruck, “On Codes for Optimal RebuildingAccess,” Allerton, 2011

11 / 32

Page 12: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

How We WIll Explain Construction ...

Parity-Check Point of View

First present a simplistic view of parities that will repair but cannothandle data collection

Will then refine this

Will then refine this further (this will now permit data collection asdesired)

12 / 32

Page 13: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Parameters of Construction

Parameters: ( [n, k , d ], [α, β], B, Fq )

n tq

k (t − 1)q

d (n − 1)

α qt

β qt−1

r q

Rate t−1t

α rnr

13 / 32

Page 14: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Notation Used in Construction

Parameters: ( [n, k , d ], [α, β], B, Fq )

Node 1 Node 2 · · · Node n

First symbol in nodeSecond symbol in node

......

......

Last αth symbol in node︸ ︷︷ ︸(n × α) codeword array

Code symbol C ( `, θ︸︷︷︸node

; x︸︷︷︸symbol in node

)

`th node group θth node xth symbol

` = 1, 2, · · · , t θ ∈ Fq x ∈ Ftq

14 / 32

Page 15: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Parity Checks

Row-Sum Parity Checks:

t∑`=1

∑θ∈Fq

C (`, θ; z) = 0

Jump (Zig-Zag) Parity Checks:

t∑`=1

∑θ 6=z`

C (`, θ; z) + C (`, z`; (z −∆e`)︸ ︷︷ ︸jump in `th position

)

= 0

15 / 32

Page 16: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Illustrating Row-Sum Parity Checks (z1 = 0 only)

` = 1 ` = 2 ` = 3(x1x2x3) θ = 0 θ = 1 θ = 0 θ = 1 θ = 0 θ = 1

Node 1 Node 2 Node 3 Node 4 Node 5 Node 6

(000) A A A A A A

(001) B B B B B B

(010) C C C C C C

(011) D D D D D D

(100)

(101)

(110)

(111)

( A, B, C and D represent Row-Sum parity checks)

16 / 32

Page 17: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Illustrating Jump Parity Checks (z1 = 0 only)

` = 1 ` = 2 ` = 3(x1x2x3) θ = 0 θ = 1 θ = 0 θ = 1 θ = 0 θ = 1

Node 1 Node 2 Node 3 Node 4 Node 5 Node 6

(000) P P R P Q

(001) Q Q S P Q

(010) R P R R S

(011) S Q S R S

(100) P

(101) Q

(110) R

(111) S

( P, Q, R and S represent Jump parity checks)

From this it is clear how node 1 can be repaired by downloading 4symbols from each of the other nodes

17 / 32

Page 18: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

First refinement: Bringing in Coefficients

t∑`=1

∑θ∈Fq

λ(`, θ)︸ ︷︷ ︸coefficient

C (`, θ; z) = 0

t∑`=1

∑θ 6=z`

λ(`, θ)C (`, θ; z) + λ(`, z`)C (`, z`; (z −∆e`)︸ ︷︷ ︸jump in `th position

)

= 0

18 / 32

Page 19: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Second Refinement: Adding Extra Terms in the ParityCheck Equations (for Data Collection)

t∑`=1

∑θ∈Fq

λ(`, θ)C (`, θ; z) = 0

t∑`=1

∑θ 6=z`

λ(`, θ)C (`, θ; z) + λ(`, z`)C (`, z`; (z −∆e`)︸ ︷︷ ︸jump in `th position

)

+

t∑`=1

∑θ∈Fq

γ(`, θ)C (`, θ; z)

︸ ︷︷ ︸helps guarantee data-collection property

= 0

19 / 32

Page 20: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Parity-Check Matrix (without extra terms)

Associated parity-check matrix H is of the form:

` = 1 ` = 2 ` = 3

θ = 0 θ = 1 θ = 0 θ = 1 θ = 0 θ = 1

Node 1 Node 2 Node 3 Node 4 Node 5 Node 6

z1 = 0 I4 I4 I4 I4 I4 I4z1 = 1 I4 I4 I4 I4 I4 I4

z1 = 0 I4 I4 A1 A3 A5 A7

z1 = 1 I4 I4 A2 A4 A6 A8

∆ = 0 in the first two rows

∆ = 1 (indicating jump parity) in bottom two rows

20 / 32

Page 21: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Parity-Check Matrix (with extra terms in blue )To ensure data recovery, replace H by the form:

H = H0 + H1

where H0,H1 are given respectively by:

` = 1 ` = 2 ` = 3θ = 0 θ = 1 θ = 0 θ = 1 θ = 0 θ = 1

Node 1 Node 2 Node 3 Node 4 Node 5 Node 6

z1 = 0 I4 I4 I4 I4 I4 I4z1 = 1 I4 I4 I4 I4 I4 I4

z1 = 0 I4 I4 I4 I4 I4 I4z1 = 1 I4 I4 I4 I4 I4 I4

` = 1 ` = 2 ` = 3θ = 0 θ = 1 θ = 0 θ = 1 θ = 0 θ = 1

Node 1 Node 2 Node 3 Node 4 Node 5 Node 6

z1 = 0z1 = 1

z1 = 0 I4 I4 A1 A3 A5 A7

z1 = 1 I4 I4 A2 A4 A6 A8

(this ensures the data collection property; Polynomial root counting)

21 / 32

Page 22: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Codes with Hierarchical Locality

Birenjith Sasidharan, Gaurav Kumar Agarwal, P. Vijay Kumar, “Codes With Hierarchical

Locality,” submitted to ISIT 2015, see also arXiv:1501.06683 [cs.IT]

22 / 32

Page 23: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Codes with Locality do not Scale

[4,3,2]' [4,3,2]'[4,3,2]' [4,3,2]' [4,3,2]' [4,3,2]'

[24,14,7]'

d ≤ (n − k + 1)︸ ︷︷ ︸Singleton bound

−(dkre − 1

)(δ − 1)︸ ︷︷ ︸

loss due to locality

r = locality

δ = minimum distance of the local code

23 / 32

Page 24: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Codes with Hierarchical Locality

[24,14,6]

[12,8,3]

[4,3,2] [4,3,2] [4,3,2]

[12,8,3]

[4,3,2] [4,3,2] [4,3,2]

d ≤ n − k + 1−(⌈

k

r2

⌉− 1

)(δ2 − 1)︸ ︷︷ ︸

bound for codes with locality

−(⌈

k

r1

⌉− 1

)(δ1 − δ2)︸ ︷︷ ︸

additional loss for 2nd locality layer

24 / 32

Page 25: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Bound on Minimum Distance

Find a(k − 1)-dimensionalpunctured code Cs witha large support.

Then,dmin ≤ n − Supp(Cs).

Algorithm used to identify CsSTART

Yes

Yes

EXITNo

No

25 / 32

Page 26: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

All-symbol Local Optimal Construction: An Example

Need to satisfy a divisibility condition n2 | n1 | nExample: [24, 14], [12, 8], [4, 3].

1 Choose F25.

2 Identify subgroup chain H2 ⊆ H1 ⊆ H

3 Coset decomposition - supports of local codes

26 / 32

Page 27: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

All-symbol Local Optimal Construction: An Example

Need to satisfy a divisibility condition n2 | n1 | nExample: [24, 14], [12, 8], [4, 3].

1 Choose F25.

2 Identify subgroup chain H2 ⊆ H1 ⊆ H = F∗25

3 Coset decomposition - supports of local codes

27 / 32

Page 28: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

All-symbol Local Optimal Construction: An Example

28 / 32

Page 29: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

All-symbol Local Optimal Construction: An Example

29 / 32

Page 30: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Information-symbol Local Optimal Construction: PyramidCodes

[n, k] = [15, 8], [n1, r1] = [7, 4], [n2, r2] = [3, 2].

δ2 = 2, δ1 = 3, d = 4. (optimal dmin)

a b a+b

c d c+da+2b+c+2d

p q p+q

r s r+sp+2q+r+2s

a+3b+c+3d+

p+3q+r+3s

30 / 32

Page 31: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Pyramid Codes (contd.)

Consider an MDS code with parameter [k + d − 1, k, d ] = [11, 8, 4].

Gmds = [Ik×k | Ak×(d−1)] = [I8×8 | A8×3].

G smds =

[I8×8

B4×2

C4×2D8×1

],

G ssmds =

I8×8

E2×1

F2×1G4×1

H2×1

J2×1K4×1

D8×1

,

Glocal =

I8×8

E2×1

F2×1G4×1

H2×1

J2×1K4×1

D8×1

,31 / 32

Page 32: P. Vijay Kumar joint work with Coding: From … › ... › docs › 2782 › slideskumar.pdfBirenjith Sasidharan, Gaurav Kumar Agarwal, and P. Vijay Kumar, \A High-Rate MSR Code With

Thanks!

32 / 32