23
Delay-Based Network Utility Maximization Michael J. Neely University of Southern California http://www-rcf.usc.edu/~mjneely IEEE INFOCOM, San Diego, March 2010 ored in part by the DARPA IT-MANET Program, NSF Career CCF-0747525 a 1 (t ) a 2 (t ) a K ( t) Utility Thruput x k S 1 (t ) S 2 (t ) S K (t )

Delay-Based Network Utility Maximization

  • Upload
    kele

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

Delay-Based Network Utility Maximization. a 1 (t). S 1 (t). S 2 ( t). a 2 (t). Utility. a K ( t ). S K ( t ). Thruput x k. Michael J. Neely University of Southern California http://www-rcf.usc.edu/~mjneely IEEE INFOCOM, San Diego, March 2010. - PowerPoint PPT Presentation

Citation preview

Page 1: Delay-Based Network Utility Maximization

Delay-Based Network Utility Maximization

Michael J. NeelyUniversity of Southern California

http://www-rcf.usc.edu/~mjneelyIEEE INFOCOM, San Diego, March 2010

*Sponsored in part by the DARPA IT-MANET Program, NSF Career CCF-0747525

a1(t)

a2(t)

aK(t)

Util

ity

Thruput xk

S1(t)

S2(t)

SK(t)

Page 2: Delay-Based Network Utility Maximization

Network Model: •1-Hop Network with K Queues --- (Q1(t), …, QK(t))•Slotted time, t in {0, 1, 2, … } •S(t) = (S1(t), …, SK(t)) = “Channel State Vector” (i.i.d. over slots)

•x(t) = (x1(t), …, xK(t)) = “Transmission Decision Vector”•a(t) = (a1(t), …, aK(t)) = “Packet Arrival Vector” (i.i.d. over slots)•Fixed Length Packets: a(t), x(t) are 0/1 vectors.•Arrival Rates: E{a(t)} = (λ1, …, λK).

Reliability is a Function of Transmission Decision: Observe S(t) every slot. Choose 0/1 transmission vector x(t).

Pr[Success on link k | x(t), S(t)] = Ψk(x(t), S(t))

ak(t) Ψk(x(t), S(t))

Page 3: Delay-Based Network Utility Maximization

Packet Dropping: •We can decide to drop packets at any time.•Packets that fail in transmission can either be retransmitted or dropped.•Thruput on channel k = yk = λk – drop rate on channel k

ak(t) Ψk(x(t), S(t))

Delay-Based Control: •Stamp Head-of-Line (HOL) Packets with their Delays Hk(t).

Utility Maximization Objective: •Maximize: g1( y1 ) + g2( y2 ) + … + gK( yK )

where gk(y) are concave, non-decreasing utility functions

Delay= 4

Delay= 2

Delay= 1

Dropsk(t)Queue k: Hk(t) = 4

Page 4: Delay-Based Network Utility Maximization

Prior work on Stochastic Network Optimization:Stability: (“Max-Weight” = “Min-Lyapunov-Drift”)•Tassiulas, Ephremides [1992, 1993] (Minimize drift Δ(t))•Kahale, Wright [1997]•Andrews et. al. [2001]•Neely, Modiano, Rohrs [2003, 2005]•Kobayashi, Caire, Gesbert [2005]

Joint Stability and Utility Optimization:•Neely, Modiano [2003, 2005] (Minimize Δ(t) + V*Penalty(t))•Georgiadis, Neely, Tassiulas [2006]•Stolyar [2005] (Primal-Dual “Fluid Model” analysis)

Special case of “Infinitely Backlogged Sources”: •Agrawal, Subramanian [2002], Kushner, Whiting [2002]•Eryilmaz, Srikant [2005], Lin, Shroff [2004]

All of these references use queue backlog as weights!

Page 5: Delay-Based Network Utility Maximization

Alternative “Delay-Based” Rules that use HOL Delaysas weights are known only for Network Stability:•Mekkittikul, McKeown [1996]•Shakkottai, Stolyar [2002]•Andrews, Kumaran, Ramanan, Stolyar, Vijaykumar, Whiting [2004]

Our work fills the gap by developing a Delay-BasedRule for Maximizing Network Utility Subject to Stability.

ak(t)Ψk(x(t), S(t))Delay

= 4 Delay= 2

Delay= 1

Dropsk(t)U

tility

Thruput xk

Page 6: Delay-Based Network Utility Maximization

Challenges: •Prior “Drift-Plus-Penalty” Algorithm Admit/Drops Packets Immediately when New Packets Arrive: Δ(t) + V*Penalty(t).•This does not directly Affect the HOL Values!•Tricky Correlation Issues between HOL sizes and Decisions!Key Ideas for this paper:•Queue all packets. Admit/Drop only at HOL.•Use “Drift-Plus-Penalty” with a different queue structure•Use a “concavely extended utility function”

Advantages of Delay-Based Approach:•Provides “Delay-Fairness.” Queue-Based Rules canleave loner packets stranded.•Provides Worst Case Delay Guarantees.

Disadvantage: Must know (λ1, …, λK) to implement.

Page 7: Delay-Based Network Utility Maximization

Concavely Extending a Utility Function:

0 1yk

gk(yk)

0 1 yk

fk(yk)

-1

slope = ηkslope= ηk

Function gk(yk):Defined over 0 ≤ yk ≤ 1

Function fk(yk):Defined over -1 ≤ yk ≤ 1

Page 8: Delay-Based Network Utility Maximization

