5-1_QoSkeynote.ppt
Download
Report
Transcript 5-1_QoSkeynote.ppt
IWQoS
June 2000
Engineering for QoS
and the limits of
service differentiation
Jim Roberts
([email protected])
France Télécom R&D
The central role of QoS
feasible technology
quality of service
• transparency
• response time
• accessibility
service model
network engineering
• resource sharing
• priorities,...
• provisioning
• routing,...
a viable business model
Engineering for QoS:
a probabilistic point of view
statistical characterization of traffic
notions of expected demand and random processes
for packets, bursts, flows, aggregates
QoS in statistical terms
transparency: Pr [packet loss], mean delay, Pr [delay > x],...
response time: E [response time],...
accessibility:
Pr [blocking],...
QoS engineering, based on a three-way relationship:
demand
capacity
performance
Outline
traffic characteristics
QoS engineering for streaming flows
QoS engineering for elastic traffic
service differentiation
Internet traffic is self-similar
a self-similar process
variability at all time
scales
due to:
infinite variance of flow
size
TCP induced burstiness
a practical consequence
difficult to characterize
a traffic aggregate
Ethernet traffic, Bellcore 1989
Traffic on a US backbone link
(Thomson et al, 1997)
traffic intensity is predictable ...
... and stationary in the busy hour
Traffic on a French backbone link
traffic intensity is predictable ...
... and stationary in the busy hour
tue
12h
wed
thu
18h
fri
sat
00h
sun
mon
06h
IP flows
a flow = one instance of a given application
a "continuous flow" of packets
basically two kinds of flow, streaming and
elastic
streaming flows
audio and video, real time and playback
rate and duration are intrinsic characteristics
not rate adaptive (an assumption)
QoS negligible loss, delay, jitter
elastic flows
digital documents ( Web pages, files, ...)
rate and duration are measures of
performance
QoS adequate throughput (response time)
Flow traffic characteristics
streaming flows
constant or variable rate
compressed audio (O[103 bps])
compressed video (O[106 bps])
highly variable duration
a Poisson flow arrival process (?)
elastic flows
infinite variance size distribution
rate adaptive
a Poisson flow arrival process (??)
variable rate video
Modelling traffic demand
stream traffic demand
arrival rate x bit rate x duration
elastic traffic demand
arrival rate x size
a stationary process in the "busy hour"
eg, Poisson flow arrivals, independent flow size
traffic
demand
Mbit/s
busy hour
time of day
Outline
traffic characteristics
QoS engineering for streaming flows
QoS engineering for elastic traffic
service differentiation
Open loop control for streaming
traffic
Open loop control -- a "traffic contract"
QoS guarantees rely on
traffic descriptors + admission control + policing
time scale decomposition for performance analysis
packet scale
burst scale
flow scale
user-network
interface
network-network
interface
user-network
interface
Packet scale: a superposition of
constant rate flows
constant rate flows
packet size/inter-packet interval = flow rate
maximum packet size = MTU
buffer size
buffer size for negligible overflow?
M/DMTU/1
over all phase alignments...
assuming independence between flows
worst case assumptions:
many low rate flows
MTU-sized packets
buffer sizing for M/DMTU/1 queue
Pr [queue > x] ~ C e -r x
increasing number,
increasing pkt size
log Pr [saturation]
The "negligible jitter conjecture"
constant rate flows acquire jitter
notably in multiplexer queues
conjecture:
if all flows are initially CBR and in all queues:
S flow rates < service rate
they never acquire sufficient jitter to become worse for
performance than a Poisson stream of MTU packets
M/DMTU/1 buffer sizing remains conservative
Burst scale:
fluid queueing models
assume flows have an instantaneous rate
eg, rate of on/off sources
bufferless or buffered multiplexing
Pr [arrival rate > service rate] < e
E [arrival rate] < service rate
packets
bursts
arrival rate
Buffered multiplexing performance:
impact of burst parameters
0
Pr [rate overload]
0
log Pr [saturation]
buffer size
Buffered multiplexing performance:
impact of burst parameters
0
buffer size
0
longer
burst length
shorter
log Pr [saturation]
Buffered multiplexing performance:
impact of burst parameters
0
buffer size
0
more variable
burst length
less variable
log Pr [saturation]
Buffered multiplexing performance:
impact of burst parameters
0
buffer size
0
long range dependence
burst length
short range dependence
log Pr [saturation]
Choice of token bucket
parameters?
the token bucket is a virtual Q
service rate r
buffer size b
b
non-conformance depends on
burst size and variability
and long range dependence
nonconformance
probability
a difficult choice for conformance
r >> mean rate...
...or b very large
r
b
b'
Bufferless multiplexing: alias
"rate envelope multiplexing"
provisioning and admission control to ensure Pr [Lt>C] < e
performance depends only on stationary rate distribution
loss rate E [(Lt -C)+] / E [Lt]
insensitivity to self-similarity
output
rate C
combined
input
rate Lt
time
Efficiency of bufferless
multiplexing
small amplitude of rate variations ...
peak rate << link rate (eg, 1%)
... or low utilisation
overall mean rate << link rate
we may have both in an integrated
network
priority to streaming traffic
residue shared by elastic flows
Flow scale: admission control
accept new flow only if transparency preserved
given flow traffic descriptor
current link status
no satisfactory solution for buffered multiplexing
(we do not consider deterministic guarantees)
unpredictable statistical performance
measurement-based control for bufferless multiplexing
given flow peak rate
current measured rate (instantaneous rate, mean, variance,...)
uncritical decision threshold if streaming traffic is light
in an integrated network
Provisioning for negligible
blocking
"classical" teletraffic theory; assume M/M/m/m
Poisson arrivals, rate l
constant rate per flow r
mean duration 1/m
r
mean demand, A = (l/m)r bits/s
blocking probability for capacity C
B = E(C/r,A/r)
E(m,a) is Erlang's formula:
m
i
a
E(m,a)= am! /
i m i!
m=C/r, a=A/r
scale economies
generalizations exist:
for different rates
for variable rates
utilization (r=a/m) for E(m,a) = 0.01
0.8
0.6
0.4
0.2
m
0
20
40
60
80
100
Outline
traffic characteristics
QoS engineering for streaming flows
QoS engineering for elastic traffic
service differentiation
Closed loop control for elastic
traffic
reactive control
end-to-end protocols (eg, TCP)
queue management
time scale decomposition for performance analysis
packet scale
flow scale
Packet scale: bandwidth and
loss rate
congestion
avoidance
loss rate
p
B(p)
a multi-fractal arrival process
but loss and bandwidth related by TCP (cf. Padhye et al.)
Wmax
for p = 0
RTT
1
B( p )
for small p > 0
2
RTT 2 p / 3 T0 min 1,3 3p / 8 p(1 32 p )
1
for p 1
64T0
thus, p = B-1(p): ie, loss rate depends on bandwidth share
(B
~ p -1/2) ?
Packet scale: bandwidth sharing
reactive control (TCP, scheduling) shares bottleneck
bandwidth unequally
depending on RTT, protocol implementation, etc.
and differentiated services parameters
optimal sharing in a network: objectives and algorithms...
max-min fairness, proportional fairness, max utility,...
... but response time depends more on traffic process than
the static sharing algorithm!
Example: a linear network
route 0
route 1
route L
Flow scale: performance of a
bottleneck link
assume perfect fair shares
link capacity C
link rate C, n elastic flows
each flow served at rate C/n
fair shares
assume Poisson flow arrivals
an M/G/1 processor sharing queue
load, r = arrival rate x size / C
a processor sharing queue
performance insensitive to size
distribution
Pr [n transfers] = rn(1-r)
E [response time] = size / C(1-r)
instability if r > 1
i.e., unbounded response time
stabilized by aborted transfers...
... or by admission control
Throughput
C
r
0
0
1
Generalizations of PS model
non-Poisson arrivals
Poisson sessions
Bernoulli feedback
discriminatory processor
transfer
Poisson
session
arrivals
flows
processor
sharing
think time
sharing
infinite
server
weight fi for class i flows
service rate fi
rate limitations (same for all flows)
maximum rate per flow (eg, access rate)
minimum rate per flow (by admission control)
1-p
p
Admission control can be useful
... to prevent disasters at sea !
Admission control can also be
useful for IP flows
improve efficiency of TCP
reduce retransmissions
overhead ...
... by maintaining throughput
prevent instability
due to overload (r > 1)...
...and retransmissions
avoid aborted transfers
user impatience
"broken connections"
a means for service differentiation...
Choosing an admission control
threshold
N = the maximum number of flows admitted
negligible blocking when r<1, maintain quality when r>1
M/G/1/N processor sharing system
min bandwidth = C/N
Pr [blocking] = rN(1 - r)/(1 - rN+1) (1 - 1/r) , for r>1
uncritical choice of threshold
eg, 1% of link capacity (N=100)
1
300
Blocking probability
.8
E [Response time]/size
200
.6
r = 1.5
.4
r = 1.5
100
.2
r = 0.9
r = 0.9
0
0
0
100
200
N
0
100
200
N
Impact of access rate
on backbone sharing
TCP throughput is limited by access rate...
modem, DSL, cable
... and by server performance
backbone link is a bottleneck only if saturated!
ie, if r > 1
throughput
C
backbone link
(rate C)
access links
(rate<<C)
access
rate
0
0
1
r
Provisioning for negligible
blocking for elastic flows
"elastic" teletraffic theory;
assume M/G/1/m
Poisson arrivals, rate l
mean size s
blocking probability for
capacity C
utilization r = ls/C
m = admission ctl limit
B(r,m) = rm(1-r)/(1-rm+1)
impact of access rate
C/access rate = m
B(r,m) E(m,rm) - Erlang
utilization (r) for B = 0.01
r
0.8
E(m,rm)
0.6
0.4
0.2
m
0
20
40
60
80
100
Outline
traffic characteristics
QoS engineering for streaming flows
QoS engineering for elastic traffic
service differentiation
Service differentiation
discriminating between stream and elastic flows
transparency for streaming flows
response time for elastic flows
discriminating between stream flows
different delay and loss requirements
... or the best quality for all?
discriminating between elastic flows
different response time requirements
... but how?
Integrating streaming and
elastic traffic
priority to packets of streaming flows
low utilization negligible loss and delay
elastic flows use all remaining capacity
better response times
per flow fair queueing (?)
to prevent overload
flow based admission control...
...and adaptive routing
an identical admission
criterion for streaming and
elastic flows
available rate > R
elastic
streaming
Different accessibility
block class 1 when N1=100 flows in progress
- block class 2 when N2 flows in progress
class 1: higher priority than class 2
1
Blocking probability
r = 1.5
r = 0.9
0
0
100
200
N
Different accessibility
block class 1 when N1=100 flows in progress
- block class 2 when N2=50 flows in progress
underload: both classes have negligible blocking (B1 B2 0)
in overload: discrimination is effective
if r1 < 1 < r1 + r2, B1 0,
B2 (r1+r2-1)/r2
if 1 < r1, r2
B1 (r1-1)/r1, B2 1
1
1
1
r1 = r2 = 0.4
r1 = r2 = 0.6
B2B10
0
N2
r1 = r2 = 1.2
B2
.33
0
B2
B1
0
0
N2
B1
.17
100
0
N2
100
Service differentiation and
pricing
different QoS requires different prices...
or users will always choose the best
...but streaming and elastic applications are qualitatively different
choose streaming class for transparency
choose elastic class for throughput
no need for streaming/elastic price differentiation ?
different prices exploit different "willingness to pay"...
bringing greater economic efficiency
...but QoS is not stable or predictable
depends on route, time of day,..
and on factors outside network control: access, server, other
networks,...
network QoS is not a sound basis for price discrimination
Pricing to pay for the network
fix a price per byte
to cover the cost of infrastructure and operation
estimate demand
at that price
provision network to handle that demand
with excellent quality of service
optimal price
revenue = cost
capacity
demand
demand
capacity
$$$
$$$
time of day
time of day
Outline
traffic characteristics
QoS engineering for streaming flows
QoS engineering for elastic traffic
service differentiation
conclusions
Conclusions
a statistical characterization of demand
a stationary random process in the busy
period
a flow level characterization (streaming and
elastic flows)
transparency for streaming flows
rate envelope ("bufferless") multiplexing
the "negligible jitter conjecture"
response time for elastic flows
a "processor sharing" flow scale model
instability in overload
(i.e., E [demand]> capacity)
service differentiation
distinguish streaming and elastic classes
limited scope for within-class differentiation
flow admission control in case of overload
C
r
0
0
1