0% found this document useful (0 votes)
32 views12 pages

18-345: Introduction To Telecommunication Networks Lectures 20: Quality of Service

This document discusses quality of service (QoS) in telecommunication networks. It defines QoS as providing bounds for performance parameters like bandwidth, delay, and packet loss. QoS aims to provide some users better treatment than others based on policies or payment. The document outlines different types of applications and their tolerance for network performance. It also discusses integrating QoS through admission control, traffic enforcement, and packet scheduling to provide differentiated services to users while maintaining fairness.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views12 pages

18-345: Introduction To Telecommunication Networks Lectures 20: Quality of Service

This document discusses quality of service (QoS) in telecommunication networks. It defines QoS as providing bounds for performance parameters like bandwidth, delay, and packet loss. QoS aims to provide some users better treatment than others based on policies or payment. The document outlines different types of applications and their tolerance for network performance. It also discusses integrating QoS through admission control, traffic enforcement, and packet scheduling to provide differentiated services to users while maintaining fairness.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Overview

18-345: Introduction to
Telecommunication Networks • What is QoS?
Lectures 20: Quality of Service
• Queuing discipline and scheduling
Peter Steenkiste
• Traffic Enforcement
Spring 2015
www.cs.cmu.edu/~prs/nets-ece
• Integrated services
1 2

What is QoS? Why Should we Consider QoS?


• Current Internet supports best effort packet delivery
– Sufficient for most applications – “elastic” applications
• What is the basic objective of network
– But some applications require or can benefit from a “higher” design?
level of service
– Maximize total bandwidth? Minimize latency?
• “Higher” quality of service can mean that bounds are
provided for one or more performance parameters. – Maximize user satisfaction – the total utility
– Bandwidth: fast data transfers, video given to users
– Delay, jitter: telephony – Maximize profit?
– Packet loss, bit error rate: update services
• QoS can also mean that a user gets “better”
• What does utility vs. bandwidth look like?
treatment (than other users) – Shape depends on application
– But no guarantees are given – Must be non-decreasing function
4

1
Performance versus
Utility Curve Shapes
Satisfaction
User U Elastic U Hard real-time
Satisfaction

No longer
Unacceptable Matters
BW BW

U Delay- or Rate-adaptive
Does equal
allocation of
Stay to the right and you
are fine for all curves bandwidth maximize
total utility?
Service Level BW
6

Utility curve – Elastic traffic Utility Curves – Inelastic traffic


U Delay-adaptive U Hard real-time
U Elastic

BW BW
Bandwidth

Does equal allocation of


Does equal allocation of
bandwidth maximize total utility?
bandwidth maximize total utility?
7 8

2
Quality of Service
Inelastic Applications
versus Fairness
• Continuous media applications
– Lower and upper limit on acceptable • Traditional definition of fairness: treat all users
performance. equally.
– BW below which video and audio are not – E.g., share bandwidth on bottleneck link equally
intelligible • QoS: treat users differently.
– Internet telephones, teleconferencing with high – For example, some users get a bandwidth guarantee, while
delay (200 - 300ms) impair human interaction others have to use best effort service
– Sometimes called “tolerant real-time” since they • The two are not in conflict
can adapt to the performance of the network – All else being equal, users are treated equally
• Hard real-time applications – Unequal treatment is based on policies, price:
• Administrative policies: rank or position
– Require hard limits on performance
• Economics: extra payment for preferential treatment
– E.g. control applications
9

QoS Analogy:
How to Provide QoS?
Surface Mail
• Admission control limits number of flows
• The defaults if “first class mail”. – You cannot provide guarantees if there are too many flows
– Usually gets there within a few days sharing the same set of resources (bandwidth)
– Sufficient for most letters – For example, telephone networks - busy tone
– This implies that your request for service can be rejected
• Many “guaranteed” mail delivery services:
• Traffic enforcement limits how much traffic flows can
next day, 2-day delivery, next day am, …..
inject based on predefined limits.
– Provide faster and more predictable service at a – Make sure user respects the traffic contract
higher cost – Data outside of contract can be dropped (before entering the
– Providers differentiate their services: target network!) or can be sent at a lower priority
specific markets with specific requirements and • Scheduling support in the routers guarantee that
budgets users get their share of the bandwidth.
• Why don’t we do the same thing in networks? – Again based on pre-negotiated bounds

3
QoS Framework What is a flow?
Traffic • Defines the granularity of QoS and fairness
Packet
Enforcement Scheduling – TCP flow
C H J – Traffic to or from a device, user, or network
B
I – Bigger aggregates for traffic engineering purposes
A
• Flows are defined using a packet classifier
– Classifier uses a set of fields in the packet header
Admission G to generate a flow ID
Control
– Example: (src IP, dest IP, src port, dest port,
E H
protocol)
F D – Or: (src prefix, dest prfix)
14

