Congestion control and multipath routing in TCP/IP communication networks Roberto Cominetti Crist´ obal Guzm´an Universidad de Chile [email protected] [email protected]

September 2010

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Overview

1

Congestion control and network utility maximization

2

Congestion control with Markovian multipath routing

3

Implementation issues

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Framework Communication network G = (N, A) Set of sources S Source s ∈ S transmits from origin os to destination ds A single route connects os to ds

Notation: a ∈ s iff link a belongs to route used by source s Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

TCP/IP Protocols

Route selection Routing Information Protocol (RIP) slow timescale evolution (15-30 seconds) Rate control Transmission Control Protocol (TCP) fast timescale evolution (100-300 milliseconds)

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

TCP – Congestion control Sources adjust transmission rates in response to congestion higher congestion ⇒ smaller rates (xs )s∈S : source transmission rates [packets/sec] (λa )a∈A : link congestion prices (loss pbb, queuing delay) Decentralized algorithms xst+1 = Fs (xst , qst ) (source - transmission control protocol) λt+1 = Ga (λta , yat ) (link - active queue management) a where

P qst = Pa∈s λta (end-to-end route congestion) yat = s3a xst (aggregate rates on links) Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

TCP – Congestion control Sources adjust transmission rates in response to congestion higher congestion ⇒ smaller rates (xs )s∈S : source transmission rates [packets/sec] (λa )a∈A : link congestion prices (loss pbb, queuing delay) Decentralized algorithms xst+1 = Fs (xst , qst ) (source - transmission control protocol) λt+1 = Ga (λta , yat ) (link - active queue management) a where

P qst = Pa∈s λta (end-to-end route congestion) yat = s3a xst (aggregate rates on links) Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/DropTail-RED-REM TCP-DropTail: control window AIMD (τs = round-trip time):  Wst + 1 if Wst packets are successfully transmitted t+τs Ws = dWst /2e one or more packets are lost (duplicate ack’s) A packet is transmitted successfully with probability Q πst = a∈s (1−pat ) RED-REM: loss probability on links controlled by AQM pat = ϕa (rat ) as a function of the link’s average queue length rat+1 = (1−αa )rat + αa Lta Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/DropTail-RED-REM TCP-DropTail: control window AIMD (τs = round-trip time):  Wst + 1 if Wst packets are successfully transmitted t+τs Ws = dWst /2e one or more packets are lost (duplicate ack’s) A packet is transmitted successfully with probability Q πst = a∈s (1−pat ) RED-REM: loss probability on links controlled by AQM pat = ϕa (rat ) as a function of the link’s average queue length rat+1 = (1−αa )rat + αa Lta Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/RED-REM

Figura: Loss probability pa = ϕa (ra ) as a function of average queue length

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/RED-REM Congestion prices qst , − ln(πst ) λta , − ln(1 − pat )



⇒ qst =

P

a∈s

λta

The approximate equality t

t

t

t

E(Wst+τs |Wst ) ∼ e −qs Ws (Wst + 1) + (1 − e −qs Ws )dWst /2e yields the following expected dynamics for rates xst = Wst /τs ⇒ xst+1 = xst +

1 2τs

h

Seminario CGO - Septiembre 2010

t t

e −τs qs xs (xst +

2 τs )

− xst

i

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/RED-REM Congestion prices qst , − ln(πst ) λta , − ln(1 − pat )



⇒ qst =

P

a∈s

λta

The approximate equality t

t

t

t

E(Wst+τs |Wst ) ∼ e −qs Ws (Wst + 1) + (1 − e −qs Ws )dWst /2e yields the following expected dynamics for rates xst = Wst /τs ⇒ xst+1 = xst +

1 2τs

h

Seminario CGO - Septiembre 2010

t t

e −τs qs xs (xst +

2 τs )

− xst

i

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP-Reno/RED-REM Congestion prices qst , − ln(πst ) λta , − ln(1 − pat )



⇒ qst =

P

a∈s

λta

The approximate equality t

t

t

t

