quality-of-service - computer sciencecs757/slidespdf/757-15-qosintro.pdf · what is...
TRANSCRIPT
1
© Jörg Liebeherr, 2000-2003 CS757
Quality-of-Service
© Jörg Liebeherr, 2000-2003 CS757
Quality of Service
What is Quality-of-Service?• QoS refers to traffic control mechanisms that seek to either
differentiate performance based on application or network-operator requirements, or provide predictable or guaranteed performance to applications, sessions, or traffic aggregates.
Why is this an issue?• The default service in many packet networks is to give all
applications the same service, and not consider any service requirements to the networkThis is called a best-effort service.
2
© Jörg Liebeherr, 2000-2003 CS757
Quality of Service
Who needs Quality-of-Service?– Video and audio conferencing bounded delay and loss rate– Video and audio streaming bounded packet loss rate– Time-critical applications (real-time control) bounded delays– “valuable applications” better service than less valuable applications
How are Quality-of-Service requirements specified?• QoS parameters are
– Delay– Delay Variation (Jitter)– Throughput– Error Rate
© Jörg Liebeherr, 2000-2003 CS757
Quality of Service
What is the granularity of QoS?– Per-flow QoS
Guarantees are specified and enforced for single end-to-end data flow
– Class-based QoSGuarantees are specified and enforced for groups of
flows
3
© Jörg Liebeherr, 2000-2003 CS757
Granularity of QoS
• Per-flow guarantees– Require per-flow reservations in the network– Require per-flow classification at routers
© Jörg Liebeherr, 2000-2003 CS757
Granularity of QoS
1
1
2
2
1
1
2
2
1
1
2
2
21
2
1
2
11
2
1
22
1
• Per-class guarantees– Bundle traffic flows with similar service requirements into “classes”– No per-flow reservations– Per-class guarantees do not immediately translate into per-flow
guarantees
4
© Jörg Liebeherr, 2000-2003 CS757
Levels of QoS guarantees
Absolute QoS guarantees• Assumes per-flow guarantees• The QoS of a flow is independent of QoS of other
flows• Objective of service: “Isolation”• Guarantees can be deterministic or statistical• Needs resource reservation mechanism
© Jörg Liebeherr, 2000-2003 CS757
Levels of QoS guarantees
Adaptive QoS guarantees
– Adapts QoS to load conditions in the network; potentially with upper and lower bounds.
– Objective of Service: “Fairness”– Does not need resource reservation
– Needs adaptive feedback mechanism
No QoS guarantees (Best Effort)
- Objective of Service: “Sharing”
- Always works
5
© Jörg Liebeherr, 2000-2003 CS757
Components of QoS in a Network
QoSU
tilit y
Application can adapt utility--> adaptive QoS
QoS
Util
ity
Application needs
--> absolute QoS
QoS
Util
ity
Application toler-ates QoS variations--> best effort
© Jörg Liebeherr, 2000-2003 CS757
Types of QoS guarantees
• Deterministic QoS– Service guarantees are enforced for all traffic– For example, deterministic delay guarantees have the form:
Delay of a packet from flow X < D(D is called a delay bound)
• Statistical QoS– Allows a certain fraction of traffic to violate the service
guaranteesProb [ Delay of a packet from flow X < D ] > 1 - ε
– Where ε is a small number (e.g., ε = 10-6)
6
© Jörg Liebeherr, 2000-2003 CS757
Quality of Service Network
• Traffic description: 1 Mbps throughput, 100 kB max. burst • Quality of Service parameters: 10-5 loss rate, 50 msec delay
Sender ReceiverPolicingand Shaping
Switch
AdmissionControl
© Jörg Liebeherr, 2000-2003 CS757
Traffic Contract
• An application submits to network a reservation request for a new flow with a traffic specification and desired QoS
• Network performs admission control functions which determines if sufficient resources are available to
(a) satisfy the desired QoS of new flow(b) without violating QoS of existing flows
• If sufficient resources are available, network reserves resources for flow; Otherwise, it rejects the flow
• Network performs policing and shaping at the network entrance to ensure that application adheres to its specification
7
© Jörg Liebeherr, 2000-2003 CS757
Why is QoS Hard ?
• QoS is easy to achieve if the network over allocates resources for each flow
• Allocating bandwidth at the peak rate, yields deterministic QoS, but is very inefficient
• Challenge of QoS Networking:– Build a network that can provide QoS with the least
amount of resourcesUsing better algorithms has the same effect as adding bandwidth (or other resources)
– Problem: Complexity and scalability of QoS techniques
© Jörg Liebeherr, 2000-2003 CS757
Multiplexing GainMultiplexing Gain
⋅<<
flow 1 for guarantees
support toneeded Resources
N
flows N for guarantees
support to needed Resources
Sources of multiplexing gain:• Traffic Conditioning (“Smoothing”)• Scheduling• Statistical Multiplexing Gain
8
© Jörg Liebeherr, 2000-2003 CS757
Why is it hard to get multiplexing gain?Why is it hard to get multiplexing gain?
MPEG-Compressed Video Trace
0
50
100
150
200
250
300
350
0 200 400 600 800 1000
Frame number
T r a
f f I
c (
i n
5 0 b
y t
e ce l l
s)
1. Burstiness of traffic2. Stringent service guarantees
Peak rate
Mean rate
© Jörg Liebeherr, 2000-2003 CS757
Traffic ConditioningTraffic Conditioning
MPEG-Compressed Video Trace
0
50
100
150
200
250
300
350
0 200 400 600 800 1000
Frame number
Traf
fic (i
n 50
byt
e ce
lls)
Traffic Conditioning
• Traffic conditioning is typically done at the network edge
MPEG-Compressed Video Trace
0
50
100
150
200
250
300
350
0 200 400 600 800 1000Frame number
Traf
fic (i
n 50
byt
e ce
lls)
9
© Jörg Liebeherr, 2000-2003 CS757
SchedulingScheduling
• Scheduling algorithm determines the order in which traffic is transmitted
© Jörg Liebeherr, 2000-2003 CS757
Deterministicworst-case
Expected case Probable worst-
case
10
© Jörg Liebeherr, 2000-2003 CS757
Designing Networks for Multiplexing GainDesigning Networks for Multiplexing Gain
Peak Rate
Multiple Buckets
FCFS
Static Priority
Earliest-Deadline-First
GPS
Average Rate
Peak Rate AllocationDeterministic service
Statistical service
Scheduling
Service /Admission Control
Token Bucket
TrafficCharacterization/ Conditioning
© Jörg Liebeherr, 2000-2003 CS757
Token BucketMultiple BucketsDeterministic service
Statistical service
Static Priority
Earliest-Deadline-First
GPS
Average Rate
Peak Rate
FCFS
Peak Rate Allocation
TrafficCharacterization/ ConditioningService /
Admission Control
Scheduling
Designing Networks for Multiplexing GainDesigning Networks for Multiplexing Gain
11
© Jörg Liebeherr, 2000-2003 CS757
Peak RateToken Bucket
Peak Rate Allocation
Statistical service
FCFS
Static Priority
GPS
Average Rate
By now: The design space for determi-nistic guarantees is well understood.
Multiple BucketsDeterministic service
Earliest-Deadline-First
TrafficCharacterization/ ConditioningService /
Admission Control
Scheduling
Designing Networks for Multiplexing GainDesigning Networks for Multiplexing Gain
© Jörg Liebeherr, 2000-2003 CS757
Peak RateToken Bucket
Peak Rate AllocationDeterministic service
FCFS
Static Priority
Earliest-Deadline-First
GPS
Average Rate
Still open:Is there an elegant framework to reason about statistical guarantees?
Statistical Network Calculus
Statistical serviceMultiple Buckets
TrafficCharacterization/ Conditioning
Scheduling
Service /Admission Control
Designing Networks for Multiplexing GainDesigning Networks for Multiplexing Gain
12
© Jörg Liebeherr, 2000-2003 CS757
Components of a QoS Network(with absolute per-flow guarantees)
1. At routers: Packet Classification, Packet Scheduling
2. At network entrance: Traffic conditioning
3. At routers or somewhere in the network: Admission Control
4. Between hosts and routers: Signaling
© Jörg Liebeherr, 2000-2003 CS757
Classification and Scheduling
Routers need to be able to
1. classify arriving packets according to their QoSrequirements
Packet Classification
2. isolate traffic flows and provide requested QoS
Packet Scheduling
13
© Jörg Liebeherr, 2000-2003 CS757
Packet Classification
Action
--------
---- ----
--------
Predicate ActionClassifier (Policy Database)
Packet Classification
Forwarding Engine
Incoming Packet
HEADER
Packet classification is done before routing table lookup
© Jörg Liebeherr, 2000-2003 CS757
Packet Scheduling
• Packet scheduling algorithm determines the order in which backlogged packets are transmitted on an output link
scheduler
Allocating output bandwidthControlling packet delay
14
© Jörg Liebeherr, 2000-2003 CS757
Scheduling Algorithms
• First-Come-First-Served (FCFS or FIFO)– Cannot support different QoS
• Static Priority (a.k.a. Head-of-line priority)– Mechanism: Has one FCFS queue for each priority level; always
serves the backlogged FCFS queue with highest priority– Can support delay differentiation, but tends to starve low priority traffic
• Earliest-Deadline-First – Mechanism: Assigns each packet a deadline (deadline = arrival time +
delay guarantee of flow)– Requires to maintain a sorted queue
© Jörg Liebeherr, 2000-2003 CS757
Scheduling Algorithms
• Fair Queueing– Attempts to implement a scheduler that serves all flows
with a backlog at the same rate– Emulates a bitwise Round Robin scheduling algorithm– Not completely trivial to implement Fair Queuing in a
packet network
FIFO
Fair Queueing
15
© Jörg Liebeherr, 2000-2003 CS757
ArrivalsFlow 1Flow 2Flow 3
Time
Suppose we have QoS constraints on delay:• Flow 1: • Flow 2: • Flow 3:
Ba c
k lo g
Flow 1
Flow 2
Flow 3
Multiplexing Gain: ExampleMultiplexing Gain: Example
© Jörg Liebeherr, 2000-2003 CS757
QoS constraints on delay:• Flow 1: • Flow 2: • Flow 3:
Flow 1
ArrivalsFlow 2Flow 3
Time
Bac
klog
Multiplexing Gain via SchedulingMultiplexing Gain via Scheduling
• Here: fixed priority scheduling
Flow 1
Flow 2
Flow 3
16
© Jörg Liebeherr, 2000-2003 CS757
Traffic Conditioning
• Traffic conditioning mechanisms at the network boundary need to enforce that traffic from a flow adheres to its specification
PolicingDrop traffic that violates the specificationShapingBuffer traffic at network entrance that violates specificationMarkingMark packets with a lower priority or as best effort, if the traffic specification is violated
© Jörg Liebeherr, 2000-2003 CS757
Traffic Conditioning
• The most popular traffic conditioning algorithm is the leaky bucket
Token pool (Bucket) has depth b
r token/sec are added (no tokens are added if there are b tokens)
Network
A shaper buffers packets until a token becomes available A policer drops a packet if no token is available
Each packet removes a token from the pool.If pool is empty, packet cannot enter
17
© Jörg Liebeherr, 2000-2003 CS757
Traffic Conditioning
• Leaky bucket with peak rate enforcement has two buckets:• Size b, rate r: controls average rate• Size 1, rate P (with P > r): controls peak rate
Size = b
Network
Size = 1
r token/secP token/sec
This type of leaky bucket is used in ATM QoS and Internet QoS
© Jörg Liebeherr, 2000-2003 CS757
Traffic Conditioning
• Maximum traffic that is admitted by leaky bucket over any time interval
Pack
ets
Time interval
b
Slope r
Leaky Bucket
18
© Jörg Liebeherr, 2000-2003 CS757
Traffic Conditioning
• Maximum traffic that is admitted by dual leaky bucket over any time interval
Pack
ets
Time interval
Slope r
Leaky Bucket
Slope P
rPb−
© Jörg Liebeherr, 2000-2003 CS757
Admission Control
• Admission Control Conditions determine if the network can support the QoS requirements for a given set of flows
• Example: End-to-end delay must be less than delays at all nodes
1 23
d1,j d2,j d3,j
Dj = d1,j + d2,j + d3,j
19
© Jörg Liebeherr, 2000-2003 CS757
• Example: End-to-end delay must be less than a delay bound D
• Calculate smallest possible delay bound at each node: d*1,d*2 ,d*3 and reserve resources
• At receiver: – If D < d*1+d*2+d*3 , reject flow, send reject message to sender and release
resources – If D > d*1+d*2+d*3 , accept flow, commit resource reservation and notify sender
Distributed Admission Control
1 23
D < d1+d2+d3Reject
S
RDD,d1 D,d1,d2
D,d1,d2,d3
Reject
D > d1+d2+d3Accept
Accept
© Jörg Liebeherr, 2000-2003 CS757
• Example: End-to-end delay must be less than a delay bound D
• Calculate smallest possible delay bound at each node: d*1,d*2 ,d*3 and reserve resources
• At receiver: – If D < d*1+d*2+d*3 , send reject message to sender– If D > d*1+d*2+d*3 , accept flow and reserve resources
Centralized Admission Control
1 23
D < d1+d2+d3Reject
S
RD
D > d1+d2+d3AcceptAccept
server
Reject
Reserve
20
© Jörg Liebeherr, 2000-2003 CS757
Signaling for QoS
• A network with resource reservations needs to have a control protocol which relays the reservation request:
– ATM Networks: Q.2931– IP Networks: Reservation protocol (RSVP)
© Jörg Liebeherr, 2000-2003 CS757
RSVP Functional Diagram
Application
RSVPD
AdmissionsControl
PacketClassifier
PacketScheduler
PolicyControlD
ATA
DATA
RSVPD
PolicyControl
AdmissionsControl
PacketClassifier
PacketScheduler
DATA
RoutingProcess
Host Router
Source: Gordon Chaffee, UC Berkeley
21
© Jörg Liebeherr, 2000-2003 CS757
Resource Reservation
• Senders advertise using PATH message• Receivers reserve using RESV message
– Flowspec + filterspec + policy data– Travels upstream in reverse direction of Path message
• Merging of reservations• Sender/receiver notified of changes
Source: Gordon Chaffee, UC Berkeley