580 likes | 693 Views
Scheduling for Communication and Processing Networks. Jean Walrand EECS University of California, Berkeley CORNELL, 4/25/2011. Ref: Jiang-Walrand: Scheduling and Congestion Control for Communication and Processing Networks. Morgan-Claypool 2010 . WiFi Network. WiFi Network.
E N D
Scheduling for Communication and Processing Networks • Jean Walrand • EECS • University of California, BerkeleyCORNELL, 4/25/2011 Ref: Jiang-Walrand: Scheduling and Congestion Control for Communication and Processing Networks. Morgan-Claypool 2010
WiFi Network How to schedule transmissions? How many active nodes? Hard to organize. Answer: Try at random! Norman Abramson
WiFi Network Backoff timers; Random initial value Freeze timer whenchannel is busy Transmit when timerruns out
WiFi Network Backoff timers; Random initial value Freeze timer whenchannel is busy Transmit when timerruns out
WiFi Network This scheme is called CSMA Carrier Sense Multiple Access
WiFi Network Collisions are possible: When initial timer valuesare very similar.
WiFi Network To reduce chances ofcollision: When retransmittinga packet, nodesselect initial value of timer in a range that istwice as wide.
WiFi Network Metcalfe & Boggs This scheme is called Exponential Backoff Thus, WiFi uses CSMA withExponential Backoff
WiFi Network CSMA with Exponential Backoffworks pretty well. About 50% efficient… Most users are happy.
Ad Hoc Network Why not transmitdirectly? More efficient(parallel transmissions,lower power,…) If no infrastructure. Multi-hop to reach destination.
Ad Hoc Network How to schedule transmissions? WiFi scheme? Very unfair to nodes with many neighbors.
Ad Hoc Network How to schedule transmissions? WiFi scheme? Very unfair to nodes with many neighbors.
Ad Hoc Network How to schedule transmissions? WiFi scheme? Very unfair to nodes with many neighbors. Also, oblivious to requirementsof the different nodes.
Adaptive CSMA Libin Jiang Replace Exponential Backoffby Queue-Based Backoff
Adaptive CSMA A node with a bigger backlog should choose its random backoff in a smaller range. Stuff to send Backoff timers
Adaptive CSMA The node with a bigger backlog will get a higher throughput.
Adaptive CSMA Let R = 1/(average timer value) = rate of transmission attempts Adjust R so that the link transmits fast enough. R1 R2 R3 Backlog increases increase R. Backlog decreases decrease R.
Adaptive CSMA Let R = 1/(average timer value) = rate of transmission attempts Adjust R so that the link transmits fast enough. R1 R2 R3 Backlog increases increase R. Backlog decreases decrease R.
Adaptive CSMA How to choose the values of R? R = Exp{a.Backlog} Do we need to know all the backlogs? No Could some nodes starve other nodes? No Can such a scheme be efficient and fair? Yes
Dual Algorithm Complex Problem: Congestion Control Simple Solution:TCP: AIMD Max SjUj(xj) s.t. Rate on link k < Ck Dual algorithm Local Solution Frank Kelly Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932 - Each link k posts a price rk ≈ its backlog - Each user j chooses xj to maximize utility - price Uj(xj) – Skrk1{j uses k}
Dual Algorithm Much subsequent work; backpressure protocols (see references) Related idea: Maximize drift of Lyapunov function (see references) Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932
Dual Algorithm Complex Problem: Scheduling Conflicting Links Simple Solution:MWM (Maximum Weighted Matching) Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932
MWM Conflicting nodes: At any time, either {2} or {1, 3} can transmit. Maximal Independent Sets. or 1 2 3 Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932 At any time, the links in the maximal independent set with the largest sum of queue lengths transmit.
MWM Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932 • Two problems: • Finding out the backlogs of other nodes; • Finding the independent set with maximum sum. Property: Stabilizes the queues. [Tassiulas, Ephremides 92] At any time, the links in the maximal independent set with the largest sum of queue lengths transmit.
Dual Algorithm Complex Problem:Random AccessSimple Solution:Adaptive CSMA Max H(p(R)) s.t. sj>lj Service rate at node j Entropy of distribution of independent sets Complex Problem: Illegal Immigration Simple Solution: Make Mexico a state. Complex Problem: National DebtSimple Solution: Blow it off. Complex Problem: Global WarmingSimpleSolution: Everyone run their air conditioners and ice machines 24/7. Complex Problem: High gas prices.Simple Solution: Lower the prices. Complex Problem: AIDSSimple Solution: Don't get it. Complex Problem: ObesitySimple Solution: Send all the fat people to live in areas that are suffering from a famine.Complex Problem: FamineSimple Solution: Send everyone suffering from famine to live where the fat people are. This is really very simple, you know? I don't understand why governments and others in authority have so much trouble dealing with these kind of things.Complex Problem: High gas prices.Simple Solution: Lower the prices. What? It's not like oil companies need a real reason to raise the prices, why do we need to come up with any further motivation to lower them? However, if that's not good enough for you, how about this one?Simple Solution #2: Take over OPEC and establish "Free Oil Month".Now that's a good idea if there ever was one.Complex Problem: AIDSSimple Solution: Don't get it.Article Source: http://EzineArticles.com/1439932 Dual Algorithm Local Solution Rj updated based on backlog of j Rj ≈ Exp{aXj}
Queue Lengths † Example † λ = 0.98*(convex combination of maximal independent sets) 0.2*{1, 3} + 0.3*{1, 4, 6} + 0.3*{3, 5} + 0*{2, 4} + 0.2*{2, 5} Time Network
Congestion Control + Scheduling • Links want to maximize the “total utility”u1(λ1) + u2(λ2) + u3(λ3) • Congestion control + scheduling[Adjust arrival rates]
Node i maximizes Congestion Control + Scheduling
Node i maximizes Congestion Control + Scheduling • Approach: Q-CSMA + input rate control • Fact: (Essentially) achieves maximum utility
Congestion Control + Scheduling + Routing • Wireless links, with interference • (Here, assume that transmitters interfere with each other via carrier sensing.) • Goal: maximize total utility of flows • Congestion control, scheduling, and routing
Congestion Control + Scheduling + Routing Node [1]: If (9 - 5)C(g) > (9 - 3)C(b): [1] -> [3]; Else: [1] -> [2] Let b[1] = max{(9 - 5)C(g), (9 - 3)C(b)} Let T[1] be exponentially distributed with rate Exp{ αb[1] } • [1] • [2] Node [2]: If (8 - 4)C(d) > (3 - 0)C(c): (d); Else: (c) Let b[2] = max{(8 - 4)C(d), (3 - 0)C(c)} Let T[2] be exponentially distributed with rate Exp{ αb[2] } • [3]
Congestion Control + Scheduling + Routing Then, use CSMA with those backoff delays. Also, A chooses x that maximizes UA(x) - β10x; B chooses y s.t.... • [1] • [2] • [3] Fact: (Essentially) achieves maximum utility
Congestion Control + Scheduling + Routing Multipath routing allowed Unicast S2 -> D2 Anycast S1 to any D1
Summary • Each node: • Adjusts incoming rate: maximize u(λ) - λβX • Calculates, for every flowbackpressure = link rate * (trans. Q - receiver Q) • Chooses flow with max. backpressure B • Generates backoff with mean = 1/exp{αB} • Then uses CSMA • Fact: (Essentially) maximizes sum of utilities
Status • Compatibility with TCPB: Using max S(log(1 + x)) [Srikant] • Reduce Delays: B+: Placeholder packets, virtual arrivals • Routing: C+: Avoid long paths • CollisionsWithout hidden nodes: A: [Srikant et al., LJ-JW]With hidden nodes: B: Using RTS/CTS; [Kim et al.] • Unreliable links: A • Changing links: C • Multicast, Unicast: A • Implementations: Promising examples (Rhee, Chiang, …)
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 0
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 1-
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 1
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 2-
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 2
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 MWM T = 3- Maximum Weighted Matching is not stable.
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 DWM: Use MWM based on Virtual Queues
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 DWM: Use MWM based on Virtual Queues T = 0-
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 DWM: Use MWM based on Virtual Queues T = 0
Processing Networks Task: 1 from queue 1; Task B: 1 from all queues; Task C: 1 from queue 3 DWM: Use MWM based on Virtual Queues T = 1-