Codes for Big Data: Erasure Coding for Distributed Storage P. Vijay - - PowerPoint PPT Presentation

codes for big data erasure coding for distributed storage
SMART_READER_LITE
LIVE PREVIEW

Codes for Big Data: Erasure Coding for Distributed Storage P. Vijay - - PowerPoint PPT Presentation

Codes for Big Data: Erasure Coding for Distributed Storage P. Vijay Kumar Professor, Department of Electrical Communication Engineering Indian Institute of Science, Bangalore The 3rd Annual Storage Developer Conference Bengaluru May 25-26,


slide-1
SLIDE 1

Codes for Big Data: Erasure Coding for Distributed Storage

  • P. Vijay Kumar

Professor, Department of Electrical Communication Engineering Indian Institute of Science, Bangalore The 3rd Annual Storage Developer Conference Bengaluru May 25-26, 2017

slide-2
SLIDE 2

Thanks go out to Paul Talbut and Udayan Singh for the invite and

  • K. Gopinath and Siddhartha Nandi

for being kind enough to suggest my name..

2 / 41

slide-3
SLIDE 3

Acknowledgements

Research Collaborators Joint work with: Birenjith Sasidharan, Myna Vajha, S. B. Balaji and Nikhil Krishnan (PhD students, IISc) Bhagyashree Puranik, Ganesh Kini and Vinayak Ramkumar (MTech students, IISc) Srinivasan Narayanamurthy, Syed Hussain and Siddhartha Nandi (NetApp ATG, Bengaluru, India)

3 / 41

slide-4
SLIDE 4

Organization

Erasure Coding Node Failures and the Evolution of Coding Theory Regenerating Codes Locally Recoverable Codes (briefly) Codes with Local Regeneration (briefly) Codes for Multiple Erasures (briefly)

I Codes for Data Availability I Codes with Sequential Recovery

The Coupled-Layer MSR Code in Action

4 / 41

slide-5
SLIDE 5

Erasure Coding

5 / 41

slide-6
SLIDE 6

Fault Tolerance

Fault tolerance is key to making data loss a very remote possibility A time-honored means of achieving fault tolerance is replication..

6 / 41

slide-7
SLIDE 7

Triple Replication

File%or%Data%Object% B% A% C% D% E% Data%Block% A% A% A% Triple%replica6on% Stored%in%different%nodes%of%the%storage%network%

7 / 41

slide-8
SLIDE 8

Drawback of Triple Replication

But triple replication is poor in terms of storage efficiency: just 33%. Are there better ways ?

8 / 41

slide-9
SLIDE 9

Drawback of Triple Replication

But triple replication is poor in terms of storage efficiency: just 33%. Are there better ways ? A well-known alternative is to use Erasure Coding (EC)

9 / 41

slide-10
SLIDE 10

Erasure Coding of Data

File%or%Data%Object% k%%storage%units% Ak% A2% A1% Split%the%data%object%% into%k%parts% P1% P2% Pm% add%m%parity%storage%units% (k,m)%erasure%% code%

10 / 41

slide-11
SLIDE 11

Two Key Performance Measures

1 Storage efficiency

k k + m

2 fault tolerance

  • at most m storage units

3 Codes with maximum possible fault

tolerance ⇒ MDS codes

4 Reed-Solomon codes - a prime

example

11 / 41

slide-12
SLIDE 12

An Example MDS Code - The RAID 6 Code

Source: https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/RAID_6.svg/1280px-RAID_6.svg.png 12 / 41

slide-13
SLIDE 13

Other RS Codes in Practice

Intel & Cloudera (2016) “Progress Report: Bringing Erasure Coding to Apache Hadoop”

Storage Systems Reed-Solomon codes Linux RAID-6 RS(10,8) Google File System II (Colossus) RS(9,6) Quantcast File System RS(9,6) Intel & Cloudera’ HDFS-EC RS(9,6) Yahoo Cloud Object Store RS(11,8) Backblaze’s online backup RS(20,17) Facebook’s f4 BLOB storage system RS(14,10) Baidu’s Atlas Cloud Storage RS(12, 8)

  • H. Dau et al, “Repairing Reed-Solomon Codes with Single and Multiple Erasures,” ITA, 2017,

San Diego.

13 / 41

slide-14
SLIDE 14

