Title: Quality of Service QoS
1Quality of Service (QoS)
- Shivkumar Kalyanaraman
- Rensselaer Polytechnic Institute
- shivkuma_at_ecse.rpi.edu
- http//www.ecse.rpi.edu/Homepages/shivkuma
Based in part on slides of Ion Stoica, Jim
Kurose, Srini Seshan, Srini Keshav
2Overview
- Why better-than-best-effort (QoS-enabled)
Internet ? - Quality of Service (QoS) building blocks
- End-to-end protocols RTP, H.323
- Network protocols
- Integrated Services(IntServ), RSVP.
- Scalable differentiated services DiffServ
- Control plane QoS routing, traffic engineering,
policy management, pricing models
3Why Better-than-Best-Effort (QoS)?
- To support a wider range of applications
- Real-time, Multimedia, etc
- To develop sustainable economic models and new
private networking services - Current flat priced models, and best-effort
services do not cut it for businesses
4Quality of Service What is it?
Multimedia applications network audio and video
5What is QoS?
- Better performance as described by a set of
parameters or measured by a set of metrics. - Generic parameters
- Bandwidth
- Delay, Delay-jitter
- Packet loss rate (or loss probability)
- Transport/Application-specific parameters
- Timeouts
- Percentage of important packets lost
6What is QoS (contd) ?
- These parameters can be measured at several
granularities - micro flow, aggregate flow, population.
- QoS considered better if
- a) more parameters can be specified
- b) QoS can be specified at a fine-granularity.
- QoS spectrum
Best Effort
Leased Line
7Fundamental Problems
- In a FIFO service discipline, the performance
assigned to one flow is convoluted with the
arrivals of packets from all other flows! - Cant get QoS with a free-for-all
- Need to use new scheduling disciplines which
provide isolation of performance from arrival
rates of background traffic
8Fundamental Problems
- Conservation Law (Kleinrock) ??(i)Wq(i) K
- Irrespective of scheduling discipline chosen
- Average backlog (delay) is constant
- Average bandwidth is constant
- Zero-sum game gt need to set-aside resources
for premium services
9QoS Big Picture Control/Data Planes
10QoS Components
- QoS gt set aside resources for premium services
- QoS components
- a) Specification of premium services
(service/service level agreement design) - b) How much resources to set aside? (admission
control/provisioning) - c) How to ensure network resource utilization, do
load balancing, flexibly manage traffic
aggregates and paths ? - (QoS routing, traffic engineering)
11QoS Components (Continued)
- d) How to actually set aside these resources in a
distributed manner ? - (signaling, provisioning, policy)
- e) How to deliver the service when the traffic
actually comes in (claim/police resources)? - (traffic shaping, classification, scheduling)
- f) How to monitor quality, account and price
these services? - (network mgmt, accounting, billing, pricing)
12How to upgrade the Internet for QoS?
- Approach de-couple end-system evolution from
network evolution - End-to-end protocols RTP, H.323 etc to spur the
growth of adaptive multimedia applications - Assume best-effort or better-than-best-effort
clouds - Network protocols IntServ, DiffServ, RSVP, MPLS,
COPS - To support better-than-best-effort capabilities
at the network (IP) level
13QOS SPECIFICATION, TRAFFIC, SERVICE
CHARACTERIZATION, BASIC MECHANISMS
14Service Specification
- Loss probability that a flows packet is lost
- Delay time it takes a packets flow to get from
source to destination - Delay jitter maximum difference between the
delays experienced by two packets of the flow - Bandwidth maximum rate at which the soource can
send traffic - QoS spectrum
Best Effort
Leased Line
15Hard Real Time Guaranteed Services
- Service contract
- Network to client guarantee a deterministic
upper bound on delay for each packet in a session
- Client to network the session does not send more
than it specifies - Algorithm support
- Admission control based on worst-case analysis
- Per flow classification/scheduling at routers
16Soft Real Time Controlled Load Service
- Service contract
- Network to client similar performance as an
unloaded best-effort network - Client to network the session does not send more
than it specifies - Algorithm Support
- Admission control based on measurement of
aggregates - Scheduling for aggregate possible
17Traffic and Service Characterization
- To quantify a service one has two know
- Flows traffic arrival
- Service provided by the router, i.e., resources
reserved at each router - Examples
- Traffic characterization token bucket
- Service provided by router fix rate and fix
buffer space - Characterized by a service model (service curve
framework)
18Token Bucket
- Characterized by three parameters (b, r, R)
- b token depth
- r average arrival rate
- R maximum arrival rate (e.g., R link capacity)
- A bit is transmitted only when there is an
available token - When a bit is transmitted exactly one token is
consumed
r tokens per second
bits
slope r
bR/(R-r)
b tokens
slope R
lt R bps
time
regulator
19Characterizing a Source by Token Bucket
- Arrival curve maximum amount of bits
transmitted by time t - Use token bucket to bound the arrival curve
bits
bps
Arrival curve
time
time
20Example
- Arrival curve maximum amount of bits
transmitted by time t - Use token bucket to bound the arrival curve
Arrival curve
bits
4
bps
3
2
2
1
1
0
1
2
3
4
5
1
2
3
4
5
size of time interval
time
21Per-hop Reservation
- Given b,r,R and per-hop delay d
- Allocate bandwidth ra and buffer space Ba such
that to guarantee d
slope ra
slope r
bits
Arrival curve
b
Ba
22What is a Service Model?
Network element
delivered traffic
offered traffic
(connection oriented)
- The QoS measures (delay,throughput, loss, cost)
depend on offered traffic, and possibly other
external processes. - A service model attempts to characterize the
relationship between offered traffic, delivered
traffic, and possibly other external processes.
23Arrival and Departure Process
bits
Rin(t) arrival process amount of
data arriving up to time t
delay
buffer
Rout(t) departure process amount
of data departing up to time t
t
24Traffic Envelope (Arrival Curve)
- Maximum amount of service that a flow can send
during an interval of time t
b(t) Envelope
slope max average rate
Burstiness Constraint
slope peak rate
t
25Service Curve
- Assume a flow that is idle at time s and it is
backlogged during the interval (s, t) - Service curve the minimum service received by
the flow during the interval (s, t)
26Big Picture
Service curve
bits
bits
Rin(t)
slope C
t
t
bits
t
27Delay and Buffer Bounds
bits
E(t) Envelope
Maximum delay
Maximum buffer
S (t) service curve
t
28Mechanisms Traffic Shaping/Policing
- Token bucket limits input to specified Burst
Size (b) and Average Rate (r). - Traffic sent over any time T lt rT b
- a.k.a Linear bounded arrival process (LBAP)
- Excess traffic may be queued, marked BLUE, or
simply dropped
29Mechanisms Queuing/Scheduling
Traffic Sources
Traffic Classes
Class A
Class B
Class C
- Use a few bits in header to indicate which queue
(class) a packet goes into (also branded as CoS) - High users classified into high priority
queues, which also may be less populated - gt lower delay and low likelihood of packet drop
- Ideas priority, round-robin, classification,
aggregation, ...
30Mechanisms Buffer Mgmt/Priority Drop
Drop RED and BLUE packets
Drop only BLUE packets
- Ideas packet marking, queue thresholds,
differential dropping, buffer assignments
31SCHEDULING
32Packet Scheduling
- Decide when and what packet to send on output
link - Usually implemented at output interface
flow 1
flow 2
Classifier
Scheduler
1
2
flow n
Buffer management
33Focus Scheduling Policies
- Priority Queuing classes have different
priorities class may depend on explicit marking
or other header info, eg IP source or
destination, TCP Port numbers, etc. - Transmit a packet from the highest priority class
with a non-empty queue - Preemptive and non-preemptive versions
34Scheduling Policies (more)
- Round Robin scan class queues serving one from
each class that has a non-empty queue
35Round-Robin Discussion
- Advantages protection among flows
- Misbehaving flows will not affect the performance
of well-behaving flows - Misbehaving flow a flow that does not implement
any congestion control - FIFO does not have such a property
- Disadvantages
- More complex than FIFO per flow queue/state
- Biased toward large packets a flow receives
service proportional to the number of packets
36Generalized Processor Sharing(GPS)
- Assume a fluid model of traffic
- Visit each non-empty queue in turn (RR)
- Serve infinitesimal from each
- Leads to max-min fairness
- GPS is un-implementable!
- We cannot serve infinitesimals, only packets
37Generalized Processor Sharing
- A work conserving GPS is defined as
- where
- wi weight of flow i
- Wi(t1, t2) total service received by flow i
during t1, t2) - W(t1, t2) total service allocated to all flows
during t1, t2) - B(t) number of flows backlogged
38Fair Rate Computation in GPS
- Associate a weight wi with each flow i
- If link congested, compute f such that
f 2 min(8, 23) 6 min(6, 21) 2 min(2,
21) 2
8
(w1 3)
10
4
6
(w2 1)
4
2
2
(w3 1)
39Bit-by-bit Round Robin
- Single flow clock ticks when a bit is
transmitted. For packet i - Pi length, Ai arrival time, Si begin
transmit time, Fi finish transmit time - Fi SiPi max (Fi-1, Ai) Pi
- Multiple flows clock ticks when a bit from all
active flows is transmitted ? round number - Can calculate Fi for each packet if number of
flows is known at all times - This can be complicated
40Packet Approximation of Fluid System
- Standard techniques of approximating fluid GPS
- Select packet that finishes first in GPS assuming
that there are no future arrivals - Important properties of GPS
- Finishing order of packets currently in system
independent of future arrivals - Implementation based on virtual time
- Assign virtual finish time to each packet upon
arrival - Packets served in increasing order of virtual
times
41Fair Queuing (FQ)
- Idea serve packets in the order in which they
would have finished transmission in the fluid
flow system - Mapping bit-by-bit schedule onto packet
transmission schedule - Transmit packet with the lowest Fi at any given
time - Variation Weighted Fair Queuing (WFQ)
42Approximating GPS with WFQ
- Fluid GPS system service order
0
2
10
4
6
8
- Weighted Fair Queueing
- select the first packet that finishes in GPS
43FQ Example
Cannot preempt packet currently being transmitted
44FQ Advantages
- FQ protect well-behaved flows from ill-behaved
flows - Example 1 UDP (10 Mbps) and 31 TCPs sharing a
10 Mbps link
45System Virtual Time V(t)
- Measure service, instead of time
- V(t) slope rate at which every active flow
receives service - C link capacity
- N(t) number of active flows in fluid system at
time t
V(t)
time
Service in fluid flow system
1
2
3
4
5
6
1
2
3
4
5
time
46System Virtual Time
- Virtual time (VGPS) service that backlogged
flow with weight 1 would receive in GPS
47Service Allocation in GPS
- The service received by flow i during an interval
t1,t2), while it is backlogged is
48Virtual Time Implementation of Weighted Fair
Queueing
if session j backlogged
if session j un-backlogged
- ajk arrival time of packet k of flow j
- Sjk virtual starting time of packet k of flow j
- Fjk virtual finishing time of packet k of flow
j - Ljk length of packet k of flow j
49Virtual Time Implementation of Weighted Fair
Queueing
- Need to keep per flow instead of per packet
virtual start, finish time only - System virtual time is used to reset a flows
virtual start time when a flow becomes backlogged
again after being idle
50System Virtual Time in GPS
1/2
1/8
1/8
1/8
1/8
2C
C
2C
0
4
12
8
16
51Virtual Start and Finish Times
- Utilize the time the packets would start Sik and
finish Fik in a fluid system
0
4
12
8
16
52Big Picture
- FQ does not eliminate congestion ? it just
manages the congestion - You need both end-host congestion control and
router support for congestion control - end-host congestion control to adapt
- router congestion control to protect/isolate
- Dont forget buffer management you still need to
drop in case of congestion. Which packets would
you drop in FQ? - one possibility packet from the longest queue
53QoS ARCHITECTURES
54Parekh-Gallager theorem
- Let a connection be allocated weights at each WFQ
scheduler along its path, so that the least
bandwidth it is allocated is g - Let it be leaky-bucket regulated such that bits
sent in time t1, t2 lt g(t2 - t1) ? - Let the connection pass through K schedulers,
where the kth scheduler has a rate r(k) - Let the largest packet size in the network be P
55Significance
- P-G Theorem shows that WFQ scheduling can provide
end-to-end delay bounds in a network of
multiplexed bottlenecks - WFQ provides both bandwidth and delay guarantees
- Bound holds regardless of cross traffic behavior
(isolation) - Needs shapers at the entrance of the network
- Can be generalized for networks where schedulers
are variants of WFQ, and the link service rate
changes over time
56Stateless vs. Stateful QoS Solutions
- Stateless solutions routers maintain no fine
grained state about traffic - scalable, robust
- weak services
- Stateful solutions routers maintain per-flow
state - powerful services
- guaranteed services high resource utilization
- fine grained differentiation
- protection
- much less scalable and robust
57Existing Solutions
58Integrated Services (IntServ)
- An architecture for providing QOS guarantees in
IP networks for individual application sessions - Relies on resource reservation, and routers need
to maintain state information of allocated
resources (eg g) and respond to new Call setup
requests
59Signaling semantics
- Classic scheme sender initiated
- SETUP, SETUP_ACK, SETUP_RESPONSE
- Admission control
- Tentative resource reservation and confirmation
- Simplex and duplex setup no multicast support
60RSVP Internet Signaling
- Creates and maintains distributed reservation
state - De-coupled from routing
- Multicast trees setup by routing protocols, not
RSVP (unlike ATM or telephony signaling) - Receiver-initiated scales for multicast
- Soft-state reservation times out unless
refreshed - Latest paths discovered through PATH messages
(forward direction) and used by RESV mesgs
(reverse direction).
61Call Admission
- Session must first declare its QOS requirement
and characterize the traffic it will send through
the network - R-spec defines the QOS being requested
- T-spec defines the traffic characteristics
- A signaling protocol is needed to carry the
R-spec and T-spec to the routers where
reservation is required RSVP is a leading
candidate for such signaling protocol
62Call Admission
- Call Admission routers will admit calls based on
their R-spec and T-spec and base on the current
resource allocated at the routers to other calls.
63Stateful Solution Guaranteed Services
- Achieve per-flow bandwidth and delay guarantees
- Example guarantee 1MBps and lt 100 ms delay to a
flow
Receiver
Sender
64Stateful Solution Guaranteed Services
- Allocate resources - perform per-flow admission
control
Receiver
Sender
65Stateful Solution Guaranteed Services
Receiver
Sender
66Stateful Solution Guaranteed Services
- Challenge maintain per-flow state consistent
Receiver
Sender
67Stateful Solution Guaranteed Services
Receiver
Sender
68Stateful Solution Guaranteed Services
- Per-flow buffer management
Receiver
Sender
69Stateful Solution Guaranteed Services
Receiver
Sender
70Stateful Solution Complexity
- Data path
- Per-flow classification
- Per-flow buffer
- management
- Per-flow scheduling
- Control path
- install and maintain
- per-flow state for
- data and control paths
Per-flow State
flow 1
flow 2
Scheduler
Classifier
flow n
Buffer management
output interface
71Stateless vs. Stateful
- Stateless solutions are more
- scalable
- robust
- Stateful solutions provide more powerful and
flexible services - guaranteed services high resource utilization
- fine grained differentiation
- protection
72Question
- Can we achieve the best of two worlds, i.e.,
provide services implemented by stateful networks
while maintaining advantages of stateless
architectures? - Yes, in some interesting cases. DPS, CSFQ.
- Can we provide reduced state services, I.e.,
maintain state only for larger granular flows
rather than end-to-end flows? - Yes Diff-serv
73Differentiated Services (DiffServ)
- Intended to address the following difficulties
with Intserv and RSVP - Scalability maintaining states by routers in
high speed networks is difficult sue to the very
large number of flows - Flexible Service Models Intserv has only two
classes, want to provide more qualitative service
classes want to provide relative service
distinction (Platinum, Gold, Silver, ) - Simpler signaling (than RSVP) many applications
and users may only w ant to specify a more
qualitative notion of service
74Differentiated Services Model
Interior Router
Egress Edge Router
Ingress Edge Router
- Edge routers traffic conditioning (policing,
marking, dropping), SLA negotiation - Set values in DS-byte in IP header based upon
negotiated service and observed traffic. - Interior routers traffic classification and
forwarding (near stateless core!) - Use DS-byte as index into forwarding table
75Diffserv Architecture
Edge router - per-flow traffic management -
marks packets as in-profile and out-profile
Core router - per class TM - buffering and
scheduling based on marking at edge - preference
given to in-profile packets - Assured Forwarding
76Packet format support
- Packet is marked in the Type of Service (TOS) in
IPv4, and Traffic Class in IPv6 renamed as DS - 6 bits used for Differentiated Service Code Point
(DSCP) and determine PHB that the packet will
receive - 2 bits are currently unused
77Traffic Conditioning
- It may be desirable to limit traffic injection
rate of some class user declares traffic profile
(eg, rate and burst size) traffic is metered and
shaped if non-conforming
78Per-hop Behavior (PHB)
- PHB name for interior router data-plane
functions - Includes scheduling, buff. mgmt, shaping etc
- Logical spec PHB does not specify mechanisms to
use to ensure performance behavior - Examples
- Class A gets x of outgoing link bandwidth over
time intervals of a specified length - Class A packets leave first before packets from
class B
79PHB (contd)
- PHBs under consideration
- Expedited Forwarding departure rate of packets
from a class equals or exceeds a specified rate
(logical link with a minimum guaranteed rate) - Emulates leased-line behavior
- Assured Forwarding 4 classes, each guaranteed a
minimum amount of bandwidth and buffering each
with three drop preference partitions - Emulates frame-relay behavior
80Question
- Can we achieve the best of two worlds, i.e.,
provide services implemented by stateful networks
while maintaining advantages of stateless
architectures? - Yes, in some interesting cases. DPS, CSFQ.
- Can we provide reduced state services, I.e.,
maintain state only for larger granular flows
rather than end-to-end flows? - Yes Diff-serv
81Scalable Core (SCORE)
- A trusted and contiguous region of network in
which - edge nodes perform per flow management
- core nodes do not perform per flow management
82The DPS Approach
- Define a reference stateful network that
implements the desired service
Reference Stateful Network
83The DPS Idea
- Instead of having core routers maintaining
per-flow state have packets carry per-flow state
Reference Stateful Network
SCORE Network
84Dynamic Packet State (DPS)
- Ingress node compute and insert flow state in
packets header
85Dynamic Packet State (DPS)
- Ingress node compute and insert flow state in
packets header
86Dynamic Packet State (DPS)
- Core node
- process packet based on state it carries and
nodes state - update both packet and nodes state
87Dynamic Packet State (DPS)
- Egress node remove state from packets header
88Example DPS-Guaranteed Services
- Goal provide per-flow delay and bandwidth
guarantees - How emulate ideal model in which each flow
traverses dedicated links of capacity r - Per-hop packet service time (packet length) / r
r
r
r
flow (reservation r )
89Guaranteed Services
- Define reference network to implement service
- control path per-flow admission control, reserve
capacity r on each link - data path enforce ideal model, by using Jitter
Virtual Clock (Jitter-VC) scheduler
Jitter-VC
Jitter-VC
Jitter-VC
Jitter-VC
Jitter-VC
Jitter-VC
Jitter-VC
Reference Stateful Network
90Guaranteed Services
- Use DPS to eliminate per-flow state in core
- control path emulate per-flow admission control
- data path emulate Jitter-VC by Core-Jitter
Virtual Clock (CJVC)
Jitter-VC
CJVC
Jitter-VC
Jitter-VC
Jitter-VC
CJVC
CJVC
Jitter-VC
Jitter-VC
CJVC
CJVC
Jitter-VC
CJVC
Reference Stateful Network
SCORE Network
91End-to-end Adaptive Applications
Video Coding, Error Concealment, Unequal Error
Protection (UEP)
Video Coding, Error Concealment, Unequal Error
Protection (UEP)
Packetization, Marking, playout Buffer
Management
Packetization, Marking, Source Buffer Management
Congestion control
Congestion control
Internet
End-to-end Closed-loop control
92End-to-end Real-Time Protocol (RTP)
- Provides standard packet format for real-time
application - Typically runs over UDP
- Specifies header fields below
- Payload Type 7 bits, providing 128 possible
different types of encoding eg PCM, MPEG2 video,
etc. - Sequence Number 16 bits used to detect packet
loss
93Real-Time Protocol (RTP)
- Timestamp 32 bytes gives the sampling instant
of the first audio/video byte in the packet
used to remove jitter introduced by the network - Synchronization Source identifier (SSRC) 32
bits an id for the source of a stream assigned
randomly by the source
94RTP Control Protocol (RTCP)
- Protocol specifies report packets exchanged
between sources and destinations of multimedia
information - Three reports are defined Receiver reception,
Sender, and Source description - Reports contain statistics such as the number of
packets sent, number of packets lost,
inter-arrival jitter - Used to modify sender transmission rates and
for diagnostics purposes
95Eg Streaming RTSP
- User interactive control is provided, e.g. the
public protocol Real Time Streaming Protocol
(RTSP) - Helper Application displays content, which is
typically requested via a Web browser e.g.
RealPlayer typical functions - Decompression
- Jitter removal
- Error correction use redundant packets to be
used for reconstruction of original stream - GUI for user control
96Using a Streaming Server
- Web browser requests and receives a Meta File (a
file describing the object) - Browser launches the appropriate Player and
passes it the Meta File - Player contacts a streaming server, may use a
choice of UDP vs. TCP to get the stream
97Receiver Adaptation Options
- If UDP Server sends at a rate appropriate for
client to reduce jitter, Player buffers
initially for 2-5 seconds, then starts display - If TCP sender sends at maximum possible rate
retransmit when error is encountered Player uses
a much large buffer to smooth delivery rate of TCP
98H.323
- H.323 is an ITU standard for multimedia
communications over best-effort LANs. - Part of larger set of standards (H.32X) for
videoconferencing over data networks. - H.323 includes both stand-alone devices and
embedded personal computer technology as well as
point-to-point and multipoint conferences. - H.323 addresses call control, multimedia
management, and bandwidth management as well as
interfaces between LANs and other networks.
99H.323 Architecture
100Inter-domain QoS Challenge
- Provide high quality service across ISPs
- Problem intermediate ISPs dont have incentive
to provide good service - e.g., hot-potato policy
ISP 2
?
ISP 3
ISP 1
101Approach Virtual ISP (V-ISP)
- Avoid crossing ISP boundaries
- Each ISP will provide good service V-ISP can
easily verify it - Allocate/buy service across each ISP and compose
them
GPoP (core)
GPoP (core)
ISP 2
Proxy (edge)
Proxy (edge)
ISP 3
ISP 1
102Composition Tools for QoS
- Dynamic Packet State (DPS)
- Proxy (edge) maintain per flow state label
packets - Giga PoPs (core) maintain no per flow state
process packets based on their labels
103Closed-Loop Building Blocks for QoS
International Link or
International Link or
104Edge-based QoS building blocks
I
E
Logical FIFO
B
I
E
E
I
New Closed-loop control !
Policy/ Bandwidth Broker
105Closed-loop QoS Building Blocks
Priority/WFQ
FIFO
B
?
B
- Scheduler differentiates service on a
packet-by-packet basis
- Loops differentiate service on an RTT-by-RTT
basis using purely edge-based policy
configuration.
106OverQoS Overlay QoS using FEC
107QoS an application-level approach
- sophisticated services in application
- architecturally above network core
- open services let 1000 flowers bloom
simple, fast, diffserv network
108QoS an application-level approach
- Application-level infrastructure
- accommodate network-level service
- additional tailoring of user services
109Content Delivery Motivation congestion
Networks
Browsers
Routers
Web Servers
110Content Delivery idea
- Reduces load on server
- Avoids network congestion
Browsers
Replicatedcontent
Content Sink
Router
Content Source
Web Server
111CDN Architectural Layout
Request Routing(RR)
4
1
Client
5
Distribution System
Origin
2
6
3
Surrogate
- Publisher informs RR of Content Availability.
- Content Pushed to Distribution System.
- Client Requests Content, Requested redirected to
RR. - RR finds the most suitable Surrogate
- Surrogate services client request.
112Summary
- QoS big picture, building blocks
- Integrated services RSVP, 2 services,
scheduling, admission control etc - Diff-serv edge-routers, core routers DS byte
marking and PHBs - Real-time transport/middleware RTP, H.323
- New problems inter-domain QoS, Application-level
QoS, Content delivery/web caching