1 / 23

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

larue
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 GnNf

  3. “One-Hop” Network Transmission Model µ12(t) µ34(t) 1 2 3 4 5 • 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)) inGS(t).

  4. “Internet Cloud” Example 1: Uplink capacity C1uplink Network Cloud 1 2 3 5 4 • S(t) = Constant (no variation). • ∑bµnb(t) ≤ Cnuplinkfor all nodes n. • This example assumes uplink capacity is the bottleneck.

  5. “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.

  6. “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.

  7. Network File Request Model n Get help from nodes in: (An(t), Nn(t)) • Each node desires at most 1 new file per slot. • Assume GnNn(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. GnNn(t) An(t) = size of desired file on slot t. Nn(t) = subset of other nodes that have it.

  8. “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…

  9. “Commodities” for Request Allocation n j k m (An(t), Nn(t)) GnNn(t) • Use subset info to determine the decision set.

  10. “Commodities” for Request Allocation n j k m (An(t), Nn(t)) GnNn(t) • Use subset info to determine the decision set. • Choose which node will help download.

  11. “Commodities” for Request Allocation n j k m (An(t), Nn(t)) Qmn(t) • 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.

  12. Stochastic Network Optimization Problem: Maximize: ∑ngn(∑a ran) Subject to: Qmn < infinity (Queue Stability Constraint) α ∑a ran ≤ β + ∑brnb for all n (Tit-for-Tat Constraint)

  13. Stochastic Network Optimization Problem: Maximize: ∑ngn(∑a ran) Subject to: Qmn < infinity (Queue Stability Constraint) α ∑a ran ≤ β + ∑brnb for all n (Tit-for-Tat Constraint) concave utility function

  14. Stochastic Network Optimization Problem: Maximize: ∑ngn(∑a ran) Subject to: Qmn < infinity (Queue Stability Constraint) α ∑a ran ≤ β + ∑brnb for all n (Tit-for-Tat Constraint) concave utility function time average request rate

  15. Stochastic Network Optimization Problem: Maximize: ∑ngn(∑a ran) Subject to: Qmn < infinity (Queue Stability Constraint) α ∑a ran ≤ β + ∑brnb for all n (Tit-for-Tat Constraint) concave utility function time average request rate α x Download rate

  16. Stochastic Network Optimization Problem: Maximize: ∑ngn(∑a ran) Subject to: Qmn < infinity (Queue Stability Constraint) α ∑a ran ≤ β + ∑brnb for all n (Tit-for-Tat Constraint) concave utility function time average request rate β + Upload rate α x Download rate

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

  18. Use “Drift-Plus-Penalty” Framework: • Virtual queue for each TFT constraint: • α ∑a ran ≤ β + ∑brnb • 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) α ∑aRan(t) β+ ∑bRnb(t) Δ(t) – V x Utility(t)

  19. 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 {GnNn(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)

  20. How the Incentives Work for node n: Node n can only request downloads from others if it finds a node m with a non-negative value of: -Qmn(t) + Hn(t) + (Fm(t) – αFn(t)) Fn(t) = “Node n Reputation” (Good reputation = Low value) Fn(t) α x Receive Help(t) β+ Help Others(t)

  21. How the Incentives Work for node n: Node n can only request downloads from others if it finds a node m with a non-negative value of: -Qmn(t) + Hn(t) + (Fm(t) – αFn(t)) Bounded Compare Reputations! Fn(t) = “Node n Reputation” (Good reputation = Low value) Fn(t) α x Receive Help(t) β+ Help Others(t)

  22. How the Incentives Work for node n: Node n can only request downloads from others if it finds a node m with a non-negative value of: -Qmn(t) + Hn(t) + (Fm(t) – αFn(t)) Bounded Compare Reputations! Fn(t) = “Node n Reputation” (Good reputation = Low value) Fn(t) α x Receive Help(t) β+ Help Others(t)

  23. Concluding Theorem: For any arbitrary [S(t); (An(t), Nn(t))] sample path, we guarantee: Qmn(t) ≤ Qmax = O(V) for all t, all (m,n). All Tit-for-Tat constraints are satisfied. For any T>0: liminfKinf[AchievedUtility(KT)] ≥ liminfKinf (1/K)∑i=1[“T-Slot-Lookahead-Utility[i]”]- BT/V K Frame 1 Frame 2 Frame 3 0 T 2T 3T

More Related