quality-of-service - computer sciencecs757/slidespdf/757-15-qosintro.pdf · what is...

21
© 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 network This is called a best-effort service.

Upload: lengoc

Post on 13-Sep-2018

219 views

Category:

Documents


0 download

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