Author_Institution :
Dept. of Electr. & Comput. Eng., Univ. of Toronto, Toronto, ON
Abstract :
Peer-assisted Video-on-Demand (VoD) systems have not only received substantial recent research attention, but also been implemented and deployed with success in large-scale real- world streaming systems, such as PPLive. Peer-assisted Video- on-Demand systems are designed to take full advantage of peer upload bandwidth contributions with a cache on each peer. Since the size of such a cache on each peer is limited, it is imperative that an appropriate cache replacement algorithm is designed. There exists a tremendous level of flexibility in the design space of such cache replacement algorithms, including the simplest alternatives such as Least Recently Used (LRU). Which algorithm is the best to minimize server bandwidth costs, so that when peers need a media segment, it is most likely available from caches of other peers? Such a question, however, is arguably non-trivial to answer, as both the demand and supply of media segments are stochastic in nature. In this paper, we seek to construct an analytical framework based on optimal control theory and dynamic programming, to help us form an in-depth understanding of optimal strategies to design cache replacement algorithms. With such analytical insights, we have shown with extensive simulations that, the performance margin enjoyed by optimal strategies over the simplest algorithms is not substantial, when it comes to reducing server bandwidth costs. In most cases, the simplest choices are good enough as cache replacement algorithms in peer-assisted VoD systems.
Keywords :
cache storage; peer-to-peer computing; real-time systems; video on demand; video servers; PPLive; cache replacement algorithm; dynamic programming; least recently used; media segment; optimal control theory; peer upload bandwidth contributions; peer-assisted VoD systems; peer-assisted video-on-demand systems; real- world streaming systems; server bandwidth; Algorithm design and analysis; Analytical models; Bandwidth; Costs; Dynamic programming; Large-scale systems; Optimal control; Performance analysis; Stochastic processes; Streaming media;