Admission Control Admission Control


• If U(bandwidth) is concave • If U is convex  inelastic
 elastic applications applications
– U(number of flows) is no longer
– Incremental utility is decreasing U monotonically increasing
Elastic
with increasing bandwidth – Need admission control to maximize Delay-adaptive
U
– Is always advantageous to have total utility
more flows with lower bandwidth • Admission control  deciding
• No need of admission control; when adding more people would
BW reduce overall utility
This is why the Internet works!
– E.g., bandwidth or latency
BW
• Not so for delay-adaptive and guarantees
real-time applications – Basically avoids overload
15 16

4
Overview Queuing Disciplines
• Each router must implement some queuing
• What is QoS? discipline
• Queuing allocates both bandwidth and
• Queuing discipline and scheduling buffer space:
– Bandwidth: which packet to serve (transmit)
• Traffic Enforcement next
– Buffer space: which packet to drop next (when
• Integrated services required)
• Queuing also affects latency
17 18

Network Queuing Disciplines Alternative Drop Policies


• Avoid lockout and full queue problems
• First-in-first-out (FIFO) + drop-tail
• Random drop and drop front policies
– Simplest choice - used widely in the Internet
– FIFO means all packets treated equally – Drop random packet or packet that the head of the
– Drop-tail: new packets gets dropped when queue is queue is full and a new packet arrives
– Important distinction: – Solve the lock-out problem but not the full-queues
• FIFO: scheduling discipline problem
• Drop-tail: drop policy
• Random Early Discard (RED) and Explicit
• Alternative is to do Active Queue Management
Congestion Notification (ECN) slow down
– To improve congestion response
– Support fairness in presence of non-TCP flows
receivers before queues are full
– To give flows different types of service – QoS – See TCP lectures

19 20