Evolution of HDFS to Incorporate EC ⇒ HDFS-EC

1 Typically, EC reduces the storage cost by 50% compared with 3x

replication

2 Motivated by this, Cloudera and Intel initiated the HDFS-EC project 3 Targeted for release in Hadoop 3.0. 4 Employs a striped layout: 5 Possibility of incorporating more sophisticated EC schemes !

Zhe Zhang, Andrew Wang, Kai Zheng, Uma Maheswara G., and Vinayakumar, “Introduction to HDFS Erasure Coding in Apache Hadoop,” September 23, 2015.

14 / 41

slide-15
SLIDE 15

Node Failures and the Evolution of Coding Theory

15 / 41

slide-16
SLIDE 16

Node Failures

An important consideration is how efficiently the EC can handle node failures as such failures are commonplace:

  • M. Asteris, D. Papailiopoulous, A. Dimakis, R. Vadali, S. Chen, and D. Borthakur, “XORing

elephants: Novel erasure codes for big data, ” PVLDB, 2013.

16 / 41

slide-17
SLIDE 17

RS Codes and Node Failures

Under the conventional approach, RS codes are inefficient in two respects at node repair: In the example Facebook [10, 4] RS code,

1 the amount of data download (repair BW) equals 10 times the

amount stored within the failed node

2 Also, 10 storage units need to be contacted for repair

there is room for improvement...

17 / 41

slide-18
SLIDE 18

Coding Theory Responds

1 Regenerating codes I minimize the amount of data

download (repair bandwidth) needed for node repair

2 Locally recoverable codes I minimize the number of helper

nodes contacted for node repair, but also reduce repair bandwidth

3 Novel and efficient approaches

to RS repair a more recent development

Regenera'ng(Codes( Codes(with((Locality(

  • A. G. Dimakis, P. B. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran, “Network

Coding for Distributed Storage Systems,” IEEE Trans. Inform. Th., Sep. 2010.

  • P. Gopalan, C. Huang, H. Simitci, and S. Yekhanin, “On the Locality of Codeword

Symbols,” IEEE Trans. Inf. Theory, Nov. 2012.

  • V. Guruswami, M. Wootters, “Repairing Reed-Solomon Codes,” arXiv:1509.04764 [cs.IT] .

18 / 41

slide-19
SLIDE 19

Some Comments

Regenerating Codes

1 Minimum Storage Regenerating (MSR) Codes are MDS codes 2 Regenerating codes are vector codes, each code symbol is a vector of

code ` symbols

I ` is called the sub-packetization level

Locally Recoverable Codes

1 Locally recoverable codes yield on storage efficiency for ease of node

repair Fresh approach to RS repair

1 regard RS codes as vector codes 2 minimize repair bandwidth under a constraint on sub-packetization

