1 Comnet 2010 Communication Networks Recitation 10 QoS
2 Comnet 2010 Quality of Service: What is it? Multimedia applications: network audio and video network provides application with level of performance needed for application to function. QoS
3 Comnet 2010 Traffic Shaping The Leaky Bucket Algorithm (a) A leaky bucket with water. (b) a leaky bucket with packets.
4 Comnet 2010 Leaky Bucket example A source generates data in terms of bursts: 3 MB bursts lasting 2 msec once every 100 msec.A source generates data in terms of bursts: 3 MB bursts lasting 2 msec once every 100 msec. The network offers a bandwidth of 60 MB/sec.The network offers a bandwidth of 60 MB/sec. The leaky bucket has a capacity of 4 MB. How does the output look like?The leaky bucket has a capacity of 4 MB. How does the output look like? Input: 0-2 msec: 1500 MB/sec; msec: 1500 MB/sec; msec: 1500 MB/sec; …Input: 0-2 msec: 1500 MB/sec; msec: 1500 MB/sec; msec: 1500 MB/sec; … Output: 0-50 msec: 60 MB/sec; msec: 60 MB/sec; ….Output: 0-50 msec: 60 MB/sec; msec: 60 MB/sec; ….
5 Comnet 2010 Leaky Bucket CNTD. What should be the capacity of the leaky bucket to avoid loss?What should be the capacity of the leaky bucket to avoid loss? During the burst, data inflow is at the rate of 1.5 MB/msec and the outflow is at the rate of 0.06 MB/msec.During the burst, data inflow is at the rate of 1.5 MB/msec and the outflow is at the rate of 0.06 MB/msec. So accumulation is at the rate of 1.44 MB/msec. So at the end of 2 msec, there will be an accumulation of 2.88 MB. This is the minimum leaky bucket capacity to avoid buffer overflow and hence data loss.So accumulation is at the rate of 1.44 MB/msec. So at the end of 2 msec, there will be an accumulation of 2.88 MB. This is the minimum leaky bucket capacity to avoid buffer overflow and hence data loss.
6 Comnet 2010 The Token Bucket Algorithm (a) Before. (b) After Token bucket allows some burstiness (up to the number of token the bucket can hold)
7 Comnet 2010 Token Bucket – simple example 2 tokens of size 100 bytes added each second to the token bucket of capacity 500 bytes2 tokens of size 100 bytes added each second to the token bucket of capacity 500 bytes –Avg. rate = 200 bytes/sec, burst size = 500 bytes –Packets bigger than 500 bytes will never be sent –Peak rate is unbounded – i.e., 500 bytes of burst can be transmitted arbitrarily fast
8 Comnet 2010 Token Bucket example Bucket capacity: 1 MBBucket capacity: 1 MB Token arrival rate: 2 MB/secToken arrival rate: 2 MB/sec Network capacity: 10 MB/secNetwork capacity: 10 MB/sec Application produces 0.5 MB burst every 250 msec For 3 secondsApplication produces 0.5 MB burst every 250 msec For 3 seconds The bucket is full of tokensThe bucket is full of tokens
9 Comnet 2010 Token Bucket example CNTD. Initially, output can be at the rate of 10 MB/s. But how long can the bucket sustain this?Initially, output can be at the rate of 10 MB/s. But how long can the bucket sustain this? –First, 1MB can be sent –From then on, for X seconds, the token input rate is 2MB/s, the traffic rate is 10MB/s –1 + 2X = 10X 8X = 1 X = 1/8 sec =125 ms –The bucket can transmit 1.25 MB in this time > 0.5MB the application produces Output:0-50 ms: 10 MB/sOutput:0-50 ms: 10 MB/s ms: None
10 Comnet 2010 Token Bucket example CNTD. At the end of this period, the amount of tokens in the bucket is:At the end of this period, the amount of tokens in the bucket is: –1MB+250ms*2MB/s-0.5MB=1MB So the bucket is full again!So the bucket is full again! Repeat for 3 secondsRepeat for 3 seconds
11 Comnet 2010 Minimum Bucket size and Token Rate Discarding Bucket (Policing)Discarding Bucket (Policing) –Bucket Size ≥ 0.5MB –Token Rate ≥ 0.5MB/250ms = 2MB/s Queueing Bucket (Shaping)Queueing Bucket (Shaping) –How will the traffic look with Bucket Size = 200K? 0.2+2X=10X X=0.2/8=0.025s=25ms0.2+2X=10X X=0.2/8=0.025s=25ms 0-25ms : 10 MB/s = 0.25MB. 0.25MB left0-25ms : 10 MB/s = 0.25MB. 0.25MB left 0.25MB/(2MB/s) = 125ms0.25MB/(2MB/s) = 125ms ms: 2MB/s25-150ms: 2MB/s ms: None ms: None –Tokens after: 100ms*2MB/s=0.2MB
12 Comnet 2010 (σ,ρ) Model Over an interval of length t the number of packets/bits that are admitted is less than or equal to (σ+ρt).Over an interval of length t the number of packets/bits that are admitted is less than or equal to (σ+ρt). Composing flows (σ 1,ρ 1 ) & (σ 2,ρ 2 )Composing flows (σ 1,ρ 1 ) & (σ 2,ρ 2 ) –Resulting flow (σ 1 + σ 2,ρ 1 +ρ 2 ) What does a router need to support streams: (σ 1,ρ 1 ) … (σ k,ρ k )What does a router need to support streams: (σ 1,ρ 1 ) … (σ k,ρ k ) –Buffer size B > Σ σ i –Rate R > Σ ρ i Admission Control (at the router)Admission Control (at the router) –Can support (σ k,ρ k ) if –Enough buffers and bandwidth R > Σ ρ i and B > Σ σ iR > Σ ρ i and B > Σ σ i
13 Comnet 2010 (σ,ρ) Model example The line from the previous question has router with 4MB of buffers. How many flows of the above kind can it accept?The line from the previous question has router with 4MB of buffers. How many flows of the above kind can it accept? σ = 0.5MB, ρ = 0.5MB/250ms = 2MB/sσ = 0.5MB, ρ = 0.5MB/250ms = 2MB/s For n flows, we require 0.5n MB buffers, 2n MB/s rate n = 5.For n flows, we require 0.5n MB buffers, 2n MB/s rate n = 5. Each line will be served with a 0.5MB:2MB/s token bucketEach line will be served with a 0.5MB:2MB/s token bucket
14 Comnet 2010 QoS Random Early Detection (RED) Basic premise:Basic premise: –router should signal congestion when the queue first starts building up (by dropping a packet) –but router should give flows time to reduce their sending rates before dropping more packets –Note: when RED is coupled with ECN, the router can simply mark a packet instead of dropping it Therefore, packet drops should be:Therefore, packet drops should be: –early: don’t wait for queue to overflow –random: don’t drop all packets in burst, but space them
15 Comnet 2010 RED FIFO schedulingFIFO scheduling Buffer management:Buffer management: –Probabilistically discard packets –Probability is computed as a function of average queue length (why average?) Discard Probability Average Queue Length 0 1 min_thmax_th queue_len
16 Comnet 2010 RED (cont’d) Discard Probability (P) Average Queue Length 0 1 min_thmax_th queue_len Enqueue Discard Discard/Enqueue probabilistically
17 Comnet 2010 RED (cont’d) Setting the discard probability P:Setting the discard probability P: Discard Probability Average Queue Length 0 1 min_thmax_th queue_len avg_len P max_P
18 Comnet 2010 Average vs Instantaneous Queue