PowerPoint Slides - Shivkumar Kalyanaraman

A Closed-loop Scheme for Expected
Minimum Rate (QoS) Service
I
E
Logical FIFO
B
I
E
E
I
David Harrison, Yong Xia, Shiv Kalyanaraman, Arvind
Venkatesan
Rensselaer Polytechnic Institute
[email protected]
http://www.ecse.rpi.edu/Homepages/shivkuma
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
1
Acknowledgement: Students






David Harrison (PhD: graduated)
Yong Xia (PhD)
Arvind Venkatesh (MS)
Rahul Sachdev (MS)
Kishore Ramachandran (MS)
Sthanunathan Ramakrishnan (MS)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
2
Overview of Talk
QoS can be viewed as a congestion control problem
and therefore,
QoS can be posed in Kelly’s optimization framework
Challenges:
1. What about the non-concavity of QoS utility functions?
2. Can we do away with admission control ?
Ans:
1. Define & Solve an Auxiliary Optimization Problem
2. Alternative Convex Constraints in Lagrange Domain can avoid
need for admission control, allowing graceful service degradation
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
3
Big Picture: Overlay Network Services

Lightweight network svcs (eg: QoS, multi-paths) can dramatically enhance
application-perceived performance
 Overlay => such services in a multi-provider environment, or
 Reduced complexity of network services in a single provider
 (eg: edge-based distributed parameter provisioning, no admission control)
Network
(core)
(core)
ISP 2
edge
(edge)
ISP 3
ISP 1
Rensselaer Polytechnic Institute
End-to-end Apps
4
Shivkumar Kalyanaraman
Traditional QoS Model: Control/Data Planes
Control Plane: Signaling + Admission Control or
SLA (Contracting) + Provisioning/Traffic Engineering
Router
Workstation
Router
Internetwork or WAN
Router
Workstation
Data Plane: Traffic conditioning (shaping, policing, marking
etc) + Traffic Classification + Scheduling, Buffer management
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
5
What is Closed-loop QoS? (Qualitatively)
FIFO
Priority/WFQ
B


B
Scheduler: differentiates service on a packet-by-packet basis
Loops: differentiate service on an RTT-by-RTT basis using
edge-based policy configuration.
Differentiation/Isolation meaningful in steady state only…

Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
6
Expected Min Rate (EMR) Service: Sample
Steady State Behavior
Flow 1 with 4 Mbps assured
+ 3 Mbps best effort
Flow 2 with 3 Mbps best effort
Note: Old simulation: newer work has much shorter transients
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
7
Architectural Advantages of Closed Loops

Traffic management consolidated at edges
(placement of functions in line with E2E principle)
Bottleneck
queue

Edge system
End system

Architectural Potential:
 Edge-based (distributed) QoS services,
 Edge plays in application-level QoS
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
8
Diff-Serv vs Closed-loop QoS
E
T
E
C
C
E
T
…
T
Drop
Preference
C
E
E
vs
Closed Loop Control
E
C
T
U
…
…
T
E
C
E
C
E
E
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
9
Outline…
QoS can be viewed as a congestion control problem
and therefore,
QoS can be posed in Kelly’s optimization framework
Challenges:
1. What about the non-concavity of QoS utility functions?
2. Can we do away with admission control ?
Our goal: expected minimum rate service that gracefully
degrades into a weighted proportional fair service
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
10
Kelly’s Optimization Formulation
weight
Network N optimizes
Maximize
 w log( x )
s
User s’s
send rate
s
subject to capacity constraints
User s’s utility
function
Each user s optimizes
Maximize
U ( xs )  ws
ws can be interpreted
Resulting System optimizes
as price per unit time
or as congestion in
Maximize U ( xs )
subject to capacity constraints the network.
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
11
Concave User Utility Functions
U(xs) = log(xs)

utility must be increasing, strictly concave, and
continuously differentiable.
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
12
Two User Utility Functions
Maximize
U ( x)  U ( y )  log( x)  log( y )
optimum
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
13
Issue: QoS => Non-concave User Utility Functions