5
Problems in Achieving fairness An Example
• In the Internet, fairness is only achieved • 1 UDP (10 Mbps) and 31 TCPs sharing a 10
if all flows play by the rules Mbps line
• In practice: most sources must use
TCP or be “TCP friendly” UDP (#1) - 10 Mbps UDP (#1)

– most sources are cooperative TCP (#2)


.
TCP (#2)
.
. .
– most sources implement . .
TCP (#32) TCP (#32)
homogeneous/compatible control law Bottleneck link
(10 Mbps)
• compatible means less aggressive than TCP
• What if sources do not play by the rule?
21
22

Throughput of UDP and TCP Fairness Goals


Flows With FIFO
10 • Allocate resources fairly
9
• Isolate ill-behaved users
8
– Router does not send explicit feedback to
Throughput (Mbps)

7
6 source
5 FIFO
– Still needs e2e congestion control
4
3 • Still achieve statistical multiplexing
2
– One flow can fill entire pipe if no contenders
1
0 – Work conserving  scheduler never idles link
1 3 5 7 9 11 13 15 17
Flow Number
19 21 23 25 27 29 31
if it has a packet
24
23

6
What is Fairness? Max-min Fairness
• Allocate user with “small” demand what it
• At what granularity?
wants, evenly divide unused resources to
– Flows, connections, domains?
“big” users
• What if users have different RTTs/links/etc.
– Should it share a link fairly or be TCP fair? • Formally:
• Maximize fairness index? • Resources allocated in terms of increasing demand
– Fairness = (xi)2/n(xi2) 0<fairness<1 • No source gets resource share larger than its demand
• Sources with unsatisfied demands get equal share of
• Basically a tough question to answer! resource
• Good to separate the design of the mechanisms from
definition of a policy
– User = arbitrary granularity
• We will focus on max-min fairness – just an example
25 26

Implementing Max-min Bit-by-bit RR


Fairness
• Single flow: clock ticks when a bit is
• Generalized processor sharing transmitted. For packet i:
– Fluid fairness – Pi = length, Ai = arrival time, Si = begin transmit
time, Fi = finish transmit time
– Bitwise round robin among all queues
– Fi = Si+Pi = max (Fi-1, Ai) + Pi
• Why not simple round robin? • Multiple flows: clock ticks when a bit from all
– Variable packet length  can get more active flows is transmitted  round number
service by sending bigger packets – Can calculate Fi for each packet if number of flows
– Unfair instantaneous service rate is know at all times
• Why do we need to know flow count?  need to know A
• What if arrive just before/after packet departs?  This can be complicated
27 28

7
Bit-by-bit RR Illustration Fair Queuing
• Mapping bit-by-bit schedule onto packet
• Not feasible to
transmission schedule
interleave bits on
real networks • Transmit packet with the lowest Fi at any
– FQ simulates bit-by- given time
bit RR – How do you compute Fi?

29 30

Example: Throughput of TCP


Bit-by-bit RR Example and UDP Flows With Fair
Flow 1 Flow 2 Output Queueing Router
0.45

0.4

0.35
F=10

Throughput (Mbps)
F=8 0.3

F=5 Flow 1 Flow 2 0.25


Output
(arriving) transmitting FQ
0.2

0.15

Cannot preempt packet F=10 0.1


currently being transmitted
0.05

F=2 0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
Flow Number
31 32

8
Fair Queuing Tradeoffs WFQ Illustration
• Complex computation
Flow 1
– Classification into flows may be hard W1
– Must keep queues sorted by finish times W2
Flow 2
– dR/dt changes whenever the flow count changes
I/P O/P
• Complex state – must keep queue per flow
• Hard in routers with many flows (e.g., backbone routers) W3
• Flow aggregation is a possibility (e.g. do fairness per domain)
• FQ can control congestion by monitoring flows
• Weighted fair queuing can give flows a different fraction
of the bandwidth - controlled by a weight Wi Flow n Wn
– Bandwidth of flow i is Wi / ∑ Wj
Variation: Weighted Fair Queuing (WFQ)
33
34

Traffic Enforcement:
Overview
Token Bucket Filter
Tokens enter bucket
at rate r
• What is QoS?
Bucket depth b:
• Queuing discipline and scheduling capacity of bucket

Operation:
• Traffic Enforcement – If bucket fills, tokens are discarded
– Sending a packet of size P uses P
tokens
• Integrated services – If bucket has P tokens, packet sent
at max rate, else must wait for
35 tokens to accumulate 36

9
Token Bucket Operation Token Bucket Characteristics
• Can characterize flow using a token bucket:
Tokens Tokens Tokens
smallest parameters for which no packets will
be delayed
• On the long run, rate is limited to r
Overflow • On the short run, a burst of size b can be sent
• Amount of traffic entering at interval T is
bounded by:
Packet Packet
– Traffic = b + r*T
Enough tokens  Not enough tokens
packet goes through,  wait for tokens to • Information useful to admission algorithm
tokens removed accumulate
38
37

Token Bucket Traffic Enforcement: Example


• Parameters • r = 100 Kbps; b = 3 Kb; R = 500
– r – average rate, i.e., rate at which tokens fill the bucket (b)
– b – bucket depth
Kbps
(a)

3Kb
– R – maximum link capacity or peak rate (optional parameter) 2.2Kb
• A bit is transmitted only when there is an available token

r bps T = 0 : 1Kb packet arrives T = 2ms : packet transmitted


Maximum # of bits sent
bits b = 3Kb – 1Kb + 2ms*100Kbps = 2.2Kb
(c) (d) (e)
slope r
b bits b*R/(R-r) 3Kb
2.4Kb 0.6Kb
slope R
<= R bps
T = 4ms : 3Kb packet arrives T = 10ms : T = 16ms : packet
regulator time transmitted
39 40

10
Token Bucket Specs - Example Overview

• What is QoS?
BW Flow B
2
Flow A: r = 1 MBps, B=1 byte
• Queuing discipline and scheduling
1 Flow A Flow B: r = 1 MBps, B=1MB

1 2 3 Time • Traffic Enforcement

• Integrated services
42
41

Integrated Services Guarantee Proven by Parekh


Traffic Classes
• Guaranteed service • Given:
– For hard real-time applications – Flow i shaped with token bucket and leaky bucket rate
– Fixed guarantee, network meets commitment if clients send control (depth b and rate r)
at agreed-upon rate – Network nodes do WFQ
– Admissions control limits number of flows
• Predicted service
– For delay-adaptive applications • Cumulative queuing delay Di suffered by flow i has
– Two components upper bound
• If conditions do not change, commit to current service – Di < b/r, (where r may be much larger than average rate)
• If conditions change, take steps to deliver consistent – Assumes that r < link speed at any router
performance (help apps minimize playback delay)
• Implicit assumption – network does not change much over time
– All sources limiting themselves to r will result in no network
queuing
• Datagram/best effort service • Basis for the IETF integrated services standard
43 44

11
Lessons

• What type of applications are there? 


Elastic, adaptive real-time , and hard
real-time.
• Why do we need admission control 
to maximize utility
• How do token buckets + WFQ provide
QoS guarantees?

45

12

You might also like