1.1k likes | 1.65k Views
FEC / Erasure Codes techniques and applications. Noam Singer. Index. BEC. Random XOR. Parallel Download. Tornado Codes. LT Codes. Erasure. Bulk Data. RT Oblivious. Matrix. RMDP. Polynomial. Randomized. Digital Fountain. BEC – Binary Erasure Channel . Message is packetized.
E N D
FEC / Erasure Codes techniques and applications Noam Singer Erasure Techniques - Noam Singer
Index BEC Random XOR Parallel Download Tornado Codes LT Codes Erasure Bulk Data RT Oblivious Matrix RMDP Polynomial Randomized Digital Fountain Erasure Techniques - Noam Singer
BEC – Binary Erasure Channel • Message is packetized. • Packets may be corrupted or lost during transmissions. • Detection using CRC with high probability. • Using cryptographic authentication may prevent packet modification. Erasure Techniques - Noam Singer
Handling corruptions • Ignore lost packets and errors. • Use ARQ techniques • Possible only if there exist a feed-back channel. • May result with long round-trip delays. • For multicast it is un-scalable. • Use erasure correcting codes to restore lost packets. S R Erasure Techniques - Noam Singer
Erasure codes Erasure Techniques - Noam Singer
Erasure codes • Handle packet losses. • Any errored packet is considered lost. • Encode and send more redundant packets with which the decoder may restore some lost packets. • The lost packets IDs must be known to the decoder. 0 1 2 3 4 5 6 7 8 9 10 Erasure Techniques - Noam Singer
Definitions • Data: original k packets which we want to transmit. • Code: Encoding of the data to n≥k packets which are transmitted. • Optimal encoding (n,k): An encoding of k data packets to n code packets, to which from every subset of k packets we can reconstruct the original data. • Redundency: r=n-k • Encoding rate: R=k/n • Stretch factor: c=n/k n k k r Erasure Techniques - Noam Singer
The message is not necessarily part of the encoding Encoding n = ck encoding= k+r Transmission k received X X X X X X Decoding k message Optimal encoding (n,k) k message Erasure Techniques - Noam Singer
Trivial Optimal Codes • Copying 1 packet to n packets is an (n,1) encoding. • Calculating 1 redundant packet as the XOR of all k packets, a (k+1,k) encoding. P C C C C C C C P1 P2 P3 P4 P5 P6 P7 XOR Erasure Techniques - Noam Singer
Non-optimal codes • Some codes require slightly more than k packet to restore the original data. • ε is called “Encoding Inefficiency” if k(1+ε) packets are required for decoding on the average. • Decoding efficiency is 1/(1+ε) • Optimal encoding has decoding efficiency 1 k k r k Erasure Techniques - Noam Singer
Decoding limitations • When receiving less than k packets, no decoder exists, which can reconstruct the entire original message.This is true because there can be no compression in our model. • ►Any (n,k) optimal encoding, can’t correct more than n-k losses. ??? k k r Erasure Techniques - Noam Singer
Matrix erasure code • We’ll place packets in an mxm matrix. • We’ll add redundant XOR packets of the data in each row and column. • We’ll also protect the XOR row and column with another XOR packet. • The data size is k=m2 • The code size is Erasure Techniques - Noam Singer
Matrix correction • All packets may be lost, even the new redundant packets. • Algorithm: • Find a line or a column with only one error, and fix lost packets to the XOR of all correct packets. • We continue until we don’t find any. • Decoding complexity: O(e) Erasure Techniques - Noam Singer
Correction sample 0 0 1 Erasure Techniques - Noam Singer
Unresolved situations • A knot is a subset of the errors, in which every row/column has at least two errors. • Knots can not be resolved. • Such a knots will always exist for e>2m+1 • Decoding limitations: • Less than 4 errors can always be fixed. • Up to 2m+1 errors might be fixed • More than 2m+1 errors can never be fixed. Erasure Techniques - Noam Singer
d-dimensional matrix • We can expand the matrix model to a d-dimensional matrix, in which for each d-dimensional column we calculate a XOR packet. Erasure Techniques - Noam Singer
d-dimensional limitations • Code size: (m+1)d • Stretch factor (1+1/m)d • Decoding complexity: O(ed) • Decoding limitations: • Less than 2d errors can always be fixed. • Up to (m+1)d-md errors might be fixed • More than (m+1)d-md errors can never be fixed. Erasure Techniques - Noam Singer
k n-1=|F |-1 Polynomial codes • We use a polynomial P(x) of degree k-1 over a finite field, which is large enough. • The data Y0…Yk-1 is the value of P(x) for x=0…k-1 • The Redundant information Y’k…Y’n-1 is the value of P(x) for x=k…n-1 • By receiving any k values of the polynomial, we can reconstruct the polynomial and calculate Y0…Yk-1 0 k-1 Erasure Techniques - Noam Singer
Polynomial codes properties • Optimal encoding for every (n,k), where n may not be defined in advance. • Encoding and decoding using either • Reed-Solomon • Vandermonde matrix • Reed-Solomon complexity (in field operations): • Trivial encoding: O(k2+k(n-k)) • Trivial decoding: O(k2e) • There exist decoding in O(n log2n loglog n) with very large factor, making it unusable. Erasure Techniques - Noam Singer
Randomized codes • Codes in which the encoder uses randomization to encode the message. • With high probability decoding of the message is reached after receiving (1+ε)k encodings. • Example: In polynomial codes, the indexes can be randomly picked from the range {0..k2-1}.Due to the birthday paradox, no index will be used twice. Erasure Techniques - Noam Singer
XOR based random codes • A vector of v size k over GF(2) is randomly picked. • The encoder send <v,x1..xk> + The seed for generating the random vector. • The decoder after receiving k independent vectors, may solve the proper linear equations and reconstruct x1..xk. Erasure Techniques - Noam Singer
XOR based random codes (cont) • The expected number of equations to reach the decoder from which k are independent is no more than k+2 • The expected encoding complexity is O(k2) • The expected decoding complexity is O(k3) • We need to construct a more efficient method… Erasure Techniques - Noam Singer
Tornado Codes M. G. Luby, M. Mitzenmacher, M. A. Shokrollahi, D. A. Spielman, V. Stemann Erasure Techniques - Noam Singer
Tornado codes • Define a special bipartite graph between the original packets and redundant XOR packets. • The received packets form linear equations, to which the solution is the message packets. • With high probability solution is found. Erasure Techniques - Noam Singer
Encoding Structure Bipartite graph Bipartite graph Standard loss-resilient code Message n to encoding cn, c=2β=1-1/c is the shrink factor = message = redundancy Erasure Techniques - Noam Singer
Encoding Process Erasure Techniques - Noam Singer
Decoding Process: Direct Recovery Erasure Techniques - Noam Singer
Decoding Process: Substitution Recovery indicates right node has one edge Erasure Techniques - Noam Singer
Decoding Process: Substitution Recovery indicates right node has one edge Erasure Techniques - Noam Singer
Tornado: Complexity & efficiency • Efficiency relaxation • Decode from any (1+ ε)n words of encoding • Reception efficiency is 1/(1+ ε). • Complexity (using XOR operations) • Encoding: O(n ln(1/ε)) • Decoding: O(n ln(1/ε)) Erasure Techniques - Noam Singer
Tornado limitations • The channel rate must be known in advance, as for each rate we need to construct a different bipartite graph. • The bipartite graph construction must be known by both peers at the beginning. Erasure Techniques - Noam Singer
Onlineness limitations • A code is not online, if the reconstruction of lost packets is delayed until enough redundant packets are received. • With all shown erasure techniques, decoding can not be performed online. For some losses, we should wait for at least k encodings in order to decode anything. Need at least k encodings for decoding losses lost packet Erasure Techniques - Noam Singer
Bulk data distribution Data Carousel RMDP Digital Fountain Erasure Techniques - Noam Singer
Model • Single server • Multiples receivers • Single bulk data for distribution • Software, Databases, Video • Networking: IP, Cellular, Satellite Erasure Techniques - Noam Singer
TCP like solution • Each client communicate with the server for a continuous-connection download. • Server resources exhaustion. • Bandwidth , Connections, Disk accesses, CPU • Need to handle TCP disconnections. Erasure Techniques - Noam Singer
Data carousel • Receiver signup for a multicast group. • Data is fragmented into packets which are transmitted in a loop. • For loss probability P, the average rounds required for receiving all packets is expected as: O(log1/p n) • Using FEC with n slightly larger than k, does not help much. Erasure Techniques - Noam Singer
RMDP – Reliable Multicast data Distribution Protocol L. Rizzo L. Vicisano Erasure Techniques - Noam Singer
RMDP - Server • Data is encoded with n>>k • Each receiver request for data, reports the receiver’s downstream bandwidth. • Server transmits encoded symbols at the maximal bandwidth of all receivers. • Server keeps track of receivers expected reception. When a receiver receives enough packets, it is removed. R R S R Erasure Techniques - Noam Singer
R R S R RMDP - Receivers • Receivers accept enough distinct packets (k) in order to construct the original k data packets. • The number of packets a receiver accepts on the average is its bandwidth multiplied by its reception time. • After a receiver is assumed to accepts n messages, it may be considered ‘finished’. Erasure Techniques - Noam Singer
RMDP Erasure Techniques - Noam Singer
RMDP - Efficiency • Encoding complexity is high: O(nk) where n is much larger than k. • Decoding complexity O(k2+rk), where r is the number of packets received which are not part of the original data. • Using other erasure techniques may improve efficiency. Erasure Techniques - Noam Singer
Digital Fountain J. W. Byers M. G. Luby M. Mitzenmacher A. Rege Erasure Techniques - Noam Singer
Digital Fountain • Tornado-Codes used as erasure technique. • Server transmit data over different layers, with increasing rate. • Each layer is transmitted over a different multicast group. • Example: Each layer has about twice the transmission rate as the one beneath it.BW1=BW0BWi>1=2BWi-1=2i-1BW0 Erasure Techniques - Noam Singer
Receivers • Receiver which subscribes to layer i, actually subscribes to all multicast groups of layers 0…i-1 • With the example before,Reception bandwidth = 2BWi=2iBW0 • If only a few losses were during some time, the receiver joins a higher layer. • If more than about BWi losses were detected, the receiver retreat to a lower layer. BW4 BW3 BW2 BW1 BW0 Erasure Techniques - Noam Singer
Congestion control • Synchronization Points (SP) are special packets marking receivers of the time they may join higher levels. • Servers periodically transmit with bursts of twice the rate of each layer. • Receivers which experienced few losses are candidate to move to a higher layer. • Thos who experienced many losses, should lower their layer. Erasure Techniques - Noam Singer
Packets scheduling • A receiver which signed-up to layer i should receiver as many distinct packets from all its layers. • Moreover, a receiver which signed-up to lower layer, should accept all distinct packets from its layer. Erasure Techniques - Noam Singer
Sample scheduling • The following scheduling was proposed Erasure Techniques - Noam Singer
Parallel downloading • The model: • Single client, many servers • Servers may go down dynamically • Connectionless • P2P: Kazza, eMule, … Erasure Techniques - Noam Singer
Parallel downloading • The encodes the message with k2<<n→∞. • The indices may be randomly picked or be uniquely constructed using the computer’s IP. • The decoder reconstructs the message from (1+ε)k distinct encodings. • Simple and neat, but unimplemented. Erasure Techniques - Noam Singer
LT Codes M. G. Luby Erasure Techniques - Noam Singer