Charge-Sensitive TCP and Rate
Control
Richard J. La
Department of EECS
UC Berkeley
November 22, 1999
Motivation
• Network users have a great deal of freedom as to how
they can share the available bandwidth in the network
• The increasing complexity and size of the Internet
renders centralized rate allocation impractical
– distributed algorithm is desired
• Two classes of flow/congestion control mechanisms
– rate-based : directly controls the transmission rate based on
feedback
– window-based : controls the congestion window size to
adjust the transmission rate and backlog
Motivation
• Transmission Control Protocol (TCP) does not
necessarily results in a fair or efficient allocation of
the available bandwidth
• Many algorithms have been proposed to achieve
fairness among the connections
• Fairness alone may not be a suitable objective
– most algorithms do not reflect the user utilities or
preferences
– good rate allocation should not only be fair, but should also
maximize the overall utility of the users
Model
• Network with a set J of links and a set I of users
– C j , j J , - capacity of link j
–
J i , i I , - route of user i
–
A Ai , j , i I , j J ,
where Ai , j
{
1, if j J i
0, otherwise
– U i ( x) - utility of user i when it receives a rate of x
(utility function - increasing & strictly concave)
Model (Kelly)
• SYSTEM (U , A, C ) :
maximize
U ( x )
iI
T
i
i
subject to A x C
over
x0
– system is not likely to know U (U i (), i I )
– impractical for a centralized system to compute and allocate
the user rates
Model (Kelly)
• NETWORK ( A, C; p) :
maximize
p log( x )
i
iI
T
i
subject to A x C
over
x0
• USERi (U i ; i ) :
maximize
over
Ui (
pi
i
) - pi
pi 0
Background (Kelly’s work)
• One can always find vectors * (*i , i I ), p* ( pi* , i I ),
and
such that
x* ( xi* , i I )
1)
pi* solves USERi (U i ; *i ) for all i I
2)
xi* solves NETWORK ( A, C; p* ) :
3)
pi* *i xi*
4) x * is the unique solution to SYSTEM (U , A, C )
Fairness
• Max-min fairness :
– a user’s rate cannot be increased without decreasing the rate
of another user who is already receiving a smaller rate
– gives an absolute priority to the users with smaller rates
• (weighted) proportional fairness :
–
x' is weighted proportionally fair with weight vector p
if x' is feasible and for any other feasible vector x
xi xi '
i pi x ' 0
i
Fluid Model (Mo & Walrand)
•
AT x C 0
(1)
Q ( AT x C ) 0
( 2)
X ( AC ' q d ) w
(3)
x 0, q 0
( 4)
where
d i : propagatio n delay of connection i
wi : congestion window size of connection i
C (C1 , , C J )T , q (q1 , , q J )T ,
d (d1 , , d I )T , w ( w1 , , wI )T ,
X diag ( x), C ' diag (C11 , , C J1 ), Q diag (q),
Fluid Model (Mo & Walrand)
• Theorem 1 (Mo & Walrand) : For all w there exists
a unique x that satisfies the constraints (1)-(4)
– this theorem tells us that the rate vector is a well defined
function of the window sizes w.
– denote the function by x(w)
– x(w) is continuous and differentiable at an interior point
– q(w) may not be unique, but the sum of the queuing delay
along any route is well defined
Mo & Walrand’s Algorithm
• (p, 1)-proportionally fair algorithm :
d i si (t )
d
wi (t )
dt
d i (t ) wi (t )
where
: some positive constant
pi : target queue size of connection i
si (t ) wi (t ) xi (t ) d i pi
d i (t ) d i q j (t )
jJ i
Mo & Walrand’s Algorithm
• Theorem 2 (Mo & Walrand) : The window sizes
converge to a unique point w* such that for all i I
wi* xi ( w* ) d i pi
Further, the resulting rate at the unique stable point w*
is weighted proportionally fair that solves
NETWOKR(A, C ; p).
Pricing Scheme
• Price per unit flow at a switch is the queuing delay at
the switch, i.e.,
q j ( w)
g j ( w)
Cj
– the total price per unit flow of user i is given by
hi ( w) xi
jJ i
where
q ij
q j ( w)
Cj
xi ( w)
qj
q ij pi
Cj
jJ i
jJ i
is connection i’s queue size at resource j
User Optimization & Assumption
• User optimization problem :
U i ( xi ) xi
jJ i
where
i
Ui (
pi
qj
Cj
) pi
i
is the price per unit flow, which is the queuing delay
• Assumption 1 : The optimal price
^
p i (i ) arg max U i (
pi
is a decreasing function of
i .
pi
i
) pi
Examples of Utility Functions
• U i ( xi ) c x , where c 0, 0 a 1
a
i
• U i ( xi ) c log( xi b) , where c 0, 0 b 1
Price Updating Rule
• At time t, each user i updates its price according to
pi
pi (t ) arg max U i (
) pi
pi
i (t )
{
0,
if i (t ) U ' (0)
pi
pi such that U i ' (
)
(
t
),
i
i (t )
if 0 i (t ) U ' (0)
Price Updating Rule
• Define a mapping
T : P P to be
~
~
pi
Ti ( p) arg max
Ui (
) pi
~
i ( p)
pi
• Fixed point of the mapping T is a vector p such that
T(p) = p.
• Theorem : There exists a unique fixed point p* of the
mapping T, and the resulting rate allocation from p* is
the optimal rate allocation x* that solves
SYSTEM(U,A,C).
Algorithm I
• Suppose that users update their prices according to
^
pi (n) pi (n 1)
pi (n) pi (n 1)
M
• Assumption 2 : There exists M > 0 such that
* ,
(a) for all p such that
^
*
p
(
)
2
M
p
i
i (2M 1) pi
i
(b) for all p such that
* ,
i
i
^
*
p
(
)
2
M
p
i
i (2M 1) pi
i
i
i
Convergence in Single Bottleneck Case
• Theorem : Under the assumptions 1 and 2, the user
prices p(n) converges to the unique fixed point of the
mapping T under both Jacobi and the totally
asynchronous update schemes as n .
Algorithm II
• Suppose that users update their window sizes
according to
d
wi (t ) M i (t ) ri (t )
dt
where
d i U i ' ( xi (t )) xi (t ) U i ' ' ( xi (t ))
M i (t )
d i q j (t )
jJ i
wi (t ) xi (t ) (d i U i ' ( xi (t )))
ri (t )
wi (t )
Assumption & Convergence
• Assumption 3: The utility functions satisfy
U i ' ( xi ) xi U i ' ' ( xi ) 0 for all xi [0, C i ]
where C i min C j .
jJ i
• Theorem : Under assumption 3, the window sizes
converge to a unique stable point of the algorithm II,
where the resulting rates solve SYSTEM(U,A,C).
© Copyright 2025 Paperzz