reliable broadband communication using a burst erasure correcting code

22
Reliable Broadband Communication Using a Burst Erasure Correcting Code Anthony J. McAuley 1990 ACM SIGOMM

Upload: ksena

Post on 16-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Reliable Broadband Communication Using a Burst Erasure Correcting Code. Anthony J. McAuley 1990 ACM SIGOMM. System Goals. Provide a simplified Reed-Solomon erasure correction code at the transport layer for broadband networks. Error Characteristics in Broadband Network. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Reliable Broadband Communication Using a Burst

Erasure Correcting CodeAnthony J. McAuley

1990 ACM SIGOMM

Page 2: Reliable Broadband Communication Using a Burst Erasure Correcting Code

System Goals

• Provide a simplified Reed-Solomon erasure correction code at the transport layer for broadband networks

Page 3: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Error Characteristics in Broadband Network

• Random bit error rate of the media

• Burst error distribution of the media

• Switch buffer overflow statistics

• Switch failure rate

• Local error correction ability at the link layer

Page 4: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Error Control at the Transport Layer

• FEC (Forward Error Correction)

• ARQ (Automatic Repeat reQuest)

• Hybrid scheme

Page 5: Reliable Broadband Communication Using a Burst Erasure Correcting Code

The advantage of FEC over ARQ

• For broadband network– ARQ must manage and store large numbers of transmitted data

and retransmission timers at the sender side

– FEC has no such requirement

• For real time applications– The delay caused by retransmission is large and unpredictable

– The delay of encoding and decoding of FEC is small compared with network delay, and is usually constant

Page 6: Reliable Broadband Communication Using a Burst Erasure Correcting Code

The advantage of FEC over ARQ (cont.)

• For multicast applications, ARQ has some fundamental problems:– The transmitter complexity is proportional to the number of

receivers.

– The delay may be too large, even for low error rate, because the number of retransmission is proportional to the number of receivers

– The throughput is significantly reduced if the sender becomes busy sending retransmissions or the buffer fills up

Page 7: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Design Issues in FEC

• Block size– In larger blocks, more protection can be provided for the same

redundancy, particularly for burst errors– larger blocks tend to flatten out random fluctuations in the channel

noise, allowing less redundancy to be used– decoding delay is increased in larger blocks, receiver must wait for

all the block before the decoded information can be generated

• Redundancy– Increasing the redundancy increases the reliability, more errors can

be corrected and detected– Increasing the redundancy reduces the throughput and increases

processing overhead

Page 8: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Error Correction Code and Erasure Correction Code

• An error is defined as a corrupted bit (or symbol) with an unknown value in an unknown location, whereas an erasure is a corrupted bit (or symbol) with an unknown value in a known location

• n – length of codewordk – length of informationh – length of redundancy: h = n – kd – number of errors can be correctede – number of erasures can be corrected

h >= 2d + e• If the decoder is able to take advantage of erasure information,

replacing an error with an erasure will approximately double the error correcting power of the code

Page 9: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Code Selection

• Some channels are well behaved erasure channels– Congestion losses are erasures, multiples of the cell size and occur

only at cell boundaries

– Burst errors also appear as erasures

• Broadband networks are erasure channels can be better protected by erasure correction codes other than error correction codes

Page 10: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Desired FEC Features

• BURST CORRECTION: Errors are in multiples of the cell length and are coincident with cell boundaries

• ERASURE CORRECTION: Most errors are because of congestion: resulting in cell erasures,

• ADAPTABILITY: The channel error statistics and application requirements (for delay, throughput and reliability) varies over a wide range in a short period of time

• LOW REDUNDANCY: The number of errors can be very small and the block size can be very large

• LOW LATENCY: Some application need small encoding/• decoding delay• HIGH THROUGHPUT: Applications need throughput of• 1 gigabit per second• LOW COMPLEXITY: Implementation should be economical

Page 11: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Reed-Solomon Erasure Correction Code (RSE)

• Simplified Reed-Solomon error correction code (RSC)

• Encoding is the same as RSC

• Decoding is simplified, using the same scheme as encoding (RSC uses a more complicated decoding scheme)

• Can only deal with erasures (RSC can deal with both errors and erasures)

Page 12: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Codeword Representation

• A codeword is made up of n m-bit symbols (n < 2m):

A codeword can also be represented by a polynomial of degree n, with the coefficients being the elements in the field GF(2m)

