Erasure Coding for Real-Time Streaming
description
Transcript of 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
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
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}
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?
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
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
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
Erasure Coding for Real-Time Streaming Slide 8 of 21
Erasure Model #1:Limited Number of Erasures
Per Sliding Window
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
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
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
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
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
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
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
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”
Erasure Coding for Real-Time Streaming Slide 17 of 21
Erasure Model #2:Erasure Bursts of a Limited Length
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
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
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
Erasure Coding for Real-Time Streaming Slide 21 of 21
Thank You!