A single user with a minimum rate QoS expectation (gracefully degrading
into a weighted service) can be modeled with a non-concave utility function.
But this kind of U-function cannot be plugged directly into Kelly’s nonlinear optimization formulation!
log(xs)
log(xs-0.4)
10log(xs)
expected minimum =0.4
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
14
Luckily, the Sum of Non-Concave U-fns is not what
we want to Optimize!

U(z) = log(z-0.6) if z > 0.6 (expected minimum rate)
10logz
if z <= 0.6 (graceful degradation to weighted svc)
Two maxima
Desired
Allocation
(oversubscribed)
not any
of the 2 maxima!
• Can use strictly concave functions and define multiple optimization problems
for the same QoS problem &
• Dynamically choose a different optimization problem when oversubscribed
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
15
No Over-Subscription Case: Auxiliary Problem


Let
xip  xi  xie
i.e. flow i: two virtual sub-flows on same path
Think of a modified network
~
Cl  Cl   xie
~ with modified link capacities
N
Provide proportional fairness on residual
network capacity
xie
N
~
N
Rensselaer Polytechnic Institute
Capacity, C1
~
Capacity, Cl
16
Shivkumar Kalyanaraman
Handling both under- and over-subscription…
• For ai, xi: (primary problem)
Weighted fairness
Effective when:
ai = Ai
ql  Ql ,
• For aip, xip: (auxiliary problem)
l
Exp. Min Rate:
Effective when:
x
iI l
ie
 cl ,
ql  Ql ,
l
l
If under-subscribed, solve the aux-problem; and the
ai < Ai
primary problem is automatically solved (note: aip = constant)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
17
Accumulation-Based Congestion Control
Key idea: develop a notion of “accumulation” (ai or aip) as a
steering parameter for QoS
Why accumulation? Why not just use weighted AIMD?
- Loss-based CC fails to provide large range of QoS capabilities
- Couples transient dynamics of CC with equilibrium specification
- Interacts with TCP reliability mechanisms (eg: timeout)
Why not ECN or AQM schemes?
- Want to keep AQM support as optional, not mandatory
Why not use just Vegas?
- Accumulation is an abstract dynamical concept.
- Vegas and Monaco attempt to provide estimators for accumulation.
- Vegas’ accumulation estimator is not robust
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
18
Why not packet-loss based closed-loops?
(Ans: dynamic range of services)
Eg: simple weighted fairness QoS service
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
19
Why not TCP Vegas ?
(Ans: estimation robustness)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
20
20
Accumulation: Per-flow Backlog in a Series of
Routers
ingress 1
j
j+1
J egress
dj
fi
Λi


μi
Λi,j+1
j
Assuming:  ij (t  d j )  i , j 1 (t )
Define accumulation:
μi
i, 1  j  J  1
J
J 1
j 1
k j
ai (t )   qij (t   d k )
which is a time-shifted, distributed sum of buffered bits of
flow i at all routers 1 through J
Note: accumulation is an abstract dynamical concept. Vegas
and Monaco attempt to provide estimators for accumulation.
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
21
Accumulation: Definition & Physical Meaning
1
j
j+1
J
dj
fi
μi
Λ
Λi,j+
j
i
…
qi1 (t  d i f )
μi
1
…
J 1
qij (t   d k )
k j
di
I i (t  d i f , t )
dj
f
d J 1
qiJ (t )
ai (t )
t
1
time
j
Oi (t , t )
ai (t  t )
j+1
J
J 1
j 1
k j
J
22
ai (t )   qij (t   d k )
Rensselaer Polytechnic Institute
22
Shivkumar Kalyanaraman
Accumulation vs Queuing

queue qij(t) -- num of bits of flow i queued in a fifo router j
qij (t )
qij (t , t )  I ij (t , t )  Oij (t , t )

