Combining Multipath Routing and Congestion Control for Robustness Peter Key

advertisement
Combining Multipath Routing and
Congestion Control for Robustness
Peter Key
Motivation
• Performance of Internet /overlays
unpredictable
– and hard to manage
• Multiple ownership / policies (eg BGP) can
exacerbate performance problems
• … but diversity increasing
– Multihoming
– Mesh
• So why not harness the diversity?
Outline
• Motivation
• Framework
• Resource Pooling
– 2 resources
– the  function
– Cutset dimensioning
• Multipath
– Coordinated control
– Fluid dynamics
• Route choices & architectures
• Concluding remarks
Framework
• Network: capacited graph
– G=[X,J]
• Edges have capacity Cj
• Routes s S , sets of edges
• Demands type r, associated source –
destination, can use a set of routes
• Link-route incidence matrix A,
route flow incidence matrix B
Framework
• File Transfers
– Arrival rate  r
– Mean file size Fr  r 1
– Nr in progress
• Streaming

– Arrival rate
r
– Mean holding time
r
load r 
r
 r 1
– Mr in progress
• Rate allocation :
– xr to both types (fair share): exact rate depends on utility
function
(N  M )x  C

r :l r
r
r
r
l
Resource sharing
F
Fixed Routing


F
Capacity C
Mean transfer time
Dynamic Routing
2
Fixed Proportions
2
p
1-p
Transfer time
F
C-
1 F
2 C-
 p

1-p
Transfer time F 


C-2

p
C-2

(1

p
)


Stable  C  2 max( p,1  p )
Performance : the  function
– Assume performance measure ( ,C )
– ( ,C ) non-decreasing in 1st arg., nonincreasing in second
– Dimensioning means
( ,C )  D some measurable D
– Eg
( ,C )    C , D =(-,0)
( , C )  1
(C   )
Cutset Dimensioning
Take a cutset C of the Graph G
Under resource pooling, necessary performance
conditions are


   r ,  C j
j C
 C j r
 j C



D



Becomes interesting when related to sufficiency
Mesh Network Example
1
Node cutsets:
(Keslassy et al)

j
ij
 r and

j
2
6
ji
3
r
5
4
2r

per link sufficient  traffic matrices
N
• Symmetric case;
– Valiant load balancing,
– Dynamic routing
  r N 1
  2r N
Multipath Routing: Utility functions
• Utility function associated with type r flow
• Ur (x ) increasing, strictly concave etc
– Eg TCP, U (x )  w x
– Putting w=k/(RTT)2 implies familiar
1
TCP fair: x r 
Tr
1
p (r )
Cost functions 
• Now require “cost”
 j ( ,C ) convex, and
L(z ;C )  (Lz ;LC )
• True for packet marking etcy
• with “prices” pj,:
•


 j (y j , C j ) 
j
 p z /C dz
j
j
pj y j C j is prob of drop/marking0 at j when load is
yj,
• Eg small buffer model
pj
   min 1,  
yj
Cj
yj
b
Cj

Multipath
Maximise




NrUr   Bsr xsr     j   Nr  Ajs Bsr xsr ;C j 

r
s
 s
 j
 r

over xsr  0
• Coordinated
• Single utility function across possible
routes flow can choose
– Single dependence on RTT
Fluid Dynamics
• Scale arrival rates and capacities by large
number L and take limits
1
1
nr  Nr , mr  Mr
L
L
• Gives limiting ODE (FLLN)
nr (t )   r  r nr (t )xr n (t )  m (t );C 
mr (t )   'r  r mr (t )
Limit Theorems
• Theorem:
– Under multipath routing, there is a unique
ˆr  r r , nˆr  r xˆr
invariant point m
– System in Lyapunov stable (under mild
conditions on  j )
– Allocation is only non-zero to routes s for
which “prices” on route are equal
– When no streaming, offered load is split
optimally, independent of utility functions
Remarks
• Prices on route s are
A
j
js
'j (yˆj ;C j )
• Unless “prices” are equal on different
routes, only one route is used
• Coordinated multipath chooses load
fractions rs to minimise total “cost”
– if no streaming traffic present, fractions
independent of utility functions
Remarks
• Coordinated multipath chooses load
fractions rs to minimise total “cost”


r
Ajs Bsr sr   r  xˆsr ;C j 
j  j  
 s ,r



Route Choices
• How to search for low cost paths?
– Use 2 per nominal route, (eg “direct” +1)
– Periodically add new route at random
– Probe to chose which route to drop
• Cf “Sticky Random” DAR
– “Power of 2”, Mitzenmacher
• Theorem: Under random path resampling,
mulitpath routing will find an optimal
feasible load split, if one exists
Architecture
• Need path diversity
– Dual homing
– Multiple addresses (eg IPv6)
• For overlays, wireless, or the Internet?
• Need coordinated congestion control,
uncoordinated, parallel, inefficient (see
Laurent’s talk …)
– at transport or application layer
Summary: Multipath
routing/multi-access
• Source /edge routing
C
C
C
C
• Halve delay (processor sharing)
 2p 2
vs 2p
• Resilience
• Simpler dimensioning (cutsets)
1
1
vs
2C  2 )
(C   )
Summary
• Robust routing provides robustness to
– Traffic variations /uncertainty
– Routing / BGP / Network operators
• Need to combine multipath routing with
congestion control
• Challenges:
– Time-scales for route adaptation
– Removing RTT bias of TCP?
References
• Fluid models of integrated traffic and multipath
routing, Peter Key & Laurent Massoulié,
QUESTA, June 2006
• Network Programming methods for loss
networks, Gibbens and Kelly, JSAC 1995
• Stability of end-to-end algorithms for joint routing
and rate control, Kelly and Voice, CCR, 2005
• Dynamic Alternative Routing, Gibbens, Kelly and
Key, ITC, 1989.
Download