Information Technology Reference
In-Depth Information
9.1 Introduction
Amedia server is essentially a data mover, retrieving media data from the storage devices (e.g.,
hard disks or RAID) and then sending them over the network to the clients for playback. Thus,
the primary challenges in a media server are capacity and reliability.
Despite the rapid advances in computing and network hardware, the capacity of commodity
server hardware is still rather limited. Considering the emergence of high-definition television
(HDTV) where a single stream can consume tens of Mbps of bandwidth, there remain consid-
erable challenges to building high-capacity yet cost-effective media servers. Server reliability,
on the other hand, has been advancing at a much slower pace, partly due to the nature of the
problem and the cost of many solutions.
Many existingmedia servers, such as video servers used in video-on-demand (VoD) services,
are built around the single-server architecture, i.e., with the streaming server running in an
independent server machine equipped with storage devices and networking interfaces. This
single-server architecture is well understood and widely adopted not only in streaming servers,
but also in many other types of servers, such as a web server, an FTP server, and so on. In
bandwidth-demanding applications such as VoD, however, the single-server architecture will
quickly run into scalability and reliability limitations.
First, the capacity of a single server cannot be expanded indefinitely, even if striped disk
array is employed. If we keep adding more disks to the server, we will eventually run into
other system bottlenecks, such as the I/O bus capacity, the processor's capacity, memory limit,
and so on. Conceivably, we can upgrade the server hardware to higher-performance hardware
platforms such as massively-parallel systems [1, 2] but the costs will be substantially increased.
Another approach is to replicate all the data to a new server to increase the system's capacity.
This will double the cost of the system but nonetheless provides a linear scalability path.
However, in applications where the storage requirement is large, such as in movie-on-demand
applications, the multiplied storage cost could become significant. To reduce storage overhead
in replication, we can selectively replicate the media objects such as videos based on their
viewing popularity [3-7]. The more popular videos will be replicated across more servers to
increase streaming capacity while keeping fewer copies of the less popular videos to reduce
storage cost. This approachwill be effective if the video popularity is known. Otherwise the load
of the servers may not be balanced, thus leading to unnecessary request blockings. Moreover,
the popularity itself may change during the lifetime of the video [6] and so reshuffling of the
video titles between the servers will be needed from time to time.
Second, in terms of reliability, a single-server streaming systemsimply cannot survive server-
level failures. If replicated servers are available, then the users being served by the failed server
can be moved to the other replicated servers. Nevertheless this switchover process is likely not
transparent and will cause at least temporary playback interruptions. Moreover, with a failed
server, the system streaming capacity will be reduced and so some users may not be able to
resume service immediately. As the system scales up with more and more servers, this problem
will only get worse.
Interestingly, we encountered similar load balancing and reliability problems when we
discussed multi-disk media servers in Section 3.5. In that context the solution was to employ
striped disk array and RAID, which can achieve perfect load balance irrespective of the access
popularities of the media objects, and be able to sustain non-stop service even when during
a disk failure. In Part II of this topic we will investigate applying similar principles to multi-
server media streaming systems - parallel server architectures - and study their performance
Search WWH ::




Custom Search