E(Wst+τs |Wst ) ∼ e −qs Ws (Wst + 1) + (1 − e −qs Ws )dWst /2e yields the following expected dynamics for rates xst = Wst /τs ⇒ xst+1 = xst +

1 2τs

h

Seminario CGO - Septiembre 2010

t t

e −τs qs xs (xst +

2 τs )

− xst

i

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Another example: TCP-Vegas TCP-Vegas uses queueing delay as congestion measure λa =

La ca

queue length = queue capacity

A simple model for the dynamics

with

λt+1 = a

h λta +

xst+1

xst

=

+

yat ca

i −1

1 (ds +qst )2

+

sign(αs ds − xst qst ).

αs = parameter of Vegas ds = round-trip propagation delay

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Network Utility Maximization

Kelly, Maullo and Tan (1999) proposed an optimization-based model for distributed rate control in networks. Low, Srikant, etc. (1999-2002) showed that TCP congestion control algorithms solve implicitly an optimization problem. During last decade, the model has been used and extended to study the performance of wired and wireless networks.

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Steady state equations

xst+1 = Fs (xst , qst ) (TCP - source dynamics) λt+1 = Ga (λta , yat ) (AQM - link dynamics) a

xs = Fs (xs , qs ) ⇔ qs = fs (xs ) (decreasing) λa = Ga (ya , λa ) ⇔ λa = ψa (ya ) (increasing) P qs = Pa∈s λa ya = s3a xs

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Example: TCP/REM steady state

qs = fs (xs ) ,

1 τs xs

ln(1 +

2 τs xs )

pa = ϕa (ra ) , 1 − exp(−δra ) a ra = E(La ) = cay−y a



a a λa = ψa (ya ) , − ln(1−ϕa ( cay−y )) = δ cay−y a a

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Steady state - primal optimality  qs = fs (xs )    λa = P ψa (ya ) q =  s  Pa∈s λa  ya = s3a xs P P P P fs (xs ) = a∈s λa = a∈s ψa (ya ) = a∈s ψa ( s3a xs ) ≡ optimal solution of strictly convex program (P)

m´ın x

P

s∈S

Fs (xs ) +

P

P

a∈A Ψa (

s3a xs )

Fs0 (·) = −fs (·) Ψ0a (·) = ψa (·) Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Steady state - primal optimality  qs = fs (xs )    λa = P ψa (ya ) q =  s  Pa∈s λa  ya = s3a xs P P P P fs (xs ) = a∈s λa = a∈s ψa (ya ) = a∈s ψa ( s3a xs ) ≡ optimal solution of strictly convex program (P)

m´ın x

P

s∈S

Fs (xs ) +

P

P

a∈A Ψa (

s3a xs )

Fs0 (·) = −fs (·) Ψ0a (·) = ψa (·) Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Steady state - dual optimality

Alternatively ψa−1 (λa ) = ya =

P

s3a xs

=

−1 s3a fs (qs )

P

=

−1 s3a fs (

P

P

a∈s

≡ optimal solution of strictly convex program (D)

m´ın λ

∗ a∈A Ψa (λa )

P

Seminario CGO - Septiembre 2010

+

P

s∈S

P Fs∗ ( a∈s λa )

Congestion control and multipath routing

λa )

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Steady state - dual optimality

Alternatively ψa−1 (λa ) = ya =

P

s3a xs

=

−1 s3a fs (qs )

P

=

−1 s3a fs (

P

P

a∈s

≡ optimal solution of strictly convex program (D)

m´ın λ

∗ a∈A Ψa (λa )

P

Seminario CGO - Septiembre 2010

+

P

s∈S

P Fs∗ ( a∈s λa )

Congestion control and multipath routing

λa )

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Theorem (Low’2003) Let x ∗ , λ∗ and set ya∗ = xs∗ = fs (qs∗ ) λ∗a = ψa (ya∗ )

∗ s3a xs

P



 ⇔

and qs∗ =

P

a∈s

λ∗a . Then:

