Different Flavors Hoang Dau University of Illinois at - - PowerPoint PPT Presentation

β–Ά
different flavors
SMART_READER_LITE
LIVE PREVIEW

Different Flavors Hoang Dau University of Illinois at - - PowerPoint PPT Presentation

Coding with Constraints: Different Flavors Hoang Dau University of Illinois at Urbana-Champaign 1 Email: hoangdau@uiuc.edu DIMACS Workshop on Network Coding: the Next 15 Years Rutgers University, NJ, 2015 Part I Coding with Constraints: A


slide-1
SLIDE 1

Coding with Constraints: Different Flavors

Hoang Dau University of Illinois at Urbana-Champaign Email: hoangdau@uiuc.edu DIMACS Workshop on Network Coding: the Next 15 Years Rutgers University, NJ, 2015

1

slide-2
SLIDE 2

Part I Coding with Constraints: A Quick Survey

slide-3
SLIDE 3

Coding with Constraints: Definition

3

𝑦1 𝑦2 𝑦𝑙

𝑑1 𝑑2 π‘‘π‘œ

ENCODED

𝑙 data symbols π‘œ coded symbols CONVENTIONAL CODE 𝑑

π‘˜ = 𝑑 π‘˜(𝑦1, 𝑦2, … , 𝑦𝑙)

slide-4
SLIDE 4

Coding with Constraints: Definition

4

𝑦1 𝑦2 𝑦𝑙

𝑑1 𝑑2 π‘‘π‘œ

ENCODED

𝑙 data symbols π‘œ coded symbols CONVENTIONAL CODE 𝑑

π‘˜ = 𝑑 π‘˜(𝑦1, 𝑦2, … , 𝑦𝑙)

CODE WITH CONSTRAINTS 𝑑

π‘˜ = 𝑑 π‘˜({𝑦𝑗: 𝑗 ∈ 𝐷 π‘˜}), 𝐷 π‘˜ βŠ† {1,2, … , 𝑙}

slide-5
SLIDE 5

Coding with Constraints: Example

5

𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

slide-6
SLIDE 6

Coding with Constraints: Example

6

𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

Linear code: 𝑑1, 𝑑2, 𝑑3, 𝑑4, 𝑑5 = 𝑦1, 𝑦2, 𝑦3 𝑯 where the generator matrix 𝑯 is 𝑯 = ? ? ? ? ? ? ? ? ?

slide-7
SLIDE 7

Coding with Constraints: Main Problem

Given the constraints 𝑑

π‘˜ = 𝑑 π‘˜({𝑦𝑗: 𝑗 ∈ 𝐷 π‘˜}), 𝐷 π‘˜ βŠ† {1,2, … , 𝑙}

how to construct codes that

– achieve the optimal minimum distance – over small field size π‘Ÿ β‰ˆ poly π‘œ

slide-8
SLIDE 8

Coding with Constraints: Main Problem

Given the constraints 𝑑

π‘˜ = 𝑑 π‘˜({𝑦𝑗: 𝑗 ∈ 𝐷 π‘˜}), 𝐷 π‘˜ βŠ† {1,2, … , 𝑙}

how to construct codes that

– achieve the optimal minimum distance – over small field size π‘Ÿ β‰ˆ poly π‘œ

Linear case: given 𝑯 = ? ? ? ? ? ? ? ? ? how to replace β€œ?”-entries by elements of 𝐺

π‘Ÿ (π‘Ÿ β‰ˆ poly(π‘œ)) so that 𝑯

generate a code with optimal distance

slide-9
SLIDE 9

Coding with Constraints: Upper Bound

Upper Bound (Halbawi-Thill-Hassibi’15, Song-Dau-Yuen’15) 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + min

βˆ…β‰ π½βŠ† 1,…,𝑙 ( βˆͺπ‘—βˆˆπ½ 𝑆𝑗 βˆ’ |𝐽|)

where 𝑆𝑗 = {π‘˜: 𝑗 ∈ 𝐷

π‘˜}

slide-10
SLIDE 10

Coding with Constraints: Upper Bound

Upper Bound (Halbawi-Thill-Hassibi’15, Song-Dau-Yuen’15) 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + min

βˆ…β‰ π½βŠ† 1,…,𝑙 ( βˆͺπ‘—βˆˆπ½ 𝑆𝑗 βˆ’ |𝐽|)

