Information Technology Reference
In-Depth Information
client will be variable and this may cause playback starvation unless sufficient buffering is
done at the client before playback begins.
9.3.3 Placement Policies
In the previous discussions, we have assumed a round-robin placement of the stripe units across
the servers in the system. If we denote the stripe units of a video stream using
v 0 ,
v 1 ,
...
, etc.,
then stripe unit
v i will be stored in server ( i mod N S ). However, a minor problem with this
policy is that server i will likely store more stripe units than server j , for i
<
j . This is because
the length of a video is not always an integral multiple of the size of a stripe. Therefore, the
last stripe will likely contain less than N S stripe units, filling from server zero. To balance
the storage, we can modify the round-robin policy to start striping a new video stream from
different servers.
Apart from round-robin placement, Tewari et al. [17] also investigated a random-placement
policy where the order within a stripe is permuted pseudo-randomly. They pointed out that
the round-robin placement policy can introduce a convoy effect when one server becomes
overloaded. That is, the overloading condition will shift from one server to the next due to the
round-robin placement. By permuting the order of the stripe units in each stripe, this convoy
effect can be avoided.
9.3.4 Redundancy
As discussed in Section 9.1, one of the principal advantages of parallel server architectures is
the potential to achieve server-level fault tolerance analogous to the RAID architecture in disk
arrays. Ideally, we want the system to be able to maintain continuous video playback for all
active streams even when one or more servers fail.
To achieve this, we will need to introduce data and capacity redundancies into the parallel
servers. In the simplest form, we can extend the striping algorithm to include a parity block
for row of data blocks as depicted in Figure 9.5. The parity units are computed using the rest
of the stripe units in the same stripe. When a server fails, the lost stripe unit stored in the failed
Parity Calculation
S 0
S 1
S 2
S 3
S 4
p 0 = v 0 ⊕ v 1 ⊕ v 2 ⊕ v 3
Stripe
v 0
v 1
v 2
v 3
p 0
p 1 = v 4 ⊕ v 5 ⊕ v 6 ⊕ v 7
v 4
v 5
v 6
p 1
v 7
Stripe unit
p 2 = v 8 ⊕ v 9 ⊕ v 10 ⊕ v 11
v 8
v 9
p 2
v 10
v 11
p 3 = v 12
v 13
v 14
v 15
v 12
p 3
v 13
v 14
v 15
Parity unit
p 4
v 16
v 17
v 18
v 19
p 4 = v 16 ⊕ v 17 ⊕ v 18 ⊕ v 19
Figure 9.5 Adding redundant data to support server-level fault tolerance
Search WWH ::




Custom Search