Distributed Servers Architecture for Networked Video Services
description
Transcript of Distributed Servers Architecture for Networked Video Services
Distributed Servers Architecture for Distributed Servers Architecture for Networked Video ServicesNetworked Video Services
S. H. Gary Chan, Member IEEE, and Fouad TS. H. Gary Chan, Member IEEE, and Fouad Tobagi, Fellow IEEEobagi, Fellow IEEE
ContentsContents
IntroductionIntroduction System ArchitectureSystem Architecture Caching schemes for video-on-demand servicesCaching schemes for video-on-demand services Analytical ModelAnalytical Model ResultsResults ConclusionConclusion
Introduction (1)Introduction (1)
In a VoD system, the central server has limited sIn a VoD system, the central server has limited streaming capacitiestreaming capacities
Distributed servers architectureDistributed servers architecture Hierarchy of serversHierarchy of servers Local servers cache the videosLocal servers cache the videos Some servers are placed close to the user clusterSome servers are placed close to the user cluster
Determine which movie and how much video datDetermine which movie and how much video data should be stored to minimize the total cost a should be stored to minimize the total cost
Introduction (2)Introduction (2)
Three models of distributed servers architectureThree models of distributed servers architecture Uncooperative - unicastUncooperative - unicast Uncooperative - multicastUncooperative - multicast Cooperative - communicating serversCooperative - communicating servers
This paper studied a number of caching schemes, all emThis paper studied a number of caching schemes, all employing circular buffers and partial cachingploying circular buffers and partial caching
All requests arriving during the cache window duration arAll requests arriving during the cache window duration are served from the local cachee served from the local cache
Claim that using partial caching on temporary storage caClaim that using partial caching on temporary storage can lower the system cost by an order of magnituden lower the system cost by an order of magnitude
System Cost (1)System Cost (1)
Cost associated with storing a movie in a local Cost associated with storing a movie in a local serverserver How much and how long the storage is usedHow much and how long the storage is used
For example, 1-GB disk costing about $200For example, 1-GB disk costing about $200 Disk to be amortized one yearDisk to be amortized one year Cost = $200/(365 X 6) = 0.091/h per GBCost = $200/(365 X 6) = 0.091/h per GB Streaming rate = 5 Mb/sStreaming rate = 5 Mb/s One minute of video data (0.0375 GB) costs:One minute of video data (0.0375 GB) costs:
0.091/h X 0.0375 = $5.71 X 100.091/h X 0.0375 = $5.71 X 10-5-5 /min /min
System Cost (2)System Cost (2)
Cost associated with streaming a movie from the Cost associated with streaming a movie from the central servercentral server Range from low (Internet) to quite high (satellite chanRange from low (Internet) to quite high (satellite chan
nels)nels)
γ = ratio of storage cost to networkγ = ratio of storage cost to network small γ -> relatively cheap storagesmall γ -> relatively cheap storage Tradeoff network cost versus storage costTradeoff network cost versus storage cost
100-min movie cost $3100-min movie cost $3
Video popularityVideo popularity
Movies have notion of skewnessMovies have notion of skewness High demand movies should be cached locallyHigh demand movies should be cached locally Low demand serviced directlyLow demand serviced directly Intermediate class should be partially cachedIntermediate class should be partially cached
Geometric video popularityr/m mean r% requests ask for m% of the movies500 movies4000 requests/h
Caching Scheme (1)Caching Scheme (1)
Unicast DeliveryUnicast Delivery A new arrival for a video opens a network channel of A new arrival for a video opens a network channel of
TThh minutes to stream the video from the central server minutes to stream the video from the central server
Local server caches Local server caches WW minutes of data with circular b minutes of data with circular bufferuffer
All requests within a window size (All requests within a window size (W) W) form a groupform a group Arrivals more than Arrivals more than WW minutes start a new stream minutes start a new stream
Caching Scheme (2)Caching Scheme (2)
Multicast DeliveryMulticast Delivery Pre-storing: local server stores permanently the leading portion of Pre-storing: local server stores permanently the leading portion of
each movieeach movie
Leader size: W minutesW minutes of video data served by the local serverTh-W multicast from the central server
Caching Scheme (3)Caching Scheme (3)
Multicast DeliveryMulticast Delivery Pre-caching: local server decides if it should cache a multicaPre-caching: local server decides if it should cache a multica
st video or notst video or not Two schemes depending on the multicast scheduleTwo schemes depending on the multicast schedule
Periodic multicasting with pre-cachingPeriodic multicasting with pre-caching Request-driven pre-cachingRequest-driven pre-caching
Caching Scheme (4)Caching Scheme (4)
Movie is multicast at regular intervals of W minutesLocal server pre-caches W minutes’ video dataMulticast stream will be held for Th minutes or aborted at the end of W minutes
The start of multicast streams is driven by request arrivalRequest arriving within W minutes can be served by the local server
Periodic multicasting with pre-caching
Request-driven pre-cachingRequest-driven pre-caching
Caching Scheme (5)Caching Scheme (5)
CommunicatingCommunicating Servers (“server chain”) Servers (“server chain”) Video data can be transferred from one server to another using Video data can be transferred from one server to another using
the server networkthe server network
LS1 receives data from the central server using unicast streamLS1 buffers W minutes’ video dataRequests at LS2 arriving within W are served by LS1Chain is broken when two buffer allocations are separated by more than W minutes
Scheme AnalysisScheme Analysis
Movie length Movie length TThh min min
Streaming rate Streaming rate bb00 MB/min MB/min
Request process is PoissonRequest process is Poisson Interested inInterested in
Average number of network channels, Average number of network channels, Average buffer size,Average buffer size, Total system cost: Total system cost:
BS
SBC iˆ
Analysis - UnicastAnalysis - Unicast
Interarrival time = Interarrival time = W + 1/λW + 1/λ By Little’s formula: By Little’s formula: Average number of buffers allocated: Average number of buffers allocated: 1/(W+1/λ))1/(W+1/λ))
TThh which yields which yields
System Cost:System Cost: To minimize , either cache or don’tTo minimize , either cache or don’t
λ<γ B = W = 0λ<γ B = W = 0 λ>γ B = Tλ>γ B = Thh
ChTBC )(ˆ
B
/1W
TS h
Analysis - MulticastAnalysis - Multicast
Pre-storingPre-storing Buffer size depends on whether any request arrives Buffer size depends on whether any request arrives
within a multicast intervalwithin a multicast interval
))(1( WTeWB hW
ii
)(1
WTW
eS h
W
Probability of an arrival within W
Analysis - MulticastAnalysis - Multicast
Pre-caching (Periodic multicasting with pre-Pre-caching (Periodic multicasting with pre-caching)caching)
hWW
i TeW
eB ii )1(2
W
TeeS hWW )1(
Pre-caching (Request-driven precaching)Pre-caching (Request-driven precaching)
WT
W
WB hi )1(
2/1
10
2
0
W
TS h
1
)1(0 iWie
Probability of stream not started by the server
Analysis – Communicating ServersAnalysis – Communicating Servers
Communicating ServersCommunicating Servers If there are many local servers, a subsequent request If there are many local servers, a subsequent request
likely comes from a different serverlikely comes from a different server Average number of concurrent requests is Average number of concurrent requests is λTλThh
WTB h
s
h
T
TS
1
LTs
Average interval between successive channel allocation
1
1
Wa e
WT
WeTL Wa
Average time data is kept in the server network
Average requests’ inter-arrival time given that the successive requests are within W
Results - UnicastResults - Unicast
For unicast, tradeoff between S and For unicast, tradeoff between S and B given λ is linear with slope (-λ)B given λ is linear with slope (-λ)Optimal caching strategy is all or notOptimal caching strategy is all or nothinghingDetermining factors for caching a mDetermining factors for caching a movieovie
•SkewnessSkewness•Cheapness of storageCheapness of storage
Results - Multicast with Pre-storingResults - Multicast with Pre-storing
There is an optimal W to minimize costThe storage component of this curve becomes steeper as γ increases
= 5 req/min, Ns = 20, =0.002/min, Th = 90 min
Results - MulticastResults - Multicast
Ns = 20, =0.002/min, Th = 90 min
Pre-storing Pre-caching
Results – Communicating ServersResults – Communicating Servers
Low arrival rate, large W to form a chain The higher the request rate, the easier it is to chain
=0.002/min, Th = 90 min
Results Results
Multicast achieves cost reduction within a certain window of arrival rateChaining shouldn’t be higher cost than other systems unless local communication costs are very high
=0.002/min, Th = 90 min
System Using Batching and MulticastSystem Using Batching and Multicast
Requests arriving within a period of time are groRequests arriving within a period of time are grouped togetheruped together
Batching allows fewer multicast streams to be usBatching allows fewer multicast streams to be used, thus lowering the associated costed, thus lowering the associated cost
Users will tolerate some delay, Users will tolerate some delay, DDmaxmax
Results – Request BatchingResults – Request Batching
Ns is low enough, distributed servers based on unicast delivery can achieve lower costCombined system:
< ’ => batching > ’ => local server
Dmax = 6 min, Th = 90 min’
ResultsResults
=0.002/min, Th = 90 min
Unicast and Combined scheme require similar costMulticast can further reduce the cost but not significantChaining achieves the greatest saving in cost
ConclusionConclusion
Distributed servers architecture to provide video-Distributed servers architecture to provide video-on-demand serviceon-demand service
Different local caching for video streamingDifferent local caching for video streaming Given certain cost function, determineGiven certain cost function, determine
which video and how much video data should be which video and how much video data should be cachedcached
More skewed the video popularity is, the more More skewed the video popularity is, the more saving a distributed servers architecture can saving a distributed servers architecture can achieveachieve