where 𝑆𝑗 = {π‘˜: 𝑗 ∈ 𝐷

π‘˜}

Properties

– 𝑒𝑛𝑏𝑦 can be found in time poly(π‘œ) – codes with 𝑒 = 𝑒𝑛𝑏𝑦 always exists over fields of size β‰ˆ π‘œ 𝑒 βˆ’ 1

slide-11
SLIDE 11

Coding with Constraints: Upper Bound

Upper Bound (Halbawi-Thill-Hassibi’15, Song-Dau-Yuen’15) 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + min

βˆ…β‰ π½βŠ† 1,…,𝑙 ( βˆͺπ‘—βˆˆπ½ 𝑆𝑗 βˆ’ |𝐽|)

where 𝑆𝑗 = {π‘˜: 𝑗 ∈ 𝐷

π‘˜}

Properties

– 𝑒𝑛𝑏𝑦 can be found in time poly(π‘œ) – codes with 𝑒 = 𝑒𝑛𝑏𝑦 always exists over fields of size β‰ˆ π‘œ 𝑒 βˆ’ 1

Question of interest: how about fields of size poly(π‘œ)?

slide-12
SLIDE 12

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

slide-13
SLIDE 13

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
slide-14
SLIDE 14

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
slide-15
SLIDE 15

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
  • rows have 𝑙 βˆ’ 1 zeros & 2 different rows share ≀ 1 common zeros
slide-16
SLIDE 16

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
  • rows have 𝑙 βˆ’ 1 zeros & 2 different rows share ≀ 1 common zeros

General Case (Halbawi-Thill-Hassibi’15): 𝑒𝑛𝑏𝑦 ≀ π‘œ βˆ’ 𝑙 + 1

slide-17
SLIDE 17

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
  • rows have 𝑙 βˆ’ 1 zeros & 2 different rows share ≀ 1 common zeros

General Case (Halbawi-Thill-Hassibi’15): 𝑒𝑛𝑏𝑦 ≀ π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist if there are β‰₯ 𝑒𝑛𝑏𝑦 βˆ’ 1 indices π‘˜β€™s where 𝐷

π‘˜ = 𝑙

slide-18
SLIDE 18

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
  • rows have 𝑙 βˆ’ 1 zeros & 2 different rows share ≀ 1 common zeros

General Case (Halbawi-Thill-Hassibi’15): 𝑒𝑛𝑏𝑦 ≀ π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist if there are β‰₯ 𝑒𝑛𝑏𝑦 βˆ’ 1 indices π‘˜β€™s where 𝐷

π‘˜ = 𝑙

– Optimal systematic codes always exists (smaller bound 𝑒𝑑𝑧𝑑 ≀ 𝑒𝑛𝑏𝑦)

slide-19
SLIDE 19

Coding with Constraints: Review

(Small field) MDS Case: 𝑒𝑛𝑏𝑦 = π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist in a few special cases (Halbawi-Ho-Yao- Duursma’14, Dau-Song-Yuen’14, Yan-Sprintson-Zelenko’14)

  • 𝑙 ≀ 4 (every π‘œ)
  • rows of 𝑯 partitioned into ≀ 3 groups, each has same β€œ?”-pattern
  • rows have 𝑙 βˆ’ 1 zeros & 2 different rows share ≀ 1 common zeros

General Case (Halbawi-Thill-Hassibi’15): 𝑒𝑛𝑏𝑦 ≀ π‘œ βˆ’ 𝑙 + 1

– Optimal codes exist if there are β‰₯ 𝑒𝑛𝑏𝑦 βˆ’ 1 indices π‘˜β€™s where 𝐷

π‘˜ = 𝑙

– Optimal systematic codes always exists (smaller bound 𝑒𝑑𝑧𝑑 ≀ 𝑒𝑛𝑏𝑦)

Common Technique: Reed-Solomon (sub-) code

slide-20
SLIDE 20

Coding with Constraints: Review

Common Technique: Reed-Solomon (sub-) code

𝑯 = ? ? ? ? ? ? ? ? ?

𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

slide-21
SLIDE 21

Coding with Constraints: Review

Common Technique: Reed-Solomon (sub-) code

𝛽1 𝛽2 𝛽3 𝛽4 𝛽5 𝑯 = ? ? ? ? ? ? ? ? ?

𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

slide-22
SLIDE 22