level `

19 / 41

slide-20
SLIDE 20

Regenerating Codes

Focus here on the subclass of Minimum Storage Regenerating (MSR) Codes

20 / 41

slide-21
SLIDE 21

Raid Code - Not Very Good at Handling Node Failure..

The conventional approach: Connect to any 2 nodes, Reconstruct A and B, Extract A

Disk 1 Disk 2 Disk 3 Disk 4

A B A+B A+θB A B

B A+B

New disk 1

But downloading 2 units of data to revive a node that stores 1 units of data is clearly, wasteful of network bandwidth..

21 / 41

slide-22
SLIDE 22

Replacing the RAID 6 Code with a Regenerating Code

Here, each node now stores two “half-symbols” We download 3 half-symbols as opposed to 2 full-symbols

I Can recover any of {A1, A2, B1}

Disk 1 Disk 2 Disk 3 Disk 4 B1 2 A

1

+ 2 A

2

+ B

1

2A1+4A2+2B1 A1 A2 B1 B2 A1 A2 B1 B2 2A1+2A2+B1 2A1+4A2+2B1 A2+2B1+2B2 A2+2B1+4B2 A1 A2 22 / 41

slide-23
SLIDE 23

Evolution of MSR Codes

Code Explicit SE SPL OA HN Product-Matrix Yes Low Low No d Hadamard & Butterfly* Yes High High No all Zig-Zag Code No High High Yes all Sasidharan et al (1) No High Low Yes all Ye-Barg (1) Yes High High Yes all Ye-Barg (2) Yes High Low Yes all Sasidharan et al (2) Yes High Low No d * ⇒ limited to 2 parity nodes SE ⇒ storage efficiency SPL ⇒ sub-packetization level OA ⇒ optimal access (number of symbols accessed for repair) HN ⇒ number of helper nodes needed

23 / 41

slide-24
SLIDE 24

References (MSR Codes with High Storage Efficiency)

1

  • K. V. Rashmi, N. B. Shah, and P. V. Kumar, “Optimal Exact-Regenerating Codes for

Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction,” IEEE Trans. Inf. Theory, Aug. 2011.

2

  • D. S. Papailiopoulos, A. G. Dimakis, and V. Cadambe, “Repair optimal erasure codes

through Hadamard designs,” IEEE Trans. Inf. Theory, May 2013.

3

  • E. En Gad, R. Mateescu, F. Blagojevic, C. Guyot, and Z. Bandic, “ Repair-Optimal MDS

Array Codes Over GF (2),” in Proceedings IEEE International Symposium on Information Theory (ISIT), 2013.

4

Zhiying Wang, Itzhak Tamo, Jehoshua Bruck, “Optimal Rebuilding of Multiple Erasures in MDS Codes, ” IEEE Trans. Information Theory, Feb. 2017.

5

  • B. Sasidharan, G. K. Agarwal, and P. V. Kumar, “A high-rate MSR code with polynomial

sub-packetization level, ” in IEEE International Symposium on Information Theory, ISIT 2015.

6

  • S. Goparaju, A. Fazeli, and A. Vardy, “Minimum storage regenerating codes for all

parameters,” IEEE Information Theory Transactions, April 2017.

7

  • M. Ye and A. Barg, “Explicit constructions of high-rate MDS array codes with optimal

repair bandwidth, ” IEEE Information Theory Transactions, April 2017.

8

  • M. Ye and A. Barg, “Explicit constructions of optimal-access MDS codes with nearly
  • ptimal sub-packetization, ” CoRR, vol. abs/1605.08630, 2016.

9

B Sasidharan, M Vajha, PV Kumar, “An Explicit, Coupled-Layer Construction of a High-Rate MSR Code with Low Sub-Packetization Level, Small Field Size and d < (n − 1), ” CoRR, vol. abs/1701.07447, 2017, to be presented at ISIT 2017.

24 / 41

slide-25
SLIDE 25

Example Coupled-Layer MSR Code

Z"="(0,0,0)" Z"="(1,1,1)"

Z y x"

2MB

Our coupled-layer perspective

  • n the Ye-Barg construction

(2) a (4, 2) MSR code 6 nodes, sub-packetization level is ` = 8 6 × 8 = 48 points in the example to follow, each point stores 2MB

1

  • M. Ye, and A. Barg, “Explicit constructions of optimal- access MDS codes with nearly
  • ptimal sub-packetization, ” May 2016.

2

  • B. Sasidharan, M. Vajha, and PVK. “An Explicit, Coupled-Layer Construction of a

High-Rate MSR Code with Low Sub-Packetization Level, Small Field Size and d < (n − 1), ” to be presented at ISIT 2017.

25 / 41

slide-26
SLIDE 26

Performance of the Coupled-Layer MSR Code

1 A comparison of actual repair time is shown. In the figure, I the (6, 4) code is in our present notation a (4, 2) code I the (12, 9) code is in our present notation a (9, 3) code I the (20, 16) code is in our present notation a (16, 4) code 26 / 41

slide-27
SLIDE 27

Performance of the Coupled-Layer MSR Code

Similar gains in network bandwidth and disk read Thus a larger sub-packetization level is not necessarily a problem for implementation

27 / 41

slide-28
SLIDE 28

Locally Recoverable Codes

28 / 41

slide-29
SLIDE 29

Windows Azure Storage Coding Solution

P1+ P2+ X1+ X2+ X3+ X4+ X5+ X6+ X7+ PX+

XPcode+

Y1+ Y2+ Y3+ Y4+ Y5+ Y6+ Y7+ PY+

YPcode+

MicrosoH+Azure+Code+

Comparison: In terms of reliability and number of helper nodes contacted for node repair, the two codes are comparable. The overheads however are quite different, 1.29 for the Azure code versus 1.5 for the RS code. This difference has reportedly saved Microsoft millions of dollars. Re