accumulation ai(t) -- num of bits of flow i queued in a set of
fifo routers 1~J
J
J 1
j 1
k j
ai (t )   qij (t   d k )
ai (t , t )  I i (t  d i f , t )  Oi (t , t )
d i f is the forward direction propagation delay.

the collective queuing behavior of a series of fifo routers looks
similar to that of one single fifo router (note the time shift: dif )
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
23
Accumulation-based Control Policy
1
j
j+1
J
dj
fi
μi
Λi
Λi,j+1
j
μi

control objective : keep ai (t )  a*i  0
 if goal ai (t )  0 , no way to probe increase of available b/w;

control algorithm :
if
ai (t )  a *i
then
i 
if
ai (t )  a *i
then
i 
recall : ai (t , t )  [i (t  d i f , t )  i (t , t )]  t

Example
control algorithm :

wi (t )  k  f (ai (t )  ai* )
where
f ,
only
f (0)  0,
k 0
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
24
Monaco: Robust Accumulation Estimation
1
j
j+1
J
dj
fi
μi
Λi
Λi,j+1
j
…
qi1 (t  d i )
f
μi
…
J 1
qij (t   d k )
k j
dj
qiJ (t )
J 1
tq (i, j, t   d k )
out-of-band
qm  ai (t )
k j
time
1
d J 1
j
j+1
inband
J ctrl pkt
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
25
Monaco Accumulation Estimator
1
jf
fi
djf
μi
Λi
Jb
jb+1
jf+1
Λi,j+1
j
Interior routers provide two
priority fifo queues :
1) high priority queue for out-ofband control packet
2) low priority queue for in-band
control packet and data packet
Can be done w/ IP precedence
on existing routers in Internet!!
Jf
djb
μi
jb
1
data
ctrl
ctrl
out-of-bd ctrl
classifier
fifo
in-band ctrl,
data pkt
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
26
ACC: Fairness & Linux Implementation Results
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
27
Accumulation as a Steering Parameter for QoS
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
28
Compare to Non-Linear Optimization
1.ACC schemes solve nonlinear optim.
problem with Ui(xi) = ai lnxi
2. ai = pl (the lagrange multiplier!)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
29
Summary: Key Notion = “Accumulation”





Accumulation-based congestion control (ACC) is a nonlinear optimization, where
user i maximizes: Ui(xi) = ai lnxi
 Accumulation (ai) is the weight (wi) of the weighted prop. fair allocation
Accumulation is hence a “steering” parameter:
 Equilibrium accumulation allocation => Equilibrium rate allocation!
 Dynamics of CC scheme decoupled from equilibrium spec (unlike AIMD)
Accumulation has a physical meaning: sum of buffered bits of the flow in the path
Accumulation is related to the lagrange multiplier, I.e., ai = pl
For two flows i,k sharing the same path, ai / ak = xi / xk
 FIFO queues => arrival order decides departure order
=> buffer occupancy decides rate allocation
q1
q2
x1
x2
Rensselaer Polytechnic Institute
30
Shivkumar Kalyanaraman
Handling Over-subscription & Admission Control
EITHER
• (S) No over-subscription:
x
iI l
ie
 cl ,
l
AND/OR:
ql  Ql ,
• (B) Finite Buffer:
l
• (A) Graceful degradation:
Weighted Proportional Fair Accumulation Target:
ai  Ai ,
i
• (B) & (A) can limit the range of services provided
=> No need for explicit admission controlShivkumar
!!
Kalyanaraman
Rensselaer Polytechnic Institute
31
Recall: Handling both under- and over-subscription…
• For ai, xi: (primary problem)
Weighted fairness
Effective when:
ai = Ai
ql  Ql ,
• For aip, xip: (auxiliary problem)
l
Exp. Min Rate:
Effective when:
x
iI l
ie
 cl ,
