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
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
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
• 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)
“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.
“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
• 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)
“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
• Use subset info to determine the decision set.
n(An(t), Nn(t))j
k
mGn Nn(t)
“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)
“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)
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)
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:
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:
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:
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:
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 ≤ β + ∑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)
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)
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)
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!
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!
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