Coding for loss tolerant systems

Similar documents
Erasure Codes with a Banded Structure for Hybrid Iterative-ML Decoding

Error Detection, Correction and Erasure Codes for Implementation in a Cluster File-system

GLDPC-Staircase AL-FEC codes: A Fundamental study and New results

LDPC Code Design for Distributed Storage: Balancing Repair Bandwidth, Reliability and Storage Overhead

Lecture 12. Block Diagram

ECE 4450:427/527 - Computer Networks Spring 2017

Secure RAID Schemes from EVENODD and STAR Codes

A Tale of Two Erasure Codes in HDFS

An Introduction to Low Density Parity Check (LDPC) Codes

Dr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems

A Piggybacking Design Framework for Read-and Download-efficient Distributed Storage Codes

Coding problems for memory and storage applications

VHDL Implementation of Reed Solomon Improved Encoding Algorithm

IBM Research Report. Construction of PMDS and SD Codes Extending RAID 5

Regenerating Codes and Locally Recoverable. Codes for Distributed Storage Systems

Codes on graphs and iterative decoding

Guess & Check Codes for Deletions, Insertions, and Synchronization

Raptor Codes: From a Math Idea to LTE embms. BIRS, October 2015

Making Error Correcting Codes Work for Flash Memory

ECEN 655: Advanced Channel Coding

Error Detection & Correction

Codes on graphs and iterative decoding

Lecture 4 : Introduction to Low-density Parity-check Codes

Optimal Exact-Regenerating Codes for Distributed Storage at the MSR and MBR Points via a Product-Matrix Construction

Introduction to Low-Density Parity Check Codes. Brian Kurkoski

LDPC Codes. Slides originally from I. Land p.1

Communication Efficient Secret Sharing

Cauchy MDS Array Codes With Efficient Decoding Method

1 Reed Solomon Decoder Final Project. Group 3 Abhinav Agarwal S Branavan Grant Elliott. 14 th May 2007

Information redundancy

Balanced Locally Repairable Codes

CHAPTER 3 LOW DENSITY PARITY CHECK CODES

Constructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach

Linear Programming Bounds for Distributed Storage Codes

Explicit Code Constructions for Distributed Storage Minimizing Repair Bandwidth

Coding Techniques for Data Storage Systems

SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land

Introducing Low-Density Parity-Check Codes

LDPC Codes. Intracom Telecom, Peania

A Piggybacking Design Framework for Read- and- Download- efficient Distributed Storage Codes. K. V. Rashmi, Nihar B. Shah, Kannan Ramchandran

Product-matrix Construction

An Introduction to Low-Density Parity-Check Codes

Chapter 7 Reed Solomon Codes and Binary Transmission

Distributed Data Storage with Minimum Storage Regenerating Codes - Exact and Functional Repair are Asymptotically Equally Efficient

An Introduction to Algorithmic Coding Theory

Structured Low-Density Parity-Check Codes: Algebraic Constructions

IBM Research Report. Notes on Reliability Models for Non-MDS Erasure Codes

Balanced Locally Repairable Codes

Communication Efficient Secret Sharing

Hierarchical Codes: A Flexible Trade-off for Erasure Codes in Peer-to-Peer Storage Systems

Coping with disk crashes

Message Passing Algorithm with MAP Decoding on Zigzag Cycles for Non-binary LDPC Codes

Minimum Repair Bandwidth for Exact Regeneration in Distributed Storage

Coding with Constraints: Different Flavors

Linear Programming Bounds for Robust Locally Repairable Storage Codes

Partial-MDS Codes and their Application to RAID Type of Architectures

Block Codes :Algorithms in the Real World

Discrete Mathematics and Probability Theory Spring 2016 Rao and Walrand Discussion 6A Solution

Section 3 Error Correcting Codes (ECC): Fundamentals

Error Correction Review

Rate-Compatible Low Density Parity Check Codes for Capacity-Approaching ARQ Schemes in Packet Data Communications

An Introduction to (Network) Coding Theory

The Pennsylvania State University. The Graduate School. Department of Computer Science and Engineering

Chapter 7: Channel coding:convolutional codes

Introduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.

Distributed Reed-Solomon Codes

Low-complexity error correction in LDPC codes with constituent RS codes 1

IEEE TRANSACTIONS ON INFORMATION THEORY 1

Ultimate Codes: Near-Optimal MDS Array Codes for RAID-6

A Tight Rate Bound and Matching Construction for Locally Recoverable Codes with Sequential Recovery From Any Number of Multiple Erasures

On Encoding Symbol Degrees of Array BP-XOR Codes

