23
Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints Michael J. Neely, Leana Golubchik University of Southern California Proc. IEEE INFOCOM, Shanghai, China, April 2011 PDF of paper at: http://www-bcf.usc.edu/~mjneely/ in part by the NSF Career CCF-0747525, ARL Network Science Collaborative Te Network Cloud 1 2 3 5 4

Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

  • Upload
    larue

  • View
    45

  • Download
    0

Embed Size (px)

DESCRIPTION

Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints. Network Cloud. 1. 2. 3. 5. 4. Michael J. Neely, Leana Golubchik University of Southern California Proc. IEEE INFOCOM, Shanghai, China, April 2011 PDF of paper at: http://www- bcf.usc.edu /~ mjneely /. - PowerPoint PPT Presentation

Citation preview

Page 1: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Michael J. Neely, Leana GolubchikUniversity of Southern California

Proc. IEEE INFOCOM, Shanghai, China, April 2011PDF of paper at: http://www-bcf.usc.edu/~mjneely/

Sponsored in part by the NSF Career CCF-0747525, ARL Network Science Collaborative Tech. Alliance

Network Cloud

1

2

3

5

4

Page 2: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Network Cloud

1

2

3

5

4

• N nodes.• Each node n has download social group Gn.• Gn is a subset of {1, …, N}.• Each file f is in some subset of nodes Nf.• Each node n can request download of a file f

from any node in Gn Nf

Page 3: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

• Slotted time t in {0, 1, 2, …}.• S(t) = “topology state” on slot t.• µab(t) = transmission rate from a to b on slot t.• GS(t) = set of matrices (µab(t)) allowed under S(t).• Transmissions are supported by the network cloud.

Transmission Decision: Every slot t, observe S(t). Then choose (µab(t)) in GS(t).

“One-Hop” Network Transmission Model

12

34

5µ12(t) µ34(t)

Page 4: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Internet Cloud” Example 1:

Network Cloud

1

2

3

5

4

Uplink capacity C1uplink

• S(t) = Constant (no variation).• ∑bµnb(t) ≤ Cn

uplink for all nodes n.

This example assumes uplink capacity is the bottleneck.

Page 5: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Internet Cloud” Example 2:

Network Cloud

1

2

3

5

4

• S(t) specifies a single supportable (µab(t)).

No “transmission rate decisions.” The allowable rates (µab(t)) are given to the peer-to-peer system from some underlying transport and routing protocol.

Page 6: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Wireless Basestation” Example 3:

= base station

= wireless device

• Wireless device-to-device transmission increases capacity.• (µab(t)) chosen in GS(t).• Transmissions coordinated by base station.

Page 7: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Network File Request Model

• Each node desires at most 1 new file per slot.• Assume Gn Nn(t) is non-empty. • Assume 0 ≤ An(t) ≤ Amax.• Files larger than Amax packets can be treated as

separate files that come in successive slots.

n(An(t), Nn(t))

An(t) = size of desired file on slot t.Nn(t) = subset of other nodes that have it.

Get help from nodes in:

Gn Nn(t)

Page 8: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Commodities” for Request Allocation

• Each file corresponds to a subset of nodes.

• Queueing files according to subsets would result in O(2N) queues. (complexity explosion!).

Instead of that, without loss of optimality, we use the following alternative commodity structure…

Page 9: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Commodities” for Request Allocation

• Use subset info to determine the decision set.

n(An(t), Nn(t))j

k

mGn Nn(t)

Page 10: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Commodities” for Request Allocation

• Use subset info to determine the decision set.• Choose which node will help download.

n(An(t), Nn(t))j

k

mGn Nn(t)

Page 11: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

“Commodities” for Request Allocation

• Use subset info to determine the decision set.• Choose which node will help download.• That node queues the request: Qmn(t+1) = max[Qmn(t) + Rmn(t) - µmn(t), 0]• Subset info can now be thrown away.

n(An(t), Nn(t))j

k

mQmn(t)

Page 12: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Stochastic Network Optimization Problem:

Maximize: ∑n gn(∑a ran)

Subject to: (1) Qmn < infinity

(Queue Stability Constraint)(2) α ∑a ran ≤ β + ∑b rnb for all n

(Tit-for-Tat Constraint)

Page 13: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Maximize: ∑n gn(∑a ran)

Subject to: (1) Qmn < infinity

(Queue Stability Constraint)(2) α ∑a ran ≤ β + ∑b rnb for all n

(Tit-for-Tat Constraint)

concave utility function

Stochastic Network Optimization Problem:

Page 14: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Maximize: ∑n gn(∑a ran)

Subject to: (1) Qmn < infinity

(Queue Stability Constraint)(2) α ∑a ran ≤ β + ∑b rnb for all n

(Tit-for-Tat Constraint)

concave utility function

time average request rate

Stochastic Network Optimization Problem:

Page 15: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Maximize: ∑n gn(∑a ran)

Subject to: (1) Qmn < infinity

(Queue Stability Constraint)(2) α ∑a ran ≤ β + ∑b rnb for all n

(Tit-for-Tat Constraint)

concave utility function

time average request rate

α x Download rate

Stochastic Network Optimization Problem:

Page 16: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Maximize: ∑n gn(∑a ran)

Subject to: (1) Qmn < infinity

(Queue Stability Constraint)(2) α ∑a ran ≤ β + ∑b rnb for all n

(Tit-for-Tat Constraint)

concave utility function

time average request rate

α x Download rate β + Upload rate

Stochastic Network Optimization Problem:

Page 17: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Solution Technique• Use “Drift-Plus-Penalty” Framework for Stochastic

Network Optimization [Georgiadis, Neely, Tassiulas, F&T 2006] [Neely, Morgan & Claypool 2010]• No Statistical Assumptions on [S(t); (An(t), Nn(t))]

Quick Advertisement: New Book: M. J. Neely, Stochastic Network Optimization with Application to Communication and Queueing Systems. Morgan & Claypool, 2010.

http://www.morganclaypool.com/doi/abs/10.2200/S00271ED1V01Y201006CNT007

• PDF also available from “Synthesis Lecture Series” (on digital library)• Lyapunov Optimization theory (including universal scheduling, renewals)• Detailed Examples and Problem Set Questions.

Page 18: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Use “Drift-Plus-Penalty” Framework:• Virtual queue for each TFT constraint: α ∑a ran ≤ β + ∑b rnb

• Virtual queue Hn(t) for each concave utility function.

• L(t) = ∑ Qmn(t)2 + ∑Fn(t)2 + ∑Hn(t)2.• Δ(t) = L(t+1) – L(t). • Drift-Plus-Penalty Algorithm: Every slot t, choose action to greedily minimize:

Fn(t)α ∑a Ran(t) β + ∑b Rnb(t)

Δ(t) – V x Utility(t)

Page 19: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Resulting Algorithm:• (Auxiliary Variables) For each n, choose an aux.

variable γn(t) in interval [0, Amax] to maximize:

Vgn(γn(t)) – Hn(t)gn(t)

• (Request Allocation) For each n, observe the following value for all m in {Gn Nn(t)}:

-Qmn(t) + Hn(t) + (Fm(t) – αFn(t))

Give An(t) to queue m with largest non-neg value, Drop An(t) if all above values are negative.

• (Scheduling) Choose (µab(t)) in GS(t) to maximize:

∑nb µnb(t)Qnb(t)

Page 20: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

How the Incentives Work for node n:

Fn(t)α x Receive Help(t) β + Help Others(t)

-Qmn(t) + Hn(t) + (Fm(t) – αFn(t))

Node n can only request downloads from others if it finds a node m with a non-negative value of:

Fn(t) = “Node n Reputation” (Good reputation = Low value)

Page 21: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

How the Incentives Work for node n:

Fn(t)α x Receive Help(t) β + Help Others(t)

-Qmn(t) + Hn(t) + (Fm(t) – αFn(t))

Node n can only request downloads from others if it finds a node m with a non-negative value of:

Fn(t) = “Node n Reputation” (Good reputation = Low value)

Bounded Compare Reputations!

Page 22: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

How the Incentives Work for node n:

Fn(t)α x Receive Help(t) β + Help Others(t)

-Qmn(t) + Hn(t) + (Fm(t) – αFn(t))

Node n can only request downloads from others if it finds a node m with a non-negative value of:

Fn(t) = “Node n Reputation” (Good reputation = Low value)

Bounded Compare Reputations!

Page 23: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints

Concluding Theorem: For any arbitrary [S(t); (An(t), Nn(t))] sample path, we guarantee: a) Qmn(t) ≤ Qmax = O(V) for all t, all (m,n).

b) All Tit-for-Tat constraints are satisfied.

c) For any T>0: liminfKinf [Achieved Utility(KT)] ≥

liminfKinf (1/K)∑i=1[“T-Slot-Lookahead-Utility[i]”]- BT/V

Frame 1 Frame 2 Frame 3

0 T 2T 3T

K