Presentation (PowerPoint File)
Download
Report
Transcript Presentation (PowerPoint File)
IPAM Workshop
18-19 March 2002
Insensitivity in IP
network
performance
Jim Roberts (et al.)
([email protected])
France Télécom R&D
Traffic theory: the fundamental
three-way relationship
traffic engineering relies on understanding the relationship between
demand, capacity and performance
demand
volume
characteristics
capacity
bandwidth
how it is shared
performance
response time
loss, delay
Outline
characterizing demand
statistical bandwidth sharing
performance of elastic traffic
integrating streaming traffic
extensions for an integrated network
Characterizing traffic demand
systematic traffic variations
hour of the day, day of the week,...
subject to statistical variations and growth trends
stochastic variations
model traffic as a stationary stochastic process
at the intensity of a representative demand
prefer a characterization at flow level (not packets or aggregates)
"appliflow": a set of packets from one instance of an application
two kinds of flow: streaming and elastic
one week
50 Mb/s
50 Mb/s
0 Mb/s
0 Mb/s
one day
Streaming and elastic traffic
elastic traffic is closed-loop controlled
digital documents ( Web pages, files, ...)
rate and duration are measures of performance
QoS adequate throughput (response time)
Streaming and elastic traffic
elastic traffic is closed-loop controlled
digital documents ( Web pages, files, ...)
rate and duration are measures of performance
QoS adequate throughput (response time)
streaming traffic is open-loop controlled
audio and video, real time and playback
rate and duration are intrinsic characteristics
QoS negligible loss, delay, jitter
A generic traffic model
a session consists of a succession of flows separated by "think times"
flows are streaming or elastic
think times begin at the end of each flow
sessions are mutually independent
think times
start of
session
flow
arrivals
end of
session
A generic traffic model
a session consists of a succession of flows separated by "think times"
flows are streaming or elastic
think times begin at the end of each flow
sessions are mutually independent
assume each flow is transmitted as an entity
eg, multiple TCP connections of one Web page constitute one flow
think times
start of
session
flow
arrivals
end of
session
A generic traffic model
a session consists of a succession of flows separated by "think times"
flows are streaming or elastic
think times begin at the end of each flow
sessions are mutually independent
assume each flow is transmitted as an entity
eg, multiple TCP connections of one Web page constitute one flow
sessions occur as a homogeneous Poisson process
an Internet "invariant": [Floyd and Paxson, 2001]
think times
start of
session
flow
arrivals
end of
session
Outline
characterizing demand
statistical bandwidth sharing
performance of elastic traffic
integrating streaming traffic
extensions for an integrated network
Statistical bandwidth sharing
reactive control (TCP, scheduling) shares bottleneck bandwidth...
...unequally
depending on RTT, protocol implementation, etc.
there are no persistent flows in the Internet
utility is not a function of instantaneous rate
performance is measured by response time for finite flows
response time depends more on the traffic process than on the static
sharing algorithm
Performance of an isolated
bottleneck
consider an isolated bottleneck of capacity C bits/s
shared by many users independently accessing many servers
performance is measured by
flow response time...
...or realized throughput (= size / response time)
users
servers
C bits/s
Performance of an isolated
bottleneck
consider an isolated bottleneck of capacity C bits/s
shared by many users independently accessing many servers
performance is measured by
flow response time...
...or realized throughput (= size / response time)
assume (for now) Poisson flow arrivals
arrival rate l
consider a fluid model
assuming packet level dynamics realize bandwidth sharing objectives
users
servers
C bits/s
A fluid model of statistical
bandwidth sharing
the number of flows in progress is a stochastic process
N(t) = number of flows in progress at time t
ratei(t) = rate of flow i
ratei(t) max_ratei(t) (due to other throughput limits)
users
servers
C bits/s
external rate limits, max_ratei(t)
A fluid model of statistical
bandwidth sharing
the number of flows in progress is a stochastic process
N(t) = number of flows in progress at time t
ratei(t) = rate of flow i
ratei(t) max_ratei(t) (due to other throughput limits)
assume instant max-min fair sharing...
rate of flow i, ratei(t) = min {max_ratei (t), fairshare}
where fairshare is such that S ratei(t)= min {S max_ratei (t), C}
users
servers
C bits/s
external rate limits, max_ratei(t)
A fluid model of statistical
bandwidth sharing
the number of flows in progress is a stochastic process
N(t) = number of flows in progress at time t
ratei(t) = rate of flow i
ratei(t) max_ratei(t) (due to other throughput limits)
assume instant max-min fair sharing...
rate of flow i, ratei(t) = min {max_ratei (t), fairshare}
where fairshare is such that S ratei(t)= min {S max_ratei (t), C}
... realized approximately by TCP...
...or more accurately by Fair Queuing
users
servers
C bits/s
external rate limits, max_ratei(t)
Three link bandwidth sharing
models
1. a fair sharing bottleneck
external limits are ineffective: max_ratei (t) C, ratei(t) = C/N(t)
e.g., an access link
2. a fair sharing bottleneck with common constant rate limit
flow bandwidth cannot exceed r: max_ratei (t) r, ratei(t) = min {r,C/N(t)}
e.g., r represents the modem rate
3. a transparent backbone link
max_ratei(t) << C and link is unsaturated: S max_ratei(t) < C, ratei(t) = max_ratei (t)
users
1
external rate limits max_ratei(t)
servers
Example: a fair sharing
bottleneck (case 1)
an M/G/1 processor sharing queue
Poisson arrival rate l
mean flow size s
load r = ls/C (assume r < 1)
max_ratei(t) > C
ratei(t) = C/N(t)
offered
traffic
ls
C
Example: a fair sharing
bottleneck (case 1)
an M/G/1 processor sharing queue
Poisson arrival rate l
offered
mean flow size s
traffic
load r = ls/C (assume r < 1)
stationary distribution of number of flows in progress
p(n) = Pr [N(t) = n]
p(n) = rn (1 – r)
max_ratei(t) > C
ratei(t) = C/N(t)
ls
C
Example: a fair sharing
bottleneck (case 1)
an M/G/1 processor sharing queue
Poisson arrival rate l
offered
mean flow size s
traffic
load r = ls/C (assume r < 1)
stationary distribution of number of flows in progress
p(n) = Pr [N(t) = n]
p(n) = rn (1 – r)
expected response time of flows of size s
s
R (s ) =
C(1 r)
mean throughput = s/R(s) = C(1 – r)
max_ratei(t) > C
ratei(t) = C/N(t)
ls
C
ns simulation of TCP bandwidth
sharing
Poisson flow
arrivals
1 Mbit/s
load 0.5
Pareto size
distribution
1000
800
throughput
600
of "mice":
Throughput
Pr[th'put=C/n]
(Kbit/s)
p(n)
400
throughput
of C(1-r)
"elephants":
mean
= C(1 - r)
200
0
0
500
1000
Size (Kbytes)
1500
2000
Impact of max_rate: mean
throughput as a function of load
C
E[throughput]
()
fair sharing: = C(1 – r)
fair sharing with rate limit:
min {max_rate, C(1 – r)}
max_rate
0
load, r
1
Accounting for non-Poisson flow
arrivals
a stochastic network representation (cf. BCMP 1975, Kelly 1979)
sessions are customers arriving from the outside
the link is a processor sharing station
think-time is an infinite server station
...
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for non-Poisson flow
arrivals
...
a network of "symmetric queues" (e.g., PS, infinite server):
customers successively visit the stations a certain number of times before
leaving the network
customers change "class" after each visit - class determines service time
distribution, next station and class in that station
customers arrive as a Poisson process
...
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for non-Poisson flow
arrivals
...
performance of the stochastic network:
a product form occupancy distribution, insensitive to service time
distributions
...
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for non-Poisson flow
arrivals
...
bandwidth sharing performance is as if flow arrivals were Poisson
same distribution of flows in progress, same expected response time
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for non-Poisson flow
arrivals
...
bandwidth sharing performance is as if flow arrivals were Poisson
same distribution of flows in progress, same expected response time
class: a versatile tool to account for correlation in flow arrivals
different kinds of session
distibution of number of flows per session,...
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for non-Poisson flow
arrivals
...
bandwidth sharing performance is as if flow arrivals were Poisson
same distribution of flows in progress, same expected response time
class: a versatile tool to account for correlation in flow arrivals
different kinds of session
distibution of number of flows per session,...
a general performance result for any mix of elastic applications
Poisson
session
arrivals
flows
link
think-time
end of
session
Accounting for unfair sharing
slight impact of unequal per flow shares
e.g., green flows get 10 times as much bandwidth as red flows
approximate insensitivity
C
throughput
premium class
best effort class
0
0
A
C
Extension for statistical
bandwidth sharing in networks
insensitivity in PS stochastic networks with state dependent service rates
theory of Whittle networks (cf. Serfoso, 1999)...
...applied to statistical bandwidth sharing (Bonald and Massoulié, 2001;
Bonald and Proutière, 2002)
1 station per route
session
arrivals
end of
session
think time
Underload and overload:
the meaning of congestion
in normal load (i.e., r < 1):
performance is insensitive to all details of session structure
response time is mainly determined by external bottlenecks (i.e, max_rate << C)
but overloads can (and do) occur (i.e., r > 1):
due to bad planning, traffic surges, outages,...
the queuing models are then unstable, i.e., E[response time]
throughput
number of
flows
Underload and overload:
the meaning of congestion
in normal load (i.e., r < 1):
performance is insensitive to all details of session structure
response time is mainly determined by external bottlenecks (i.e, max_rate << C)
but overloads can (and do) occur (i.e., r > 1):
due to bad planning, traffic surges, outages,...
the queuing models are then unstable, i.e., E[response time]
to preserve stability: flow based admission control!
throughput
number of
flows
Outline
characterizing demand
statistical bandwidth sharing
performance of elastic traffic
integrating streaming traffic
extensions for an integrated network
Fluid queueing models for
streaming traffic
assume flows "on" at rate p, or "off"
by shaping to rate p (e.g., isolated packet of size L = burst of length L/p)
L/p
packets
bursts
arrival rate
Fluid queueing models for
streaming traffic
assume flows "on" at rate p, or "off"
by shaping to rate p (e.g., isolated packet of size L = burst of length L/p)
bufferless or buffered multiplexing?
Pr [arrival rate > service rate] < e
Pr [buffer overflow] < e
L/p
packets
bursts
bufferless
buffered
arrival rate
Sensitivity of buffered
multiplexing performance
for a superposition of N independent
on/off sources
0
0
log Pr [overflow]
service rate
input rate
buffer size
Sensitivity of buffered
multiplexing performance
for a superposition of N independent
on/off sources
performance depends on:
mean lengths
0
buffer size
0
longer
burst length
shorter
log Pr [overflow]
service rate
input rate
Sensitivity of buffered
multiplexing performance
for a superposition of N independent
on/off sources
performance depends on:
mean lengths
distributions
0
buffer size
0
more variable
burst length
less variable
log Pr [overflow]
service rate
input rate
Sensitivity of buffered
multiplexing performance
for a superposition of N independent
on/off sources
performance depends on:
mean lengths
distributions
correlation
0
buffer size
0
long range
dependence
burst length
log Pr [overflow]
service rate
input rate
short range
dependence
Sensitivity of buffered
multiplexing performance
for a superposition of N independent
on/off sources
performance depends on:
mean lengths
distributions
correlation
sensitivity precludes precise control
prefer bufferless multiplexing
0
buffer size
0
long range
dependence
burst length
log Pr [overflow]
service rate
input rate
short range
dependence
Bufferless multiplexing (alias
rate envelope multiplexing)
ensure negligible probability of rate overload
Pr[input rate > service rate] < e
by provisioning
accounting for session/flow process and rate fluctuations within each flow
and using admission control to preserve transparency
measurement-based admission control (e.g. Gibbens et al., 1995)
service rate
input rate
Insensitive performance of
bufferless multiplexing
assuming Poisson session arrivals and peak rate p:
traffic offered = a bit/s, capacity = C bit/s
Poisson
session
arrivals
bursts
link
silence/
think-time
end of
session
Insensitive performance of
bufferless multiplexing
assuming Poisson session arrivals and peak rate p:
traffic offered = a bit/s, capacity = C bit/s
Pr[overflow ] =
( a / p )n a / p
e
n!
n C / p
i.e., loss depends only on load (a/C) and link/peak rate ratio (C/p)
for any mix of streaming applications
Poisson
session
arrivals
bursts
link
silence/
think-time
end of
session
Efficiency of bufferless
multiplexing
small amplitude of rate variations ...
peak rate << link rate (eg, 1%)
e.g., C/p = 100 Pr [overflow] < 10-6 for a/C < 0.6
... or low utilisation
overall mean rate << link rate
Efficiency of bufferless
multiplexing
small amplitude of rate variations ...
peak rate << link rate (eg, 1%)
e.g., C/p = 100 Pr [overflow] < 10-6 for a/C < 0.6
... 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
Integrating streaming and
elastic flows
scheduling required to meet QoS requirements
priority to streaming flows
fair sharing of residual capacity by elastic flows (TCP or FQ?)
Integrating streaming and
elastic flows
scheduling required to meet QoS requirements
priority to streaming flows
fair sharing of residual capacity by elastic flows (TCP or FQ?)
realizing a performance synergy
very low loss for streaming data
efficient use of residual bandwidth by elastic flows
Integrating streaming and
elastic flows
scheduling required to meet QoS requirements
priority to streaming flows
fair sharing of residual capacity by elastic flows (TCP or FQ?)
realizing a performance synergy
very low loss for streaming data
efficient use of residual bandwidth by elastic flows
complex performance analysis
a PS queue with varying capacity (cf. Delcoigne, Proutière, Régnié, 2002)
exhibits local instability and sensitivity (in heavy traffic with high stream peak rate)...
... but a quasi-stationary analysis is accurate when admission control is used
Conclusion:
we need to account for the statistical nature of traffic
a Poisson session arrival process
fair sharing for insensitive elastic flow performance
slight impact of unfairness (cf. Bonald and Massoulié, 2001)
fair sharing in a network (cf. Bonald and Proutière, 2002)
bufferless multiplexing for insensitive streaming performance
choosing a common maximum peak rate (C/p > 100 for efficiency)
packet scale performance (jitter accumulation)?
synergistic integration of streaming and elastic traffic
quasi-insensitivity with admission control (cf. Delcoigne et al., 2002,
Benameur et al., 2001)
Conclusion:
we need to account for the statistical nature of traffic
a Poisson session arrival process
fair sharing for insensitive elastic flow performance
slight impact of unfairness (cf. Bonald and Massoulié, 2001)
fair sharing in a network (cf. Bonald and Proutière, 2002)
bufferless multiplexing for insensitive streaming performance
choosing a common maximum peak rate (C/p > 100 for efficiency)
packet scale performance (jitter accumulation)?
synergistic integration of streaming and elastic traffic
quasi-insensitivity with admission control (cf. Delcoigne et al., 2002,
Benameur et al., 2001)
required congestion control mechanisms
implicit measurement-based admission control
shaping and priority queuing and reliance on TCP...
... or per-flow fair queuing for all?