x ∗ and λ∗ are optimal solutions for (P) and (D) respectively

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Usefulness? Reverse engineering of existing protocols Forward engineering of new protocols: fs and ψa Conceive distributed algorithms to optimize prescribed utilities Flexible choice of congestion measure qs loss probability (TCP Reno/DropTail-RED-REM) propagation delay (TCP Vegas of FAST)

Limitations? Delays in transmission of congestion prices Improper account of stochastic phenomena Single-path routing

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

NUM model Steady state Network as an Optimizer

Usefulness? Reverse engineering of existing protocols Forward engineering of new protocols: fs and ψa Conceive distributed algorithms to optimize prescribed utilities Flexible choice of congestion measure qs loss probability (TCP Reno/DropTail-RED-REM) propagation delay (TCP Vegas of FAST)

Limitations? Delays in transmission of congestion prices Improper account of stochastic phenomena Single-path routing

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

Markovian network utility maximization

Want to design a distributed protocol that supports source congestion control and multi-path routing Goal: packet-level communication protocol that satisfies some prescribed optimality criteria at equilibrium Model based on the notion of Markovian traffic equilibrium

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

The Model

Communication network G = (N, A) Source s ∈ S sends packets from os to ds at rate xs ˜ a = λa + a with E(a ) = 0. Links have random prices λ

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

At switch i, packets headed to destination d are routed through the link a ∈ A+ i that minimizes the cost to destination ˜ a + q˜jd q˜id = m´ına∈A+ λ a i | {z } z˜ad

Markov chain with transition matrix  P(˜ zad ≤ z˜bd , ∀b ∈ A+ d i ) if i = ia , j = ja Pij = 0 otherwise Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

At switch i, packets headed to destination d are routed through the link a ∈ A+ i that minimizes the cost to destination ˜ a + q˜jd q˜id = m´ına∈A+ λ a i | {z } z˜ad

Markov chain with transition matrix  P(˜ zad ≤ z˜bd , ∀b ∈ A+ d i ) if i = ia , j = ja Pij = 0 otherwise Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

Example: Multinomial Logit routing

z˜ad = zad − da with da i.i.d. Gumbel ⇒ d   e −βza P z˜ad ≤ z˜bd , ∀b ∈ A+ = . P i −βzbd b∈A+ e i

Remark: β → 0 ⇔ random walk β → ∞ ⇔ shortest path

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

Expected flows The flow φdi entering node i and directed towards d φdi =

P

os =i ds =d

xs +

vad a∈A− i

P

splits among the outgoing links a = (i, j) according to vad = φdi Pijd

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

Expected costs Letting zad = E(˜ zad ) and qid = E(˜ qid ), we have zad = λa + qjda qid = ϕdi (z d ) with ϕdi (z d ) , E(m´ına∈A+ [zad + da ]) i

Moreover

  ∂ϕd i P z˜ad ≤ z˜bd , ∀b ∈ A+ = (z d ) i ∂zad

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

Given rate control functions fs (·) and congestion functions ψa (·). Definition (Markovian NUM) (x, y , v , z, q, λ) is MNUM if λa = ψa (ya ) and qs = fs (xs ) with P ya = d vad (total flow on link a) qs = qodss (congestion price for source s) where the expected costs (q, z) are such that  d za = λa + qjda (ZQ) qid = ϕdi (z d ) and the expected flows v d satisfy  P P  φdi = os =i xs + a∈A− vad i ds =d (FC ) d  v d = φd ∂ϕi (z d ) a i ∂z d a

Seminario CGO - Septiembre 2010

∀i 6= d ∀a ∈ A+ i

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

The dual problem (ZQ) defines zad and qid as implicit functions of λ then xs = fs−1 (qs (λ)) yields xs as function of λ (FC ) then defines vad as functions of λ Thus:



MNUM conditions

ψa−1 (λa ) = ya =

P

d

vad (λ)

Theorem λ supports a MNUM iff it is an optimal solution of (D)

m´ın λ

X

Ψ∗a (λa ) +

a∈A

Seminario CGO - Septiembre 2010

X

Fs∗ (qs (λ))

s∈S

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

The model Optimization formulation