Coding with Constraints: Review

Common Technique: Reed-Solomon (sub-) code

𝛽1 𝛽2 𝛽3 𝛽4 𝛽5 𝑯 = ? ? ? ? ? ? ? ? ? = 𝑔

1(𝛽1)

𝑔

1(𝛽2)

𝑔

1(𝛽5)

𝑔

2(𝛽1)

𝑔

2(𝛽3)

𝑔

2(𝛽4)

𝑔

3(𝛽2)

𝑔

3(𝛽4)

𝑔

3(𝛽5) 𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

slide-23
SLIDE 23

Coding with Constraints: Review

Common Technique: Reed-Solomon (sub-) code

𝛽1 𝛽2 𝛽3 𝛽4 𝛽5 𝑯 = ? ? ? ? ? ? ? ? ? = 𝑔

1(𝛽1)

𝑔

1(𝛽2)

𝑔

1(𝛽5)

𝑔

2(𝛽1)

𝑔

2(𝛽3)

𝑔

2(𝛽4)

𝑔

3(𝛽2)

𝑔

3(𝛽4)

𝑔

3(𝛽5)

Difficulty: G may not be full rank

𝑦1 𝑦2

𝑑1 𝑑2

𝑦3

𝑑3 𝑑4 𝑑5 = 𝑑1(𝑦1, 𝑦2) = 𝑑2(𝑦1, 𝑦3) = 𝑑3(𝑦2) = 𝑑4(𝑦2, 𝑦3) = 𝑑5(𝑦1, 𝑦3)

slide-24
SLIDE 24

Part II: Joint Design of Different MDS Codes

(joint work with H. Kiah, W. Song, and C. Yuen)

slide-25
SLIDE 25

MDS Codes for Distributed Storage

25

𝑦1 𝑦2 𝑦𝑙

𝑑1 𝑑2 π‘‘π‘œ

Encoded

𝑙 data symbols π‘œ coded symbols Facebook: Reed-Solomon π‘œ = 14, 𝑙 = 10 MDS: tolerate any π‘œ βˆ’ 𝑙 node failures

slide-26
SLIDE 26

Question of Interest

  • If two (or more) independent DSS share some common data, can

we jointly design the corresponding MDS codes to get a better

  • verall failure protection?
slide-27
SLIDE 27

Question of Interest

27

  • If two (or more) independent DSS share some common data, can

we jointly design the corresponding MDS codes to get a better

  • verall failure protection?

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2 𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 𝑑1

Tolerate 1 node failure Code has minimum distance 𝑒: tolerate 𝑒 βˆ’ 1 node failures

slide-28
SLIDE 28

Question of Interest

28

  • If two (or more) independent DSS share some common data, can

we jointly design the corresponding MDS codes to get a better

  • verall failure protection?

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2 𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 𝑦2 Local Subcode 2 Local distance 𝑒2 = 3 𝑑6 𝑑7 𝑑8 𝑦3 𝑦4 𝑦5 𝑑9 𝑑10 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 6,4 MDS = 𝑦2 + 𝑦3 + 𝑦4 + 𝑦5 = 𝑦2 + 2𝑦3 + 4𝑦4 + 𝑦5 = 𝑦2 + 3𝑦3 + 2𝑦4 + 6𝑦5 = 𝑦2 + 4𝑦3 + 2𝑦4 + 𝑦5 = 𝑦2 + 5𝑦3 + 4𝑦4 + 6𝑦5 = 𝑦2 + 6𝑦3 + 𝑦4 + 6𝑦5 𝑑1 𝑑5

Tolerate 1 node failure Tolerate 2 node failures Code has minimum distance 𝑒: tolerate 𝑒 βˆ’ 1 node failures

slide-29
SLIDE 29

Question of Interest

29

  • If two (or more) independent DSS share some common data, can

we jointly design the corresponding MDS codes to get a better

  • verall failure protection?

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2

Global minimum distance 𝑒 = 4

𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 𝑦2 Local Subcode 2 Local distance 𝑒2 = 3 𝑑6 𝑑7 𝑑8 𝑦3 𝑦4 𝑦5 𝑑9 𝑑10 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 6,4 MDS = 𝑦2 + 𝑦3 + 𝑦4 + 𝑦5 = 𝑦2 + 2𝑦3 + 4𝑦4 + 𝑦5 = 𝑦2 + 3𝑦3 + 2𝑦4 + 6𝑦5 = 𝑦2 + 4𝑦3 + 2𝑦4 + 𝑦5 = 𝑦2 + 5𝑦3 + 4𝑦4 + 6𝑦5 = 𝑦2 + 6𝑦3 + 𝑦4 + 6𝑦5 𝑑1 𝑑5

