Title: CMPT 886 Presentation
1CMPT 886 Presentation
- From chaining to P2VoD using clients outbound
bandwidth to distribute media - Savio Lau (saviol_at_cs.sfu.ca)
- June 8, 2004
2Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
3Introduction
- Network I/O bandwidth is VoDs main operational
constraint - Queuing requests results in reneging
- Broadcasting is not always possible
- One solution is to use pipelining, by using
client outgoing bandwidth to distribute media - Sheu, Hua and Tavanapong introduced a pipelining
idea called Chaining in 97
4Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
5Queuing policies
- FCFS (First Come First Serve)
- Release video stream according to longest wait
time - MQL (Maximum Queue Length First)
- Choose first batch with largest number of clients
6Queuing policies
- FCFS-n
- Reserve fraction of server capacity for n most
popular videos - Other videos uses FCFS scheme
- MFQ (Maximum Factored Queue Length First)
- Stream released according to queue length
weighted by best factor - Best factor (associated access freq)-1/2
- MFQ is most fair amongst all schemes
7Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
8Chaining terminology
- Video is divided into segments called R-blocks
- Numbered 1 to n
- v(i)i-th block of video v
- Clients are denoted Dm and Dn, where client Dm
and Dn are playing back v(i) and v(j) - Playback distance d(m,n) equals j-i, assuming jgti
- bd is the buffer size of clients
9Standard chaining
- Chains are formed from the server to a client,
then from this client to the next and so on,
similar to a waterfall - A chain is closed when the first block is
removed from buffer of the youngest child - New clients join an open chain if the one is
available, where d(m,n)ltbd - Else new clients starts new chain, or enters
queue if no bandwidth available
10Standard chaining
11Standard chaining
bd4 d(a,b)1 d(b,c)2
12Standard chaining
bd4 d(a,b)1 d(b,c)2 d(c,d)1 d(d,e)6
13Standard chaining
bd4 d(a,b)1 d(b,c)2 d(c,d)1 d(d,e)6 d(e,f)1
d(f,g)1
14Extended chaining
- Adds minimal wait time Wmin, time which each user
has to wait - Additional wait time follows exponential
distribution (not used in algorithm) - Uses Heuristic Extended Chaining (HEC) algorithm
to determine when a client joins the chain - HEC prolongs time until chain closure
- HEC is called for each new client arrival
15HEC algorithm terminology
- tnarrival time of nth client
- Tcurrent time
- keptnumber of clients retained
- keptmaxmaximum number of clients retained
16HEC algorithm
- ttnWmin
- if (t ? T) then return (kept0, tT)
- kept1
- while (kept lt n) and (kept lt keptmax)
- t min (tn-kept Wmin, t - t(bd))
- if (t ? T)
- t tprev
- return (kept, t) //end if
- else kept kept 1
- tprevt //end while
- if kept n then kept kept 1
- return (kept,t)
17HEC algorithm
- Case 1 ttnWmin ? T
- All clients waited past Wmin, all released
- Case 2 Some clients are kept
- Up to a maximum of keptmax clients are kept
- Increase kept until t ? T where tmin(tn-kept
Wmin, t - t(bd)) - New chain starts at 2nd to last steps tt(bd)
18HEC algorithm example
Wmin4 t(bd)2
19Extended Chaining
20Batching, standard and extended chaining
- Number of I-gtQ transitions relates to server
stress - Extended chaining has least number of I-gtQ
transitions
Standard chaining
Batching
Extended chaining
21Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
22Chaining performance
- 2 Performance studies examined effects of
- FCFS and MFQ queuing with and without standard
chaining - MFQ queuing with extended chaining retaining 1 or
2 clients - Standard chaining with no queuing
- Network has 1 server and 220 clients connected
as a 20-dimensional hypercube
23Chaining performance
- Negligible difference between standard chaining
of MFQ and FCFS queuing - Negligible difference between Extended chaining
retaining 1 or 2 clients - Extended chaining performs better than standard
chaining - Chaining with queuing performs better than
without queuing
24Chaining performance
- Throughput (gt means higher throughput)
- extended chaining (MFQ)gt standard chaining (MFQ)
gt chaining (no queuing) ? MFQ gt FCFS - Fairness (gt means more fair)
- At high bandwidth extended chaining (MFQ)gt
chaining (no queuing) or standard chaining (MFQ)
gt FCFS - At low bandwidth chaining techniques is least
fair, even worst than MFQ
25Chaining performance
- Latency (lt means less latency)
- Extended chaining (MFQ) lt standard chaining (MFQ)
lt MFQ lt FCFS - Skew factor
- Chaining performance increases as the popularity
of videos becomes more skewed
26Effects of communication bandwidth
27Effects of communication bandwidth
28Effects of communication bandwidth
29Effects of communication bandwidth
30Effects of storage I/O bandwidth
31Effects of storage I/O bandwidth
32Effects of storage I/O bandwidth
33Effects of request rate
34Effects of request rate
35Effects of request rate
36Effects of client storage size
37Effects of client storage size
38Effects of client storage size
39Effects of skew factor
40Issues with Chaining
- Not fault-tolerant
- Clients quitting the chain cause chain to be
broken - No recovery mechanism
- Affects extended chaining more than standard
chaining - P2VoD (Do, Hua and Tantaoui) addresses these
issues 7 years later
41Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
42P2VoD
- Similar to chaining where media stream is
pipelined - Introduces the concept of Generations
- Each client from chaining techniques becomes a
group of clients, forming a video session - Clients from each generation holds the same
oldest R-block - Provides joining, recovery and control
43P2VoD terminology
- MBmaximum cache in R-blocks for each client
- abXactual storage buffer used by client X
- tjXJoining time of client X
- addXIP address of client X
- G(X)generation client X belongs to
44P2VoD generations
- Clients in generation G(X)g will have the same
oldest R-block in their cache - Not all clients use the full size of the cache
- Client cache usage is determined by the time
difference between the arrival time of client Y
and the arrival time of client X which is the
oldest member in a generation - abXabY tjYtjX
- First generation G(X)1 has at most K members
45P2VoD generations
46P2VoD control protocol
- Each client
- Keeps IP address list of siblings
- Sends IP address of self and siblings to child on
connection - Sends IP address of self to parent
- Sends addX, G(X), texp to server upon joining
47P2VoD joining
- Case 1 No open video session
- Starts new video session if server has bandwidth
available - Rejected otherwise
48P2VoD joining
- Case 2 at least 1 open session
- 1. Contacts a random member of youngest
generation GY to obtain list of GYs super
generation GX - 2. If GXs texp gt tjC then 3, otherwise 4
- 3. If possible, selects parent from GX, conform
to cache rule of GY and receive stream - 4. Form new generation below GY and select parent
from GY if possible, otherwise try other video
session. If failed-gtcase 1
49P2VoD joining
- Parent selection
- Round robin
- Smallest delay selection
- Smallest distance selection
50P2VoD joining
51P2VoD joining
52P2VoD joining
53P2VoD failure recovery
- Detect failure through heartbeat
- Recovery starts oldest orphaned client
- 1. Orphan client contacts sibling of parents and
if one has bandwidth available switchover to that
parent. Failed-gt2 - 2. Orphan client contacts server and connect
directly to server if bandwidth exists.
Otherwise session terminated. - Repeat for each orphaned client
54P2VoD failure recovery
55P2VoD failure recovery
56Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
57P2VoD performance
58P2VoD performance
59P2VoD performance
60P2VoD issues
- Does parent selection methods affect failure
recovery and joining performance? - Only G(X)1 is limited by K
- If bandwidth of clients are gtgt b, then tree width
increases for each generation - Failure of one parent can imply many orphans
- Each successive generation will need to contact
larger number of parents for failure recovery
61P2VoD issues
62P2VoD issues
- Possible solution bandwidth reservation for
failure recovery - Allow as most J members per generation such that
clients of any generation G(X) never exhausts all
bandwidth - How would J affect rejection probability? Or
failure overhead?
63Outline
- Introduction
- Queuing policies
- Chaining standard and extended
- Chaining performance and issues
- P2VoD
- P2VoD performance and issues
- Conclusion
64Conclusion
- Extended chaining with queuing uses bandwidth
most efficiently than other batching or chaining
techniques - A kept value of 1 is sufficient
- Additional retained clients has little
performance gain - Queuing method for chaining has negligible
effects - Chaining methodology is prone to failure
65Conclusion
- P2VoD addresses chaining issues about fault
tolerance with the use of the concept of
generations - More extensive investigation is needed to examine
the performance of P2VoD
66References
- S. Sheu, Kien A. Hua, and W. Tavanapong,
"Chaining A generalized batching technique for
video-on- demand," in Proc. of the IEEE Int'l
Conf. on Multimedia computing and System, June
1997, pp. 110-117. - S. Sheu, K. A. Hua, and T. Hu, Virtual Batching
A New Scheduling Technique for Video-On-Demand
Servers, In Proc. Of Intl Conf. On Database
Systems for Advanced Applications (DASFAA97),
Melbourne, Australia, April 1997. - Tai Do, Kien A. Hua, and Mounir Tantaoui, P2VoD
Providing Fault Tolerant Video-on-Demand
Streaming in Peer-to-Peer Environment to appear
in the Proc. of the IEEE International Conference
on Communications (ICC 2004), June 20-24 2004,
Paris, France
67References
- A. Dan, D. Sitaram, and P. Shahabuddin, Dynamic
batching policies for an on-demand video server,
Multimedia Systems, Nov 1994. Vol 4. pp.112-121 - C.C. Aggarwal, J.L. Wolf, and P.S. Yu, On
optimal batching policies for video-on-demand
storage servers, in Proc. Of IEEE Intl Conf on
Multimedia computing and System, Japan, June
1996. - Y. Guo, K. Suh, J. Kurose, D. Towsley, P2Cast
P2P Patching Scheme for VoD Service, in WWW
2003. - V. Padmanabhan, H.Wang, P. Chou, Distributing
Streaming Media Content Using Cooperative
Networking, in NOSSDAV 2002. - D. Tran, K. Hua, T. Do, A Peer-to-Peer
Architecture for Media Streaming, in IEEE JSAC
2003.
68Questions?