Resource Allocation and Pricing

37
Resource Allocation and Pricing R. Srikant University of Illinois

description

Resource Allocation and Pricing. R. Srikant University of Illinois. References. The Mathematics of Internet Congestion Control , Birkhauser, 2004. Pricing: Kelly Distributed Resource Allocation: Kelly, Mauloo and Tan, Low and Lapsley, Kunniyur and S., Wen and Arcak, Liu, Basar and S. - PowerPoint PPT Presentation

Transcript of Resource Allocation and Pricing

Page 1: Resource Allocation and Pricing

Resource Allocation and Pricing

R. SrikantUniversity of Illinois

Page 2: Resource Allocation and Pricing

References

• The Mathematics of Internet Congestion Control, Birkhauser, 2004.

• Pricing: Kelly• Distributed Resource Allocation: Kelly,

Mauloo and Tan, Low and Lapsley, Kunniyur and S., Wen and Arcak, Liu, Basar and S.

Page 3: Resource Allocation and Pricing

Resource Allocation

• How much bandwidth should each user get?

• Constraints: x0+x1· cA; x0+x2· cB

User 2

cA cB

User 1

User 0

Page 4: Resource Allocation and Pricing

Utility Functions

• Associate a utility function with each user• Strictly concave, increasing functions• Maximize system utility, i.e., the sum of

the utilities of all the users

User 0

User 1

User 2

)( 11 xU

)( 00 xU)( 22 xU

cA cB

Page 5: Resource Allocation and Pricing

Kelly’s System Problem

subject to

Page 6: Resource Allocation and Pricing

Issues

• Will users truthfully reveal their utility functions?

• If not, can we design a pricing scheme (mechanism) to induce truth-telling?

• Is there a distributed algorithm to compute the prices?

Page 7: Resource Allocation and Pricing

Computing Source Rates

Page 8: Resource Allocation and Pricing

Source Algorithm

• Source needs only its path price:

Page 9: Resource Allocation and Pricing

Computing Lagrange Multipliers

• Dual problem:

Page 10: Resource Allocation and Pricing

Link Algorithm

• Gradient algorithm• Link needs to only know its arrival rate

Page 11: Resource Allocation and Pricing

Network Solution

• Network doesn’t know the utility function• Choose Ur(xr)=wr log xr

• Allow users to choose wr

Page 12: Resource Allocation and Pricing

Proportional Fairness

• If the utility function is of the form Ur(xr)=wr log xr,

then the optimal allocation satisfies

Page 13: Resource Allocation and Pricing

Pricing

• Can the network choose a pricing scheme to achieve fair resource allocation?

• Suppose that the network charges a price qr ($/bit) where qr=l2 rpl

• User’s strategy: spend wr ($/sec.) to maximize

Page 14: Resource Allocation and Pricing

Optimal User Strategy

• Equivalently,

Page 15: Resource Allocation and Pricing

Distributed Computation

• With the optimal choice of wr, the controller becomes

• We have already seen that this solves

Page 16: Resource Allocation and Pricing

Price Takers vs. Strategic Users

• Kelly Mechanism: Users are price takers, i.e., user does not know the impact of its action on the price

• Strategic users:

Page 17: Resource Allocation and Pricing

Efficiency and Competition

• Price takers: selfish users can maximize social welfare

• Strategic users: Competition leads to loss of efficiency, i.e., social welfare is not maximized

• Question: by how much? • Answer: Workshop

Page 18: Resource Allocation and Pricing

Recap

• Goal: Maximize social welfare• Hard code programs into computers to

achieve proportional fairness based on user bids {wr}

• Selfish, price-taking users naturally bid to maximize social welfare

• Reasonable for the Internet• Small number of resources: strategic

users

Page 19: Resource Allocation and Pricing

Convergence

• Approximate computation of Lagrange multipliers

• Associate a price function with each link: fl(yl), where yl is the arrival rate into the link

Page 20: Resource Allocation and Pricing

Solution

• User r’s depends only on its path price• Link price depends only on the total arrival

rate into the link

Page 21: Resource Allocation and Pricing

Congestion Control

Page 22: Resource Allocation and Pricing

Stability

• Note that

• V(x) is the resource allocation objective• V(x) is a Lyapunov function:

Page 23: Resource Allocation and Pricing

Recall Primal-Dual Algorithm

• Is this algorithm also stable?

Page 24: Resource Allocation and Pricing

Lyapunov function

Page 25: Resource Allocation and Pricing

Vickrey-Clarke-Groves (VCG) Mechanism

• Seller asks for {Ur(xr)}

• Computes x*=arg maxx r Ur(xr)• The presence of user r reduces the utility

to other users. Charge this reduction as the price to user i:

Page 26: Resource Allocation and Pricing

Truth-Telling is optimal

• Net utility for user i:

• If truth-telling is not optimal, we have a contradiction:

Page 27: Resource Allocation and Pricing

Comparing Kelly and VCG

• VCG requires each user to give the entire utility function

• Kelly requires each user to submit a bid• VCG: computation is not decentralized • Kelly: computation of prices is distributed

among users and resources

Page 28: Resource Allocation and Pricing

Other Pricing

• Maximize revenue, with little or no regard for social welfare

• Peering, transit and access charge arrangements across multiple ISPs

• Resource allocation and pricing in wireless networks (both cellular and ad hoc networks)

Page 29: Resource Allocation and Pricing

Modeling Delays

• Delay in receiving congestion feedback

• Tr: RTT (round-trip time)

Page 30: Resource Allocation and Pricing

Window Flow Control

• W: Window size of a source• W is the number of unacknowledged

packets that can be in the network• x: Transmission rate (packets/sec.)• T: Round-trip time. Amount of time it

takes to receive an ack for a packet

Page 31: Resource Allocation and Pricing

Differential Equation - I

• q(t): Probability of packet loss at time t

Page 32: Resource Allocation and Pricing

Differential Equation - II• Additive Increase-Multiplicative Decrease

(AIMD)

Page 33: Resource Allocation and Pricing

Delays

Delay from source r to link l

Delay from link l to source r

Page 34: Resource Allocation and Pricing

Network Stability?

Sources Links

x y

pq

yl=r xr(t-df(r,l))

qr=l pl(t-db(r,l))

Page 35: Resource Allocation and Pricing

Arrivals and Departures

• The number of sources has been assumed to be a constant

• On a slower time-scale, files (sources) arrive and depart

• If the fast time-scale algorithms are designed well, congestion control can be viewed as an instantaneous resource allocation process

Page 36: Resource Allocation and Pricing

Connection-Level Model

• Files arrive according to some point process• Each file brings a random amount of work

(bits)• File departs when the work is finished• Between arrivals and departures, resources

allocated to each flow according to the system problem described earlier

• Is the connection-level model (stochastically) stable?

Page 37: Resource Allocation and Pricing

Part II

• Resource allocation and control

• Stability conditions for a network with delays

• Connection-level stability