X6* X1* X5* X2* X3* X4* P1* P2* P3*

Huang, Simitci, Xu, Ogus, Calder, Gopalan, Li, Yekhanin, “Erasure Coding in Windows Azure Storage,” USENIX, Boston, MA, 2012.

29 / 41

slide-30
SLIDE 30

Codes with Hierarchical Locality

[4, 3, 2] code ⇒ (3,1) code [12, 8, 3] code ⇒ (8,4) code [24, 14, 6] code ⇒ (14,10) code Codes with hierarchical locality do exactly that by calling for help from an intermediate layer of codes when the local code fails. These codes may be regarded as the “middle codes”.

  • B. Sasidharan, G. K.Agarwal, PVK, “Codes With Hierarchical Locality,” arXiv:1501.06683

[cs.IT].

30 / 41

slide-31
SLIDE 31

Codes with Local Regeneration

31 / 41

slide-32
SLIDE 32

Codes with Local Regeneration

Regenera'ng(Codes:(( Minimize(repair(BW( Codes(with(Locality:(( Minimize(repair(degree( Codes(with(Local(Regenera'on:(( Small(repair(BW(and(( small(repair(degree(

A single code that has both locality and regeneration properties and inherent double replication of data

1

  • G. M. Kamath, N. Prakash, V. Lalitha, PVK, ‘Codes With Local Regeneration and

Erasure Correction,” T-IT, Aug. 2014 .

32 / 41

slide-33
SLIDE 33

An Example Code with Local Regeneration

The construction makes can make use of an all-symbol local scalar code and is also optimal:

1,2, 3,4 3,6, 8,P1 2,5, 8,9 4,7, 9,P1 1,5 6,7 1 2 5 3 6 9 7 4 8 1,2, 3,4 3,6, 8,P2 2,5, 8,9 4,7, 9,P2 1,5, 6,7 1 2 5 P2 3 6 9 7 4 8

Local Code 1 Local Code 2 1 2 9 P1

. . .

1 2 9 P2

. . .

Scalar All-Symbol Locality Code

Local Code 1 Local Code 2 P1

1 2 9 P3

. . .

Local Code 3 1,2, 3,4 3,6, 8,P3 2,5, 8,9 4,7, 9,P3 1,5, 6,7 1 2 5 P3 3 6 9 7 4 8

Local Code 3 33 / 41

slide-34
SLIDE 34

Codes with Availability (Recovery from Simultaneous Multiple Erasures)

34 / 41

slide-35
SLIDE 35

Recovery in Parallel

c11 C12 C13 c14 c15 c21 c22 c23 c24 c25 c31 c32 c33 c34 c35 c41 c42 c43 c44 c45 c51 c52 c53 c54 c55

X X

Last column is a parity check on entries to the left in the same row Last row is a parity check on entries above in the same column Can recover locally from 2 erasures in parallel

35 / 41

slide-36
SLIDE 36

Codes with Sequential Recovery (Recovery from Simultaneous Multiple Erasures)

36 / 41

slide-37
SLIDE 37

Sequential Recovery

c11 C12 C13 c14 c15 c21 c22 c23 c24 c25 c31 c32 c33 c34 c35 c41 c42 c43 c44 c45 c51 c52 c53 c54 c55

X X X

Same code as before Can recover locally from 3 erasures in a sequential manner Sequential recovery enables codes with larger storage efficiency

37 / 41

slide-38
SLIDE 38

References - Codes for Multiple Erasures

1

  • A. Wang and Z. Zhang, “Repair locality with multiple erasure tolerance,” IEEE Trans.
  • Inf. Theory, Nov. 2014.

2

  • N. Prakash, V. Lalitha, and P. V. Kumar, “Codes with locality for two erasures,” in Proc.

IEEE Int. Symp. Inform. Theory (ISIT) 2014.

3

  • W. Song and C. Yuen, “Binary locally repairable codes - sequential repair for multiple

erasures,” in Proc. IEEE GLOBECOM, 2016.

38 / 41

slide-39
SLIDE 39

Functioning of an Example, Coupled-Layer MSR Code

Goal: To show that a larger sub-packetization level is not necessarily a problem for implementation

39 / 41

slide-40
SLIDE 40

Example Coupled-Layer MSR Code

Z"="(0,0,0)" Z"="(1,1,1)"

Z y x"

2MB

Our coupled-layer perspective

  • n the Ye-Barg construction

(2) a (4, 2) MSR code 6 nodes, sub-packetization level is ` = 8 6 × 8 = 48 points in the example to follow, each point stores 2MB

1

  • M. Ye, and A. Barg, “Explicit constructions of optimal- access MDS codes with nearly
  • ptimal sub-packetization, ” May 2016.

2

  • B. Sasidharan, M. Vajha, and PVK. “An Explicit, Coupled-Layer Construction of a

High-Rate MSR Code with Low Sub-Packetization Level, Small Field Size and d < (n − 1), ” to be presented at ISIT 2017.

40 / 41

slide-41
SLIDE 41

64MB

Consider a file of size 64MB

  • Will encode via a [k=4, m=2] MSR Code
  • Called the Coupled-Layer MSR Code
slide-42
SLIDE 42

16MB 16MB 16MB 16MB

Step 1: Break file into k = 4 data chunks, each of 16MB.

slide-43
SLIDE 43

16MB 16MB 16MB 16MB

Z"="(0,0,0)" Z"="(1,1,1)"

Z y x"

Data cube representation of CL-MSR Code

2MB

The cube has:

  • 6 columns, each

associated to a distinct node

  • 8 horizontal planes.
  • A column has 8 points
  • Each point corresponds

to 2MB of storage

slide-44
SLIDE 44

16MB 16MB 16MB

x" y

Z"="(0,0,0)" Z"="(1,1,1)"

Z

Place four 16MB chunks in four systematic nodes

slide-45
SLIDE 45

16MB 16MB

x" y

Z"="(0,0,0)" Z"="(1,1,1)"

Z

Place four 16MB chunks in four systematic nodes

slide-46
SLIDE 46

16MB

x" y

Z"="(0,0,0)" Z"="(1,1,1)"

Z

Place four 16MB chunks in four systematic nodes

slide-47
SLIDE 47

x" y

Z"="(0,0,0)" Z"="(1,1,1)"

Z

Place four 16MB chunks in four systematic nodes

slide-48
SLIDE 48

We now have the systematic nodes

slide-49
SLIDE 49

Actual data cube

A

We will now compute the parity nodes

slide-50
SLIDE 50

Virtual data cube

B

Actual data cube

A

Will get there through an intermediate “Virtual data cube”

slide-51
SLIDE 51

Start filling the virtual data cube on the right as follows

slide-52
SLIDE 52

A1 A2

Certain pairs of points in the cube are “coupled”

slide-53
SLIDE 53

A1 A2 B1 B2 Coupling Transform A1 A2

The Coupling Transform is a 2x2 matrix transform

slide-54
SLIDE 54

A1 A2 B1 B2

Place the points obtained in the Virtual data cube

slide-55
SLIDE 55

A1 A2 B1 B2 B1 B2

Place the points obtained in the Virtual data cube

slide-56
SLIDE 56

A1 A2

Place the points obtained in the Virtual data cube

slide-57
SLIDE 57

A1 A2 B1 B2 Coupling Transform A1 A2

Place the points obtained in the Virtual data cube

slide-58
SLIDE 58

A1 A2 B1 B2 B1 B2

Place the points obtained in the Virtual data cube

slide-59
SLIDE 59

A1 A2 B1 B2 Coupling Transform A1 A2

Place the points obtained in the Virtual data cube

slide-60
SLIDE 60

A1 A2 B1 B2

Place the points obtained in the Virtual data cube

slide-61
SLIDE 61

A1 A2 B1 B2 B1 B2

Place the points obtained in the Virtual data cube

slide-62
SLIDE 62

B1 B2 A2 A1

Place the points obtained in the Virtual data cube

slide-63
SLIDE 63

Place the points obtained in the Virtual data cube

slide-64
SLIDE 64

Copy

Red dotted points are not paired, they are simply carried over

slide-65
SLIDE 65

Copy

Red dotted points are not paired, they are simply carried over

slide-66
SLIDE 66

x" y Z"="(0,0,0)" Z"="(1,1,1)" Z

We now have data-part of the Virtual data cube

slide-67
SLIDE 67

Z"="(0,0,0)"

Each plane is Reed-Solomon coded to obtain parity points

slide-68
SLIDE 68

Z"="(0,0,0)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-69
SLIDE 69

Z"="(0,0,0)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-70
SLIDE 70

Z"="(0,0,0)"

Each plane is Reed-Solomon coded to obtain parity points

slide-71
SLIDE 71

Z"="(1,0,0)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-72
SLIDE 72

Z"="(0,1,0)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-73
SLIDE 73

Z"="(1,1,0)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-74
SLIDE 74

Z"="(0,0,1)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-75
SLIDE 75

Z"="(1,0,1)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-76
SLIDE 76

Z"="(0,1,1)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-77
SLIDE 77

Z"="(1,1,1)"

RS Encode

Each plane is Reed-Solomon coded to obtain parity points

slide-78
SLIDE 78

Virtual data cube

B

Now we have the complete Virtual data cube

slide-79
SLIDE 79

Virtual data cube

B

Parity points of Actual data cube can now be computed

slide-80
SLIDE 80

Virtual data cube

B

B1 B2

Perform decoupling

slide-81
SLIDE 81

Virtual data cube

B

B1 B2 B1 B2 A1 A2 Inverse Coupling Transform

Perform decoupling

slide-82
SLIDE 82

A1 A2

Virtual data cube

B

B1 B2

Perform decoupling

slide-83
SLIDE 83

A1 A2

Virtual data cube

B

B1 B2 A1 A2

Perform decoupling

slide-84
SLIDE 84

Virtual data cube

B

B1 B2

Perform decoupling

slide-85
SLIDE 85

Virtual data cube

B

B1 B2 B1 B2 A1 A2 Inverse Coupling Transform

Perform decoupling

slide-86
SLIDE 86

Virtual data cube

B

B1 B2 A1 A2

Perform decoupling

slide-87
SLIDE 87

Virtual data cube

B

B1 B2 A1 A2

Perform decoupling

A1 A2

slide-88
SLIDE 88

Virtual data cube

B

B1 B2 B1 B2 A1 A2 Inverse Coupling Transform

Perform decoupling

slide-89
SLIDE 89

Virtual data cube

B

B1 B2 A1 A2

Perform decoupling

slide-90
SLIDE 90

Virtual data cube

B

B1 B2 A1 A2

Perform decoupling

A1 A2

slide-91
SLIDE 91

Virtual data cube

B

B1 B2

Perform decoupling

A1 A2

slide-92
SLIDE 92

Virtual data cube

B

B1 B2 Copy

Red dotted points are simply carried over

slide-93
SLIDE 93

Virtual data cube

B

B1 B2 Copy

Red dotted points are simply carried over

slide-94
SLIDE 94

Decoupling Coupling

Actual and Virtual data cubes

Virtual data cube

B

Virtual data cube

A

slide-95
SLIDE 95

The encoding is now completed!

slide-96
SLIDE 96

Problem of Node Repair: One node fails

slide-97
SLIDE 97

Problem of Node Repair: One node fails

slide-98
SLIDE 98

For this example, only half of the planes participate in repair

  • Total Helper Data = 2MB X 4 X 5 = 40MB
  • Opposed to RS code = 16MB X 4 = 64MB
  • Much larger savings seen for m > 2
slide-99
SLIDE 99

Coupling

Couple points

slide-100
SLIDE 100

Coupling

RS Dec

Run RS decoding on each of the selected planes

slide-101
SLIDE 101

Coupling

RS Dec RS Dec

Run RS decoding on each of the selected planes

slide-102
SLIDE 102

Coupling

RS Dec RS Dec RS Dec

Run RS decoding on each of the selected planes

slide-103
SLIDE 103

Coupling

RS Dec RS Dec RS Dec RS Dec

Run RS decoding on each of the selected planes

slide-104
SLIDE 104

Half the number of required points are now already computed

slide-105
SLIDE 105

Remaining points are computed by coupling transform

slide-106
SLIDE 106

Remaining points are computed by coupling transform

slide-107
SLIDE 107

Remaining points are computed by coupling transform

slide-108
SLIDE 108

Remaining points are computed by coupling transform

slide-109
SLIDE 109

Replacement Node

Contents of the failed node are now completely recovered

slide-110
SLIDE 110

Replacement Node

Node Repair done: system back to original state!

slide-111
SLIDE 111

Thanks!

41 / 41