Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints
description
Transcript of Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints
![Page 1: Utility Optimization for Dynamic Peer-to-Peer Networks with Tit-for-Tat Constraints](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/1.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/3.jpg)
• 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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/4.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/5.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/6.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/8.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/9.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/10.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/11.jpg)
“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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.us/reader035/viewer/2022062218/5681657d550346895dd81421/html5/thumbnails/23.jpg)
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