Erasure Coding for Real-Time Streaming

21
Erasure Coding for Real-Time Streaming Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02

description

Erasure Coding for Real-Time Streaming. Derek Leong and Tracey Ho California Institute of Technology Pasadena, California, USA ISIT 2012 2012-07-02. Problem Definition. Discrete-time data streaming system - PowerPoint PPT Presentation

Transcript of Erasure Coding for Real-Time Streaming

Page 1: Erasure Coding for Real-Time Streaming

Erasure Coding forReal-Time Streaming

Derek Leong and Tracey HoCalifornia Institute of Technology

Pasadena, California, USA

ISIT 20122012-07-02

Page 2: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 2 of 21

packet erasure link(each transmitted packetis of normalized unit size)

Discrete-time data streaming system Independent messages of uniform size s are created at the source at

regular intervals of c time steps, and must be decoded at the receiver within d time steps from their respective creation times

Problem Definition

messages are created every

c = 3 time steps … … and have to be decoded withind = 8 time steps

Page 3: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 3 of 21

An erasure pattern specifies a set of erased or lost packets An erasure model describes a set of erasure patterns that

we wish to withstand

Problem Definition

erasure pattern #1: {7, 12, 20}erasure pattern #2: {2, 3, 13, 14, 15, 16}

Page 4: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 4 of 21

We established the capacity region and found capacity-achieving codesfor the following erasure models: #1: Limited number of erasures per sliding window #2: Erasure bursts of a limited length

For each erasure model: We specify a set of erasure patterns The objective is to find an optimal code that achieves

the maximum message size s, among all codes that allowall messages to be decoded by their respective deadlinesunder all erasure patterns in

Problem Definition

when is it necessary to apply intersession coding; when will

intrasession coding suffice?

Page 5: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 5 of 21

Intrasession coding: coding only within the same message

We specify the allocation of the unit-size packet at each time stepamong the different messages

Random linear coding / MDS code is subsequently applied to the allocation

Code Construction

Page 6: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 6 of 21

The unit-size packet at each time step is divided evenly amongall active messages

Code Construction

when d is a multiple of c …

messages 2, 3, 4 are active at t = 12

coding window for each messageconstant number

of active messages at each time step

Page 7: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 7 of 21

The unit-size packet at each time step is divided evenly amongall active messages

Code Construction

when d is not a multiple of c ...

messages 3, 4, 5 are active at t = 13

variable number of active messages at

each time step

messages 3, 4 are active at t = 12

Page 8: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 8 of 21

Erasure Model #1:Limited Number of Erasures

Per Sliding Window

Page 9: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 9 of 21

Let be the union of coding windows for messages {1, ..., n}

Let be the set of all erasure patterns that have z or fewer erasures in each sliding window of size d

The objective is to construct a code that allowsall n messages {1, ..., n} to be decoded by their respective deadlinesunder any erasure pattern

Let be the maximum message size that can be achievedby such a code, for a given choice of n, c, d, and z

#1: Limited Number of Erasures Per Sliding Window

Page 10: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 10 of 21

#1: Limited Number of Erasures Per Sliding Window

However, it turns out that the constructed intrasession code isasymptotically optimal:

RESULT 1The constructed code achieves a message size of

y 1 + ··· + yd−z,which is equal to the asymptotic maximum achievable message size

Over a finite time horizon (i.e., when n is finite), intrasession codingcan be suboptimal: for example, given (n, c, d, z ) = (3, 1, 3, 1),the optimal intrasession code achieves a message size of 6/7, whereasthe optimal intersession code achieves a message size of 1

M1 M2M1

M2M3 M3+O

1 2 3 4 5 t

Page 11: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 11 of 21

when d is a multiple of c ...

Proof of Achievability: Each message is allocated the same amount of space, distributed in the same way

over d blocks across its coding window Let y be the vector of block sizes sorted in ascending order

#1: Limited Number of Erasures Per Sliding Window

d−zevery coding window

will always haved−z or more

