Achieving Reliable Parallel Performance in a VoD Storage Server Using Randomization and Replication
read more
Citations
Improving VoD server efficiency with bittorrent
An integrated prefetching/caching scheme in multimedia servers
An efficient storage mechanism to distribute disk load in a VoD server
Load balancing in fault tolerant video server
Hotspot Prediction and cache in distributed stream-processing storage systems
References
A case for redundant arrays of inexpensive disks (RAID)
SEDA: an architecture for well-conditioned, scalable internet services
RAP: An End-to-End Rate-Based Congestion Control Mechanism for Realtime Streams in the Internet.
External memory algorithms and data structures: dealing with massive data
RAP: An end-to-end rate-based congestion control mechanism for realtime streams in the Internet
Related Papers (5)
Frequently Asked Questions (14)
Q2. How many DVDs can a 2U video-on-demand server hold?
Since a modern 500 GB commodity disk can hold more than 100 DVD-quality (4.7 GB) multimedia streams, a single 2U video-on-demand server could hold 800 movies.
Q3. How do storage servers achieve high data transfer rates?
Storage servers achieve high data transfer rates by employing parallel disks, but effectively utilizing parallel disks for large data streams is challenging because of the need to multiplex a large number of distinct request streams onto a smaller number of disks while meeting real-time delivery targets.
Q4. How is the mapping of stream blocks to disks controlled?
The mapping of stream blocks to disks is controlled through user-level code for all allocation strategies tested, allowing full flexibility in allocation without the complexities of operating-system coding.
Q5. What is the recent trend in entertainment?
High-end entertainment has seen a rapid increase in pay-per-view offerings and special-interest (e.g., regional) satellite channels.
Q6. What is the way to achieve a high aggregate throughput?
Although a disk array can achieve high aggregate throughput by employing parallel disks, such parallelism is only possible if the system achieves good load balance across the disks.
Q7. What is the effect of a slow server response on the client side?
If the client side repeatedly fails to keep up, its buffer will be exhausted and it will starve; the server will continue to send at a higher rate until its target has been met.
Q8. What are the main reasons why RDA suffers from a lack of choice?
naive, and random suffer because of a lack of choice in where to access any given block, causing the faulting disk to experience the same number of requests per unit time as any of the disks in normal operation.
Q9. What is the reason why the disks fail to deliver the maximum parallelism?
In one case, most disks delivered 5.5 MB/s sequential transfer bandwidth but one disk delivered only 5.0 MB/s due to bad block faults that were being remapped elsewhere on disk, introducing seeks.
Q10. What is the current trend of exponential performance growth per unit cost?
The long-running trend of exponential performance growth per unit cost has now yielded systems ranging from ubiquitous handheld entertainment devices to high-end desktops connected through Gigabit Ethernet.
Q11. How can a disk array be compared to a slower one?
Van Meter pointed out that performance can vary by a factor of 2 across the different zones of a single disk; consequently, a disk reading from a slow zone will underperform another one in the same array that happens to be reading from a faster zone [19].
Q12. How are the stream blocks mapped to the disk array?
Stream blocks are mapped to the disk array using the allocation strategies discussed in Section 3: naive, RAID-0, RAID-1, random, and RDA.
Q13. Why does RDA have fewer connection stoppages than random?
RAID-1 has slightly fewer connection stoppages than RDA because of a fault-isolation effect akin to that seen with naive (only files allocated to the bad mirror will be effected by the fault).
Q14. What is the way to avoid hotspotting?
Sanders et al. gave an elegant technique to avoid hotspotting by placing each logical data block on two randomly selected disks so that at least one copy can be read without I/O bottlenecks [28].