/
Delay-Based Network Utility Maximization Delay-Based Network Utility Maximization

Delay-Based Network Utility Maximization - PowerPoint Presentation

karlyn-bohler
karlyn-bohler . @karlyn-bohler
Follow
371 views
Uploaded On 2018-03-23

Delay-Based Network Utility Maximization - PPT Presentation

Michael J Neely University of Southern California httpwwwrcfuscedumjneely IEEE INFOCOM San Diego March 2010 Sponsored in part by the DARPA ITMANET Program NSF Career CCF 0747525 ID: 661661

delay utility slots queue utility delay queue slots time algorithm case function worst network maximize packets concluding theorem implementing

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Delay-Based Network Utility Maximization" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Delay-Based Network Utility Maximization

Michael J. NeelyUniversity of Southern Californiahttp://www-rcf.usc.edu/~mjneelyIEEE INFOCOM, San Diego, March 2010

*Sponsored 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

)Slide2

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), …, x

K(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

))

a

k

(t)

Ψ

k(x(t

), S(t))Slide3

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

a

k

(t)

Ψk

(x(t), S(t))

Delay-Based Control

: Stamp Head-of-Line (HOL) Packets with their Delays H

k(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 Slide4

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!Slide5

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.

a

k

(t)

Ψ

k(x(t), S(t))

Delay

= 4

Delay= 2

Delay

= 1

Drops

k(t)

Utility

Thruput

xkSlide6

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.Slide7

Concavely Extending a Utility Function:

0

1

y

k

g

k

(y

k)

0

1

y

k

f

k

(y

k

)

-1

slope =

η

k

s

lope

=

η

k

Function

g

k

(y

k):Defined over 0 ≤ yk ≤ 1

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

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) y

k, θk are time averages achievable on the network

Auxiliary Variables and Thruput

Variables:

yk(t) = λk – Drops

k(t) Time Avg:

yk = λk – D

k θ

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

) ≤ 1 Time Avg: θk

Slide9

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) y

k, θk are time averages achievable on the network

Auxiliary Variables and Thruput

Variables:

yk(t) = λk – Drops

k(t) Time Avg:

yk = λk – D

k θ

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

) ≤ 1 Time Avg: θk

Slide10

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) y

k, θk are time averages achievable on the network

Virtual Queue Z

k(t) for enforcing constraint (2):

Z

k

(t

)

y

k

(t

) =

λ

k

Drops

k

(t)

θk(t)Slide11

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)

Drops

Service

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)}, {Z

1(t),…,ZK(t)}, {S1

(t), …, SK(t)}Take action to minimize:

Δ

(t) – V [f1(

θ1(t

)) + ... + fK(

θK(t))] Slide12

Resulting Algorithm:

(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 : x

k(t) min[Hk(t), Z

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

Subject to: (x1(t),…, xK

(t)) a 0/1 vector3) (Packet Dropping) For each queue k

with HOL packet that was not successfully transmitted, drop iff Z

k(t)≤Hk(t).4) (Update Virtual and Actual Queues)

Δ

(t) – V [f1

(θ1(

t)) + ... + fL

(θL(t

))] ΣkSlide13

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… …the above chooses

θk(t) = -1

…hence, Zk

(t) cannot increase on that slot:

Z

k(t)

y

k

(t) = λ

k – Dropsk(t)

θk(t)

= -1

≥ -1

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

y

≤ 1 ]

-1

1

Z

k

(t

)

<

V

η

kSlide14

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… …the above chooses

θk(t) = -1

…hence, Zk

(t) cannot increase on that slot:

Z

k(t)

y

k

(t) = λ

k – Dropsk(t)

θk(t)

= -1

≥ -1

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

y

≤ 1 ]

-1

1

Z

k

(t

)

>

V

η

kSlide15

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide16

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide17

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide18

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide19

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide20

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide21

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide22

Concluding Theorem:

Implementing the above algorithm for any parameterV>0, we have… Delay: Worst Case Delay in Queue k ≤ Vηk + 2 slots.

Total Utility Satisfies:

g1( y1

) + … + gK( yK ) ≥ g1( y1*)

+ … + gK( yK

*) – B/V

Achieved Utility

Optimal Utility

V

V

Utility

DelaySlide23

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

Utility

Delay