Tolerate 1 node failure Tolerate 2 node failures Tolerate 3 node failures Code has minimum distance 𝑒: tolerate 𝑒 βˆ’ 1 node failures

slide-30
SLIDE 30

Upper Bound for Global Minimum Distance

For linear code 𝑑1, 𝑑2, … , 𝑑10 = 𝑦1, 𝑦2, … , 𝑦6 𝑯 where 𝑯 = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

slide-31
SLIDE 31

Upper Bound for Global Minimum Distance

For linear code 𝑑1, 𝑑2, … , 𝑑10 = 𝑦1, 𝑦2, … , 𝑦6 𝑯 where 𝑯 = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Goal: replace β€œ?”-entries with 𝐺

π‘Ÿ-elements so that

slide-32
SLIDE 32

Upper Bound for Global Minimum Distance

For linear code 𝑑1, 𝑑2, … , 𝑑10 = 𝑦1, 𝑦2, … , 𝑦6 𝑯 where 𝑯 = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Goal: replace β€œ?”-entries with 𝐺

π‘Ÿ-elements so that

– two local subcodes are MDS (additional requirement) [4,3]-MDS [6,4]-MDS

slide-33
SLIDE 33

Upper Bound for Global Minimum Distance

For linear code 𝑑1, 𝑑2, … , 𝑑10 = 𝑦1, 𝑦2, … , 𝑦6 𝑯 where 𝑯 = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Goal: replace β€œ?”-entries with 𝐺

π‘Ÿ-elements so that

– two local subcodes are MDS (additional requirement) – the global code has optimal distance (same as coding with constraints) [4,3]-MDS [6,4]-MDS

slide-34
SLIDE 34

Upper Bound for Global Minimum Distance

For linear code 𝑑1, 𝑑2, … , 𝑑10 = 𝑦1, 𝑦2, … , 𝑦6 𝑯 where 𝑯 = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Goal: replace β€œ?”-entries with 𝐺

π‘Ÿ-elements so that

– two local subcodes are MDS (additional requirement) – the global code has optimal distance (same as coding with constraints)

Same cut-set bound apply & codes over large fields achieve this bound 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + min

βˆ…β‰ π½βŠ† 1,…,𝑙 ( βˆͺπ‘—βˆˆπ½ 𝑆𝑗 βˆ’ |𝐽|)

[4,3]-MDS [6,4]-MDS

slide-35
SLIDE 35

Upper Bound for Global Minimum Distance: Two Local Subcodes

  • 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + 𝑒 + min π‘œ1 βˆ’ 𝑙1, π‘œ2 βˆ’ 𝑙2
  • 𝑒 = #{common 𝑦𝑗}
slide-36
SLIDE 36

Upper Bound for Global Minimum Distance: Two Local Subcodes

36 𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2

Global minimum distance 𝑒 = 4

𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 𝑦2 Local Subcode 2 Local distance 𝑒2 = 3 𝑑6 𝑑7 𝑑8 𝑦3 𝑦4 𝑦5 𝑑9 𝑑10 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 6,4 MDS = 𝑦2 + 𝑦3 + 𝑦4 + 𝑦5 = 𝑦2 + 2𝑦3 + 4𝑦4 + 𝑦5 = 𝑦2 + 3𝑦3 + 2𝑦4 + 6𝑦5 = 𝑦2 + 4𝑦3 + 2𝑦4 + 𝑦5 = 𝑦2 + 5𝑦3 + 4𝑦4 + 6𝑦5 = 𝑦2 + 6𝑦3 + 𝑦4 + 6𝑦5 𝑑1 𝑑5

In this example: 𝑒 ≀ 1 + 2 + min 4 βˆ’ 3, 6 βˆ’ 4 = 4 -> optimal code here π‘œ1 = 4, 𝑙1= 3 π‘œ2 = 6, 𝑙2= 4 𝑒 = 𝑦2, 𝑦3 = 2

  • 𝑒 ≀ 𝑒𝑛𝑏𝑦 = 1 + 𝑒 + min π‘œ1 βˆ’ 𝑙1, π‘œ2 βˆ’ 𝑙2
  • 𝑒 = #{common 𝑦𝑗}
