Download presentation
Presentation is loading. Please wait.
Published byLilian King Modified over 8 years ago
1
NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248..
2
NUS.SOC.CS5248 OOI WEI TSANG 2 Idea Adjust sending rate based on network conditions
3
NUS.SOC.CS5248 OOI WEI TSANG 3 Part 1: Detecting Congestion Bolot and Tulertti if median loss rate > threshold then decrease rate else increase rate
4
NUS.SOC.CS5248 OOI WEI TSANG 4 Part 1: Detecting Congestion Busse, Deffner and Schulzrine if a lot of congested receivers decrease rate if a lot of unloaded receivers increase rate else do nothing
5
NUS.SOC.CS5248 OOI WEI TSANG 5 Multiple receivers Heterogeneity Issues Scalability Issues (Another Lecture..) THIS
6
NUS.SOC.CS5248 OOI WEI TSANG 6 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
7
NUS.SOC.CS5248 OOI WEI TSANG 7 McCanne, Jacobson, and Vetterli "Receiver-driven layered multicast," ACM SIGCOMM 96 Wu, Sharma, and Smith, "Thin Streams: An architecture for multicasting layered video,“ NOSSDAV 97
8
NUS.SOC.CS5248 OOI WEI TSANG 8 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
9
NUS.SOC.CS5248 OOI WEI TSANG 9 Amir, McCanne, and Zhang. "An application level video gateway." ACM MM 95
10
NUS.SOC.CS5248 OOI WEI TSANG 10 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
11
NUS.SOC.CS5248 OOI WEI TSANG 11 Bolot, Turletti, and Wakeman. "Scalable feedback control for multicast video distribution in the internet," ACM SIGCOMM 94.
12
NUS.SOC.CS5248 OOI WEI TSANG 12 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
13
NUS.SOC.CS5248 OOI WEI TSANG 13 Receiver- Driven Layered Multicast McCanne, Jacobson & Vetterli SIGCOMM 96
14
NUS.SOC.CS5248 OOI WEI TSANG 14 Internet Heterogeneity 2 Mbps 40kbps 56kbps
15
NUS.SOC.CS5248 OOI WEI TSANG 15 Heterogeneous Clients How to satisfy receivers with different requirements?
16
NUS.SOC.CS5248 OOI WEI TSANG 16 Method 1: Simulcast Send multiple streams
17
NUS.SOC.CS5248 OOI WEI TSANG 17 Method 2: Rate Adaptation Send one stream
18
NUS.SOC.CS5248 OOI WEI TSANG 18 Method 3: Layered Multicast Layer 1 Layer 2Layer 3
19
NUS.SOC.CS5248 OOI WEI TSANG 19 Layering Scheme Temporal Layering
20
NUS.SOC.CS5248 OOI WEI TSANG 20 Layering Scheme Spatial Layering
21
NUS.SOC.CS5248 OOI WEI TSANG 21 Layering Scheme DCT Layering 308 -6 20 00 10 00 00 00 308 -6 2 1 30
22
NUS.SOC.CS5248 OOI WEI TSANG 22 Layering Scheme Fine Granularity Scalability (FGS) 1000010010000100 1001010110010101 1110001011100010 1100000011000000
23
NUS.SOC.CS5248 OOI WEI TSANG 23 Layered Multicast 1 Layer : 1 Multicast Group Receiver subscribes to as many layers as desired
24
NUS.SOC.CS5248 OOI WEI TSANG 24 RLM Example
25
NUS.SOC.CS5248 OOI WEI TSANG 25 Question How many layers is enough?
26
NUS.SOC.CS5248 OOI WEI TSANG 26 Solution: Join Experiment highest layer = 1 join layer 1 while no packet loss highest layer ++ join next layer leave highest layer highest layer --
27
NUS.SOC.CS5248 OOI WEI TSANG 27 Details T join Time between join experiments T detect Time taken to detect packet loss
28
NUS.SOC.CS5248 OOI WEI TSANG 28 Effects of T join Need to converge to the right level quickly T join should be small Repeated failed experiments congest networks T join should be large
29
NUS.SOC.CS5248 OOI WEI TSANG 29 Adapting T join One T join per layer if join experiment for layer k fails T join (k) = T join (k)*2
30
NUS.SOC.CS5248 OOI WEI TSANG 30 Example 1 2 3 4
31
NUS.SOC.CS5248 OOI WEI TSANG 31 Adapting T detect Set T detect to large initial value Estimate T detect with mean and deviation Mesure time between join and packet loss occur
32
NUS.SOC.CS5248 OOI WEI TSANG 32 Two Problems 1. Interference 2. Scalability
33
NUS.SOC.CS5248 OOI WEI TSANG 33 Problem 1: Interference
34
NUS.SOC.CS5248 OOI WEI TSANG 34 Problem 1: Interference I see, layer 2 is bad for me..
35
NUS.SOC.CS5248 OOI WEI TSANG 35 Problem 2: Scalability Lots of receivers Lots of experiments Lots of congestions
36
NUS.SOC.CS5248 OOI WEI TSANG 36 Solution: Shared Learning I am joining layer 2, do not disturb!
37
NUS.SOC.CS5248 OOI WEI TSANG 37 Solution: Shared Learning
38
NUS.SOC.CS5248 OOI WEI TSANG 38 Solution: Shared Learning I am joining layer 3, do not disturb!
39
NUS.SOC.CS5248 OOI WEI TSANG 39 Solution: Shared Learning I see, layer 3 is bad for me..
40
NUS.SOC.CS5248 OOI WEI TSANG 40 Shared Learning Conservative: learn from failure not success Improve convergence time Give priority to low-layer experiments
41
NUS.SOC.CS5248 OOI WEI TSANG 41 Evaluation
42
NUS.SOC.CS5248 OOI WEI TSANG 42 Evaluation
43
NUS.SOC.CS5248 OOI WEI TSANG 43 Problems Failed join experiments are bad Interference across sessions?
44
NUS.SOC.CS5248 OOI WEI TSANG 44 Thin Streams Linda Wu, Rosen Sharma and Brian Smith NOSSDAV ‘97
45
NUS.SOC.CS5248 OOI WEI TSANG 45 Problems Failed join experiments are bad Interference across sessions?
46
NUS.SOC.CS5248 OOI WEI TSANG 46 How bad is failed experiments? R: sending rate of a layer T j : IGMP join latency T l : IGMP leave latency Buffer space at the router = R*(T j + T detect + T l )
47
NUS.SOC.CS5248 OOI WEI TSANG 47 Reduce Buffer Space Reducing R Many layers, each with small bandwidth Reducing T l Sharma designed IGMP v2.0 Reducing T detect Rely on throughput rather than congestions
48
NUS.SOC.CS5248 OOI WEI TSANG 48 Reducing T detect Detect congestion before packet drops E: Expected Throughput A: Actual Throughput
49
NUS.SOC.CS5248 OOI WEI TSANG 49 Calculating A & E R: bandwidth of one layer I: measurement interval N: number of bytes received in I G: number of layers joined A = aA + (1-a)N/I E = aE + (1-a)GR
50
NUS.SOC.CS5248 OOI WEI TSANG 50 Thin Streams Join-Leave Algo do every I seconds if (E-A) > C leave leave else if (E-A) < C join and time since last leave > T wait join
51
NUS.SOC.CS5248 OOI WEI TSANG 51 More Parameters T wait and C leave Affect convergence rate and fairness Large G : small C leave : large T wait
52
NUS.SOC.CS5248 OOI WEI TSANG 52 Problems Failed join experiments are bad Interference across sessions?
53
NUS.SOC.CS5248 OOI WEI TSANG 53 Interference Across Sessions Synchronize join experiments within session Reduce period of congestions
54
NUS.SOC.CS5248 OOI WEI TSANG 54 Interference Across Sessions Desynchronize join experiments across session
55
NUS.SOC.CS5248 OOI WEI TSANG 55 Estimating IGMP Leave Latency Time between leave and join Time between join and first packet
56
NUS.SOC.CS5248 OOI WEI TSANG 56 RLM/ThinStream’s Problems Need lots of multicast addresses Need support from codec Does not solve format heterogeneity problem
57
NUS.SOC.CS5248 OOI WEI TSANG 57 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
58
NUS.SOC.CS5248 OOI WEI TSANG 58 Application- Level Media Gateway Amir, McCanne, Zhang ACM MM’ 95
59
NUS.SOC.CS5248 OOI WEI TSANG 59 Gateway Architecture H.261 128kbps H.261 128kbps MJPEG 6Mbps
60
NUS.SOC.CS5248 OOI WEI TSANG 60 Recall.. Motion-JPEG Every frame is a JPEG H.261 I-Frames and P-Frames
61
NUS.SOC.CS5248 OOI WEI TSANG 61 Intra-H.261 Motion compensation too complicated Use “conditional replenishment”
62
NUS.SOC.CS5248 OOI WEI TSANG 62 Conditional Replenishment
63
NUS.SOC.CS5248 OOI WEI TSANG 63 Conditional Replenishment
64
NUS.SOC.CS5248 OOI WEI TSANG 64 Conditional Replenishment
65
NUS.SOC.CS5248 OOI WEI TSANG 65 How to transcode? JPEG UncompressDequantizeIDCT CompressQuantizeDCT h261 Replenish
66
NUS.SOC.CS5248 OOI WEI TSANG 66 How to transcode? UncompressDequantize IDCT CompressQuantize DCTReplenish JPEG h261
67
NUS.SOC.CS5248 OOI WEI TSANG 67 Short Cut! UncompressDequantizeIDCT CompressQuantizeDCTReplenish JPEG h261
68
NUS.SOC.CS5248 OOI WEI TSANG 68 Compressed-domain Processing Replenishment 318 -6 20 00 00 00 00 00 308 -6 20 00 10 00 00 00
69
NUS.SOC.CS5248 OOI WEI TSANG 69 Other CDP Changing Resolutions Color Subsampling 4:2:2 to 4:2:0
70
NUS.SOC.CS5248 OOI WEI TSANG 70 Evaluation Frame rate improvement 12.9 fps to 33.3 fps (low motion) 6.9 fps to 21.4 fps (high motion)
71
NUS.SOC.CS5248 OOI WEI TSANG 71 Today’s Lecture Network Encoder Sender Middlebox Receiver Decoder
72
NUS.SOC.CS5248 OOI WEI TSANG 72 Scalable Feedback Bolot,Turletti & Wakeman SIGCOMM 95
73
NUS.SOC.CS5248 OOI WEI TSANG 73 Problem How can a large number of receivers feedback to the sender? How to know the number of receivers?
74
NUS.SOC.CS5248 OOI WEI TSANG 74 Three Approaches Probabilistic Query Randomly Delayed Responses TTL Scoped Search
75
NUS.SOC.CS5248 OOI WEI TSANG 75 BTW’s Idea Sender and receivers each generate random key of i bits K send : Key of sender K k : Key of receiver k
76
NUS.SOC.CS5248 OOI WEI TSANG 76 Sender Probe Multicast probe(K send, m) if K k matches m most significant bits of K send reply to sender
77
NUS.SOC.CS5248 OOI WEI TSANG 77 High-Level Mechanism foreach epoch generate K send for round j = 0 to i send probe(K send, i – j) if enough responses break wait to start next epoch
78
NUS.SOC.CS5248 OOI WEI TSANG 78 The Details Probe packets Sender’s Key (K send )
79
NUS.SOC.CS5248 OOI WEI TSANG 79 The Details Probe packets Number of bits to match (m)
80
NUS.SOC.CS5248 OOI WEI TSANG 80 The Details Probe packets SIZESOLICITED: I need to estimate the size
81
NUS.SOC.CS5248 OOI WEI TSANG 81 Soliciting Size Sender set SIZESOLICITED to 1 at the beginning of an epoch Receiver reply if key matches
82
NUS.SOC.CS5248 OOI WEI TSANG 82 Estimating Number of Receivers Overview Calculate E[X], average number of rounds to first reply Express n = f(E[X])
83
NUS.SOC.CS5248 OOI WEI TSANG 83 Estimating Num. of Receivers P j Prob. that 1 st reply in round j i Number of bits in key Reply in round j == match i-j MSB
84
NUS.SOC.CS5248 OOI WEI TSANG 84 Estimating Num. of Receivers if j = 0 then P j = 2 -i else P j = 2 j-1 /(2 i -2 j-1 )
85
00001000 00011001 00101010 00111011 01001100 01011101 01101110 01111111
86
NUS.SOC.CS5248 OOI WEI TSANG 86 Estimating Num. of Receivers r j : Num. of replies in round j P(r j > 0 | r j-1 = 0) = 1-(1-p j ) n P(r j-1 = 0) = (1 – 2 j-1-i ) n P(r j > 0 & r j-1 = 0) = F(j) = [1-(1-p j ) n ][(1- 2 j-1-i ) n ]
87
NUS.SOC.CS5248 OOI WEI TSANG 87 Estimating Num. of Receivers E[X] =
88
NUS.SOC.CS5248 OOI WEI TSANG 88 Expected Round log E[X] n
89
NUS.SOC.CS5248 OOI WEI TSANG 89 Estimating Num. of Receivers n ~
90
NUS.SOC.CS5248 OOI WEI TSANG 90 The Details Probe packets current worst state: Congested, Loaded, Unloaded
91
NUS.SOC.CS5248 OOI WEI TSANG 91 Reporting State Sender send current worst state Receiver if key matches and if my state is worse than sender’s state, reply with my state
92
NUS.SOC.CS5248 OOI WEI TSANG 92 The Details Probe packets maximum RTT
93
NUS.SOC.CS5248 OOI WEI TSANG 93 Usage of RTT Receiver After responding, keep quite for a period of RTT Sender Time between rounds = 2*RTT
94
NUS.SOC.CS5248 OOI WEI TSANG 94 The Details Probe packets RTTSOLICITED: I need to estimate RTT
95
NUS.SOC.CS5248 OOI WEI TSANG 95 The Details Probe packets rttshft: reply after random 0..(1<<rttshft)
96
NUS.SOC.CS5248 OOI WEI TSANG 96 Estimate RTT Receiver T = uniform(0, 2 rttshft ) Wait for T Reply with probe’s timestamp + T Sender Set RTT to the worst received “smoothed” with moving average
97
NUS.SOC.CS5248 OOI WEI TSANG 97 Today’s Summary
98
NUS.SOC.CS5248 OOI WEI TSANG 98 Heterogeneity and Scalability Handle receivers with different requirements RLM, Thin Streams Transcoding in Middleboxes Communicate with lots of receivers Random helps!
99
NUS.SOC.CS5248 OOI WEI TSANG 99 Survey/Project Topics Better layered multicast schemes Estimating multicast session size More scalable feedback algorithms
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.