Transformed Stochastic Net Optimization Problem: Maximize: f1( θ1 ) + f2( θ2 ) + … + fK( θK )

Subject to: (1) E{Qk} < infinity , for all k in {1, …, K} (2) yk ≥ θk , for all k in {1, …, K}

(3) -1 ≤ θk(t) ≤ 1 , for all t

(4) yk, θk are time averages achievable on the network

Auxiliary Variables and Thruput Variables: yk(t) = λk – Dropsk(t) Time Avg: yk = λk – Dk

θk(t), choose s.t. -1 ≤ θk(t) ≤ 1 Time Avg: θk

Page 9: Delay-Based Network Utility Maximization

Transformed Stochastic Net Optimization Problem: Maximize: f1( θ1 ) + f2( θ2 ) + … + fK( θK )

Subject to: (1) E{Qk} < infinity , for all k in {1, …, K} (2) yk ≥ θk , for all k in {1, …, K}

(3) -1 ≤ θk(t) ≤ 1 , for all t

(4) yk, θk are time averages achievable on the network

Auxiliary Variables and Thruput Variables: yk(t) = λk – Dropsk(t) Time Avg: yk = λk – Dk

θk(t), choose s.t. -1 ≤ θk(t) ≤ 1 Time Avg: θk

Page 10: Delay-Based Network Utility Maximization

Transformed Stochastic Net Optimization Problem: Maximize: f1( θ1 ) + f2( θ2 ) + … + fK( θK )

Subject to: (1) E{Qk} < infinity , for all k in {1, …, K} (2) yk ≥ θk , for all k in {1, …, K}

(3) -1 ≤ θk(t) ≤ 1 , for all t

(4) yk, θk are time averages achievable on the network

Virtual Queue Zk(t) for enforcing constraint (2):

Zk(t) yk(t) = λk – Dropsk(t)θk(t)

Page 11: Delay-Based Network Utility Maximization

Head-of-Line Delay Update Equation (Queue k):

Hk(t+1) = 1{k full}(t) max[Hk(t) + 1 – (μk(t)+Dk(t))Tk(t), 0]

+ 1{k empty}(t) Ak(t)

Inter-Arrival Time Tk(t)

DropsService

Lyapunov Function: L(t) = (1/2)[H1(t)2 + … + HK(t)2] + (1/2)[Z1(t)2 + … + ZK(t)2]

Drift-Plus-Penalty Approach:•Observe {H1(t), …, HK(t)}, {Z1(t),…,ZK(t)}, {S1(t), …, SK(t)}•Take action to minimize:

Δ(t) – V [f1(θ1(t)) + ... + fK(θK(t))]

Page 12: Delay-Based Network Utility Maximization

Resulting Algorithm: 1) (Aux Variables) Each k observes Zk(t). Choose θk(t) to: Maximize : V f(θk(t)) – Zk(t)θk(t)

Subject to: -1 ≤ θk(t) ≤ 12) (Transmission) Observe S(t), H(t), Z(t). Choose x(t) to: Maximize : xk(t) min[Hk(t), Zk(t)] Ψk(x(t),S(t))

Subject to: (x1(t),…, xK(t)) a 0/1 vector

3) (Packet Dropping) For each queue k with HOL packet that was not successfully transmitted, drop iff Zk(t)≤Hk(t).

4) (Update Virtual and Actual Queues)

Δ(t) – V [f1(θ1(t)) + ... + fL(θL(t))]

Σk

Page 13: Delay-Based Network Utility Maximization

Focus on Auxiliary Variable Update: Choose θk(t) to: Maximize : V f(θk(t)) – Zk(t)θk(t)

Subject to: -1 ≤ θk(t) ≤ 1

Key Lemma: If Zk(t) > Vηk, then…

(a) …the above chooses θk(t) = -1

(b) …hence, Zk(t) cannot increase on that slot:

Zk(t) yk(t) = λk – Dropsk(t)θk(t)

= -1 ≥ -1

[This is why we concavely extended the utility function over -1 ≤ y ≤ 1 ]

-1 1

Zk(t) < Vηk

Page 14: Delay-Based Network Utility Maximization

Focus on Auxiliary Variable Update: Choose θk(t) to: Maximize : V f(θk(t)) – Zk(t)θk(t)

Subject to: -1 ≤ θk(t) ≤ 1

Key Lemma: If Zk(t) > Vηk, then…

(a) …the above chooses θk(t) = -1

(b) …hence, Zk(t) cannot increase on that slot:

Zk(t) yk(t) = λk – Dropsk(t)θk(t)

= -1 ≥ -1

[This is why we concavely extended the utility function over -1 ≤ y ≤ 1 ]

-1 1

Zk(t) > Vηk

Page 15: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 16: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 17: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 18: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 19: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 20: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 21: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 22: Delay-Based Network Utility Maximization

Concluding Theorem: Implementing the above algorithm for any parameterV>0, we have…

(a) Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

(b) Total Utility Satisfies:

g1( y1 ) + … + gK( yK ) ≥ g1( y1*) + … + gK( yK*) – B/V

Achieved Utility Optimal Utility

V V

Util

ity

Dela

y

Page 23: Delay-Based Network Utility Maximization

Example Utility Function

gk( y ) = log( 1 + ηk y )

This approximates “proportionally fair” log-utility when ηk is large.

The log-utility log( y ) has a singularity at y=0, and so is not always a good choice of utility function.

V V

Util

ity

Dela

y