slide-37
SLIDE 37

Generator Matrix Representation

37

1st code: π‘―πŸ = 1 1 1 1 1 2 3 4 1 4 2 2 =

𝑽 𝑩

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2 𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 𝑑1

slide-38
SLIDE 38

Generator Matrix Representation

38

1st code: π‘―πŸ = 1 1 1 1 1 2 3 4 1 4 2 3 =

𝑽 𝑩

2nd code: π‘―πŸ‘ = 1 1 1 1 1 1 1 2 3 4 5 6 1 4 2 2 4 1 1 1 6 1 6 6 =

π‘ͺ 𝑾

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2 𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 𝑦2 Local Subcode 2 Local distance 𝑒2 = 3 𝑑6 𝑑7 𝑑8 𝑦3 𝑦4 𝑦5 𝑑9 𝑑10 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 6,4 MDS = 𝑦2 + 𝑦3 + 𝑦4 + 𝑦5 = 𝑦2 + 2𝑦3 + 4𝑦4 + 𝑦5 = 𝑦2 + 3𝑦3 + 2𝑦4 + 6𝑦5 = 𝑦2 + 4𝑦3 + 2𝑦4 + 𝑦5 = 𝑦2 + 5𝑦3 + 4𝑦4 + 6𝑦5 = 𝑦2 + 6𝑦3 + 𝑦4 + 6𝑦5 𝑑1 𝑑5

slide-39
SLIDE 39

Generator Matrix Representation

39

1st code: π‘―πŸ = 1 1 1 1 1 2 3 4 1 4 2 3 =

𝑽 𝑩

2nd code: π‘―πŸ‘ = 1 1 1 1 1 1 1 2 3 4 5 6 1 4 2 2 4 1 1 1 6 1 6 6 =

π‘ͺ 𝑾

𝑦1 4,3 MDS Local Subcode 1 Local distance 𝑒1 = 2

Global minimum distance 𝑒 = 4

𝑑2 𝑑3 𝑑4 𝑦2 𝑦3 𝑦2 Local Subcode 2 Local distance 𝑒2 = 3 𝑑6 𝑑7 𝑑8 𝑦3 𝑦4 𝑦5 𝑑9 𝑑10 = 𝑦1 + 𝑦2 + 𝑦3 = 𝑦1 + 2𝑦2 + 4𝑦3 = 𝑦1 + 3𝑦2 + 2𝑦3 = 𝑦1 + 4𝑦2 + 2𝑦3 6,4 MDS = 𝑦2 + 𝑦3 + 𝑦4 + 𝑦5 = 𝑦2 + 2𝑦3 + 4𝑦4 + 𝑦5 = 𝑦2 + 3𝑦3 + 2𝑦4 + 6𝑦5 = 𝑦2 + 4𝑦3 + 2𝑦4 + 𝑦5 = 𝑦2 + 5𝑦3 + 4𝑦4 + 6𝑦5 = 𝑦2 + 6𝑦3 + 𝑦4 + 6𝑦5 𝑑1 𝑑5

Global code: 𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾

slide-40
SLIDE 40

Easy Case: Two Codes Have Few Common Data

  • If few common data, i.e.

𝑒 ≀ 1 + max π‘œ2 βˆ’ 𝑙2, π‘œ1 βˆ’ 𝑙1 using two Vandermonde matrices as 𝐻1, 𝐻2 : optimal minimum distance

  • Finite field size required: |𝐺

π‘Ÿ| β‰₯ max{π‘œ1, π‘œ2}

slide-41
SLIDE 41

Easy Case: Two Codes Have Few Common Data

  • If few common data, i.e.

𝑒 ≀ 1 + max π‘œ2 βˆ’ 𝑙2, π‘œ1 βˆ’ 𝑙1 using two Vandermonde matrices as 𝐻1, 𝐻2 : optimal minimum distance

  • Finite field size required: |𝐺

π‘Ÿ| β‰₯ max{π‘œ1, π‘œ2}

More specifically, in this case, if

  • π‘―πŸ =

𝑽 𝑩 is a nested MDS code: π‘―πŸ, 𝑽 are generator matrices of

MDS codes

  • π‘―πŸ‘ =

