Information Technology Reference
In-Depth Information
Using techniques similar to Chapter 10, we can obtain (see Appendix A.1 for derivations):
1
N S
f +
f
+ τ +
T E
Y
=
(11.14)
( N S
K ) T avg
for the number of buffers needed to prevent underflow, and
1
N S
f +
f +
+ τ +
T L
Z
=
(11.15)
( N S
K ) T avg
for the number of buffers needed to prevent overflow. Note that T E , T L are jitter bounds for
video block consumption,
is the clock jitter among servers, f + ( f +
0) and f ( f
0)
are used to model the maximum transmission time deviation due to randomness in the system,
including transmission rate deviation, CPU scheduling, bus contention, etc. See Table 11.1 for
a summary of the symbols used in this chapter.
By setting K
τ
0 in equations (11.14) and (11.15), the equations reduce to the non-fault-
tolerance version in Chapter 10. The total client buffer requirement is thus given by
=
2
τ +
τ +
N S Q
f +
f
f +
f +
T E
T L
B BS
FEC
=
+
+
(11.16)
( N S
K ) T avg
( N S
K ) T avg
Note the independence of equation (11.16) from T D , as failure-detection and consequently
server reconfiguration is not needed under FEC. However, we can also observe that the buffer
requirement will increase when more servers are added to the system, suggesting that more
buffers will be needed when scaling up the system.
11.4.2 Buffer Requirement under Sub-Schedule Striping
Under sub-schedule striping, each video block ( Q S bytes) at a server comprises multiple stripe
units ( U bytes each) and the size of a video block is given in equation (11.8). The client buffers
now comprises L
Z buffer units, each of Q S bytes. Again, we consider stripe units in
groups of N S units, i.e., group i comprises stripe units
=
Y
+
. Then a
group of N S stripe units will correspond to exactly one buffer unit at the client. Using similar
techniques (see Appendix A.2 for derivations), the buffer requirements can be found to be
{
i
,
i
+
1
, ...,
( i
+
1) N S
1
}
f +
f
T E + τ
Y
=
+
1
(11.17)
T avg
and
f +
f +
T L + τ
=
+
Z
1
(11.18)
T avg
Surprisingly, these are the same as the non-fault-tolerant case. This counter-intuitive result is
explained by the fact that each group of buffers here has the size of Q S bytes instead of Q
bytes in the non-fault-tolerant case. Hence, the system does indeed need additional buffers to
Search WWH ::




Custom Search