1 / 102

1.1k likes | 1.63k Vues

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.

Télécharger la présentation
## FEC / Erasure Codes techniques and applications

**An Image/Link below is provided (as is) to download presentation**
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.
Content is provided to you AS IS for your information and personal use only.
Download presentation by click this link.
While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related