Information Technology Reference
In-Depth Information
. . .
v 0
v 5
v 10
Server S 0
Client C 0
Client C 1
. . .
v 1
v 6
v 11
Server S 1
Interconnection
Network
Client C 2
. . .
v 2
v 7
v 12
Server S 2
Client C 3
Stripe unit
. . .
v 3
v 8
v 13
Server S 3
.
. . .
Server S 5
v 4
v 9
v 14
Client C N C -1
Figure 10.1 Architecture of a (5-servers) parallel video server
10.2 System Architecture
A parallel video server is composed of multiple independent servers connected by an inter-
connection network (Figure 10.1). Each server has separate CPU, memory, disk storage, and
network interface. This approach ensures that the scalability of the system will not be limited
by resource contention. The interconnection network can be implemented using off-the-shelf
packet switches like Ethernet switches or ATM switches. We denote the number of servers
in the system by N S and the number of clients by N C . Hence the client-server ratio, denoted
by
,is N C / N S . The following sections summarize the server striping algorithm, the service
model, and the scheduling algorithm employed.
10.2.1 Server Striping
The principle behind the parallel video server architecture is the striping of a video stream
across all servers in the system. A server's storage space is divided into fixed-size stripe units of
Q bytes each. Each video title is then striped into blocks of Q bytes and stored into the servers
in a round-robin manner as shown in Figure 10.1. This fixed-size block striping algorithm is
called space striping, as opposed to striping in units of video frames, called time striping (cf.
Section 9.3.1).
Space striping significantly simplifies the process of striping video streams encoded using
inter-frame compression algorithms (e.g., MPEG), where frame size varies considerably for
different frame types. Since a stripe unit in space striping is significantly smaller than a video
title (kilobytes versus megabytes), this enables fine-grain load sharing (as opposed to coarse-
grain load sharing in data partition) among servers. Moreover, the loads are evenly distributed
over all servers independent of the skewness in video retrievals.
10.2.2 Service Model
Service model refers to the way video data are scheduled and delivered to the client. There
are two service models in common use: client pull and server push . In the client-pull model, a
Search WWH ::




Custom Search