July 1962: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Mandsford
 
en>Deb
m Reverted edits by 12.5.10.153 (talk) to last version by Mandsford
Line 1: Line 1:
== For that reason {key} ==
{{For|the term "back pressure" in describing fluid flow in piping and air vent systems|Back pressure}}


For that reason, Engberg and Evernote decided to forego spaces. (Evernote also recently stated it'll add optional twofactor authentication later this year.). Please do not reply until you have read this description fully. We need a competent, fast and accurate artist to draw an artists impression of two [http://www.airliebeachhotel.com.au/about/img/list.asp Polo Shirts Australia] buildings. <br><br>The second reason articles are so helpful is that search engines LOVE good content, which they will find in your articles. There's no better way to help your website increase in the search engine rankings than supplying great happy to your website. <br><br>It's big. However i think he made the adjustment and we'll see how long the adidas last. Wikis are wonderful when [http://www.airliebeachhotel.com.au/about/base.asp Jordan Shoes] a group of people want to collect knowledge, about any subject. It may be fishing lures or tomato sauces. Cowplain Community School . Cranbourne Business and Enterprise College . <br><br>It's a measure closer to the the big red button that launches the All Knowing Music Service.Although not even Rdio can match interface simplicity of PlayMe. From your homescreen, you're two taps from completely automated music. I must be honest, I was a bit hesitant to try a cleaning service like Lovely Home cleaning but I am glad I made a decision to give it a go. I came the place to find an apartment that was spotless and even smelled clean. <br><br>Russia was one of the few countries that refused to change to the Gregorian calendar in 1582 and continued to celebrate its holidays as before. The Old New Year is celebrated on January 14. This record's for children like us, who just love music, because it saves their lives every single day," McCracken says. "At the end of your day, I'm the only one who has to live and die with myself. <br><br>Seventeen people on twelve sledges pulled by 160 dogs took a stressful threemonth trip up to Bennet Island, where they found the diaries and also the expedition collections, which shed light on the tragic fate of Baron Eduard Von Toll and the companions. Kolchak's fiance soon traveled to satisfy him in Siberia and immediately after the wedding he left to Port Arthur, where the first battles took place. <br><br>You'll be able to turn all of your writing efforts into an EBook. This marketing action will let [http://www.chalmerswine.com.au/ChalmersWines/media/NavigationDev/cache.asp Nike Australia] you stay motivated as so many start each of the challenges, but very few finish.. I like to buy gifts and I will buy something for my parents then one for myself." Her family has always been her priority "It's been a lot of hard work and I will always be so grateful [http://www.visitportlincoln.net/css/fonts/base.asp Cheap Oakley Sunglasses Australia] to my mom and dad for everything."After loosing in the third round at the US Open, she played a couple of lower tier tournaments in Tokyo and Seoul (which she won) to regain her confidence. She finished the season brilliantly at the WTA YearEnd Championships beating Serena Williams again..<ul>
This article describes backpressure routing (also written "back-pressure routing" or "back pressure routing") for queueing networks. It shows how the algorithm is derived and how its optimality is established using concepts of [[Lyapunov optimization|Lyapunov drift]].
 
  <li>[http://touchscreengenius.carolasmith.com/forum/profile.php?id=3949 http://touchscreengenius.carolasmith.com/forum/profile.php?id=3949]</li>
 
  <li>[http://grhdx.site02.51eway.com/news/html/?400259.html http://grhdx.site02.51eway.com/news/html/?400259.html]</li>
 
  <li>[http://coalition.movementcamp.org/circle/content/tim-rayners-shout-out-invite-movementcamp#comment-21957134 http://coalition.movementcamp.org/circle/content/tim-rayners-shout-out-invite-movementcamp#comment-21957134]</li>
 
  <li>[http://jujiuyuan.com/news/html/?59006.html http://jujiuyuan.com/news/html/?59006.html]</li>
 
  <li>[http://general.assembly.codesria.org/spip.php?article87&lang=pt/ http://general.assembly.codesria.org/spip.php?article87&lang=pt/]</li>
 
</ul>


== and little tails wiggle  {key} ==
==Introduction to backpressure routing==


Check out the puppies we have available please they are listed below click on the left hand side from the page on the breed you desire. Enjoy! This site was updated 12213 with pictures and weights!and little tails wiggle , we obtain plenty of puppy kisses, and enjoy what we do!" Try saving a few dollars and buy that special companion , she or he will be well worth the money and you will have the pleasure of relaxing ,loving , laughing and enjoying this little one for years to come. <br><br>Orly Taitz ESQ, President of Defend Our Freedoms Foundation,provides evidence that Barack Hussein Obama, aka Barry Soetoro, aka Barack Soebarkah, aka alias Harrison J. Bounel is applying a Connecticut Social Security number 042684425, which was never assigned to him without success not only EVerify, but SSNVS as well. <br><br>Try Canyon Farms RV if you happen to be RV'ing in KelownaCome visit us for a unique travel adventure at our agritourism farm in beautiful Kelowna, Bc. It is our simple desire to offer a vacation experience unlike any other. Then they called two hours prior to the reservation to [http://www.airliebeachhotel.com.au/about/base.asp Air Jordan Australia] ask us if we would move it an hour later. When we arrived, they had no table for us. <br><br>The FA Cup winners haven had time to enjoy their greatest achievement in recent times and are faced with yet another knockout fixture in three days of each other. Wigan showed enormous determination to win the FA Cup against Manchester City on Saturday and also have to concentrate yet again, in a match in which a loss will see them being relegated in the Premier League without further ado. <br><br>Registering will even allow you to track your images. If you're looking to quickly upload a picture or video and get a hyperlink to share it with, TinyPic [http://www.visitportlincoln.net/accommodation/photos/feed.asp Nike Free Run Womens] is perfect [http://www.visitportlincoln.net/css/fonts/base.asp Oakley Australia] for you. 5. Attention: Bulldogs enjoy their owners attention and lacking the necessary of it they will get into TROUBLE! They are stronger than a lot of other breeds and love to chew when they are bored. <br><br>Despite the fact that there is no membership fee, the middle is asking everyone who wants to use the facility to complete a membership form, even if they have completed one previously. The shape asks for information including emergency contacts. Very small pink dots mark relatively dense and small knots of gas, that also lie on diametrically opposite sides of the star. NGC 2371 lies about 4,300 lightyears away in the constellation Gemini.. <br><br>My name is Dan Pucher and I work and live in my home town North [http://www.visitportlincoln.net/css/fonts/base.asp Oakley Sunglasses] Bay, Ontario, Canada. I started my insurance career generally insurance in 1989. Schiller will replace Dennis Haarsager, who has served as interim CEO since former chief Ken Stern left following a 10year stint with NPR. Haarsager was chairman of NPR's board at the time he took over as CEO.<ul>
'''Backpressure routing''' is an algorithm for dynamically routing traffic over a multi-hop network by using congestion gradients. The algorithm can be applied to wireless communication networks, including [[Wireless sensor network|sensor networks]], mobile ad hoc networks ([[Mobile ad hoc network|MANETS]]), and heterogeneous networks with wireless and wireline components<ref name=tass-radio-nets>L. Tassiulas and A. Ephremides,
 
"Stability Properties of Constrained Queueing Systems and
  <li>[http://www.isanya.net/forum.php?mod=viewthread&tid=663637&fromuid=39757 http://www.isanya.net/forum.php?mod=viewthread&tid=663637&fromuid=39757]</li>
Scheduling Policies for Maximum Throughput in Multihop
 
Radio Networks, ''IEEE Transactions on Automatic Control'', vol. 37, no. 12, pp. 1936-1948, Dec. 1992.
  <li>[http://www.dailyqr.com/blog_entry.php?user=1138745&blogentry_id=18373502 http://www.dailyqr.com/blog_entry.php?user=1138745&blogentry_id=18373502]</li>
</ref>
 
<ref name=now>
  <li>[http://www.teerasak.com/index.php/component/kunena/quest/46399-as-it-allows-you-to-choose-whether-you-want-custom-keywords-or-make-use-of-your-own-post-tags-key#46402 http://www.teerasak.com/index.php/component/kunena/quest/46399-as-it-allows-you-to-choose-whether-you-want-custom-keywords-or-make-use-of-your-own-post-tags-key#46402]</li>
L. Georgiadis, M. J. Neely,  and L. Tassiulas, "Resource Allocation and Cross-Layer Control in Wireless Networks,"
 
''Foundations and Trends in Networking'', vol. 1, no. 1, pp. 1-149, 2006.
  <li>[http://enseignement-lsf.com/spip.php?article64#forum24551830 http://enseignement-lsf.com/spip.php?article64#forum24551830]</li>
</ref>
 
.
  <li>[http://enseignement-lsf.com/spip.php?article64#forum24841864 http://enseignement-lsf.com/spip.php?article64#forum24841864]</li>
Backpressure principles can also be applied to other areas, such as to the study of
 
product assembly systems and processing networks
</ul>
<ref name=jiang-walrand-book>
L. Jiang and J. Walrand. ''Scheduling and Congestion Control for Wireless and Processing Networks'',
Morgan & Claypool, 2010.
</ref>
.
This article focuses on communication networks,
where packets from multiple data streams arrive and
must be delivered to appropriate destinations. The backpressure
algorithm operates in slotted time. Every time slot it seeks to route data in directions that
maximize the ''differential backlog'' between neighboring nodes. This is similar to how water
flows through a network of pipes via pressure gradients. However, the backpressure algorithm
can be applied to multi-commodity networks (where different packets may have different destinations),
and to networks where transmission rates can be selected
from a set of (possibly time-varying) options. Attractive features
of the backpressure algorithm are: (i) it leads to maximum network throughput, (ii)
it is provably robust to time-varying network conditions, (iii) it
can be implemented without knowing traffic arrival rates or channel state
probabilities. However, the algorithm may introduce large delays, and may
be difficult to implement exactly in networks with interference.   Modifications of
backpressure that reduce delay and simplify implementation are described below
under [[#Improving delay|Improving Delay]] and [[#Distributed backpressure|Distributed Backpressure]].


== or the Jade Buddha Temple {key} ==
Backpressure routing has mainly been studied in a theoretical
context.  In practice, ad hoc wireless networks have typically
implemented alternative routing methods based on shortest
path computations or network flooding, such as
[[Ad hoc On-Demand Distance Vector Routing|Ad Hoc on-Demand Distance Vector Routing]] (AODV),
[[Geographic routing|Geographic Routing]],
and [[ExOR (wireless network protocol)|Extremely Opportunistic Routing]] (ExOR).
However, the mathematical optimality properties of backpressure
have motivated recent experimental demonstrations of its use
on wireless testbeds at the University of Southern California
and at North Carolina State University
<ref name=avinash-backpressure>
A. Sridharan, S. Moeller, and B. Krishnamachari,
"Making Distributed Rate Control using Lyapunov Drifts a Reality in Wireless Sensor Networks,"
6th Intl. Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOpt),
April 2008.
</ref>
<ref name=rhee-backpressure2>
A. Warrier, S. Janakiraman, S. Ha, and I. Rhee, "DiffQ: Practical Differential Backlog Congestion Control for Wireless
Networks," Proc. IEEE INFOCOM, Rio de Janeiro, Brazil, 2009.
</ref>
<ref name=moeller-LIFO/>
.


It's not that OSAP doesn't give you any money past 14k  it's just that anything past 14k isn't counted like a loan. Any difference past the 14k is deducted via various grants (like the millenium grant) for students [http://www.airliebeachhotel.com.au/about/base.asp Air Jordan Shoes] in extreme financial need. If you're a new webmaster, you might want to think about using shared hosting or grid hosting, as oppose to hosting your website on a dedicated server. Most new web designers won't [http://www.chalmerswine.com.au/ChalmersWines/media/NavigationDev/cache.asp Nike Store Australia] make sites that will get tons of hits, and buying dedicated hosting for any small site will waste 100's of dollars over the course of a year.. <br><br>Attackers were able to access these Web servers "through a security loophole in one of the sites," Incapsula said. Within this incident, it appears the generalinterest site was already compromised before signing up for Incapsula's services. Your budget plan says the Conservative government will continue make international development and humanitarian assistance central to the foreign policy and that development assistance will stay intact. Risk losing the expertise, focus, effectiveness and results that CIDA staff delivered to this goal. <br><br>The PowerColor PCS HD7870 MYST has one CrossFireX interconnect, which means that you can run CrossFire with another card if you wanted to boost performance. This card does not have the BIOS Toggle Switch that is located on the Radeon HD 7900 series cards nor any fan buttons or anything like this.. <br><br>The diagnosis was pneumonia and doctors couldn't help him. On 26 September 1940 Mikhail Koshkin died. Across the Huangpu River, travelers are treated to a procession of Shanghai's top tourist destinations, including the symbol of new Shanghai, the Bund. For a glimpse into traditional China, visitors can tour Yuyuan Garden, Shanghai's largest ancient garden, or even the Jade Buddha Temple, one of Shanghai's most well-known Buddhist shrines.Shopping, Dining, and Nightlife in ShanghaiGiven the allure of Shanghai's varied shopping opportunities, worldrenowned cuisine, and classy nightlife, it's no surprise that so many tourists clamor for Shanghai flights. <br><br>Mental Health Counselor. The amount of people suffering from depression, trauma, [http://www.airliebeachhotel.com.au/about/img/list.asp Polo Shirts] and other difficult life issues has increased almost as much as the number of us dealing with weight [http://www.visitportlincoln.net/accommodation/photos/feed.asp Nike Free Run Australia] issues, which has led to an estimated growth in counselors of 30 percent. <br><br>Use of Quicksync for video transcoding3. SSD Caching Witch I use and is superb, SSD performance with Hard disk storage. Rose O. Sherman is an associate professor of nursing and director from the Nursing Leadership Institute at the Christine E. Added to which, Slevin finds himself mistaken for his absent friend and soon involved in a lot of trouble with both of them. With the help of his friends neighbour Lindsey (Lucy Liu), Slevin attempts to clear up the confusion.<ul>
===Origins===
 
  <li>[http://emr4u.net/index.php?option=com_blog&view=blog http://emr4u.net/index.php?option=com_blog&view=blog]</li>
 
  <li>[http://www.qzmuseum.net/Review.asp?NewsID=139 http://www.qzmuseum.net/Review.asp?NewsID=139]</li>
 
  <li>[http://www.jiahewh.com/home.php?mod=spacecp&ac=blog&blogid= http://www.jiahewh.com/home.php?mod=spacecp&ac=blog&blogid=]</li>
 
  <li>[http://www.ebookabc.net/bbs/forum.php?mod=viewthread&tid=361234 http://www.ebookabc.net/bbs/forum.php?mod=viewthread&tid=361234]</li>
 
  <li>[http://ryong53.egloos.com/5503154/ http://ryong53.egloos.com/5503154/]</li>
 
</ul>


== Once the art is dry {key} ==
The original backpressure algorithm was developed by Tassiulas and Ephremides.<ref name=tass-radio-nets/> They considered a multi-hop packet radio network with random packet arrivals and a fixed set of link selection options. Their algorithm consisted of a ''max-weight link selection'' stage and a ''differential backlog routing'' stage.
An algorithm related to backpressure,
designed for computing multi-commodity
network flows, was developed in Awerbuch and Leighton.<ref name=leighton-backpressure>
B. Awerbuch and T. Leighton, "A Simple Local-Control Approximation Algorithm for Multicommodity Flow," Proc. 34th IEEE Conf.
on Foundations of Computer Science, Oct. 1993.
</ref>
The backpressure algorithm was later extended by Neely, Modiano, and Rohrs to treat scheduling for mobile networks.<ref name=neely-power-network-jsac>
M. J. Neely, E. Modiano, and C. E. Rohrs, "Dynamic Power Allocation and Routing
for Time Varying Wireless Networks," ''IEEE Journal on Selected Areas in Communications, vol. 23, no. 1, pp. 89-103,
January 2005.
</ref>
Backpressure is mathematically analyzed via the theory of [[Lyapunov optimization|Lyapunov drift]], and can be used jointly with flow control mechanisms to provide network utility maximization.
<ref name=neely-thesis>
M. J. Neely. Dynamic Power Allocation and Routing for Satellite and Wireless Networks with Time Varying Channels.
Ph.D. Dissertation, Massachusetts Institute of Technology, LIDS. November 2003.
</ref>
<ref name=neely-fairness-infocom05>
M. J. Neely, E. Modiano, and C. Li, "Fairness and Optimal Stochastic Control for Heterogeneous Networks," Proc. IEEE INFOCOM, March 2005.
</ref>
<ref name=now/>
<ref name=stolyar-greedy>
A. Stolyar,
"Maximizing Queueing Network Utility subject to Stability: Greedy Primal-Dual Algorithm,"
''Queueing Systems'',
vol. 50, no. 4, pp. 401-457, 2005.
</ref>
<ref name = sno-text>
M. J. Neely.
''Stochastic Network Optimization with Application to Communication and Queueing Systems,''
Morgan & Claypool, 2010.
</ref>
(see also [[#Backpressure with utility optimization and penalty minimization|Backpressure with Utility Optimization and
Penalty Minimization]]).


They will then retow the vehicle towards the shop in another city charging another insane towing rate, storage rate for however long they kept it at thier pound then an out of city fee, kms, dollies, cleanup etc. You name it they charge for it. 2257 compliance requires that ALL records be accessible at the location AND be cross referenced, not just "some". What you seem to offer is the ability for people to send in scant info on "some" models. <br><br>Created by Executive Producer Ron (Dingo) Reddingius and the skilled production team, HOME in WA is made to entertain and inform viewers about, what's new, new services, builders, estates, services and furnishings for the homes. Information and features for those who intend to invest, build or renovate property in Wa. <br><br>Once the art is dry, give a sealer to protect it from moisture, then hang it up to create a focal point, and/or add another layer of privacy. We predict our readers to engage in lively, yet civil discourse. While professionals doing a lot of troubleshooting will generally not balk at spending some cash on a good tool, customers and some vendors will usually prefer free software. If these tools are not as much as the task, they may end up causing more trouble than if no diagnostic was utilized at all, because the technician (or user) thinks the memory is good. <br><br>JF: [http://www.visitportlincoln.net/accommodation/photos/feed.asp Nike Free Run Womens] I believe the toughest balance that anyone in professional sports has is between home life along with [http://www.airliebeachhotel.com.au/about/img/list.asp Polo Shirts Australia] a profession. This can be allconsuming and if you allow it to control you, other areas are affected. Some researchers are sure that he died of influenza which he caught [http://www.chalmerswine.com.au/ChalmersWines/media/ImagesMain/form.asp Ray Ban Sunglasses] in the city of Oryol on one of his business trips. Others state that he died of tuberculosis (that was Stalin's version, which suited him because it portrayed Sverdlov as a martyr who caught the harmful disease in exile). <br><br>I like it, but I'm a softie when it comes to Apple stuff. Am i right in thinking Podcast Producer 2 are only able to be used to create an RSS feed to point to podcasts stored in its Podcast Library or can you [http://www.chalmerswine.com.au/ChalmersWines/media/ImagesMain/form.asp Cheap Ray Bans Australia] use Podcast Producer to upload files into our institutional iTunes U space for storage (yes we are fortunate to have access to Apple's 500 GB storage space)?You can choose to do either. <br><br>Both could be worthwhile, but it would be a shame if teachers missed the former for the latter. And, if past experience and research is any indication, educators are much more likely to coopt the new technology to complete the status quo.. Sergo Ordzhonikidze often tried to protect former comrades who got within the wrong with Stalin. On occasion, he personally asked Stalin to reduce or abolish terms of imprisonment.<ul>
==How it works==
 
  <li>[http://ddkzx.com/home.php?mod=space&uid=38691&do=blog&quickforward=1&id=17257 http://ddkzx.com/home.php?mod=space&uid=38691&do=blog&quickforward=1&id=17257]</li>
 
  <li>[http://cerisier.info/spip.php?article20/ http://cerisier.info/spip.php?article20/]</li>
 
  <li>[http://www.bryan-leefuneralhome.com/recentobituaries/preview.php?id=705&p=35&search=+Re]xaz http://www.bryan-leefuneralhome.com/recentobituaries/preview.php?id=705&p=35&search=+Re]xaz]</li>
 
  <li>[http://www.qcegw.com/news/html/?64334.html http://www.qcegw.com/news/html/?64334.html]</li>
 
  <li>[http://xiangziyou.net78.net/forum.php?mod=viewthread&tid=571046&extra= http://xiangziyou.net78.net/forum.php?mod=viewthread&tid=571046&extra=]</li>
 
</ul>


== like Microsoft {key} ==
Backpressure routing is designed to make decisions that (roughly) minimize the sum of squares of queue backlogs
in the network from one timeslot to the next.  The precise mathematical development of this technique is described in
later sections.  This section describes the general network model and the operation of backpressure routing with respect
to this model.


And there will definitely be opportunities to promote your show. For instance, you may have done a relevant show on a subject that's being discussed to ensure that would be a great time to chime in [http://www.airliebeachhotel.com.au/about/img/list.asp Polo Shirts] with a link to your broadcast.. We've this horrible economy. It is simply absurd. <br><br>"With strong support from DOE, we look forward to the successful development, demonstration, and analysis of SMR technology like a potential option to help TVA and also the nation meet our cleanenergy goals for future years."The contract also defines respective responsibilities and work scopes for TVA and B in preparing permission application for NRC review, together with a Clinch River Site geological characterization, preliminary safety analysis report, and site environmental report.Work under this contract will start at the Clinch River Site once B mPower and DOE sign a cooperative agreement for the grant funds. The DOE program, which supplies $452 million in funding over 5 years, has received more than $67 million in appropriations from Congress. <br><br>Within our first year, we've received over 4,000 visits to our home page. We've also received emails from some unusual sources, including:. Play Sky Sports Fantasy Football Euro 2012 edition free of charge and win 5k with your Euro XI!  15k up for grabs. June 9, 2012 10:31am. <br><br>The idea behind the list is to make sure that highrisk criminals, such as serial murderer Ian Huntley, serial rapist Richard Baker, and so on make it onto the list for extra surveillance based on analysis of mental health reports and past criminal behavior. Only then do we have the opportunity to stop something turning into a lethal event. <br><br>On this general topic, I have a gripe about a lot of people. They have no pride in what they are doing anymore. Complete before and merely to update daily. I'm no young computer whizz kid, nor are lots of OLSB users, I feel cross which i have had all this anguish and worry as times take time and effort enough for [http://www.chalmerswine.com.au/ChalmersWines/media/ImagesMain/form.asp Ray Ban Australia] small businesses, on the other hand, I have learned a lot about the way big businesses, like Microsoft, get where they're by [http://www.airliebeachhotel.com.au/about/base.asp Jordan Shoes] walking all over the smallfry, I will be very wary in the future of Microsoft but in the mean time I am making the best of a bad situation.. <br><br>Audio was output right into a Denon receiver  with both ntv7 and TV2 broadcasting in Nicam plus some shows in Dolby Surround, I wanted to [http://www.chalmerswine.com.au/ChalmersWines/media/NavigationDev/cache.asp Nike Shoes Australia] extract maximum audio too. Watch Babylon 5 this way and you will understand what I'm talking about. And she may have her own fear of aging, realizing perhaps the very first time that she is vulnerable to the vicissitudes of life. She may also be caring for aging parents, working full time at a stressful job, and achieving a greater share of the domestic responsibilities at home..<ul>
===The multi-hop queueing network model===
 
  <li>[http://www.bbs.read-walker.com/forum.php?mod=viewthread&tid=779374 http://www.bbs.read-walker.com/forum.php?mod=viewthread&tid=779374]</li>
 
  <li>[http://bbs.jzst8.com/forum.php?mod=viewthread&tid=826383&fromuid=55536 http://bbs.jzst8.com/forum.php?mod=viewthread&tid=826383&fromuid=55536]</li>
 
  <li>[http://www.stlmap.com/thread-65978-1-1.html http://www.stlmap.com/thread-65978-1-1.html]</li>
 
  <li>[http://220.194.55.213:8086/forum.php?mod=viewthread&tid=1903408 http://220.194.55.213:8086/forum.php?mod=viewthread&tid=1903408]</li>
 
  <li>[http://bbs.liyufx.cn/forum.php?mod=viewthread&tid=151057&fromuid=35645 http://bbs.liyufx.cn/forum.php?mod=viewthread&tid=151057&fromuid=35645]</li>
 
</ul>


== organizing {key} ==
[[File:Bp-6-node-network.jpg|frame|alt=A 5-node multihop network|Fig. 1: A 6-node multihop network. Arrows between nodes illustrate
current neighbors.]]
Consider a multi-hop network with ''N'' nodes (see Fig. 1 for an example with ''N''=6).
The network operates in
slotted time <math>t \in \{0, 1, 2, \ldots\}</math>.  On each slot, new data can arrive to
the network, and routing and transmission scheduling decisions are made
in an effort to deliver all data to its proper destination.  Let data that is destined
for node <math>c \in \{1, \dots, N\}</math> be labeled as ''commodity c data''.  Data in each node is stored according to its commodity.  For <math>n \in \{1, \ldots, N\}</math> and <math>c \in \{1, \ldots, N\}</math>, let <math>Q_n^{(c)}(t)</math> represent be the current amount of commodity ''c'' data in node ''n'', also called the ''queue backlog''.  A closeup of the queue backlogs inside a node is shown in Fig. 2.
The units of <math>Q_n^{(c)}(t)</math> depend on the context of the problem.
For example, backlog can take integer units of ''packets'', which is useful in cases when data is segmented into fixed length packets. Alternatively, it can take real valued units of ''bits''. It is assumed that <math>Q_c^{(c)}(t)=0</math> for all <math>c \in \{1, \ldots, N\}</math> and all timeslots ''t'', because no node stores data destined for itself.  Every timeslot, nodes can transmit data to others.  Data that is transmitted from one node to another node is removed from the queue of the first node and added to the queue of the second.  Data that is transmitted to its destination is removed from the network.  Data can also arrive exogenously to the network, and <math>A_n^{(c)}(t)</math> is defined as the amount of new data that arrives to node ''n'' on slot ''t'' that must eventually
be delivered to node ''c''.


It is rumoured that Beria personally strangled [http://www.airliebeachhotel.com.au/about/base.asp Jordan Shoes] his predecessor. Stalin used Beria to stage his purges. See blackout. Is a temporary drop in voltage. They consequently grow from the earth and it is knowledge, which is in turn nourished by the elements, recycled life and all sorts of their inherent knowledge. Thus through these cycles of life and learning, knowledge becomes encoded within each and every thing. <br><br>The funding cut towards Canadian music also affects Canadian music companies and Canadian artists who rely on sales of their recordings as well as on tour performances to make their living. And also the international tours funded through the government are an essential component to advertise and share Canadian culture with foreign markets. <br><br>Then demonstrate how the web site or product will help fulfill those. Few visitors is going to be interested in the web site owner's accomplishments or even the business history. Water parks are about 45  60 minutes away. You can sit on a beach all day but there is so much to see there is always something to do. <br><br>By concentrating most of the residential development west of Mountain Hwy and closer to Lynn Creek with better north/south pedestrian connections to Main Street In my opinion there would be better access to transit and less reliance on cars. The Main Street/Mountain Hwy area is always going to be busy. <br><br>Being a manager involves a variety of tasks. Planning, organizing, leading, and controlling are responsibilities of manager's everyday task. Providing recognition of good performance is the best place to start. Recognizing good performance whenever it's encountered  with just a "Thanks" or perhaps a literal pat on the back  can be sufficient to get the motivational engine working. <br><br>Not enough density and the search engines won't rank the site well and an excessive amount of will be viewed as spam.Unidirectional and reciprocal linking. The more sites linking to one and also the better the site will score. We (women) are emotional people so we need that fulfillment, when it is lacking from the other partner, you're on the path of destruction. [http://www.chalmerswine.com.au/ChalmersWines/media/ImagesMain/form.asp Ray Ban Sunglasses Australia] Good Luck.. <br><br>One of the service improvements planned for 2012, the STM will introduce four express bus lines, the very first serving Rosemont Boulevard before heading downtown, and three others in the West Island area, as part of traffic mitigating measures associated with work on the Turcot Interchange. The STM will acquire 32 buses to carry out [http://www.airliebeachhotel.com.au/about/base.asp Air Jordan Australia] these measures. <br><br>EndtoEnd Performance It might be amazing [http://www.chalmerswine.com.au/ChalmersWines/media/ImagesMain/form.asp Ray Ban Sunglasses] if we could give you 600% improved performance across the board. Unfortunately, most applications do more interesting things than run exactly the same query repeatedly. Court orders. That the Public Interest Registry,which, like VeriSign, is based in Virginia..<ul>
Let <math>\mu_{ab}(t)</math> be the ''transmission rate'' used by the network over link (''a'',''b'') on slot ''t'', representing the amount of data it can transfer from node ''a'' to node ''b'' on the current slot. Let <math>(\mu_{ab}(t))</math> be the transmission rate matrix. These transmission rates must be selected within a set of possibly time-varying options. Specifically,
 
the network may have time-varying channels and node
  <li>[http://metransparent.nfrance.com/~k1001/spip.php?article8359&lang=ar&id_forum=8701/ http://metransparent.nfrance.com/~k1001/spip.php?article8359&lang=ar&id_forum=8701/]</li>
mobility, and this can affect its transmission capabilities every slot.
 
To model this, let ''S''(''t'') represent the ''topology state'' of the network, which captures
  <li>[http://bbs.kingsoftgames.com/forum.php?mod=viewthread&tid=1892274 http://bbs.kingsoftgames.com/forum.php?mod=viewthread&tid=1892274]</li>
properties of the network on slot ''t'' that affect transmission. Let <math>\Gamma_{S(t)}</math> represent the set
 
of transmission rate matrix options available under topology state ''S''(''t'').
  <li>[http://bbs.90game.cn/forum.php?mod=viewthread&tid=6902247&fromuid=294667 http://bbs.90game.cn/forum.php?mod=viewthread&tid=6902247&fromuid=294667]</li>
Every slot ''t'', the network controller observes ''S''(''t'') and chooses transmission
 
rates <math>(\mu_{ab}(t))</math> within the set <math>\Gamma_{S(t)}</math>.
  <li>[http://www.southernfootballhistory.com/phrum/read.php?45,55287,250881,page=7#msg-250881 http://www.southernfootballhistory.com/phrum/read.php?45,55287,250881,page=7#msg-250881]</li>
The choice of which <math>(\mu_{ab}(t))</math> matrix
 
to select on each slot ''t'' is described in the next subsection.
  <li>[http://1.ts.cn/home.php?mod=space&uid=51922&do=blog&quickforward=1&id=5994713 http://1.ts.cn/home.php?mod=space&uid=51922&do=blog&quickforward=1&id=5994713]</li>
 
 
This time-varying network model was first developed for the case when transmission rates every slot t were determined by general functions of a channel state matrix and a power allocation matrix.<ref name=neely-power-network-jsac/>  The model can also be used when rates are determined by other control decisions, such as server allocation, sub-band selection, coding type, and so on. It assumes the supportable transmission rates are known and there are no transmission errors. Extended formulations of backpressure routing can be used for networks with probabilistic channel errors, including networks that exploit the wireless broadcast advantage via ''multi-receiver diversity''.<ref name=neely-divbar-journal>M. J. Neely and R. Urgaonkar, "Optimal Backpressure Routing in Wireless Networks with Multi-Receiver Diversity," Ad Hoc Networks (Elsevier), vol. 7, no. 5, pp. 862-881, July 2009.</ref>
  </ul>
 
===The backpressure control decisions===
 
Every slot ''t'' the backpressure controller observes ''S''(''t'') and performs the following 3 steps:
 
*First, for each link (''a'',''b''), it selects an ''optimal commodity'' <math>c_{ab}^{opt}(t)</math> to use.
*Next, it determines what <math>(\mu_{ab}(t))</math> matrix in <math>\Gamma_{S(t)}</math> to use.
*Finally, it determines the amount of commodity <math>c_{ab}^{opt}(t)</math> it will transmit over link (''a'',''b'') (being at most <math>\mu_{ab}(t)</math>, but possibly being less in some cases).
 
====Choosing the optimal commodity====
 
Each node ''a'' observes its own queue backlogs and the backlogs in its current
neighbors.  A ''current neighbor'' of node ''a'' is a node ''b'' such that it is possible to choose
a non-zero transmission rate <math>\mu_{ab}(t)</math> on the current slot.
Thus, neighbors are determined by the set <math>\Gamma_{S(t)}</math>. In the general case, a
node can have all ''N''&nbsp;&minus;&nbsp;1 other nodes as neighbors. However, it is common to use sets <math>\Gamma_{S(t)}</math> that preclude transmissions between nodes that are separated by more than a certain geographic distance,
or that would have a propagated signal strength below a certain threshold.
Thus, it is typical for the number of neighbors
to be much less than ''N''&nbsp;&minus;&nbsp;1. The example in Fig. 1 illustrates neighbors by link connections, so that node 5 has neighbors 4 and 6.  The example suggests a symmetric relationship between neighbors (so that if 5 is a neighbor of 4, then 4 is a neighbor of 5), but this need not be the case in general.
 
The set of neighbors of a given node determines the set of outgoing links it can use for transmission on the current slot. For each outgoing link (''a'',''b''), the ''optimal commodity''  <math>c_{ab}^{opt}(t)</math> is defined as the commodity <math>c \in \{1, \ldots, N\}</math> that maximizes the following ''differential backlog'' quantity:
 
: <math> Q_{a}^{(c)}(t) - Q_b^{(c)}(t) </math>
 
Any ties in choosing the optimal commodity are broken arbitrarily.
 
[[File:Bp-optimal-commodity-selection.jpg|frame|alt=A closeup of nodes 1 and 2. The optimal commodity to send over link (1,2) is
the green commodity. |Fig. 2: A closeup of nodes 1 and 2.
The optimal commodity to send over link (1,2) is the green commodity. The optimal commodity to send in the other direction (over link (2,1)) is the blue commodity.]]
An example is shown in Fig. 2.  The example assumes each queue currently has only 3 commodities:  ''red'', ''green'', and
''blue'', and these are measured in integer units of packets.  Focusing on the directed link (1,2), the differential backlogs are:
 
: <math>
Q_1^{(\text{red})}(t) - Q_2^{(\text{red})}(t) = 1
</math>
 
: <math>
Q_1^{(\text{green})}(t) - Q_2^{(\text{green})}(t) = 2
</math>
 
: <math>
Q_1^{(\text{blue})}(t) - Q_2^{(blue)}(t) = -1
</math>
 
Hence, the optimal commodity to send over link (1,2) on slot ''t'' is the green commodity.  On the other hand,
the optimal commodity to send over the reverse link (2,1) on slot ''t'' is the blue commodity.
 
====Choosing the ''&mu;''<sub>''ab''</sub>(''t'') matrix====
 
Once the optimal commodities have been determined for each link (''a'',''b''), the network controller computes the following weights <math>W_{ab}(t)</math>:
 
: <math> W_{ab}(t) = \max\left[Q_a^{(c_{ab}^\mathrm{opt}(t))}(t) - Q_b^{(c_{ab}^{opt}(t))}(t), 0\right] </math>
 
The weight <math>W_{ab}(t)</math> is the value of the differential backlog associated with the optimal commodity
for link (''a'',''b''), maxed with 0.  The controller then chooses transmission rates as the solution to
the following ''max-weight'' problem (breaking ties arbitrarily):
 
: <math>
\text{(Eq. 1)} \qquad
\text{Maximize: } \sum_{a=1}^N\sum_{b=1}^N\mu_{ab}(t)W_{ab}(t) 
</math>
 
: <math>
\text{(Eq. 2)} \qquad
\text{Subject to: } (\mu_{ab}(t)) \in \Gamma_{S(t)} 
</math>
 
As an example of the max-weight decision, suppose that on the current slot ''t'', the differential backlogs on each link of the 6 node network lead to link weights <math>W_{ab}(t)</math> given by:
 
: <math>(W_{ab}(t)) = \left[ \begin{array}{cccccc}
                          0  & 2 & 1 & 1 & 6 & 0 \\
                            1  & 0 & 1 & 2 & 5 & 6 \\
                                                          0  & 7 & 0 & 0 & 0 & 0 \\
                            1  & 0 & 1 & 0 & 0 & 0 \\
                            1  & 0 & 7 & 5 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 5 & 0
                            \end{array}
                                \right] </math>
 
While the set <math>\Gamma_{S(t)}</math> might contain an uncountably infinite number
of possible transmission rate matrices, assume for simplicity that the current topology state admits only 4 possible
choices:
 
: <math>
\Gamma_{S(t)} = \{\boldsymbol{\mu}_a,  \boldsymbol{\mu}_b,  \boldsymbol{\mu}_c,  \boldsymbol{\mu}_d\}
</math>
 
 
illustration of the 4 possible transmission rate selections under the current topology state ''S''(''t''). Option (a) activates
the single link (1,5) with a transmission rate of <math>\mu_{15}=2</math>. All other options use two links, with transmission rates of 1 on each of the activated links.]]
 
These four possibilities are illustrated in Fig. 3. The options in Fig. 3 are represented in matrix form by:
 
: <math>                             
  \boldsymbol{\mu}_a = \left[ \begin{array}{cccccc}
                          0  & 0 & 0 & 0 & 2 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                                                          0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0
                            \end{array}
                                \right]  , \quad  \boldsymbol{\mu}_b = \left[ \begin{array}{cccccc}
                          0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 1 & 0 & 0 & 0 \\
                                                          0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 1 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0
                            \end{array}
                                \right] </math>
 
: <math> \boldsymbol{\mu}_c =  \left[ \begin{array}{cccccc}
                          0  & 0 & 0& 0 & 0 & 0 \\
                            1  & 0 & 0 & 0 & 0 & 0 \\
                                                          0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 1 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0
                            \end{array}
                                \right]  , \quad \boldsymbol{\mu}_d = \left[ \begin{array}{cccccc}
                          0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                                                          0  & 1 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0 \\
                            0  & 0 & 0 & 1 & 0 & 0 \\
                            0  & 0 & 0 & 0 & 0 & 0
                            \end{array}
                                \right]    </math>
 
Observe that node 6 can neither send nor receive under any of these possibilities.
This might arise because node 6 is currently out of communication range.
The weighted sum of rates for each of the 4 possibilities are:
 
*Choice (a): <math>\sum_{ab}W_{ab}(t)\mu_{ab}(t) = 12</math>.
 
*Choice (b): <math>\sum_{ab}W_{ab}(t)\mu_{ab}(t) = 1</math>.
 
*Choice (c): <math>\sum_{ab}W_{ab}(t)\mu_{ab}(t) = 1</math>.
 
*Choice (d): <math>\sum_{ab}W_{ab}(t)\mu_{ab}(t) = 12</math>.
 
Because there is a tie for the maximum weight of 12, the network controller can break the tie arbitrarily by
choosing either option <math>\boldsymbol{\mu}_a</math> or option <math>\boldsymbol{\mu}_d</math>.
 
====Finalizing the routing variables====
 
Suppose now that the optimal commodities <math>c_{ab}^{opt}(t)</math>
have been determined for each link, and the transmission
rates <math>(\mu_{ab}(t))</math> have also been determined.
If the differential backlog for the optimal commodity on a given link (''a'',''b'') is negative, then no data is transferred
over this link on the current slot.  Else, the network offers to send <math>\mu_{ab}(t)</math> units of commodity <math>c_{ab}^\mathrm{opt}(t)</math>
data over this link.  This is done by defining ''routing variables''
<math>\mu_{ab}^{(c)}(t)</math> for each link (''a'',''b'') and
each commodity ''c'', where:
 
: <math>
\mu_{ab}^{(c)}(t) = \left\{ \begin{array}{ll}
                          \mu_{ab}(t) &\mbox{ if }  c = c_{ab}^{opt}(t) \mbox{ and }  Q_a^{(c_{ab}^{opt}(t))}(t)-Q_b^{(c_{ab}^{opt}(t))}(t)\geq 0 \\
                            0  & \mbox{ otherwise}
                            \end{array}
                                \right.
</math>
 
The value of <math>\mu_{ab}^{(c)}(t)</math> represents the transmission rate offered to commodity ''c'' data over link
(''a'',''b'') on slot ''t''.
However, nodes might not have enough of a certain commodity to support transmission
at the offered rates on all of their outgoing links.  This arises on slot ''t'' for node ''n'' and commodity ''c'' if:
 
: <math>
Q_n^{(c)}(t) < \sum_{b=1}^N\mu_{nb}^{(c)}(t)
</math>
 
In this case, all of the <math>Q_n^{(c)}(t)</math> data is sent, and null data is used to fill the unused portions of the offered rates,
allocating the actual data and null data arbitrarily over the corresponding outgoing links (according to the offered rates).
This is called a ''queue underflow'' situation.  Such underflows do not affect the throughput
or stability properties of the network.  Intuitively, this is because underflows
only arise when the transmitting node has a low amount of backlog, which means the
node is not in danger of instability.
 
===Improving delay===
 
It is important to note that the backpressure algorithm does not use any pre-specified paths.  Paths are learned
dynamically, and may be different for different packets.  Delay can be very large, particularly when the system is lightly
loaded so that there is not enough pressure to push data towards the destination.  As an example, suppose one packet
enters the network, and nothing else ever enters.  This packet may take a loopy walk through the network and never arrive
at its destination because no pressure gradients build up.  This does not contradict the throughput optimality or stability
properties of backpressure because the network
has at most one packet at any time and hence is trivially stable (achieving a delivery rate of 0, equal to the
arrival rate).
 
It is also possible to implement backpressure on a set of
pre-specified paths.  This can restrict the capacity region, but might improve in-order
delivery and delay.  Another way to improve delay, without affecting the capacity region, is to use an ''enhanced''
version that biases link weights towards desirable directions.<ref name=neely-power-network-jsac/>  Simulations of such biasing have shown significant delay
improvements.<ref name=now/><ref name=neely-divbar-journal/>
Note that backpressure does not require First-in-First-Out  ([[FIFO_(computing)|FIFO]]) service at the queues.  It has been observed
that Last-in-First-Out ([[LIFO_(computing)|LIFO]]) service can dramatically improve delay for the vast majority of packets,
without affecting throughput.<ref name=moeller-LIFO>
S. Moeller, A. Sridharan, B. Krishnamachari,  and O. Gnawali,
"Routing Without Routes: The Backpressure Collection Protocol,"
''Proc. 9th ACM/IEEE Intl. Conf. on Information Processing in Sensor Networks (IPSN)'',
April 2010.
</ref>
<ref name=longbo-LIFO-wiopt>
L. Huang, S. Moeller, M. J. Neely,  and B. Krishnamachari, "LIFO-Backpressure Achieves Near Optimal Utility-Delay Tradeoff,"
Proc. WiOpt, May 2011.
</ref>
 
===Distributed backpressure===
 
Note that once the transmission rates <math>(\mu_{ab}(t))</math> have been selected, the routing decision variables
<math>\mu_{ab}^{(c)}(t)</math>
can be computed in a simple distributed manner, where each node only requires knowledge of
queue backlog differentials between itself and its neighbors. However, selection of the transmission rates requires a solution to the
max-weight problem in Eqs. (1)-(2).  This can be difficult to solve for networks with inter-channel interference.
 
A distributed approach for interference networks with link rates that are determined by the signal-to-noise-plus-interefernce ratio (SINR) can be carried out using randomization.<ref name=neely-power-network-jsac/>  Each node randomly decides to transmit every slot ''t'' (transmitting a "null" packet if it currently does not
have a packet to send).  The actual transmission rates, and the corresponding actual packets to send,
are determined by a 2-step handshake:
On the first step, the randomly selected transmitter nodes send a pilot signal with signal strength proportional
to that of an actual transmission. On the second step,
all potential receiver nodes measure the resulting interference and send that information back to the
transmitters.  The SINR levels for all outgoing links (''n'',''b'') are then known to all nodes ''n'',
and each node ''n'' can decide
its <math>\mu_{nb}(t)</math> and <math>(\mu_{nb}^{(c)}(t))</math> variables based on this information.
The resulting throughput is not necessarily optimal.  However, the random transmission process can be viewed as a part of the channel state process (provided that null packets are sent in cases of underflow, so that the channel state process does not depend on past decisions).  Hence, the resulting throughput of this distributed implementation is optimal over the class of all routing and scheduling algorithms that use such randomized transmissions.
 
Alternative distributed implementations can roughly be grouped into two classes:
The first class of algorithms consider constant multiplicative factor approximations to the max-weight problem,
and yield constant-factor throughput results.  The second class of algorithms consider additive approximations to the max-weight
problem, based on updating solutions to the max-weight problem over time.  Algorithms in this second class seem to require static channel
conditions and longer (often non-polynomial) convergence times, although they can provably achieve maximum throughput
under appropriate assumptions.<ref name=modiano-distributed>
E. Modiano, D. Shah, and G. Zussman, "Maximizing throughput in wireless networks via gossiping," Proc. ACM SIGMETRICS, 2006.
</ref>
<ref name=jiang-walrand-book/>
<ref name=sno-text/> Additive approximations are often useful
for proving optimality of backpressure when implemented with out-of-date queue backlog information (see Exercise 4.10 of the Neely text).<ref name=sno-text/>
 
==Mathematical construction via Lyapunov drift==
 
This section shows how the backpressure algorithm arises as a natural consequence of
greedily minimizing a bound on the change in the sum of squares of queue backlogs from one slot to the next.<ref name=neely-power-network-jsac/><ref name=now/>
 
===Control decision constraints and the queue update equation===
 
Consider a multi-hop network with ''N'' nodes, as described in the above section.
Every slot ''t'', the network controller observes the topology state ''S''(''t'') and chooses
transmission rates <math>(\mu_{ab}(t))</math> and routing variables
<math>(\mu_{ab}^{(c)}(t))</math> subject
to the following constraints:
 
: <math>
\text{(Eq. 3)} \qquad (\mu_{ab}(t)) \in \Gamma_{S(t)}
</math>
 
: <math>
\text{(Eq. 4)} \qquad 0 \leq \mu_{ab}^{(c)}(t)  \qquad  \forall a, b, c, \forall t
</math>
 
: <math>
\text{(Eq. 5)} \qquad \sum_{c=1}^N\mu_{ab}^{(c)}(t) \leq \mu_{ab}(t) \qquad \forall (a,b), \forall t
</math>
 
Once these routing variables are determined, transmissions are made (using idle fill if necessary), and the resulting queue
backlogs satisfy the following:
 
: <math>
\text{(Eq. 6)} \qquad Q_n^{(c)}(t+1) \leq \max\left[Q_n^{(c)}(t) - \sum_{b=1}^N\mu_{nb}^{(c)}(t), 0\right] + \sum_{a=1}^N\mu_{an}^{(c)}(t) + A_n^{(c)}(t)
</math>
 
where <math>A_n^{(c)}(t)</math> is the random amount of new commodity ''c''
data that exogenously arrives to node ''n'' on slot ''t'', and <math>\mu_{nb}^{(c)}(t)</math> is the transmission rate allocated
to commodity ''c'' traffic on link ''(n,b)'' on slot ''t''.  Note that <math>\mu_{nb}^{(c)}(t)</math> may be more than the amount of
commodity ''c'' data that is actually transmitted on link ''(a,b)'' on slot ''t''.  This is because there may not be enough backlog
in node ''n''.  For this same reason, Eq. (6) is an inequality, rather than an equality, because
<math>\sum_{a=1}^N\mu_{an}^{(c)}(t)</math> may be more than the actual endogenous arrivals of commodity ''c'' to node ''n'' on slot ''t''.
An important feature of Eq. (6)  is that it holds even if the <math>\mu_{ab}^{(c)}(t)</math> decision variables are chosen independently of queue backlogs.
 
It is assumed that <math>Q_c^{(c)}(t) =0</math> for all slots ''t'' and all <math>c \in \{1, \ldots, N\}</math>, as no queue stores data destined for itself.
 
===Lyapunov drift===
 
Define <math>\boldsymbol{Q}(t) = (Q_n^{(c)}(t))</math> as the matrix of current queue backlogs.
Define the following non-negative function, called a [[Lyapunov function]]:
 
<math>
L(t) =  \frac{1}{2}\sum_{n=1}^N\sum_{c=1}^N Q_n^{(c)}(t)^2
</math>
 
This is a sum of the squares of queue backlogs (multiplied by 1/2 only for convenience in later analysis).
The above sum is the same as summing over all ''n, c'' such that <math>n\neq c</math> because <math>Q_c^{(c)}(t) = 0</math> for all <math>c \in \{1, \ldots, N\}</math> and all slots ''t''.
 
The ''conditional Lyapunov drift''  <math>\Delta(t)</math> is defined:
 
: <math>
\Delta(t) = E\left[L(t+1) - L(t) | \boldsymbol{Q}(t)\right]
</math>
 
Note that the following inequality holds for all <math>q\geq0</math>, <math>a\geq 0</math>, <math>b\geq0</math>:
 
: <math>(\max[q - b, 0] + a)^2 \leq q^2 + b^2 + a^2 + 2q(a-b)</math>
 
By squaring the queue update equation (Eq. (6)) and using the above inequality, it is not difficult
to show that for all slots ''t'' and under any algorithm for choosing transmission and routing variables <math>(\mu_{ab}(t))</math>
and <math>(\mu_{ab}^{(c)}(t))</math>:<ref name=now/>
 
: <math>
\text{(Eq. 7)} \qquad \Delta(t) \leq B + \sum_{n=1}^N\sum_{c=1}^NQ_n^{(c)}(t)E\left[\lambda_n^{(c)}(t) + \sum_{a=1}^N\mu_{an}^{(c)}(t) - \sum_{b=1}^N\mu_{nb}^{(c)}(t)|\boldsymbol{Q}(t)\right]
</math>
 
where ''B'' is a finite constant that depends on the second moments of arrivals and the maximum possible second moments of transmission rates.
 
===Minimizing the drift bound by switching the sums===
 
The backpressure algorithm is designed to observe <math>\boldsymbol{Q}(t)</math> and
''S''(''t'') every slot ''t'' and choose <math>(\mu_{ab}(t))</math> and <math>(\mu_{ab}^{(c)}(t))</math> to minimize the right-hand-side of the drift bound Eq. (7).  Because ''B''  is a constant and <math>\lambda_n^{(c)}</math> are constants, this amounts to maximizing:
 
: <math>
E\left[\sum_{n=1}^N\sum_{c=1}^NQ_n^{(c)}(t)\left[  \sum_{b=1}^N\mu_{nb}^{(c)}(t) - \sum_{a=1}^N\mu_{an}^{(c)}(t)  \right] |\boldsymbol{Q}(t)\right]
</math>
 
where the finite sums have been pushed through the expectations to illuminate the maximizing decision.
By the principle of ''opportunistically maximizing an expectation'', the above expectation is maximized by
maximizing the function inside of it (given the observed <math>\boldsymbol{Q}(t)</math>, <math>S(t)</math>).
Thus, one chooses <math>(\mu_{ab}(t))</math> and <math>(\mu_{ab}^{(c)}(t))</math>
subject to the constraints Eqs. (3)-(5) to maximize:
 
: <math>
\sum_{n=1}^N\sum_{c=1}^NQ_n^{(c)}(t)\left[ \sum_{b=1}^N\mu_{nb}^{(c)}(t) -  \sum_{a=1}^N\mu_{an}^{(c)}(t)  \right] 
</math>
 
It is not immediately obvious what decisions maximize the above.  This can be illuminated by switching the sums.
Indeed, the above expression is the same as below:
 
: <math>
\sum_{a=1}^N\sum_{b=1}^N\sum_{c=1}^N\mu_{ab}^{(c)}(t)[Q_a^{(c)}(t) - Q_b^{(c)}(t)]
</math>
 
The weight <math>Q_a^{(c)}(t) - Q_b^{(c)}(t)</math> is called the current ''differential backlog'' of commodity ''c'' between
nodes ''a'' and ''b''.  The idea is to choose decision variables <math>(\mu_{ab}^{(c)}(t))</math> so as to maximize the above
weighted sum, where weights are differential backlogs.  Intuitively, this means allocating larger rates in directions
of larger differential backlog.
 
Clearly one should choose <math>\mu_{ab}^{(c)}(t) = 0</math>
whenever <math>Q_a^{(c)}(t) - Q_b^{(c)}(t) < 0</math>.  Further, given <math>\mu_{ab}(t)</math> for a particular link <math>(a,b)</math>,
it is not difficult to show that the optimal  <math>\mu_{ab}^{(c)}(t)</math> selections,
subject to Eqs. (3)-(5),
are determined as follows:  First find the commodity <math>c_{ab}^{opt}(t)\in\{1, \ldots, N\}</math>
that ''maximizes the differential backlog'' for link ''(a,b)''.
If the maximizing differential backlog is negative for link ''(a,b)'',
assign <math>\mu_{ab}^{(c)}(t) =0</math> for all commodities <math>c \in \{1, \ldots, N\}</math>
on link (''a'',''b''). Else, allocate the full link rate <math>\mu_{ab}(t)</math> to the commodity <math>c_{ab}^{opt}(t)</math>, and zero rate to all other commodities on this link.  With this choice, it follows that:
 
: <math>
\sum_{c=1}^N\mu_{ab}^{(c)}(t)[Q_a^{(c)}(t) - Q_b^{(c)}(t)]  = \mu_{ab}(t)W_{ab}(t)
</math>
 
where <math>W_{ab}(t)</math> is the differential backlog of the optimal commodity for link (''a'',''b'') on slot ''t'' (maxed with 0):
 
: <math>
W_{ab}(t) = \max[ Q_a^{(c_{ab}^{opt}(t))}(t) - Q_b^{(c_{ab}^{opt}(t))}(t), 0]
</math>
 
It remains only to choose <math>(\mu_{ab}(t)) \in \Gamma_{S(t)}</math>.  This is done by solving the following:
 
: <math>
\mathrm{Maximize: } \sum_{a=1}^N\sum_{b=1}^N\mu_{ab}(t)W_{ab}(t) 
</math>
 
: <math>
\mathrm{Subject to: } (\mu_{ab}(t)) \in \Gamma_{S(t)} 
</math>
 
The above problem is identical to the max-weight problem in Eqs. (1)-(2).
The ''backpressure algorithm'' uses the max-weight decisions for <math>(\mu_{ab}(t))</math>, and then chooses routing variables <math>(\mu_{ab}^{(c)}(t))</math> via the maximum differential backlog as described above.
 
A remarkable property of the backpressure algorithm is that it acts greedily every slot ''t'' based only
on the observed topology state ''S(t)'' and queue backlogs <math>\boldsymbol{Q}(t)</math> for that slot.  Thus, it
does not require knowledge of the arrival rates <math>(\lambda_n^{(c)})</math> or the topology state probabilities <math>\pi_S = Pr[S(t) = S]</math>.
 
==Performance analysis==
 
This section proves throughput optimality of the backpressure algorithm.<ref name=now/><ref name = sno-text/>  For simplicity, the scenario where events are independent and identically
distributed (i.i.d.) over slots is considered, although the same algorithm can be shown to work in non-i.i.d. scenarios (see
below under [[#Non-i.i.d. operation and universal scheduling|Non-I.I.D. Operation and Universal Scheduling]]).
 
===Dynamic arrivals===
 
Let <math>(A_n^{(c)}(t))</math> be the matrix of exogenous arrivals on slot ''t''.  Assume this matrix is independent and identically
distributed (i.i.d.) over slots with finite second moments and with means:
 
: <math>
\lambda_{n}^{(c)} = E\left[A_n^{(c)}(t)\right]
</math>
 
It is assumed that <math>\lambda_c^{(c)} = 0</math> for all <math>c \in \{1, \ldots, N\}</math>, as no data arrives that is destined for itself.  Thus,
the matrix of arrival rates <math>(\lambda_n^{(c)})</math> is a <math>N\times N</math> matrix of non-negative real numbers, with zeros on the diagonal.
 
===Network capacity region===
 
Assume the topology state ''S''(''t'') is i.i.d. over slots with probabilities <math>\pi_S = Pr[S(t)=S]</math>
(if ''S(t)'' takes values in an uncountably infinite set of vectors with real-valued entries,
then <math>\pi_S</math> is a probability distribution, not a probability mass function).
A general algorithm for the network observes ''S(t)'' every slot
''t'' and chooses transmission rates <math>(\mu_{ab}(t))</math> and routing variables <math>(\mu_{ab}^{(c)}(t))</math> according to the
constraints in Eqs. (3)-(5). The ''network capacity region'' <math>\Lambda</math> is the closure of the
set of all arrival rate matrices <math>(\lambda_n^{(c)})</math> for which there exists an algorithm that stabilizes the network.
Stability of all queues implies
that the total input rate of traffic into the network is the same as the total rate of data delivered to its destination.
It can be shown that for any arrival rate matrix <math>(\lambda_n^{(c)})</math> in the capacity region <math>\Lambda</math>,
there is a ''stationary and randomized algorithm'' that chooses decision variables <math>(\mu_{ab}^*(t))</math> and <math>(\mu_{ab}^{*(c)}(t))</math>
every slot ''t'' based only on ''S(t)'' (and hence independently of queue backlogs)
that yields the following for all <math>n \neq c</math>:<ref name=neely-power-network-jsac/><ref name=sno-text/>
 
: <math>
\text{(Eq. 8)} \qquad E\left[\lambda_n^{(c)} + \sum_{a=1}^N\mu_{an}^{*(c)}(t) -  \sum_{b=1}^N\mu_{nb}^{*(c)}(t)\right] \leq 0
</math>
 
Such a stationary and randomized algorithm that bases decisions only on ''S(t)'' is called an ''S-only algorithm''.
It is often useful to assume that <math>(\lambda_n^{(c)})</math> is ''interior'' to <math>\Lambda</math>, so that there is
an <math>\epsilon>0</math> such
that <math>(\lambda_n^{(c)} + \epsilon 1_n^{(c)}) \in \Lambda</math>, where <math>1_n^{(c)}</math> is 1 if <math>n \neq c</math>,
and zero else.  In that case, there is an ''S''-only algorithm that yields the following for all <math>n \neq c</math>:
 
: <math>
\text{(Eq. 9)} \qquad E\left[\lambda_n^{(c)} + \sum_{a=1}^N\mu_{an}^{*(c)}(t) -  \sum_{b=1}^N\mu_{nb}^{*(c)}(t)\right] \leq -\epsilon
</math>
 
As a technical requirement, it is assumed that the second moments of transmission rates <math>\mu_{ab}(t)</math> are finite
under any algorithm for choosing these rates.  This trivially holds if there is a finite maximum rate <math>\mu_{max}</math>.
 
===Comparing to S-only algorithms===
 
Because the backpressure algorithm observes <math>\boldsymbol{Q}(t)</math> and ''S(t)'' every slot ''t'' and
chooses decisions <math>(\mu_{ab}(t))</math> and <math>(\mu_{ab}^{(c)}(t))</math>
to minimize the right-hand-side of the drift bound Eq. (7), we have:
 
: <math>
\text{(Eq. 10)} \qquad \Delta(t) \leq B + \sum_{n=1}^N\sum_{c=1}^NQ_n^{(c)}(t)E\left[\lambda_n^{(c)}(t) + \sum_{a=1}^N\mu_{an}^{*(c)}(t) - \sum_{b=1}^N\mu_{nb}^{*(c)}(t)|\boldsymbol{Q}(t)\right]
</math>
 
where <math>(\mu_{ab}^*(t))</math> and <math>(\mu_{ab}^{*(c)}(t))</math>
are any alternative decisions that satisfy Eqs. (3)-(5), including randomized decisions.
 
Now assume <math>(\lambda_n^{(c)}) \in \Lambda</math>.  Then there exists an ''S''-only algorithm that satisfies
Eq. (8).  Plugging this into the right-hand-side of Eq. (10)  and noting that the conditional expectation given <math>\boldsymbol{Q}(t)</math> under this ''S''-only algorithm is the same as the unconditional expectation (because ''S''(''t'') is i.i.d. over slots, and the ''S''-only algorithm is independent of current queue backlogs) yields:
 
: <math>
\Delta(t) \leq B \,
</math>
 
Thus, the drift of a quadratic Lyapunov function is less than or equal to a constant ''B'' for all slots ''t''. This fact, together with the assumption that queue arrivals have bounded second moments, imply the following for all network queues:<ref name=lyap-opt-jam>M. J. Neely, "Queue Stability and Probability 1 Convergence via Lyapunov Optimization,"  Journal of Applied Mathematics, vol. 2012, doi:10.1155/2012/831909.</ref>
 
<math>
\lim_{t\rightarrow\infty}  \frac{Q_n^{(c)}(t)}{t} = 0 \text{ with probability 1}
</math>
 
For a stronger understanding of average queue size, one can assume the arrival rates <math>(\lambda_n^{(c)})</math> are interior to <math>\Lambda</math>, so there is an <math>\epsilon>0</math> such that Eq. (9)  holds for some alternative
''S''-only algorithm. Plugging Eq. (9)  into the right-hand-side of Eq. (10)  yields:
 
: <math>
\Delta(t) \leq B - \epsilon\sum_{n=1}^N\sum_{c=1}^NQ_n^{(c)}(t)
</math>
 
from which one immediately obtains (see<ref name=now/><ref name=sno-text/>):
 
: <math>
\limsup_{t\rightarrow\infty} \frac{1}{t}\sum_{\tau=0}^{t-1}\sum_{n=1}^N\sum_{c=1}^NE\left[Q_n^{(c)}(\tau)\right] \leq \frac{B}{\epsilon}
</math>
 
It is interesting to note that this average queue size bound increases as the distance <math>\epsilon</math> to the boundary of the
capacity region <math>\Lambda</math> goes to zero.  This is the same qualitative performance as a single M/M/1 queue with arrival rate
<math>\lambda</math> and service rate <math>\mu</math>, where
average queue size is proportional to <math>1/\epsilon</math>, where <math>\epsilon = \mu-\lambda</math>.
 
==Extensions of the above formulation==
 
===Non-i.i.d. operation and universal scheduling===
 
The above analysis assumes i.i.d. properties for simplicity.  However, the same backpressure algorithm can be shown to operate robustly in non-i.i.d. situations.  When arrival processes and topology states are ergodic but not necessarily i.i.d., backpressure still stabilizes the system whenever <math>(\lambda_n^{(c)}) \in \Lambda</math>.<ref name=neely-power-network-jsac/>  More generally, using a ''universal scheduling'' approach, it has been shown to offer stability and optimality properties for arbitrary (possibly non-ergodic) sample paths.<ref name=neely-universal-scheduling-cdc2010>
M. J. Neely, "Universal Scheduling for Networks with Arbitrary Traffic, Channels,
and Mobility," ''Proc. IEEE Conf. on Decision and Control (CDC)'', Atlanta, GA, Dec. 2010.
</ref>
 
===Backpressure with utility optimization and penalty minimization===
 
Backpressure has been shown to work in conjunction with flow control via a [[Drift plus penalty|drift-plus-penalty]] technique.<ref name=neely-thesis/><ref name=neely-fairness-infocom05/><ref name=now/>  This technique greedily maximizes a sum of drift and a weighted penalty expression.  The penalty is weighted by a parameter ''V'' that determines a performance tradeoff.
This technique ensures throughput utility is within ''O''(1/''V'') of optimality while average delay is ''O''(''V'').  Thus, utility can be pushed arbitrarily close to optimality, with a corresponding tradeoff in average delay.  Similar properties can be shown for average power minimization<ref name=neely-energy-it>
M. J. Neely, "Energy Optimal Control for Time Varying Wireless Networks,"
''IEEE Transactions on Information Theory'', vol. 52, no. 7, pp. 2915-2934,
July 2006</ref>
and for optimization of more general network attributes.<ref name=sno-text/>
 
Alternative algorithms for stabilizing queues while maximizing a network utility have be developed
using fluid model analysis,<ref name=stolyar-greedy/> joint fluid analysis and Lagrange multiplier analysis
,<ref name=atilla-fairness>
A. Eryilmaz and R. Srikant, "Fair Resource Allocation in Wireless Networks using Queue-Length-Based Scheduling
and Congestion Control," Proc. IEEE INFOCOM, March 2005.
</ref> convex optimization
,<ref name=lin-shroff-cdc04>
X. Lin and N. B. Shroff, "Joint Rate Control and Scheduling in Multihop Wireless Networks,"
Proc. of 43rd IEEE Conf. on Decision and Control, Paradise Island, Bahamas, Dec. 2004.
</ref> and stochastic gradients
.<ref name=lee-stochastic-scheduling>
J. W. Lee, R. R. Mazumdar,  and N. B. Shroff, "Opportunistic Power Scheduling for Dynamic Multiserver Wireless Systems,"
''IEEE Transactions on Wireless Communications'', vol. 5, no.6, pp. 1506–1515, June 2006.
</ref> These approaches do not provide the ''O''(1/''V''), ''O''(''V'') utility-delay results.
 
==Related links==
* [[Drift plus penalty]]
* [[Lyapunov optimization]]
* [[Ad hoc On-Demand Distance Vector Routing|AODV]]
* [[Geographic routing]]
* [[ExOR (wireless network protocol)|ExOR]]
* Diversity Backpressure Routing (DIVBAR)<ref name=neely-divbar-journal/>
* [[List of ad hoc routing protocols]]
 
== References ==
{{reflist}}
<!--- After listing your sources please cite them using inline citations and place them after the information they cite. Please see http://en.wikipedia.org/wiki/Wikipedia:REFB for instructions on how to add citations. --->
 
==Primary Sources==
*L. Tassiulas and A. Ephremides, "Stability Properties of Constrained Queueing Systems and Scheduling Policies for Maximum Throughput in Multihop Radio Networks," ''IEEE Transactions on Automatic Control'', vol. 37, no. 12, pp.&nbsp;1936–1948, Dec. 1992.
*L. Georgiadis, M. J. Neely, and L. Tassiulas, "Resource Allocation and Cross-Layer Control in Wireless Networks," ''Foundations and Trends in Networking'', vol. 1, no. 1, pp.&nbsp;1–149, 2006.
*M. J. Neely. ''Stochastic Network Optimization with Application to Communication and Queueing Systems'', Morgan & Claypool, 2010.
 
[[Category:Networking algorithms]]
{{bots|deny=AWB}}<!-- does not understand references order -->

Revision as of 16:38, 23 October 2013

28 year-old Painting Investments Worker Truman from Regina, usually spends time with pastimes for instance interior design, property developers in new launch ec Singapore and writing. Last month just traveled to City of the Renaissance.

This article describes backpressure routing (also written "back-pressure routing" or "back pressure routing") for queueing networks. It shows how the algorithm is derived and how its optimality is established using concepts of Lyapunov drift.

Introduction to backpressure routing

Backpressure routing is an algorithm for dynamically routing traffic over a multi-hop network by using congestion gradients. The algorithm can be applied to wireless communication networks, including sensor networks, mobile ad hoc networks (MANETS), and heterogeneous networks with wireless and wireline components[1] [2] . Backpressure principles can also be applied to other areas, such as to the study of product assembly systems and processing networks [3] . This article focuses on communication networks, where packets from multiple data streams arrive and must be delivered to appropriate destinations. The backpressure algorithm operates in slotted time. Every time slot it seeks to route data in directions that maximize the differential backlog between neighboring nodes. This is similar to how water flows through a network of pipes via pressure gradients. However, the backpressure algorithm can be applied to multi-commodity networks (where different packets may have different destinations), and to networks where transmission rates can be selected from a set of (possibly time-varying) options. Attractive features of the backpressure algorithm are: (i) it leads to maximum network throughput, (ii) it is provably robust to time-varying network conditions, (iii) it can be implemented without knowing traffic arrival rates or channel state probabilities. However, the algorithm may introduce large delays, and may be difficult to implement exactly in networks with interference. Modifications of backpressure that reduce delay and simplify implementation are described below under Improving Delay and Distributed Backpressure.

Backpressure routing has mainly been studied in a theoretical context. In practice, ad hoc wireless networks have typically implemented alternative routing methods based on shortest path computations or network flooding, such as Ad Hoc on-Demand Distance Vector Routing (AODV), Geographic Routing, and Extremely Opportunistic Routing (ExOR). However, the mathematical optimality properties of backpressure have motivated recent experimental demonstrations of its use on wireless testbeds at the University of Southern California and at North Carolina State University [4] [5] [6] .

Origins

The original backpressure algorithm was developed by Tassiulas and Ephremides.[1] They considered a multi-hop packet radio network with random packet arrivals and a fixed set of link selection options. Their algorithm consisted of a max-weight link selection stage and a differential backlog routing stage. An algorithm related to backpressure, designed for computing multi-commodity network flows, was developed in Awerbuch and Leighton.[7] The backpressure algorithm was later extended by Neely, Modiano, and Rohrs to treat scheduling for mobile networks.[8] Backpressure is mathematically analyzed via the theory of Lyapunov drift, and can be used jointly with flow control mechanisms to provide network utility maximization. [9] [10] [2] [11] [12] (see also Backpressure with Utility Optimization and Penalty Minimization).

How it works

Backpressure routing is designed to make decisions that (roughly) minimize the sum of squares of queue backlogs in the network from one timeslot to the next. The precise mathematical development of this technique is described in later sections. This section describes the general network model and the operation of backpressure routing with respect to this model.

The multi-hop queueing network model

A 5-node multihop network
Fig. 1: A 6-node multihop network. Arrows between nodes illustrate current neighbors.

Consider a multi-hop network with N nodes (see Fig. 1 for an example with N=6). The network operates in slotted time t{0,1,2,}. On each slot, new data can arrive to the network, and routing and transmission scheduling decisions are made in an effort to deliver all data to its proper destination. Let data that is destined for node c{1,,N} be labeled as commodity c data. Data in each node is stored according to its commodity. For n{1,,N} and c{1,,N}, let Qn(c)(t) represent be the current amount of commodity c data in node n, also called the queue backlog. A closeup of the queue backlogs inside a node is shown in Fig. 2. The units of Qn(c)(t) depend on the context of the problem. For example, backlog can take integer units of packets, which is useful in cases when data is segmented into fixed length packets. Alternatively, it can take real valued units of bits. It is assumed that Qc(c)(t)=0 for all c{1,,N} and all timeslots t, because no node stores data destined for itself. Every timeslot, nodes can transmit data to others. Data that is transmitted from one node to another node is removed from the queue of the first node and added to the queue of the second. Data that is transmitted to its destination is removed from the network. Data can also arrive exogenously to the network, and An(c)(t) is defined as the amount of new data that arrives to node n on slot t that must eventually be delivered to node c.

Let μab(t) be the transmission rate used by the network over link (a,b) on slot t, representing the amount of data it can transfer from node a to node b on the current slot. Let (μab(t)) be the transmission rate matrix. These transmission rates must be selected within a set of possibly time-varying options. Specifically, the network may have time-varying channels and node mobility, and this can affect its transmission capabilities every slot. To model this, let S(t) represent the topology state of the network, which captures properties of the network on slot t that affect transmission. Let ΓS(t) represent the set of transmission rate matrix options available under topology state S(t). Every slot t, the network controller observes S(t) and chooses transmission rates (μab(t)) within the set ΓS(t). The choice of which (μab(t)) matrix to select on each slot t is described in the next subsection.

This time-varying network model was first developed for the case when transmission rates every slot t were determined by general functions of a channel state matrix and a power allocation matrix.[8] The model can also be used when rates are determined by other control decisions, such as server allocation, sub-band selection, coding type, and so on. It assumes the supportable transmission rates are known and there are no transmission errors. Extended formulations of backpressure routing can be used for networks with probabilistic channel errors, including networks that exploit the wireless broadcast advantage via multi-receiver diversity.[13]

The backpressure control decisions

Every slot t the backpressure controller observes S(t) and performs the following 3 steps:

  • First, for each link (a,b), it selects an optimal commodity cabopt(t) to use.
  • Next, it determines what (μab(t)) matrix in ΓS(t) to use.
  • Finally, it determines the amount of commodity cabopt(t) it will transmit over link (a,b) (being at most μab(t), but possibly being less in some cases).

Choosing the optimal commodity

Each node a observes its own queue backlogs and the backlogs in its current neighbors. A current neighbor of node a is a node b such that it is possible to choose a non-zero transmission rate μab(t) on the current slot. Thus, neighbors are determined by the set ΓS(t). In the general case, a node can have all N − 1 other nodes as neighbors. However, it is common to use sets ΓS(t) that preclude transmissions between nodes that are separated by more than a certain geographic distance, or that would have a propagated signal strength below a certain threshold. Thus, it is typical for the number of neighbors to be much less than N − 1. The example in Fig. 1 illustrates neighbors by link connections, so that node 5 has neighbors 4 and 6. The example suggests a symmetric relationship between neighbors (so that if 5 is a neighbor of 4, then 4 is a neighbor of 5), but this need not be the case in general.

The set of neighbors of a given node determines the set of outgoing links it can use for transmission on the current slot. For each outgoing link (a,b), the optimal commodity cabopt(t) is defined as the commodity c{1,,N} that maximizes the following differential backlog quantity:

Qa(c)(t)Qb(c)(t)

Any ties in choosing the optimal commodity are broken arbitrarily.

Fig. 2: A closeup of nodes 1 and 2. The optimal commodity to send over link (1,2) is the green commodity. The optimal commodity to send in the other direction (over link (2,1)) is the blue commodity.

An example is shown in Fig. 2. The example assumes each queue currently has only 3 commodities: red, green, and blue, and these are measured in integer units of packets. Focusing on the directed link (1,2), the differential backlogs are:

Q1(red)(t)Q2(red)(t)=1
Q1(green)(t)Q2(green)(t)=2
Q1(blue)(t)Q2(blue)(t)=1

Hence, the optimal commodity to send over link (1,2) on slot t is the green commodity. On the other hand, the optimal commodity to send over the reverse link (2,1) on slot t is the blue commodity.

Choosing the μab(t) matrix

Once the optimal commodities have been determined for each link (a,b), the network controller computes the following weights Wab(t):

Wab(t)=max[Qa(cabopt(t))(t)Qb(cabopt(t))(t),0]

The weight Wab(t) is the value of the differential backlog associated with the optimal commodity for link (a,b), maxed with 0. The controller then chooses transmission rates as the solution to the following max-weight problem (breaking ties arbitrarily):

(Eq. 1)Maximize: a=1Nb=1Nμab(t)Wab(t)
(Eq. 2)Subject to: (μab(t))ΓS(t)

As an example of the max-weight decision, suppose that on the current slot t, the differential backlogs on each link of the 6 node network lead to link weights Wab(t) given by:

(Wab(t))=[021160101256070000101000107500000050]

While the set ΓS(t) might contain an uncountably infinite number of possible transmission rate matrices, assume for simplicity that the current topology state admits only 4 possible choices:

ΓS(t)={𝝁a,𝝁b,𝝁c,𝝁d}


illustration of the 4 possible transmission rate selections under the current topology state S(t). Option (a) activates the single link (1,5) with a transmission rate of μ15=2. All other options use two links, with transmission rates of 1 on each of the activated links.]]

These four possibilities are illustrated in Fig. 3. The options in Fig. 3 are represented in matrix form by:

𝝁a=[000020000000000000000000000000000000],𝝁b=[000000001000000000000010000000000000]
𝝁c=[000000100000000000000010000000000000],𝝁d=[000000000000010000000000000100000000]

Observe that node 6 can neither send nor receive under any of these possibilities. This might arise because node 6 is currently out of communication range. The weighted sum of rates for each of the 4 possibilities are:

Because there is a tie for the maximum weight of 12, the network controller can break the tie arbitrarily by choosing either option 𝝁a or option 𝝁d.

Finalizing the routing variables

Suppose now that the optimal commodities cabopt(t) have been determined for each link, and the transmission rates (μab(t)) have also been determined. If the differential backlog for the optimal commodity on a given link (a,b) is negative, then no data is transferred over this link on the current slot. Else, the network offers to send μab(t) units of commodity cabopt(t) data over this link. This is done by defining routing variables μab(c)(t) for each link (a,b) and each commodity c, where:

μab(c)(t)={μab(t) if c=cabopt(t) and Qa(cabopt(t))(t)Qb(cabopt(t))(t)00 otherwise

The value of μab(c)(t) represents the transmission rate offered to commodity c data over link (a,b) on slot t. However, nodes might not have enough of a certain commodity to support transmission at the offered rates on all of their outgoing links. This arises on slot t for node n and commodity c if:

Qn(c)(t)<b=1Nμnb(c)(t)

In this case, all of the Qn(c)(t) data is sent, and null data is used to fill the unused portions of the offered rates, allocating the actual data and null data arbitrarily over the corresponding outgoing links (according to the offered rates). This is called a queue underflow situation. Such underflows do not affect the throughput or stability properties of the network. Intuitively, this is because underflows only arise when the transmitting node has a low amount of backlog, which means the node is not in danger of instability.

Improving delay

It is important to note that the backpressure algorithm does not use any pre-specified paths. Paths are learned dynamically, and may be different for different packets. Delay can be very large, particularly when the system is lightly loaded so that there is not enough pressure to push data towards the destination. As an example, suppose one packet enters the network, and nothing else ever enters. This packet may take a loopy walk through the network and never arrive at its destination because no pressure gradients build up. This does not contradict the throughput optimality or stability properties of backpressure because the network has at most one packet at any time and hence is trivially stable (achieving a delivery rate of 0, equal to the arrival rate).

It is also possible to implement backpressure on a set of pre-specified paths. This can restrict the capacity region, but might improve in-order delivery and delay. Another way to improve delay, without affecting the capacity region, is to use an enhanced version that biases link weights towards desirable directions.[8] Simulations of such biasing have shown significant delay improvements.[2][13] Note that backpressure does not require First-in-First-Out (FIFO) service at the queues. It has been observed that Last-in-First-Out (LIFO) service can dramatically improve delay for the vast majority of packets, without affecting throughput.[6] [14]

Distributed backpressure

Note that once the transmission rates (μab(t)) have been selected, the routing decision variables μab(c)(t) can be computed in a simple distributed manner, where each node only requires knowledge of queue backlog differentials between itself and its neighbors. However, selection of the transmission rates requires a solution to the max-weight problem in Eqs. (1)-(2). This can be difficult to solve for networks with inter-channel interference.

A distributed approach for interference networks with link rates that are determined by the signal-to-noise-plus-interefernce ratio (SINR) can be carried out using randomization.[8] Each node randomly decides to transmit every slot t (transmitting a "null" packet if it currently does not have a packet to send). The actual transmission rates, and the corresponding actual packets to send, are determined by a 2-step handshake: On the first step, the randomly selected transmitter nodes send a pilot signal with signal strength proportional to that of an actual transmission. On the second step, all potential receiver nodes measure the resulting interference and send that information back to the transmitters. The SINR levels for all outgoing links (n,b) are then known to all nodes n, and each node n can decide its μnb(t) and (μnb(c)(t)) variables based on this information. The resulting throughput is not necessarily optimal. However, the random transmission process can be viewed as a part of the channel state process (provided that null packets are sent in cases of underflow, so that the channel state process does not depend on past decisions). Hence, the resulting throughput of this distributed implementation is optimal over the class of all routing and scheduling algorithms that use such randomized transmissions.

Alternative distributed implementations can roughly be grouped into two classes: The first class of algorithms consider constant multiplicative factor approximations to the max-weight problem, and yield constant-factor throughput results. The second class of algorithms consider additive approximations to the max-weight problem, based on updating solutions to the max-weight problem over time. Algorithms in this second class seem to require static channel conditions and longer (often non-polynomial) convergence times, although they can provably achieve maximum throughput under appropriate assumptions.[15] [3] [12] Additive approximations are often useful for proving optimality of backpressure when implemented with out-of-date queue backlog information (see Exercise 4.10 of the Neely text).[12]

Mathematical construction via Lyapunov drift

This section shows how the backpressure algorithm arises as a natural consequence of greedily minimizing a bound on the change in the sum of squares of queue backlogs from one slot to the next.[8][2]

Control decision constraints and the queue update equation

Consider a multi-hop network with N nodes, as described in the above section. Every slot t, the network controller observes the topology state S(t) and chooses transmission rates (μab(t)) and routing variables (μab(c)(t)) subject to the following constraints:

(Eq. 3)(μab(t))ΓS(t)
(Eq. 4)0μab(c)(t)a,b,c,t
(Eq. 5)c=1Nμab(c)(t)μab(t)(a,b),t

Once these routing variables are determined, transmissions are made (using idle fill if necessary), and the resulting queue backlogs satisfy the following:

(Eq. 6)Qn(c)(t+1)max[Qn(c)(t)b=1Nμnb(c)(t),0]+a=1Nμan(c)(t)+An(c)(t)

where An(c)(t) is the random amount of new commodity c data that exogenously arrives to node n on slot t, and μnb(c)(t) is the transmission rate allocated to commodity c traffic on link (n,b) on slot t. Note that μnb(c)(t) may be more than the amount of commodity c data that is actually transmitted on link (a,b) on slot t. This is because there may not be enough backlog in node n. For this same reason, Eq. (6) is an inequality, rather than an equality, because a=1Nμan(c)(t) may be more than the actual endogenous arrivals of commodity c to node n on slot t. An important feature of Eq. (6) is that it holds even if the μab(c)(t) decision variables are chosen independently of queue backlogs.

It is assumed that Qc(c)(t)=0 for all slots t and all c{1,,N}, as no queue stores data destined for itself.

Lyapunov drift

Define 𝑸(t)=(Qn(c)(t)) as the matrix of current queue backlogs. Define the following non-negative function, called a Lyapunov function:

L(t)=12n=1Nc=1NQn(c)(t)2

This is a sum of the squares of queue backlogs (multiplied by 1/2 only for convenience in later analysis). The above sum is the same as summing over all n, c such that nc because Qc(c)(t)=0 for all c{1,,N} and all slots t.

The conditional Lyapunov drift Δ(t) is defined:

Δ(t)=E[L(t+1)L(t)|𝑸(t)]

Note that the following inequality holds for all q0, a0, b0:

(max[qb,0]+a)2q2+b2+a2+2q(ab)

By squaring the queue update equation (Eq. (6)) and using the above inequality, it is not difficult to show that for all slots t and under any algorithm for choosing transmission and routing variables (μab(t)) and (μab(c)(t)):[2]

(Eq. 7)Δ(t)B+n=1Nc=1NQn(c)(t)E[λn(c)(t)+a=1Nμan(c)(t)b=1Nμnb(c)(t)|𝑸(t)]

where B is a finite constant that depends on the second moments of arrivals and the maximum possible second moments of transmission rates.

Minimizing the drift bound by switching the sums

The backpressure algorithm is designed to observe 𝑸(t) and S(t) every slot t and choose (μab(t)) and (μab(c)(t)) to minimize the right-hand-side of the drift bound Eq. (7). Because B is a constant and λn(c) are constants, this amounts to maximizing:

E[n=1Nc=1NQn(c)(t)[b=1Nμnb(c)(t)a=1Nμan(c)(t)]|𝑸(t)]

where the finite sums have been pushed through the expectations to illuminate the maximizing decision. By the principle of opportunistically maximizing an expectation, the above expectation is maximized by maximizing the function inside of it (given the observed 𝑸(t), S(t)). Thus, one chooses (μab(t)) and (μab(c)(t)) subject to the constraints Eqs. (3)-(5) to maximize:

n=1Nc=1NQn(c)(t)[b=1Nμnb(c)(t)a=1Nμan(c)(t)]

It is not immediately obvious what decisions maximize the above. This can be illuminated by switching the sums. Indeed, the above expression is the same as below:

a=1Nb=1Nc=1Nμab(c)(t)[Qa(c)(t)Qb(c)(t)]

The weight Qa(c)(t)Qb(c)(t) is called the current differential backlog of commodity c between nodes a and b. The idea is to choose decision variables (μab(c)(t)) so as to maximize the above weighted sum, where weights are differential backlogs. Intuitively, this means allocating larger rates in directions of larger differential backlog.

Clearly one should choose μab(c)(t)=0 whenever Qa(c)(t)Qb(c)(t)<0. Further, given μab(t) for a particular link (a,b), it is not difficult to show that the optimal μab(c)(t) selections, subject to Eqs. (3)-(5), are determined as follows: First find the commodity cabopt(t){1,,N} that maximizes the differential backlog for link (a,b). If the maximizing differential backlog is negative for link (a,b), assign μab(c)(t)=0 for all commodities c{1,,N} on link (a,b). Else, allocate the full link rate μab(t) to the commodity cabopt(t), and zero rate to all other commodities on this link. With this choice, it follows that:

c=1Nμab(c)(t)[Qa(c)(t)Qb(c)(t)]=μab(t)Wab(t)

where Wab(t) is the differential backlog of the optimal commodity for link (a,b) on slot t (maxed with 0):

Wab(t)=max[Qa(cabopt(t))(t)Qb(cabopt(t))(t),0]

It remains only to choose (μab(t))ΓS(t). This is done by solving the following:

Maximize:a=1Nb=1Nμab(t)Wab(t)
Subjectto:(μab(t))ΓS(t)

The above problem is identical to the max-weight problem in Eqs. (1)-(2). The backpressure algorithm uses the max-weight decisions for (μab(t)), and then chooses routing variables (μab(c)(t)) via the maximum differential backlog as described above.

A remarkable property of the backpressure algorithm is that it acts greedily every slot t based only on the observed topology state S(t) and queue backlogs 𝑸(t) for that slot. Thus, it does not require knowledge of the arrival rates (λn(c)) or the topology state probabilities πS=Pr[S(t)=S].

Performance analysis

This section proves throughput optimality of the backpressure algorithm.[2][12] For simplicity, the scenario where events are independent and identically distributed (i.i.d.) over slots is considered, although the same algorithm can be shown to work in non-i.i.d. scenarios (see below under Non-I.I.D. Operation and Universal Scheduling).

Dynamic arrivals

Let (An(c)(t)) be the matrix of exogenous arrivals on slot t. Assume this matrix is independent and identically distributed (i.i.d.) over slots with finite second moments and with means:

λn(c)=E[An(c)(t)]

It is assumed that λc(c)=0 for all c{1,,N}, as no data arrives that is destined for itself. Thus, the matrix of arrival rates (λn(c)) is a N×N matrix of non-negative real numbers, with zeros on the diagonal.

Network capacity region

Assume the topology state S(t) is i.i.d. over slots with probabilities πS=Pr[S(t)=S] (if S(t) takes values in an uncountably infinite set of vectors with real-valued entries, then πS is a probability distribution, not a probability mass function). A general algorithm for the network observes S(t) every slot t and chooses transmission rates (μab(t)) and routing variables (μab(c)(t)) according to the constraints in Eqs. (3)-(5). The network capacity region Λ is the closure of the set of all arrival rate matrices (λn(c)) for which there exists an algorithm that stabilizes the network. Stability of all queues implies that the total input rate of traffic into the network is the same as the total rate of data delivered to its destination. It can be shown that for any arrival rate matrix (λn(c)) in the capacity region Λ, there is a stationary and randomized algorithm that chooses decision variables (μab(t)) and (μab(c)(t)) every slot t based only on S(t) (and hence independently of queue backlogs) that yields the following for all nc:[8][12]

(Eq. 8)E[λn(c)+a=1Nμan(c)(t)b=1Nμnb(c)(t)]0

Such a stationary and randomized algorithm that bases decisions only on S(t) is called an S-only algorithm. It is often useful to assume that (λn(c)) is interior to Λ, so that there is an ϵ>0 such that (λn(c)+ϵ1n(c))Λ, where 1n(c) is 1 if nc, and zero else. In that case, there is an S-only algorithm that yields the following for all nc:

(Eq. 9)E[λn(c)+a=1Nμan(c)(t)b=1Nμnb(c)(t)]ϵ

As a technical requirement, it is assumed that the second moments of transmission rates μab(t) are finite under any algorithm for choosing these rates. This trivially holds if there is a finite maximum rate μmax.

Comparing to S-only algorithms

Because the backpressure algorithm observes 𝑸(t) and S(t) every slot t and chooses decisions (μab(t)) and (μab(c)(t)) to minimize the right-hand-side of the drift bound Eq. (7), we have:

(Eq. 10)Δ(t)B+n=1Nc=1NQn(c)(t)E[λn(c)(t)+a=1Nμan(c)(t)b=1Nμnb(c)(t)|𝑸(t)]

where (μab(t)) and (μab(c)(t)) are any alternative decisions that satisfy Eqs. (3)-(5), including randomized decisions.

Now assume (λn(c))Λ. Then there exists an S-only algorithm that satisfies Eq. (8). Plugging this into the right-hand-side of Eq. (10) and noting that the conditional expectation given 𝑸(t) under this S-only algorithm is the same as the unconditional expectation (because S(t) is i.i.d. over slots, and the S-only algorithm is independent of current queue backlogs) yields:

Δ(t)B

Thus, the drift of a quadratic Lyapunov function is less than or equal to a constant B for all slots t. This fact, together with the assumption that queue arrivals have bounded second moments, imply the following for all network queues:[16]

limtQn(c)(t)t=0 with probability 1

For a stronger understanding of average queue size, one can assume the arrival rates (λn(c)) are interior to Λ, so there is an ϵ>0 such that Eq. (9) holds for some alternative S-only algorithm. Plugging Eq. (9) into the right-hand-side of Eq. (10) yields:

Δ(t)Bϵn=1Nc=1NQn(c)(t)

from which one immediately obtains (see[2][12]):

lim supt1tτ=0t1n=1Nc=1NE[Qn(c)(τ)]Bϵ

It is interesting to note that this average queue size bound increases as the distance ϵ to the boundary of the capacity region Λ goes to zero. This is the same qualitative performance as a single M/M/1 queue with arrival rate λ and service rate μ, where average queue size is proportional to 1/ϵ, where ϵ=μλ.

Extensions of the above formulation

Non-i.i.d. operation and universal scheduling

The above analysis assumes i.i.d. properties for simplicity. However, the same backpressure algorithm can be shown to operate robustly in non-i.i.d. situations. When arrival processes and topology states are ergodic but not necessarily i.i.d., backpressure still stabilizes the system whenever (λn(c))Λ.[8] More generally, using a universal scheduling approach, it has been shown to offer stability and optimality properties for arbitrary (possibly non-ergodic) sample paths.[17]

Backpressure with utility optimization and penalty minimization

Backpressure has been shown to work in conjunction with flow control via a drift-plus-penalty technique.[9][10][2] This technique greedily maximizes a sum of drift and a weighted penalty expression. The penalty is weighted by a parameter V that determines a performance tradeoff. This technique ensures throughput utility is within O(1/V) of optimality while average delay is O(V). Thus, utility can be pushed arbitrarily close to optimality, with a corresponding tradeoff in average delay. Similar properties can be shown for average power minimization[18] and for optimization of more general network attributes.[12]

Alternative algorithms for stabilizing queues while maximizing a network utility have be developed using fluid model analysis,[11] joint fluid analysis and Lagrange multiplier analysis ,[19] convex optimization ,[20] and stochastic gradients .[21] These approaches do not provide the O(1/V), O(V) utility-delay results.

References

43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.

Primary Sources

  • L. Tassiulas and A. Ephremides, "Stability Properties of Constrained Queueing Systems and Scheduling Policies for Maximum Throughput in Multihop Radio Networks," IEEE Transactions on Automatic Control, vol. 37, no. 12, pp. 1936–1948, Dec. 1992.
  • L. Georgiadis, M. J. Neely, and L. Tassiulas, "Resource Allocation and Cross-Layer Control in Wireless Networks," Foundations and Trends in Networking, vol. 1, no. 1, pp. 1–149, 2006.
  • M. J. Neely. Stochastic Network Optimization with Application to Communication and Queueing Systems, Morgan & Claypool, 2010.

Template:Bots

  1. 1.0 1.1 L. Tassiulas and A. Ephremides, "Stability Properties of Constrained Queueing Systems and Scheduling Policies for Maximum Throughput in Multihop Radio Networks, IEEE Transactions on Automatic Control, vol. 37, no. 12, pp. 1936-1948, Dec. 1992.
  2. 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 L. Georgiadis, M. J. Neely, and L. Tassiulas, "Resource Allocation and Cross-Layer Control in Wireless Networks," Foundations and Trends in Networking, vol. 1, no. 1, pp. 1-149, 2006.
  3. 3.0 3.1 L. Jiang and J. Walrand. Scheduling and Congestion Control for Wireless and Processing Networks, Morgan & Claypool, 2010.
  4. A. Sridharan, S. Moeller, and B. Krishnamachari, "Making Distributed Rate Control using Lyapunov Drifts a Reality in Wireless Sensor Networks," 6th Intl. Symposium on Modeling and Optimization in Mobile, Ad Hoc, and Wireless Networks (WiOpt), April 2008.
  5. A. Warrier, S. Janakiraman, S. Ha, and I. Rhee, "DiffQ: Practical Differential Backlog Congestion Control for Wireless Networks," Proc. IEEE INFOCOM, Rio de Janeiro, Brazil, 2009.
  6. 6.0 6.1 S. Moeller, A. Sridharan, B. Krishnamachari, and O. Gnawali, "Routing Without Routes: The Backpressure Collection Protocol," Proc. 9th ACM/IEEE Intl. Conf. on Information Processing in Sensor Networks (IPSN), April 2010.
  7. B. Awerbuch and T. Leighton, "A Simple Local-Control Approximation Algorithm for Multicommodity Flow," Proc. 34th IEEE Conf. on Foundations of Computer Science, Oct. 1993.
  8. 8.0 8.1 8.2 8.3 8.4 8.5 8.6 M. J. Neely, E. Modiano, and C. E. Rohrs, "Dynamic Power Allocation and Routing for Time Varying Wireless Networks," IEEE Journal on Selected Areas in Communications, vol. 23, no. 1, pp. 89-103, January 2005.
  9. 9.0 9.1 M. J. Neely. Dynamic Power Allocation and Routing for Satellite and Wireless Networks with Time Varying Channels. Ph.D. Dissertation, Massachusetts Institute of Technology, LIDS. November 2003.
  10. 10.0 10.1 M. J. Neely, E. Modiano, and C. Li, "Fairness and Optimal Stochastic Control for Heterogeneous Networks," Proc. IEEE INFOCOM, March 2005.
  11. 11.0 11.1 A. Stolyar, "Maximizing Queueing Network Utility subject to Stability: Greedy Primal-Dual Algorithm," Queueing Systems, vol. 50, no. 4, pp. 401-457, 2005.
  12. 12.0 12.1 12.2 12.3 12.4 12.5 12.6 M. J. Neely. Stochastic Network Optimization with Application to Communication and Queueing Systems, Morgan & Claypool, 2010.
  13. 13.0 13.1 13.2 M. J. Neely and R. Urgaonkar, "Optimal Backpressure Routing in Wireless Networks with Multi-Receiver Diversity," Ad Hoc Networks (Elsevier), vol. 7, no. 5, pp. 862-881, July 2009.
  14. L. Huang, S. Moeller, M. J. Neely, and B. Krishnamachari, "LIFO-Backpressure Achieves Near Optimal Utility-Delay Tradeoff," Proc. WiOpt, May 2011.
  15. E. Modiano, D. Shah, and G. Zussman, "Maximizing throughput in wireless networks via gossiping," Proc. ACM SIGMETRICS, 2006.
  16. M. J. Neely, "Queue Stability and Probability 1 Convergence via Lyapunov Optimization," Journal of Applied Mathematics, vol. 2012, doi:10.1155/2012/831909.
  17. M. J. Neely, "Universal Scheduling for Networks with Arbitrary Traffic, Channels, and Mobility," Proc. IEEE Conf. on Decision and Control (CDC), Atlanta, GA, Dec. 2010.
  18. M. J. Neely, "Energy Optimal Control for Time Varying Wireless Networks," IEEE Transactions on Information Theory, vol. 52, no. 7, pp. 2915-2934, July 2006
  19. A. Eryilmaz and R. Srikant, "Fair Resource Allocation in Wireless Networks using Queue-Length-Based Scheduling and Congestion Control," Proc. IEEE INFOCOM, March 2005.
  20. X. Lin and N. B. Shroff, "Joint Rate Control and Scheduling in Multihop Wireless Networks," Proc. of 43rd IEEE Conf. on Decision and Control, Paradise Island, Bahamas, Dec. 2004.
  21. J. W. Lee, R. R. Mazumdar, and N. B. Shroff, "Opportunistic Power Scheduling for Dynamic Multiserver Wireless Systems," IEEE Transactions on Wireless Communications, vol. 5, no.6, pp. 1506–1515, June 2006.