A codeword is made up of k information symbols and h parity symbols: n = k + h

• Information I is made up of k symbols:

Information can also be represented by a polynomial of degree k:

Page 13: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Encoding

• If the least significant k symbols of the codeword are set equal to the k information symbols, then:

• A codeword C(x) is constructed to be a polynomial of degree n which can be divided by a generator polynomial g(x) of degree h:

In order to ensure g(x) divides C(x), the following h equations must hold true:

Page 14: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Encoding (cont.)

• This is a set of h simultaneous equations, with n terms and h unknowns. Since any h different equations are linearly independent the equations can be uniquely solved

• One method of solving simultaneous equations is by matrix manipulation. The above h simultaneous equations are represented by a matrix (h-matrix) shown below:

Page 15: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Decoding

• If the codeword is transmitted and (up to) h of the symbols are lost, it is possible to fill in missing symbols if we know their locations. If the unknowns are represented by variables, then (up to) h simultaneous equations can be constructed and solved.

• The encoding and decoding algorithms are identical, except decoding has unknowns in different positions.

Page 16: Reliable Broadband Communication Using a Burst Erasure Correcting Code

The Galois Field

• The alphabet of 2m distinct symbols including 0 and 1 are called Galois Field of 2m elements, denoted by GF(2m)

• A polynomial p(x) of degree m that gives a complete table of 2m

elements in GF(2m) is called primitive. For each positive integer m there exists at least one primitive polynomial of degree m

• A field element can be represented by either the binary representation or the power of a primitive elements

Page 17: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Example - GF(2m)

• m = 3

• p(x) = a3 + a + 1 a3 + a + 1 =0 => a3 = a + 1

• a0 = 1 (001: 0. a2 + 0.a + 1.1)a1 = a (010)a2 = a2 (100)a3 = a + 1 (011)a4 = a(a3) = a2 + a (110)a5 = a(a4) = a2 + a + 1 (111)a6 = a(a5) = a2 + 1 (101)a7 = a(a6) = 1 (000)

Page 18: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Example - Addition and Multiplication

• Using the ‘powers representation’ (where aj is represented by the power j), addition and multiplication in the field are defined by tables 1 and 2 respectively

Page 19: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Example - Encoding

• n = 3, k = 4, h = 3, m = 3

• I = (6, 5, 7, 1)

• The generator polynomial is defined by:g(x) = (x-1).(x-2).(x-3)C(x) = 0 for x = 1, x = 2 and x = 3

• Let the unknown code symbols cn-1 = t, cn-2 = s and cn-3 = cn-h = r

Page 20: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Example - Encoding (cont.)

• The three unknown symbols are found by applying matrix manipulation techniques to the following matrix:[ 6 5 4 (2+0+7+1) ][ 5 3 1 (5+2+7+1) ][ 4 1 5 (1+4+7+1) ]

• The unique solution for these 3 simultaneous equations is: t=1, s=6 and r=7. So the codeword is: C = (1,6,7,6,5,7,1)

Page 21: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Example - Decoding

• The receiver can correct up to 3 erasures in any of the 7 symbols. Let there be 3 erasures (represented by ‘f’) :C* = (1,6,7,f,5,f,f)

• The receiver can generate three simultaneous equations in three unknowns. If c*3=w, c*1=v and c*0=u, then:0 = 1.(6) + 6.(5) + 7.(4) + w.(3) + 5.(2) + v.(1) + u.(0)0 = 1.(5) + 6.(3) + 7.(1) + w.(6) + 5.(4) + v.(2) + u.(0)0 = 1.(4) + 6.(1) + 7.(5) + w.(2) + 5.(6) + v.(3) + u.(0)

• The three unknown symbols can be found by applying matrix manipulation techniques to the following matrix:[ 3 1 0 (0+4+7+0) ][ 6 2 0 (6+2+7+2) ][ 2 3 0 (5+0+7+4) ]

• The unique solution is: w=6, v=7 and u=1. So the rebuilt codeword is: C = (1,6,7,6,5,7,1)

Page 22: Reliable Broadband Communication Using a Burst Erasure Correcting Code

Conclusion

• RSE has the same erasure correction ability as RSC, but lacks the ability to detect and correct errors. Applying an inner error detection code to the symbols allows error symbols to be marked as missing and corrected

• The implementation of RSE is much simpler compared with RSC (can be implemented using one regular chip and achieve a throughput over 1Gbps)