ql  Ql ,
l
l
If under-subscribed, solve the aux-problem; and the
ai < Ai
primary problem is automatically solved (note: aip = constant)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
32
Over-subscription: Key Idea
• The virtual sub-flows xi, xie, xip are on the same path (same real flow!):
xie  xip  xi ,
i
aie  aip  ai ,
i
• And,
aie aip ai

 ,
xie xip xi
xie
aip  const  ai  aie  ai (1  ),
xi
• ai, xi are measurable, xie =
• During over-subscription,
~
x ie
i … (I)
i
… (II)
(contracted rate), if under-subscribed
~
 xie  cl ,
l
iI l
• Since aip = constant, eqn (II) implies that ↑xi, ↑ai unboundedly
• But ai <= Ai
• The auxiliary problem drops out for some flows (eg: bronze flows) and
• Their rate is determined by the primary problem
(I.e. gracefully degraded to a weighted proportional fair allocation)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
33
EMR Building Block

Accumulation
ai  xi di
xi
aie  xiedi
aip  ( xi  xie )d i

xip
di
xie
Accumulation limit
Target
Control Law
wi  -  max (aip - a , ai - Ai )
*
ip
Estimated accumulation
in virtual network
Rensselaer Polytechnic Institute
34
Shivkumar Kalyanaraman
Virtual Accumulation (optional AQM)
C
physical queue
vc
virtual queue
Use virtual queueing delay, vd.
vd=vq/vc. (eg: by modifying AVQ)
 Communicate vd in probe packets (add vds on path).
 Accumulation = physical + virtual accumulation

ai  xi (di   vdl )

Both AQM and non-AQM nodes in same network.
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
35
Single Bottleneck Topology
S0
D0
S0-D0 offered an expected minimum rate
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
36
Range of Expected Minimum Rates
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
37
Range of Expected Minimum Rates
A=Accumulation Limit
A0=3000KB
A0=30KB
A1..9=3KB
weight=10 =30/3
RIO
Target(expected+fair)
Expected Minimum Rate
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
38
Mean Queue Length for EMR
No AQM
RIO
A=30KB A=3000KB
AVQ+VD
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
39
Compared to Diffserv AF (TCP+RIO)…
Size of TCP oscillations increases with send rate.
 Achieving high assurances requires re-parameterizing
bottleneck to permit large queues.

Marker at
ingress marks
“out” above this
rate.
4/3 target rate
TCP’s
average rate
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
40
Service Multiplexing Topology
30M
60K
35M
75K
50M
60K
1,0 ~ 1,3
2,0 ~ 2,3
3,0 ~ 3,3
…
…
…
0,0
web A
…
1ms
0,0
…
0,1
0,1
34ms
R0
100M
R1
100M
R2
100M
R3
67ms
1-100ms
0,2
1-100ms
0,3
1-100ms
…
100ms
10M
15K
web B
…
500 web
A users
…
…
1,0 ~ 1,3
2,0 ~ 2,3
0,2
…
500 web
B users
0,3
3,0 ~ 3,3
2,0 has weight 3
- Bandwidth for all unlabelled links are 1Gbps; Delay 1ms;
- AQM+VD at router R1, no AQM at other routers
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
41
Service Multiplexing: Expected Min Rate
No oversubscription
Loop 02,03 Web
Moderate
Gross oversubscription
<m00=30,Aoversubscription
stop sending
00=60KB>
Shivkumar Kalyanaraman
<m02=50,A02=60KB>
Rensselaer Polytechnic Institute
<m03=10,A<m
03=15KB>
01=35,A01=75KB> 42
Service Multiplexing: Weighted shares
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
43
Non-AQM Router Queue Length
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
44
AQM+VD Router Queue Length
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
45
In General: Closed-Loop => Better-thanBest-Effort Services


A weaker/broader view of QoS:
QoS: “Better performance (given fixed routes)”:
 Described a priori by a set of parameters AND/OR
 Measured a posteriori by a set of metrics.
