Presentation is loading. Please wait.

Presentation is loading. Please wait.

NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248..

Similar presentations


Presentation on theme: "NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248.."— Presentation transcript:

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


Download ppt "NUS.SOC.CS5248 OOI WEI TSANG 1 Previously, on CS5248.."

Similar presentations


Ads by Google