240 likes | 412 Views
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 /.
E N D
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
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
“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).
“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.
“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.
“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.
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.
“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…
“Commodities” for Request Allocation n j k m (An(t), Nn(t)) GnNn(t) • Use subset info to determine the decision set.
“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.
“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.
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)
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
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
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
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
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.
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)
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)
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)
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)
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)
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: liminfKinf[AchievedUtility(KT)] ≥ liminfKinf (1/K)∑i=1[“T-Slot-Lookahead-Utility[i]”]- BT/V K Frame 1 Frame 2 Frame 3 0 T 2T 3T