unerased time stepsone-size blocks

Page 12: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 12 of 21

when d is not a multiple of c ...

Proof of Achievability: Each message is allocated the same amount of space, distributed in the same way

over d blocks across its coding window Let y be the vector of block sizes sorted in ascending order

#1: Limited Number of Erasures Per Sliding Window

d−zevery coding window

will always haved−z or more

unerased time stepssmall vs.

big blocks

Page 13: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 13 of 21

Proof of Converse: When d is a multiple of c, we consider a cut-set bound corresponding to a

specific worst-case erasure pattern in which exactly z erasures occurin every sliding window

This is just the periodic erasure pattern comprising alternating intervals ofd−z unerased time steps and z erased time steps

#1: Limited Number of Erasures Per Sliding Window

when d is a multiple of c ...

pick z = 4

Page 14: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 14 of 21

Proof of Converse: When d is not a multiple of c, no single admissible erasure pattern gives us

a bound that matches the constructed code; instead, we need to combinedifferent erasure patterns for different messages

To pick these erasure patterns, we consider a base erasure pattern(which may not be admissible in general)

#1: Limited Number of Erasures Per Sliding Window

when d is not a multiple of c ...partition the set

of time steps into d sets

Page 15: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 15 of 21

Proof of Converse: When d is not a multiple of c, no single admissible erasure pattern gives us

a bound that matches the constructed code; instead, we need to combinedifferent erasure patterns for different messages

To pick these erasure patterns, we consider a base erasure pattern(which may not be admissible in general)

#1: Limited Number of Erasures Per Sliding Window

when d is not a multiple of c ... pick z = 4

Page 16: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 16 of 21

Proof of Converse: From this base erasure pattern, we derive admissible erasure patterns

by taking its intersection with each coding window These derived erasure patterns are used to inductively compute an

upper bound for the conditional entropy

#1: Limited Number of Erasures Per Sliding Window

“amount of space left inthe unerased time steps

of the coding windowfor message n ...

... after encoding the first n messages ...

... and conditioned on the previous time steps”

Page 17: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 17 of 21

Erasure Model #2:Erasure Bursts of a Limited Length

Page 18: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 18 of 21

Let be the union of coding windows for messages {1, ..., n}

Let be the set of all erasure patterns in whicheach erasure burst is z or fewer time steps in length, andconsecutive bursts are separated by a gap of d−z or more unerased time steps

The objective is to construct a code that allowsall n messages {1, ..., n} to be decoded by their respective deadlinesunder any erasure pattern

Let be the maximum message size that can be achievedby such a code, for a given choice of n, c, d, and z

#2: Erasure Bursts of a Limited Length

Page 19: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 19 of 21

#2: Erasure Bursts of a Limited Length Using the proof technique of Result 1, we can show that

the constructed code is asymptotically optimal in a number of cases:

RESULT 2The constructed code achieves a message size of

y 1 + ··· + yd−z,which is equal to the asymptotic maximum achievable message size

in the following cases:(1) when d is a multiple of c

(2) when d is not a multiple of c, and z ≤ c − r(d,c)(3) when d is not a multiple of c, and z ≥ d − r(d,c)

maximum erasure burst length is

sufficiently short

maximum erasure burst length is

sufficiently longintersession coding may be necessary

for intermediate values of z

Page 20: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 20 of 21

We established the capacity region and found capacity-achieving codesfor the following erasure models: #1: Limited number of erasures per sliding window #2: Erasure bursts of a limited length

Further Work: Investigating optimal code constructions for the bursty erasure model when z takes on intermediate values; convolutional code construction appears to be sensitive to parameters c, d, and z

Further Work: To consider the i.i.d. erasure model, where an erasure occurs at each time step independently with a given probability Probabilistic vs. deterministic message decoding requirements Withstanding a probabilistic vs. deterministic set of erasure patterns

Conclusion

Page 21: Erasure Coding for Real-Time Streaming

Erasure Coding for Real-Time Streaming Slide 21 of 21

Thank You!