The primal problem

Theorem MNUM is the optimal solution of X X X m´ın Fs (xs ) + Ψa (ya ) + χd (v d ) (x,y ,v )∈P

s∈S

a∈A

d∈D

where χd (v d ) = sup

X

z d a∈A

(ϕdia (z d ) − zad )vad

and P is the polyhedron defined by flow conservation constraints.

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Implementation

Implement a distributed algorithm for the previous model Protocol with 2 time-scales: a slow one for choosing prices, and a faster one for rate control and price estimation for users Notification between routers using a RIP protocol, changing the measure of distance (number of hops) for link prices. This enables dynamic routing. Communicate prices to users. Routers can communicate the prices to the links, but at a slower time-scale than rate control.

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Implementation

Implement a distributed algorithm for the previous model Protocol with 2 time-scales: a slow one for choosing prices, and a faster one for rate control and price estimation for users Notification between routers using a RIP protocol, changing the measure of distance (number of hops) for link prices. This enables dynamic routing. Communicate prices to users. Routers can communicate the prices to the links, but at a slower time-scale than rate control.

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Price estimation for sources

Use Explicit Congestion Notification (ECN) Assume that prices take values between 0 and 1 Adapt Adler et al. to estimate end-to-end prices qs = qodss

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

ECN: Markov chain for marking with X0 = 0 and transitions  i−1   Xi−1 i λ ai Xi = 1 i  1−λai  0 i . For fixed route E(Xk ) =

1 k

Pk

i=1 λai

Knowing the route length k we can estimate end-to-end price Routers need their position i in the route for the pbb Markovian case: unknown length of routes and positions

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

ECN with Markovian route choice ! E(X s ) =

X

Y

r ∈R s

a∈r

X

Y

r ∈R s

a∈r

pia ja

1 X λa |r | a∈r

! ,

and !

! qs =

pia ja

X

λa

.

a∈r

If we correct the factor 1/|r | we get an unbiased estimator of q s using sample averages.

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Modify the Markov chain using the TTL (time-to-live) value on the IP header. As the TTL value is decreasing, we define a Markov chain X s with X0s = 0 and  Ti s   Xi−1   T i−1       Ti Xis = 1 λa  M i         1 λai    0 1 − Ti + . Ti−1 M Where M is an upper bound for the square of all TTL values (this makes that the three transitions have positive probability).

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

If the final TTL value is T then ! E(X s ) =

X

Y

r ∈R s

a∈r

pia ja

T X λa M a∈r

!

and we get an unbiased estimator for q s Ys =

Seminario CGO - Septiembre 2010

M s TX

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Conclusions

We proposed a model that considers multipath routing for NUM, inspired in a packet-level dynamics Communication of variables required by protocol is possible under current TCP/IP ECN yields unbiased estimation of prices for users, that work on the same time-scale as rate control

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

Future work

Design a distributed algorithm for the model Study stochastic stability of the markovian equilibrium Find a ECN mechanism that works for unbounded prices Analyze MNUM when randomness tends to 0

Seminario CGO - Septiembre 2010

Congestion control and multipath routing

Congestion control & NUM Markovian NUM Implementation issues Conclusions and future work

References H. Ya¨ıche, R. Mazumdar and C. Rosenberg: A game theoretic framework for bandwidth allocation and pricing in broadband networks, IEEE/ACM Transactions on Networking, (2000). M. Chiang, S. H. Low, A. R. Calderbank, J. C. Doyle: Layering as optimization decomposition, Proceedings of IEEE, (2006). F. Kelly, A. Maulloo, D. Tan: Rate control for communication networks: Shadow prices, proportional fairness and stability, Journal of Operation Research, (1998). J. B. Baillon, R. Cominetti: Markovian traffic equilibrium, Mathematical Programming, 2007. M. Adler, J. Y. Cai, J. K. Shapiro, D.Towsley: Estimation of congestion price using probabilistic packet marking. Proceedings of IEEE INFOCOM, 2002. Seminario CGO - Septiembre 2010

Congestion control and multipath routing