Some Classes of Invertible Matrices in GF(2)

Robust Network Codes for Unicast Connections: A Case Study

2013/Fall-Winter Term Monday 12:50 Room# or 5F Meeting Room Instructor: Fire Tom Wada, Professor

Quasi-cyclic Low Density Parity Check codes with high girth

Lecture 14 October 22

S-Code: Lowest Density MDS Array Codes for RAID-6

An Introduction to (Network) Coding Theory

Correcting Localized Deletions Using Guess & Check Codes

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

Communication by Regression: Sparse Superposition Codes

Low-Complexity Encoding Algorithm for LDPC Codes

Lecture 3: Error Correcting Codes

Iterative Quantization. Using Codes On Graphs

Fountain Codes. Amin Shokrollahi EPFL

Communication Theory II

An Algorithm for a Two-Disk Fault-Tolerant Array with (Prime 1) Disks

Binary MDS Array Codes with Optimal Repair

Optical Storage Technology. Error Correction

Graph-based codes for flash memory

Weakly Secure Data Exchange with Generalized Reed Solomon Codes

On Locally Recoverable (LRC) Codes

Error-correcting codes and applications

Error Correcting Codes: Combinatorics, Algorithms and Applications Spring Homework Due Monday March 23, 2009 in class

Compressed Sensing Using Reed- Solomon and Q-Ary LDPC Codes

Interference Alignment in Regenerating Codes for Distributed Storage: Necessity and Code Constructions

Berlekamp-Massey decoding of RS code

Low-density parity-check (LDPC) codes

Fountain Uncorrectable Sets and Finite-Length Analysis

STUDY OF PERMUTATION MATRICES BASED LDPC CODE CONSTRUCTION

Transcription:

Coding for loss tolerant systems Workshop APRETAF, 22 janvier 2009 Mathieu Cunche, Vincent Roca INRIA, équipe Planète INRIA Rhône-Alpes Mathieu Cunche, Vincent Roca

The erasure channel Erasure codes Reed-Solomon codes LDPC codes Application to distributed storage 2

The erasure channel erasure channel o definition: a symbol either arrives to the destination, without any error or is erased and never received 0 0 Erased! 1 1 BSC (binary symmetric) and AWGN channels o the integrity assumption is a strong hypothesis o a received symbol is 100% guaranteed error free 3

o Fail stop 4 The erasure channel where do we find erasure channels? o On the Internet o Because of routing error, congestion o Because of bad CRC/checksum o On wireless and satelitte networks o intermittent connection due to obstacles o Distributed storage o disk failure in RAID systems o node failure in a data center o Distributed computation

The erasure channel Erasure codes Reed-Solomon codes LDPC codes Application to distributed storage 5

Erasure codes o k sources symbols, encoded into n encoding symbols k before encoding o Code rate = = n after encoding o Close to 1 => little redundancy o Close to 0 => high amount of redundancy Transmission Symbol erasure Source object k source symbols Encoding Decoding Decoded object (n-k) repair symbols 6

Erasure codes Often used as AL-FEC codes o Application Level-Forward Error Correction codes AL-FEC differ from Physical-layer FEC codes o PHY codes: o correct bit errors, and if not possible detect the errors o Symbol = bit o AL-FEC: o recover from symbol erasures o Symbol = byte, IP datagram, file chunck 7

Erasure codes how can we define good erasure codes? performance metrics for erasure codes o erasure recovery capabilities o main metric, measured as the overhead ratio: # _of _ symbols_ required _ for _ decoding decoding _overhead k o decoding needs (1+overhead)*k symbols to succeed, 1 whereas ideal (MDS) codes need only k symbols o encoding and decoding speed o to appreciate the complexity o required memory during encoding and decoding 8

The erasure channel Erasure codes Reed-Solomon codes LDPC codes Application to distributed storage 9

Reed Solomon codes In short o Discovered by Reed & Solomon in 1959 o Linear codes over GF(2 n ) o Sum : simple binary XOR o Multiplication and Division: use a logarithmic table o Based on polynomial interpolation o Practical implementation with Vandermonde matrix o any k k submatrix of a Vandermonde is invertible 10

Reed Solomon codes Encoding o Matrix vector multiplication X G = Y = Source vector: k source symbols Generator matrix: k x n Vandermonde Encoded vector: n encoded symbols o Complexity O(k 2 ) operations 11

Reed Solomon codes Decoding o Solve a linear system X G = Y = Source vector: Received vector: kxk submatrix of G k source symbols k received symbols (invertible) o Good VDM property: any kxk submatrix is invertible o k encoding symbols are enough to decode o Decoding overhead = 0, said differently RS are MDS o Complexity O(k 3 ) 12