(extra slides on results if you are interested)
QoS spectrum
Best Effort
Overlay QoS w/
Closed Loop Control,
UCB’s OverQoS
…
Leased Line
DPS/CSFQ,
Diff-Serv
Int-Serv
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
46
Summary: Closed-Loop QoS


QoS can be viewed as a congestion control problem and posed in
Kelly’s optimization framework
 Allows distributed admission control, or even services without
admission control (distributed parameter choices).
 Tradeoff: objectives achieved only in steady state
Accumulation-based schemes (eg: Monaco) provide a physically
meaningful steering parameter (accumulation) relating to queue
length
 Which is also the lagrange multiplier, and
 Is the weight parameter in weighted proportional fairness
allocation
 Requires an extra priority queue for control pkts (IP
precedence)
 AQM support => virtual accumulation => ~0 queues
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
47
Summary (Contd…)


Convex constraints on accumulation, queue length (I.e. in lagrange
multiplier domain):
 assures unique optimum; and
 leads to graceful degradation of service assurances
Current & Future work:
 Schemes implemented on Linux and tested in Utah Emulab –
to be deployed in worldwide PlanetLab…
 Developing multimedia applications to leverage these
lightweight QoS capabilities along with multi-path capabilities
in an overlay network
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
48
EXTRA SLIDES
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
49
EMR Algorithm (for reference)
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
50
No AQM and EMR Near Full Capacity
A=Accumulation Limit
A0=3000KB
A1..9=3KB
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
51
AVQ+VD+ EMR Near Full Capacity
A=Accumulation Limit
A0=3000KB
A1..9=3KB
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
52
Scalable Best-effort TCP Service
Without Overlay Scheme
With Overlay Scheme
Queue distribution to the edges => can manage more efficiently
CoV vs. No of Flows
FRED at the core vs.
FRED at the edges with
overlay control between
edges
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
53
Weighted Sharing

Proposed many times (MulTCP, TCP-SD, TCP-LASD, IPTrunking, Nonlinear Optimization-based Congestion
Control).

MulTCP and TCP-SD use loss-based differentiation.
MulTCP,TCP-SD loss   Wi 
2
TCP-LASD loss  Wi
weights  more aggressive
in response to loss  heavy loss
Heavy
Timeouts
limit range of weights
achievable (10-to-1 MulTCP,
100-to-1 TCP-LASD).
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
54
Range of Weighted Services
Shivkumar Kalyanaraman
Rensselaer Polytechnic Institute
55

(Flow’s Queue Contribution) at
One FIFO Router
flow i at router j
arrival curve Aij(t)
& service curve Sij(t)
 cumulative
 continuous
 non-decreasing
 if no loss, then

bit
Aij(t)
delay
Sij(t)
b2
b1
queue
t1
t2
time
 qij (t )  Aij (t )  S ij (t )
 qij (t  t )  Aij (t  t )  S ij (t  t )
 qij (t , t )  qij (t  t )  qij (t )
 [ Aij (t  t )  Aij (t )]  [ S ij (t  t )  S ij (t )]
 [ij (t , t )   ij (t , t )]  t
Rensselaer Polytechnic Institute
 I ij (t , t )  Oij (t , t )
56
Shivkumar Kalyanaraman
(Accumulation): Series of FIFO Routers
ingress 1
j
j+1
J egress
dj
fi
μi
Λi

then
Λi,j+1
j
μi
ai (t , t )  ai (t  t )  ai (t )
J
J 1
J
J 1
j 1
k j
j 1
k j
  qij (t  t   d k )   qij (t   d k )
J
J 1
j 1
k j
  qij (t   d k , t )
J
J 1
J 1
j 1
k j
k j
  [ij (t   d k , t )   ij (t   d k , t )]  t
 [i (t  d i f , t )   i (t , t )]  t
 I i (t  d i f , t )  Oi (t , t )
J 1
where
Rensselaer Polytechnic Institute
di   d j
f
57
Shivkumar Kalyanaraman
j 1
57