π‘ͺ 𝑾 is a nested MDS code: π‘―πŸ‘, 𝑾 are generator matrices of

MDS codes then the global code achieves the optimal minimum distance (attains the upper bound)

slide-42
SLIDE 42

Harder Case: Two Codes Have the Same Redundancy

42

  • If same redundancy, i.e.

π‘œ1 βˆ’ 𝑙1 = π‘œ2 βˆ’ 𝑙2 we construct codes that have optimal global minimum distance

  • Finite field size required: π‘Ÿ > π‘œ = π‘œ1 + π‘œ2

The construction uses the BCH bound

slide-43
SLIDE 43

Two Codes Have the Same Redundancy: BCH Bound

43

  • 𝐺

π‘Ÿ: finite field of π‘Ÿ elements

  • πœ•: primitive element of 𝐺

π‘Ÿ, i.e. 𝐺 π‘Ÿ = {0,1, πœ•, πœ•2, πœ•3, … }

  • Identify a vector 𝑑 = 𝑑1, … , π‘‘π‘œ ∈ 𝐺

π‘Ÿ π‘œ with the polynomial

𝑑 x = 𝑑1 + 𝑑2x + 𝑑3x2 + β‹― + π‘‘π‘œxπ‘œβˆ’1 BCH Bound: If every coded vector 𝒅 satisfies 𝑑 πœ•π‘— = 0, for every 𝑗 = 0,1, … , πœ€ βˆ’ 1 i.e, they all have πœ€ consecutive powers of πœ• as roots, then the code has minimum distance 𝑒 β‰₯ πœ€ + 1

slide-44
SLIDE 44

Two Codes Have the Same Redundancy: Construction

We construct the generator matrix of the optimal code. Example: 𝐺

13

𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾 =

slide-45
SLIDE 45

Two Codes Have the Same Redundancy: Construction

We construct the generator matrix of the optimal code. Example: 𝐺

13

𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾 =

5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1 π‘œ1 = 5 π‘œ1 = 6 𝑙2 = 5 𝑙1 = 4

slide-46
SLIDE 46

Two Codes Have the Same Redundancy: Construction

We construct the generator matrix of the optimal code. Example: 𝐺

13

𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾 =

5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1 Rows of 𝐻1 has root 1 = πœ•0

  • > distance 2=1+1

π‘œ1 = 5 π‘œ1 = 6 𝑙2 = 5 𝑙1 = 4

slide-47
SLIDE 47

Two Codes Have the Same Redundancy: Construction

We construct the generator matrix of the optimal code. Example: 𝐺

13

𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾 =

5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1 Rows of 𝐻1 has root 1 = πœ•0

  • > distance 2=1+1

Rows of 𝐻2 has root 1 = πœ•0

  • > distance 2=1+1

π‘œ1 = 5 π‘œ1 = 6 𝑙2 = 5 𝑙1 = 4

slide-48
SLIDE 48

Two Codes Have the Same Redundancy: Construction

We construct the generator matrix of the optimal code. Example: 𝐺

13

𝑯 = 𝑽 𝑷 𝑩 π‘ͺ 𝑷 𝑾 =

5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1 Rows of 𝐻1 has root 1 = πœ•0

  • > distance 2=1+1

Rows of 𝐻2 has root 1 = πœ•0

  • > distance 2=1+1

Rows of 𝑯 has roots πœ•0, πœ•, πœ•2

  • > distance 4=3+1

π‘œ1 = 5 π‘œ1 = 6 𝑙2 = 5 𝑙1 = 4

slide-49
SLIDE 49

Two Codes Have the Same Redundancy: Construction

49

Summary of this construction

  • Rows: treated as polynomial having certain roots
  • Solving systems of linear equations to determine rows
  • BCH bound β†’ global code & local codes have desired distances

5 1 6 1 5 1 6 1 5 11 10 9 4 12 1 7 5 1 5 1 6 1 5 1 6 1 5 1 6 1

slide-50
SLIDE 50

Conclusions

What we have done

  • Introduce a new coding problem: how to jointly design 2 (or more)

MDS codes to have better overall failure tolerance

  • Construct optimal codes for two cases

– There are few common data – Two codes have the same amount of redundancy Open Questions – Codes over small field size for 2 local codes: π‘œ1 βˆ’ 𝑙1 β‰  π‘œ2 βˆ’ 𝑙2 – Codes over small field size for more than two local codes