Reed Solomon codes: summary Perfect codes o Decoding overhead = 0 o Decoding possible as soon as k symbols are received but limited scalability o n<255 GF(2 8 ) is sufficient o Fast operation over GF(2 8 ), (small logarithmic table) o Decoding speed = a few 10 Mbps o n>255, use GF(2 16 ) or more o Log table too large, cannot fit in cache o Decoding speed falls = a few Mbps 13

The erasure channel Erasure codes Reed-Solomon codes LDPC codes Application to distributed storage 14

LDPC codes in short o Low Density Parity Check (LDPC) o linear block codes o Sparse parity check matrix o discovered by Gallager in the 60 s, re-discovered in mid-90s o In general encoding require to solve a linear system O(k 3 ) o but high performance, lightweight variants exist o in the remaining we focus on a binary LDPC o Based on XOR operations 15

LDPC codes LDPC-staircase codes (RFC 5170) o a simple (trivial) parity check matrix structure Source symbols Parity symbols S 1 S 2 S 3 S 4 S 5 P 1 P 2 P 3 P 4 P 5 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 o A.K.A. double diagonal or Repeat Accumulate codes o high encoding speed (encoding is trivial) o recovery capabilities can be made close to ideal Constraints S 1 S 4 S 5 P 1 P 2 = 0 codes 16

LDPC codes Encoding S1 S2 S3 S4 S5 P1 P2 P3 P4 P5 0 0 1 1 0 1 0 0 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 1 1 0 1 0 0 0 1 1 S3 S4 P1 =0 S1 S4 S5 P1 P2 =0 S1 S2 S3 P2 P3 =0 S2 S4 S5 P3 P4 =0 S1 S2 S3 S5 P4 P5 =0 S1 S4 S5 P1 P2=0 o Linear complexity O(k) Decoding o solve a system of linear equations o Several techniques are feasible 17

LDPC codes Sol.1: Iterative Decoding (ID) o If an equation has only one unknown variable, this latter is equal to the sum of the others. Reiterate o Efficient thanks to the sparsness of the parity check matrix o Pros: Low complexity (linear O(k)) o Low CPU load and high sustainable bandwidth o Cons: Suboptimal in terms of correction capabilities code rate (k=1000,n1=3) o Some full rank systems cannot be solved Average overhead Overhead for a failure proba 10-4 2/3 (=0.66) 9.99 % 13.93 % 2/5 (=0.4) 17.13 % 22.91 % 18

LDPC codes Sol.2: Maximum Likelihood(ML) decoding o Solve a linear system (Gaussian Elimination, LU Missing symbols decomposition ) xa = b Submatrix of the Generator matrix Information of the received symbols o Excellent erasure correction capabilities code rate (k=1000,n1=5) Average overhead Overhead for a failure proba 10-4 2/3 (=0.66) 0.63 % 2.21 % 2/5 (=0.4) 2.04 % 4.41 % o High complexity: O(k 3 ) 19

Some more details on LDPC codes considered Sol. 3: Hybrid ID/ML scheme o Hybrid decoder o start decoding with ID (fast) o finish with ML if necessary (optimal) o excellent erasure correction capabilities o while remaining very fast 20

LDPC codes Decoding speed of the hybrid decoder o LDPC-staircase (N1=5), code rate 2/3, k=1,000 o Reed Solomon over GF(2 8 ) 32.4 times faster than RS (1.7 Gbps) sustainable decoding speed (Mbps) with RS: 54Mbps ID sufficient ML needed more and more often still 10.2 times faster (500 Mbps) loss probability(%) 21

The erasure channel Erasure codes Reed-Solomon codes LDPC codes Application to distributed storage 22

Application to distributed storage Client_1 Using replication : A file partitionned into 8 blocks Each block is replicated 4 times 1 3 6 7 2 4 5 8 1 3 4 6 1 2 6 8 3 4 6 7 2 3 5 7 2 5 7 8 1 4 5 8 Client_2 Can tolerate up to 3 failures 23

Application to distributed storage Client_1 Using erasure codes: A file encoded into 32 blocks: 8 source blocks 24 repair blocks A B C D E F G H 1 2 3 4 M N O P I J K L U V W X Q R S T 5 6 7 8 Client_2 Can tolerate up to 6 failures, since 8 blocks are enough to decode 24

Conclusion Erasure codes o Add redundancy to combat symbol erasures Reed-Solomon o Perfect codes (MDS), but inefficient for large objects LDPC codes o Can encode large objects o Corrections capabilities close to MDS o High encoding and decoding speed 25

Questions?