ieee/acm transactions on networking, vol. 19, …inlab.lab.asu.edu/publications/yinsritow_11.pdf ·...

14
IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011 1773 Cluster-Based Back-Pressure Routing Algorithm Lei Ying, Member, IEEE, R. Srikant, Fellow, IEEE, Don Towsley, Fellow, IEEE, ACM, and Shihuan Liu, Student Member, IEEE Abstract—The back-pressure algorithm introduced in 1992 by Tassiulas and Ephremides is a well-known distributed and adaptive routing/scheduling algorithm where nodes only need the queue-length information of neighboring nodes to make routing decisions. Packets are adaptively routed in the network according to congestion information, which makes the algorithm resilient to traffic and topology changes. However, the back-pressure algorithm requires routers to maintain a separate queue for each destination, which precludes its implementation in large-scale networks. In this paper, we propose a distributed cluster-based back-pressure routing algorithm that retains the adaptability of back-pressure routing while significantly reducing the number of queues that have to be maintained at each node. Index Terms—Back-pressure algorithm, distributed and adap- tive routing, clustering, throughput-optimal. I. INTRODUCTION T HE BACK-PRESSURE algorithm, first proposed in [18], is a distributed and adaptive routing/scheduling algorithm where nodes use the queue-length information of neighboring nodes to make routing decisions. Packets are adaptively routed throughout the network in response to congestion information. Thus, the back-pressure algorithm is resilient to link failures and topological changes. Moreover, it has been shown to be throughput-optimal [18], i.e., if any routing algorithm can sup- port a set of traffic flows, then the back-pressure algorithm can as well. When deployed in a wireless network, there is a net- work-wide scheduling problem that requires addressing due to the contention aspect of the media. However, this problem dis- appears in a wireline network [1]. Finally, although first pro- posed to handle inelastic traffic, the back-pressure algorithm, in conjunction with congestion control, can be used to provide fair resource allocation to elastic traffic [3], [4], [10], [13], [17]. Although extremely simple, through its reliance on simple rules based on local neighbor information, the back-pressure al- Manuscript received November 24, 2009; revised August 04, 2010; November 17, 2010; and March 15, 2011; accepted March 28, 2011; approved by IEEE/ACM TRANSACTIONS ON NETWORKING Editor D. M. Chiu. Date of publication April 29, 2011; date of current version December 16, 2011. This work was supported by the National Science Foundation (NSF) under Grants CNS 05-19691, CCF 06-34891, and ECS 04-01125; the Army Research Office (ARO) under Grants MURI W911NF-08-1-0233 and DCI 09-16440; and the Defense Threat Reduction Agency (DTRA) under Grants HDTRA1-08-1-0016 and HDTRA1-09-1-0055. L. Ying and S. Liu are with the Department of Electrical and Com- puter Engineering, Iowa State University, Ames, IA 50011 USA (e-mail: [email protected]; [email protected]). R. Srikant is with the Department of Electrical and Computer Engineering, University of Illinois at Urbana–Champaign, Urbana, IL 61801 USA (e-mail: [email protected]). D. Towsley is with the Department of Computer Science, University of Mass- achusetts Amherst, Amherst, MA 01003 USA (e-mail: [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/TNET.2011.2141682 gorithm suffers one serious drawback that renders it unsuitable for adoption in a large network, namely it requires the main- tenance of one queue per destination at every router. In this paper, we tackle this state explosion problem by proposing a cluster-based back-pressure scheduling/routing algorithm. This algorithm works as follows. Routers are grouped into clusters. Associated with each cluster is one or more gateway routers that allow transit into the cluster. Each router needs only to be aware of the destinations within its cluster and the gateway routers as- sociated with the other clusters. Loose source routing is used in the cluster-based back-pressure algorithm. The source first chooses a gateway at the cluster containing the destination, and then the packet is routed to the destination through the gateway using back-pressure. Gateway selection is made by considering the queues, maintained for the destination, at the gateways of the destination cluster and the queues, maintained for those gate- ways, at the source. We formally establish that this cluster-based back-pressure algorithm is throughput-optimal, thus exhibiting the same op- timality properties as the traditional back-pressure algorithm. However, the initial design given in Section III exhibits a serious deficiency, namely that it requires the acquisition of in- stantaneous queue-length information from gateways by traffic sources. In Section IV, we modify the initial cluster-based back-pressure design to allow information exchange between the gateways and sources to occur at a much coarser timescale than that associated with routing/scheduling decisions while still preserving throughput optimality. We next discuss possible applications of this new algorithm in the context of traffic engineering [5], [6], [16], [20], [22] and wireless networks. Consider an ISP running OSPF [12]. A large ISP typically divides its network into areas connected through a backbone area [12]. OSPF can be replaced by a back- pressure protocol where the areas map into clusters. Ingress routers and egress routers then map into source and destina- tion gateways within the cluster-based back-pressure approach. Cluster-based back-pressure routing can also be applied at the Internet level where clusters correspond to autonomous sys- tems (ASs). Gateways for every AS would advertise themselves throughout the Internet, and routers would then maintain queues for all of these gateways along with the destinations within their ASs. The number of queues expected to be maintained at each router could be quite large, but not unreasonably so for cur- rent routers. We believe that even this burden can be reduced by dividing clusters further into subclusters and so on. Instead of loose source routing specifying a single intermediate gateway to the destination, we would have to specify a few more interme- diate nodes. We note that there are a number of issues to resolve, including packet reordering, memory complexity, and rate of convergence, before a back-pressure-type algorithm can be used for Internet routing. Nevertheless, the algorithm provides an approach to routing that is fundamentally different from most 1063-6692/$26.00 © 2011 IEEE

Upload: doliem

Post on 07-Mar-2018

222 views

Category:

Documents


3 download

TRANSCRIPT

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011 1773

Cluster-Based Back-Pressure Routing AlgorithmLei Ying, Member, IEEE, R. Srikant, Fellow, IEEE, Don Towsley, Fellow, IEEE, ACM, and

Shihuan Liu, Student Member, IEEE

Abstract—The back-pressure algorithm introduced in 1992by Tassiulas and Ephremides is a well-known distributed andadaptive routing/scheduling algorithm where nodes only need thequeue-length information of neighboring nodes to make routingdecisions. Packets are adaptively routed in the network accordingto congestion information, which makes the algorithm resilientto traffic and topology changes. However, the back-pressurealgorithm requires routers to maintain a separate queue for eachdestination, which precludes its implementation in large-scalenetworks. In this paper, we propose a distributed cluster-basedback-pressure routing algorithm that retains the adaptability ofback-pressure routing while significantly reducing the number ofqueues that have to be maintained at each node.

Index Terms—Back-pressure algorithm, distributed and adap-tive routing, clustering, throughput-optimal.

I. INTRODUCTION

T HE BACK-PRESSURE algorithm, first proposed in [18],is a distributed and adaptive routing/scheduling algorithm

where nodes use the queue-length information of neighboringnodes to make routing decisions. Packets are adaptively routedthroughout the network in response to congestion information.Thus, the back-pressure algorithm is resilient to link failuresand topological changes. Moreover, it has been shown to bethroughput-optimal [18], i.e., if any routing algorithm can sup-port a set of traffic flows, then the back-pressure algorithm canas well. When deployed in a wireless network, there is a net-work-wide scheduling problem that requires addressing due tothe contention aspect of the media. However, this problem dis-appears in a wireline network [1]. Finally, although first pro-posed to handle inelastic traffic, the back-pressure algorithm, inconjunction with congestion control, can be used to provide fairresource allocation to elastic traffic [3], [4], [10], [13], [17].

Although extremely simple, through its reliance on simplerules based on local neighbor information, the back-pressure al-

Manuscript received November 24, 2009; revised August 04, 2010;November 17, 2010; and March 15, 2011; accepted March 28, 2011; approvedby IEEE/ACM TRANSACTIONS ON NETWORKING Editor D. M. Chiu. Date ofpublication April 29, 2011; date of current version December 16, 2011. Thiswork was supported by the National Science Foundation (NSF) under GrantsCNS 05-19691, CCF 06-34891, and ECS 04-01125; the Army Research Office(ARO) under Grants MURI W911NF-08-1-0233 and DCI 09-16440; and theDefense Threat Reduction Agency (DTRA) under Grants HDTRA1-08-1-0016and HDTRA1-09-1-0055.

L. Ying and S. Liu are with the Department of Electrical and Com-puter Engineering, Iowa State University, Ames, IA 50011 USA (e-mail:[email protected]; [email protected]).

R. Srikant is with the Department of Electrical and Computer Engineering,University of Illinois at Urbana–Champaign, Urbana, IL 61801 USA (e-mail:[email protected]).

D. Towsley is with the Department of Computer Science, University of Mass-achusetts Amherst, Amherst, MA 01003 USA (e-mail: [email protected]).

Color versions of one or more of the figures in this paper are available onlineat http://ieeexplore.ieee.org.

Digital Object Identifier 10.1109/TNET.2011.2141682

gorithm suffers one serious drawback that renders it unsuitablefor adoption in a large network, namely it requires the main-tenance of one queue per destination at every router. In thispaper, we tackle this state explosion problem by proposing acluster-based back-pressure scheduling/routing algorithm. Thisalgorithm works as follows. Routers are grouped into clusters.Associated with each cluster is one or more gateway routers thatallow transit into the cluster. Each router needs only to be awareof the destinations within its cluster and the gateway routers as-sociated with the other clusters. Loose source routing is usedin the cluster-based back-pressure algorithm. The source firstchooses a gateway at the cluster containing the destination, andthen the packet is routed to the destination through the gatewayusing back-pressure. Gateway selection is made by consideringthe queues, maintained for the destination, at the gateways of thedestination cluster and the queues, maintained for those gate-ways, at the source.

We formally establish that this cluster-based back-pressurealgorithm is throughput-optimal, thus exhibiting the same op-timality properties as the traditional back-pressure algorithm.However, the initial design given in Section III exhibits aserious deficiency, namely that it requires the acquisition of in-stantaneous queue-length information from gateways by trafficsources. In Section IV, we modify the initial cluster-basedback-pressure design to allow information exchange betweenthe gateways and sources to occur at a much coarser timescalethan that associated with routing/scheduling decisions whilestill preserving throughput optimality.

We next discuss possible applications of this new algorithmin the context of traffic engineering [5], [6], [16], [20], [22]and wireless networks. Consider an ISP running OSPF [12].A large ISP typically divides its network into areas connectedthrough a backbone area [12]. OSPF can be replaced by a back-pressure protocol where the areas map into clusters. Ingressrouters and egress routers then map into source and destina-tion gateways within the cluster-based back-pressure approach.Cluster-based back-pressure routing can also be applied at theInternet level where clusters correspond to autonomous sys-tems (ASs). Gateways for every AS would advertise themselvesthroughout the Internet, and routers would then maintain queuesfor all of these gateways along with the destinations within theirASs. The number of queues expected to be maintained at eachrouter could be quite large, but not unreasonably so for cur-rent routers. We believe that even this burden can be reducedby dividing clusters further into subclusters and so on. Insteadof loose source routing specifying a single intermediate gatewayto the destination, we would have to specify a few more interme-diate nodes. We note that there are a number of issues to resolve,including packet reordering, memory complexity, and rate ofconvergence, before a back-pressure-type algorithm can be usedfor Internet routing. Nevertheless, the algorithm provides anapproach to routing that is fundamentally different from most

1063-6692/$26.00 © 2011 IEEE

1774 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

legacy routing protocols such as OSPF. Finally, cluster-basedback-pressure routing is applicable in wireless settings as well.With the current and growing interest in wireless mesh net-works where the access nodes are static, cluster-based back-pressure routing is a promising mechanism for effective trafficengineering among access points in that setting.

Before we describe cluster-based back-pressure routing, it isimportant to note other recent proposals that could potentiallyprovide the same function. There have been several proposalsfor multipath rate controllers [7], [8]. They argue that robustnessis significantly improved by allowing sources to simultaneouslyroute data over multiple paths to a destination. Furthermore, [7]shows that network capacity increases as sources are made ex-plicitly aware of and allowed to use an increasing number orpaths. Cluster-based back-pressure routing, on the other hand,provides access to all possible paths between a source and des-tination without the source needing to know more than the gate-ways associated with the cluster within which the destinationresides. Lastly, [9] shows that the benefits of using many pathscan be obtained by simply using two paths provided that theworst path is constantly replaced with a new and better path.However, this technique is still not able to try all possible pathsbetween a source and destination.

II. MODEL AND INTUITION

We represent a network by a graph whereis the set of nodes and is the set of directed links. Denote by

a link from node to node and by the max-imum rate supportable on link . We identify a flow byits source and destination nodes and denote it by .We use to denote the set of all flows in the network. As-sume that time is discretized, and let denotethe rate at which a flow generates packets in time slot .For simplicity, we assume that flow arrival rates are constant,i.e., , and define . It is straightforwardto extend our results to allow a large class of time-varying sto-chastic arrival processes. Without loss of generality, we assumethat . Furthermore, let , wheredenotes the transmission rate over link at time instant ,and denotes the convex hull of the set of all feasible . Fora wireline network, is simply the set of all satisfying

. For wireless networks, is limited by wire-less interference. Finally, let denote the rate at whichpackets of flow are served over link at time . Thus,

.

We say is supportable by network if there existssuch that the following two conditions hold.

1) For any flow and node

(1)

2)

(2)

Condition (1) is the flow-conservation constraint for flowat each node . Condition (2) is the capacity constraint. Denoteby the set of all supportable is called the capacityregion of network .

Now, given network and a set of flows , the goal isto develop a routing and scheduling algorithm to support . Theback-pressure algorithm is one such algorithm, which is knownto be throughput-optimal [18], i.e., it can support any such that

for some . Under the back-pressure algo-rithm, each node maintains a separate queue for all flows withthe same destination. Denote by the length of the queuefor destination at node . At each time slot, node calculatesthe queue-length difference , and the link isused to serve the queue with the largest difference. An advantageof the back-pressure algorithm is that it is adaptive, i.e., it findsoptimal routes in the network without knowing the arrival ratesof the flows. Thus, no a priori traffic engineering is required.Furthermore, it can be implemented in a decentralized mannerin wireline networks; we will comment on implementability inwireless networks later. However, since the back-pressure algo-rithm requires per-destination queues at each node, its memoryrequirement and signaling overhead could be of the same orderas the number of nodes in the network, thus preventing its wide-spread implementation.

One way to obtain a scalable algorithm is to group nodes intoclusters, maintain per-cluster queues for intercluster routing,and only maintain per-destination queues for intraclusterrouting. Such hybrid routing is similar to the hierarchicalrouting used in the Internet and the Zone Routing Pro-tocol (ZRP) [14] proposed for wireless networks. A simplecluster-based routing algorithm can work as follows. First thegateways of a cluster have to be identified and announced to therest of the network. A node is said to be a gateway of a clusterif there exists a link connecting the node with a node in anothercluster. Consider the following routing protocol for a flow :1) first route packets from source to any gateway of the clustercontaining destination , and 2) then route the packets from thegateways to destination . Under this naive scheme, packetsdestined to the same cluster are indistinguishable to a nodeoutside the destination cluster and, thus, each node only has tomaintain a separate queue for every other cluster and a separatequeue for each node within the same cluster, which reduces thenumber of queues at each node. However, this simple schemecan significantly decrease the set of supportable . Considera network as in Fig. 1, where each link has unit capacity, andthe subnetwork rooted at node 3 and the subnetwork rooted atnode 4 are disconnected. Group nodes 1 and 2 into cluster ,and nodes 3–6 into cluster . There are two flows ([1, 6]and [1, 5]) in the network, and we assume .Using the above simple cluster-based routing scheme, node 2maintains a single queue for both flows. Since the goalof node 2 is to route packets to any gateway of cluster , in theworst case, node 2 may transmit all packets of flow [1, 5] tonode 4, and all packets of flow [1, 6] to node 3. Then, no packetcan be delivered to its destination even though there exist routesbetween the source and destinations to support the given arrivalrates. Thus, maintaining one queue per cluster does not worksince packets can be routed to the gateways that are far from oreven not connected to the destinations.

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1775

Fig. 1. Simple cluster-based routing.

Fig. 2. Properly split the flows.

On the other hand, it is true that a flow does need to be routedto some gateway(s) belonging to the cluster containing the des-tination before reaching its destination. Thus, if we can prop-erly split flows and assign them to the appropriate gateways,we should be able to support any set of arrival rates that are sup-portable. For example, let denote the amount of traffic offlow assigned to gateway , which means that the trafficneeds to be routed to node before reaching the destination. Ifwe split into and , and into

and as in Fig. 2, then the flowscan be supported by the network. In this case, flows destinedto cluster are first routed to the assigned gateways, so thenodes in cluster only need to have a separate queue for eachgateway (nodes 3 and 4) of cluster instead of a separate queuefor each destination in cluster . The number of such queuesis significantly reduced compared to the original back-pressurealgorithm.

Now, the question is how to “properly” split flows. Findingthe optimal split requires complete information about the net-work traffic and topology, which is not only difficult to obtain,but also undesirable to use since the split has to be recomputedevery time the traffic or topology changes. Therefore, we pro-pose a traffic controller at each source to dynamically allocatepackets to gateways. Note that the queue length at a node indi-cates the congestion level at that node, so reflectsthe congestion level of reaching destination via gateway .Thus, at each time slot, the traffic controller assigns arriving

packets to the least congested gateway choice, i.e., deposits thepackets into queue with the smallest . For example,

measures the congestion level of routing flow [1, 5]via node 4. Since packets of flow [1, 5] cannot be delivered oncerouted to node 4, will build up. Then, the traffic controllerwill eventually set , and flow [1, 5] will be routedto node 3, which is optimal as discussed in the previous para-graph. We further note that we only use the queue lengths atsources and gateways to measure the congestion level for a flowusing a specific gateway, and ignore the queue lengths of interiornodes. This is because congestion that happens at interior nodesis automatically reflected at the queues at sources or gateways.If the bottleneck is an internal node in the source cluster, thenthe packets from the source are “blocked” when the queue at thebottleneck builds up. For example, if node 2 is the bottleneck,then builds up. To transmit packets from node 1 to node 2under a back-pressure-type algorithm, has to build up togenerate a positive pressure. Thus, the congestion that occurs atnode 2 leads to a large . Similarly, if the bottleneck is aninternal node in a cluster other than the source cluster, then thebottleneck “blocks” packets at the gateways of that cluster. Thequeues at the gateways build up, and this information is thencommunicated to the source node. Therefore, the queue lengthsat the sources and gateways are sufficient for evaluating the con-gestion levels through different gateways.

In Section III, we propose a cluster-based back-pressure algo-rithm for general topology networks, where the sources dynam-ically assign the arriving packets to the least congested gate-ways. Packets are first routed to the assigned gateways, andthen routed from the gateways to the destinations. Routing andscheduling decisions are made by a back-pressure algorithm.We also introduce a regulator at each gateway, which regulatesthe instantaneous rates coming into the gateway. In the cluster-based back-pressure algorithm, traffic controllers need instanta-neous queue-length information from gateways to make traffic-control decisions, and the regulators need instantaneous traffic-control information from sources to regulate traffic. This re-quires an exchange of instantaneous information, which is im-practical due to propagation delays, and would incur significantnetwork resources even if feasible. To resolve this issue, we pro-pose a two-timescale cluster-based back-pressure algorithm inSection IV, where the traffic controller and regulator execute ata slow timescale, i.e., they update the control parameters every

time slots. This significantly reduces the amount of informa-tion that needs to be exchanged. Each node only needs to main-tain a separate queue for each gateway and a separate queue foreach node within the same cluster, thus the algorithm is scalable.

III. CLUSTER-BASED BACK-PRESSURE ALGORITHM

We divide the network into a set of nonoverlapping clusters(we discuss the issue of forming clusters later in this section).Let denote the cluster containing node . Node is definedto be a gateway of cluster if there exists a node suchthat and , and node is defined to be aninterior node of cluster if node is not a gateway. Considerthe network illustrated in Fig. 3. Node 1 is a gateway, and node 2is an interior node of cluster . Denote by the set of gatewaysof cluster , and by the set of interior nodes of cluster .Then, and in Fig. 3. Denote by

1776 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

Fig. 3. Example of clustering.

the set of all gateways in the network and the interior nodesof the cluster containing node except node itself, i.e.,

In Fig. 3, . In the cluster-basedback-pressure algorithm, node only needs to maintain a sepa-rate queue for each node in . In general, the total number ofqueues maintained is far less than the total number of nodes inthe network.

We focus now on the operation of the traffic controller. Con-sider a flow . If and are in different clusters, or sourceis a gateway of cluster , then packets need to enter the des-tination cluster first before reaching the destination, which im-plies that every packet of flow needs to be relayed to somegateway belonging to the destination cluster. In this case, thetraffic controller needs to decide to which gateway to relay. Wedefine

for each gateway of , which reflects the congestion levelof reaching destination via gateway . If source is an interiornode of cluster , then packets can be directly routed to des-tination without relaying to any gateway, or can be routed tosome gateway belonging to the destination cluster first and thendelivered to the destination. We then define

for , which measures the congestion level of this op-tion. We also define if to indicate thatthe direct delivery option is feasible only when is an interiornode of . The traffic controller makes the traffic control de-cision based on .

The algorithm consists of the three components.Cluster-based back-pressure routing algorithm:Traffic Controller: At time slot , node splits the external ar-rivals into such that

(3)

Fig. 4. Regulator at node � for destination �.

where

Note that indicates the least congested gateway choice when, and indicates that the best option is to directly

route to destination without relaying to any gateway. Afterobtaining , node deposits packetsinto queue at node at time slot .Regulator: Gateway maintains a real queue and a regulatedqueue for each destination in the interior of cluster , asin Fig. 4. At each time slot, the rate at which packets can betransferred from the real queue to the regulated queue is

where can be chosen to be arbitrarily small. We denote bythe length of the regulated-queue, and by the length

of the real-queue.Back-Pressure Scheduler: At each time slot, the network firstcomputes , which is the solution to the following optimiza-tion problem:

(4)

where

and

if

otherwise.

After obtaining and , node transmitsthe packets in queue to node over link atrate . If , the packets are deposited intoqueue at node . If and is a gateway,then the packets in queue at node are either destinedfor node or routed to their destinations via gateway . In thelatter case, the packets with destination are deposited in thereal-queue maintained for node at node .

Remarks: A few clarifying remarks are in order regarding thealgorithm.

i) Scheduling Complexity: In a wireline network wheresimultaneous transmissions on different links do not interferewith each other, the solution to optimization problem (4) is

Recall that is the capacity of link . Thus, in awireline network, node simply uses the full capacity of

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1777

link to serve queue at time slot , and theback-pressure scheduler is totally distributed.

In a wireless network, solving (4) requires centralized infor-mation and could also be computationally very complex. How-ever, there has been considerable recent activity on distributedimplementations of the scheduler [2], [11], [15], [21]. We canuse these distributed scheduling algorithms to solve (4). How-ever, the throughput might degrade if the distributed schedulercan only support a fraction of the capacity region, as is the casein some of the recent papers.

ii) Signaling Overhead: The traffic controllers requirequeue-length information at time slot , and the regulatorsneed traffic control information at time slot . Bothpieces of information are easily collected. Let us first considerthe regulator information . Each flow can append itscurrent rate to its packet header. The gateway nodecan simply add these rates to compute the output rate of theregulator. One difficulty with this implementation is ensuringthat the rate of each flow is counted only once within eachtime slot. To rectify this problem, each source can announce itsrate only once every slots, thus avoiding double counting.This introduces delays in the algorithm, which we deal within Section IV. We note that the regulator is used only to provethe stability of the cluster-based algorithm. We believe thatthe regulator may not be necessary in practice and verify thisthrough extensive simulations in Section V. If the regulatoris not required in practice, then the signaling overhead dueto the regulator can be eliminated. On the other hand, thequeue-length information needed at the source is crucialfor the correctness of the algorithm. This information is easilycollected by appending it to the packet header and then echoingit back to the source from the destination by piggybackingit on to acknowledgments. These acknowledgments (ACKs)could be TCP ACKs or ACKs periodically generated by thedestination. Again, this introduces a delay that does not affectnetwork stability, as will be shown in Section IV.

iii) Hierarchical Routing: After a packet from flowis deposited in the queue maintained for gateway by the trafficcontroller, it is placed in queue at other nodes as determined bythe back-pressure scheduler. Therefore, before reaching node ,the packet is routed as though it is destined for gateway . Then,after the packet reaches node , it is deposited in the queue main-tained for destination . Since only the nodes in clustermaintain queues for , the packet is routed within the cluster tothe destination.

iv) Clustering: The first step to implement a cluster-basedback-pressure algorithm is to form clusters. The clusters canbe formed according to the network topology. For example, inthe Internet, an autonomous system can be regarded as a clustersince all nodes in an autonomous system access the Internet viaa same set of gateways. We can also form clusters accordingto their physical locations. A cluster is formed by assigning acommon cluster-identity to a group of nodes. Gateways needto identify themselves and signal their locations to other nodesin the network. Note that clustering only requires some infor-mation exchange within the network, but that the topology ofthe network does not need to be physically changed. In thispaper, no restriction is imposed on how clusters are formed. Ourcluster-based back-pressure algorithms are throughput-optimalregardless of how clusters are formed. One could use some crite-

rion—say, number of queues and signaling overhead—to com-pare clustering algorithms. In general, we prefer a clustering thatresults in a small number of queues at each node without intro-ducing too much signaling overhead. However, the choice ofclustering algorithm is beyond the scope of this paper.

Next, we analyze the performance of the cluster-based back-pressure algorithm. Denote by the amount oftraffic from flow that has to be routed to gateway be-fore reaching the destination, and by the amount of trafficthat needs to be directly routed to destination without re-laying to any gateway (that is a feasible option only whenis an interior node of as discussed). We next present alemma showing that for any supportable , there exists a trafficsplit that is also supportable by the net-work. The intuition behind this lemma is clear: Any packet offlow needs to be either relayed to some gateway or directlyrouted to the destination.

The purpose of introducing this lemma is to constructnew flow-conservation constraints in which the traffic splitamong gateways is explicitly included. In Theorem 2, we willcompare the Lyapunov drifts of the cluster-based back-pres-sure algorithm and a static stabilizing policy defined by theflow-conservation constraints and show that the cluster-basedalgorithm results in a larger negative drift. Thus, this lemma iscritical for proving the throughput optimality of cluster-basedback-pressure algorithms. The detailed proof is presented in theAppendix. In the proof, we start from the original flow-conser-vation constraint (1) and identify the rate split among loop-freepaths for each flow (a source and destination pair). Then,for each flow, we compute the amount of traffic routed to agateway of the destination cluster by computing the aggregaterate of loop-free paths on which the gateway is the last gatewaynode. Finally, we show that the original flow-conservationconstraint (1) is equivalent to a set of new flow-conservationsthat explicitly include the traffic split among gateways. In thefollowing lemma, denotes the rate used to transmitpackets in queue at node over link .

Lemma 1: Given , there exist andsuch that we have the following conditions.

(i) For any flow

(ii) For any node and destination such that and

(iii) For any node and gateway such that

(iv) For any node and destination such that and

1778 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

Fig. 5. Flow conservation constraints at node �.

Proof: The proof is in the Appendix.As demonstrated in Fig. 5, condition (i) implies that

is taken from flow , condition (iii) is the flow-conser-vation constraint of the queue for gateway at node , andcondition (iv) is the flow-conservation constraint of the queuefor destination at node . Condition (ii) is the flow-conser-vation constraint at gateways, which implies that the amountof traffic out of node and destined to destination equals theamount of traffic destined to node and routed via gateway .

To simplify notation, we define , andsuch that

if and

if

if and

(5)

if

otherwise (6)

andif

otherwise.(7)

Then, flow-conservation constraints (ii)–(iv) can be written as

(8)

Based on Lemma 1, we will show that the cluster-based back-pressure algorithm can support any such that

for some . Recall that is a parameter defined in theregulator. We first introduce more notation. For time slot , wedefine and for similar to

and . Now, for the queue maintained fornode at node , we define such that

if queue is a regulated-queue, and

otherwise. It is easy to see that represents the unused ser-vice at time slot when there are not enough packets in queueto be transmitted. Thus, if queue is a regulated-queue

and otherwise

Since

we obtain for any and

(9)Next, define

which is the maximum amount that a queue length can changeduring each time slot—in other words, given

(10)

for any queue .Theorem 2: Given external arrivals such that

for some , all queues are bounded under the cluster-based back-pressure algorithm.

Proof: Define a Lyapunov function as follows:

The drift of is defined as

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1779

Fig. 6. Information exchanged at a slow timescale.

Define

and

Note that if , so

and

where and is the number of nodes inthe network.

From Lemma 1, we have that if , thereexist and such that

Letting

and

we have

From the definition of , we have

where , andinequality holds due to the definition of the back-pressurescheduler (4). Furthermore, from the definitions of and

, we also have

where equality holds due to the definition of the traffic con-trol algorithm (3).

Now, based on the facts that and, we have

(11)

Inequality (11) implies that if . If, then , and

1780 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

where . Define to be the smallest linkcapacity of all links, i.e., . Accordingto the back-pressure scheduler (4), we have

if there exist and such that and

(12)

Since for any , it is easy to verify that (12) holds ifthere exists such that

Thus, we obtain if there exists ,which further implies that there exists such that for any

where . From the definition of ,we conclude that for any

(13)

Next, we consider , which are the lengths of the realqueues at the gateways. Let denote the total number ofpackets that are destined for node via gateways and have notreached the regulated queue for node at gateway yet. Assumethat there exists such that

which implies

due to inequality (13). Thus, we get

which implies that for

Thus, all the elements of are bounded as well.

IV. FAST SCHEDULE WITH SLOW TRAFFIC CONTROL AND

REGULATION

As noted in Section IV, it is difficult to obtain the instanta-neous values of at the source nodes and of at thegateways.

Building on [19] and [24], which show back-pressure-typealgorithms are throughput-optimal even with delayed queue-length information, we propose a two-timescale cluster-basedback-pressure algorithm where the traffic control and regulatorrun at a slow timescale, i.e., they update their control parame-ters every time slots, thus reducing the amount of information

exchanged between sources and gateways. We also use delayedinformation at traffic controllers and regulators to account forthe propagation delays. The scheduler continues to operate at afast timescale, i.e., scheduling decisions are made at every timeslot. We prove that this two-timescale cluster-based back-pres-sure remains throughput-optimal for any fixed .

Let denote the propagation delay from node tonode , and . We choose such that

. The information is exchanged as follows.1) At time slot , source sends a request message (RM) to

every gateway of cluster . The message includes theidentity of destination . The RM can be piggybacked ontoa data packet.

2) When gateway receives the RM, it checks the destinationidentity and sends an ACK back to the source with thequeue-length information included. These ACKsare received at the corresponding sources prior to time slot

. They can also be piggybacked onto otherpackets such as TCP ACKs for example.

3) When source receives from all gateways, itcomputes based on and . After that,

sends a control message (CM) to gateway . Again, theCM can be piggybacked onto a data packet. The controlmessage contains the identity of destination and the valueof . Gateway receives the CM before time slot

.4) After gateway receives the CM, it checks the destination

identity in the CM and sums over all sources.5) From time slot to time slot , the

sources and regulators control and regulate the traffic basedon . Since are availableat the sources and regulators at time slot .

See Fig. 6 for the illustration of the information exchange atthe slow timescale. Based on the above information exchanges,the two-timescale cluster-based back-pressure algorithm is asfollows.Two-Timescale Cluster-Based Back-Pressure Algorithm:Traffic Controller: During time slots ,the source of flow receives from the gate-ways of the cluster containing destination and computes

such that

(14)

where .

For time slot , node splitsflow according to , i.e.,

Regulator: Each gateway maintains a real queue and a regu-lated queue for each destination in the interior of cluster .During time slot , node receives the in-formation of . During time slot

, the rate at which packets can be transferred from thereal queue to the regulated queue is set to

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1781

Back-Pressure Scheduler: At each time slot, the network com-putes , which solves the following optimization problem:

(15)

Then, service rate is allocated to queue atnode to transmit packets over link to queue atnode at time slot . and are defined as in thecluster-based back-pressure algorithm.

Theorem 3: Given such that for some, all queues are bounded under the two-timescale cluster-based

back-pressure algorithm.Proof: Define a Lyapunov function such that

Then, the drift of is

where

From the definitions of and , and the fact that, it is easy to verify that

where .From Lemma 1, given , there exist

and such that

It is also easy to see that for

Thus, we conclude that

(16)

Fig. 7. 8� 8 grid-like network.

TABLE ITRAFFIC FLOWS IN THE NETWORK

where , and the last inequality fol-lows from inequalities and estab-lished in Theorem 2. Based on inequality (16), we can showthat all queues are bounded following the argument used inTheorem 2.

While this two-timescale cluster-based back-pressure algo-rithm is throughput-optimal for any , a large may resultin long queues in the network. We will investigate the impact ofthe choice of on performance using simulation in Section V.

V. SIMULATIONS

In this section, we use OMNeT++ [23] to implement the pro-posed algorithms and evaluate their performance. We consideran 8 8 grid-like network as shown in Fig. 7, where the nodesare indexed from (0, 0) to (7, 7). Links are bidirectional. Duringeach time slot, one and only one packet can be transmitted ineach direction. The links do not interfere with each other.

We divide the network into four clusters. Each cluster con-tains 16 nodes, of which three are gateways. We create 17 flows(12 intercluster flows and five intracluster flows) as listed inTable I.

1782 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

Fig. 8. Distribtion of flow 1 among the gateways.

Fig. 9. Distribution of flow 2 among the gateways.

A. Traffic Splitting and Impact of Regulators

We first investigate two issues.• How does the cluster-based back-pressure algorithm adap-

tively split traffic flows among the gateways?• Can the cluster-based back-pressure algorithm stabilize the

network without the use of regulators?In the simulations, all arrivals, except those to flow 14, are de-scribed by Poisson processes with rate 0.8. Arrivals to flow 14are described by a Poisson process with rate , which we varybetween 0 and 2.7. Note that when is close to 3, flow 14 sat-urates the outgoing links from gateway (3, 7) and prevents inter-cluster flows into cluster from using gateway (3, 7). There-fore, when we increase from 0 to 2.7, the flows destined tocluster will be routed to gateways (0, 4) and (3, 4). is chosento be 100, so gateways and sources exchange information every100 time slots.

We denote by the fraction of flow going throughgateway , i.e., for

There are three intercluster flows (flows 1, 2, and 3) destined forcluster . We observe as a function of forand . We implement the cluster-basedback-pressure algorithms both with regulators and without reg-ulators. The results are shown in Figs. 8–10, where the lineslabeled “ w/o” correspond to gateway in the ab-sence of regulators, and those labeled “ w” correspond togateway in the presence of regulators.

Fig. 10. Distribution of flow 3 among the gateways.

Fig. 11. Average queue lengths under back-pressure, cluster-based back-pres-sure, and shortest-path routings.

From these simulations, we observe that: 1) when the trafficload of flow 14 increases, flows 1–3 are shifted to gateways (0, 4)and (3, 4) as expected, and 2) the algorithm without regulatorssplits traffic among gateways in a manner similar to the algo-rithm with regulator, which corroborates our conjecture that reg-ulators may not be necessary in practical implementations.

B. Queue, End-to-End Delay and Convergence

The cluster-based back-pressure algorithms significantly re-duce the number of queues at each node while retaining thethroughput optimality of the classic back-pressure algorithm.This improvement is achieved by splitting traffic at the sourcesand requiring additional communications between sources andgateways. In our next set of simulations, we study the impactof clustering on queue-lengths and average end-to-end delays.We implemented cluster-based back-pressure algorithms, withand without regulators, traditional back-pressure algorithm, andshortest-path routing.

In the simulations, all arrivals are described by Poisson pro-cesses with rate . We vary from 0.1 to 0.8. The results areshown in Figs. 11 and 12, where “bp” stands for the classic back-pressure algorithm, “cluster-bp-w” stands for the cluster-basedback-pressure algorithm with regulators, and “cluster-bp-w/o”stands for the cluster-based back-pressure algorithm withoutregulators.

From the simulations, we make the following observations.1) At light loads, all three back-pressure-type algorithms per-

form worse than shortest-path routing. At medium or highloads, the shortest-path routing is unstable (both queue

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1783

Fig. 12. Average end-to-end delays under back-pressure, cluster-based back-pressure, and shortest-path routing.

Fig. 13. Aggregate queue length at node (4, 4) under traditional back-pressureand cluster-based back-pressure with and without regulators.

lengths and end-to-end delays increase quickly), but theback-pressure-type algorithms are stable.1

2) The cluster-based back-pressure algorithms have bothsmaller queue lengths and end-to-end delays compared tothe classic back-pressure algorithms.

The back-pressure algorithm performs poorly in light loadsbecause the algorithm exploits all feasible paths between eachsource and destination, and packets are sent over unneces-sarily long routes. This problem has been dealt with in severalpapers [25], [26], and their solutions can be incorporated toimprove the performance of the cluster-based back-pressurealgorithms.

We further comment that controlled dynamic routing isproposed in [26] to improve the performance of the classicback-pressure algorithm. Thus, one possible explanationfor why the cluster-based back-pressure algorithms slightlyoutperform the classic back-pressure algorithm is that thecluster-based approach introduces some control on routing byspecifying a gateway for each packet at the source.

We next study the convergence of the cluster-based algorithm.In Figs. 13 and 14, we let the arrival rate and plot the totalqueue lengths at nodes (4, 4) and (3, 0), respectively, as a func-tion of time for different routing algorithms. In Fig. 15, we plotthe overall queue length under different algorithms. We observe

1We consider inelastic flows and assume no congestion control. Therefore,queues may grow unboundedly when traffic load is large and packets are notoptimally routed.

Fig. 14. Aggregate queue length at node (3, 0) under traditional back-pressureand cluster-based back-pressure with and without regulators.

Fig. 15. Total queue lengths under traditional back-pressure and cluster-basedback-pressure with and without regulators.

Fig. 16. Empirical distribution of the standard deviations of all nodes.

that the convergence time of the cluster-based back-pressure al-gorithm is slightly smaller than that of the traditional back-pres-sure algorithm. The queues under the cluster-based algorithmsstabilize within 1000 time slots, whereas the queues under theback-pressure algorithm converge within 1500 time slots.

Fig. 16 depicts the empirical distribution of the standard de-viations of per-node queue lengths. For each node, the standarddeviation is calculated based on the total backlog size of thenode from time slot 3000 to time slot 5000. We can see thestandard deviations are upper-bounded by 8, while the per-nodequeue lengths are at the order of 100 (see Figs. 13–15). Thissuggests that all queues have reached their steady states.

C. Impact of

In Section IV, we proposed a two-timescale cluster-basedback-pressure algorithm where the traffic control and regulator

1784 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

Fig. 17. Aggregate queue length in the network for cluster-based back-pressurealgorithm.

Fig. 18. Number of control messages per time slot.

operate at a slow timescale so that the amount of informationexchanged between sources and gateways is reduced. While thealgorithm is throughput-optimal for any , a large mayproduce large queues in the network.

In our simulations, we choose 1, 100, 200, , and1000. For each choice of , we compute the time-average ofthe number of packets queued in the network. We implementthe algorithm both with regulators and without regulators. Theresults are shown in Fig. 17. We observe that the aggregatequeue length increases as a function of . However, the sumonly increases from 3400 to 5000 with regulators and increasesfrom 3400 to 4200 without regulators as increases from 1to 1000, which indicates that the two-timescale cluster-basedback-pressure algorithm has a comparable performance withthe cluster-based back-pressure algorithm even when islarge. We also plot the average number of control messagesexchanged per time slot in Fig. 18, which decreases asincreases. There is a tradeoff in choosing . Increasingreduces communication overhead, but increases queue lengthsand transmission delays.

VI. CONCLUSION AND FUTURE WORK

In this paper, we proposed a scalable, distributed, and adap-tive routing algorithm—the cluster-based back-pressure algo-rithm. The algorithm retains the throughput optimality of theoriginal back-pressure algorithm and also significantly reducesmemory complexity by reducing the number of queues main-tained at each node. The algorithm can be extended in the fol-lowing directions.

Stochastic Models: For ease of exposition, we only analyzednetworks with deterministic arrivals and time-invariant links.However, our analysis can be easily extended to networks withstochastic arrivals and time-varying links following the analysisin [4]. Our conjecture is that the algorithm is throughput-optimalfor stochastic models as well.

Multilevel Clustering: In this paper, we only study single-level clustering. It is easy to see that we can further form clus-ters within each cluster. Multilevel clustering could further re-duce the number of queues maintained at each node, but wouldrequire loose source routing to specify multiple intermediatenodes, and the traffic controller would have to collect queue-length information from these intermediate nodes. Specifically,suppose that we partition a network into levels of clusterswhere a level- cluster contains multiple level-clusters. Then, for each destination, a source needs to maintaina queue for each sequence of gateways ,where is a level- gateway in the level- cluster that containsthe destination. The source then needs to split the traffic amongthese queues based on their lengths and queue lengths fed backfrom the gateways. The traffic-splitting decision then needs tobe communicated to these gateways as well.

Asynchronous Version: The algorithms presented in thispaper can be implemented asynchronously in a real network.We conjecture that the algorithm is throughput-optimal even inthis case, but the proofs have to be modified to verify this.

Randomized Algorithms for Reducing Signaling Overhead:In our algorithms, a source needs to contact all gateways of thecluster containing the destination once every time slots. Wecould further reduce this overhead by only contacting two gate-ways every time slots: one that the source is using and an-other one that is randomly picked. Then, the source picks theless congested gateway. This approach reduces the amount ofinformation exchanged, but could result in longer queues. Weagain conjecture that the algorithm is throughput-optimal. Theperformance of this approach will be studied in future work.

Policy-Based Routing: We studied a network model wherelink capacities are the only constraints. In reality, there could bemany other constraints due to policies imposed by network ad-ministrators. For example, ISPs may prohibit intracluster flows(flows whose source and destination are in the same cluster)from being routed out of the cluster. A subject of future workis to customize the cluster-based back-pressure routing algo-rithm for networks with various policy constraints and study itsperformance.

Reordering: To implement the proposed algorithm in prac-tice, one has to address the issue of packet reordering that maybe caused by multipath routing. We can address this issue byrunning our algorithm in the background and splitting flows ac-cording to the proportion suggested by our algorithm as in [25].Furthermore, one can aggregate flows and run our algorithm atthe aggregated flow level and use hash functions to route eachflow’s packets on a single path as in [27]. These issues have to bestudied further before implementing our algorithm in practice.

APPENDIX

PROOF OF LEMMA 1First from the definition, we know that is supportable in

network if there exists such that

(17)

YING et al.: CLUSTER-BASED BACK-PRESSURE ROUTING ALGORITHM 1785

holds for all flow and node . In this proof, we willconstruct and satisfying conditions (i)–(iv)of Lemma 1 from satisfying condition (17).

Consider flow , and construct a virtual networkwhere the capacity of link is . We say

is a loop in network if and, for . Let denote the set of

all loops in network , and

for . We then construct a new network where thecapacity of link is defined as

(18)

It is easy to see that is loop-free. Letting denote theset of links in network , we define

and

if

if

From equalities (17) and (18), it is easy to verify that

(19)

for all .Next, we construct and from .

We say is a source–destination path in net-work if , and , for all

. Let denote the set of all source–des-tination paths in network . Since there is no loop in

is a finite set and no node appears more than once in asource–destination path. Letting denote the last gateway onpath , the path can be broken into two parts:and . Now, given a source–destination path

, we define

Using induction (from source to destination ), it can be veri-fied that

(20)

and

holds for any link in network .

After obtaining for all , we can constructand such that

It is easy to verify that for

(21)

and for

(22)

From equalities (20)–(22), we can conclude thatand satisfy conditions (i)–(iv) of

Lemma 1.Furthermore, we have

Therefore, , and the lemma holds.

ACKNOWLEDGMENT

The views and conclusions contained in this document arethose of the authors and should not be interpreted as repre-senting the official policies, either expressed or implied, of theU.S. Army Research Office (ARO) or the U.S. Government.

1786 IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 6, DECEMBER 2011

REFERENCES

[1] B. Awerbuch and T. Leighton, “A simple local control approxima-tion algorithm for multicommodity flow,” in Proc. IEEE Conf. Found.Comput. Sci., Oct. 1993, pp. 459–468.

[2] A. Eryilmaz, A. Ozdaglar, and E. Modiano, “Polynomial complexityalgorithms for full utilization of multi-hop wireless networks,” in Proc.IEEE INFOCOM, 2007, pp. 499–507.

[3] A. Eryilmaz and R. Srikant, “Fair resource allocation in wireless net-works using queue-length-based scheduling and congestion control,”in Proc. IEEE INFOCOM, 2005, vol. 3, pp. 1794–1803.

[4] A. Eryilmaz and R. Srikant, “Joint congestion control, routing andMAC for stability and fairness in wireless networks,” IEEE J. Sel. AreasCommun., vol. 24, no. 8, pp. 1514–1524, Aug. 2006.

[5] N. Feamster, J. Borkenhagen, and J. Rexford, “Guidelines for interdo-main traffic engineering,” in Proc. ACM SIGCOMM, Oct. 2003, pp.19–30.

[6] B. Fortz and M. Thorup, “Internet traffic engineering by optimizingOSPF weights,” in Proc. IEEE INFOCOM, Mar. 2000, vol. 2, pp.519–528.

[7] H. Han, S. Shakkottai, C. V. Hollot, R. Srikant, and D. Towsley,“Overlay TCP for multi-path routing and congestion control,”IEEE/ACM Trans. Netw., vol. 14, no. 6, pp. 1260–1271, Dec. 2006.

[8] F. Kelly and T. Voice, “Stability of end-to-end algorithms for jointrouting and rate control,” Comput. Commun. Rev., vol. 35, no. 2, pp.5–12, 2005.

[9] P. Key, L. Massoulie, and D. Towsley, “Path selection and multi-path congestion control,” in Proc. IEEE INFOCOM, May 2007, pp.143–151.

[10] X. Lin and N. Shroff, “On the stability region of congestion control,”in Proc. 42nd Annu. Allerton Conf. Commun., Control, Comput., 2004,pp. 1266–1275.

[11] E. Modiano, D. Shah, and G. Zussman, “Maximizing throughput inwireless networks via gossiping,” in Proc. ACM SIGMETRICS/IFIPPerformance, 2006, pp. 27–38.

[12] J. Moy, “OSPF version 2,” Internet Engineering Task Force, RequestFor Comments (Standard) RFC 2328, Apr. 1998.

[13] M. J. Neely, E. Modiano, and C. Li, “Fairness and optimal stochasticcontrol for heterogeneous networks,” in Proc. IEEE INFOCOM, 2005,vol. 3, pp. 1723–1734.

[14] M. R. Pearlman and Z. J. Haas, “Determining the optimal configurationfor the zone routing protocol,” IEEE J. Sel. Areas Commun., vol. 17,no. 8, pp. 1395–1414, Aug. 1999.

[15] S. Sanghavi, L. Bui, and R. Srikant, “Distributed link scheduling withconstant overhead,” in Proc. ACM SIGMETRICS, San Diego, CA, Jun.2007, pp. 313–324.

[16] A. Sridharan, R. Guerin, and C. Diot, “Achieving near-optimal trafficengineering solutions for current OSPF/IS-IS networks,” IEEE/ACMTrans. Netw., vol. 13, no. 2, pp. 234–247, Apr. 2005.

[17] A. L. Stolyar, “Maximizing queueing network utility subject tostability: Greedy primal-dual algorithm,” Queue. Syst., vol. 50, pp.401–457, 2005.

[18] L. Tassiulas and A. Ephremides, “Stability properties of constrainedqueueing systems and scheduling for maximum throughput in mul-tihop radio networks,” IEEE Trans. Autom. Control, vol. 37, no. 12,pp. 1936–1949, Dec. 1992.

[19] L. Tassiulas and A. Ephremides, “Throughput properties of a queueingnetwork with distributed dynamic routing and flow control,” Adv. Appl.Prob., vol. 28, pp. 285–307, 1996.

[20] Y. Wang, Z. Wang, and L. Zhang, “Internet traffic engineering withoutfull mesh overlaying,” in Proc. IEEE INFOCOM, Apr. 2001, vol. 1, pp.565–571.

[21] Y. Yi, G. de Veciana, and S. Shakkottai, “Learning contention pat-terns and adapting to load/topology changes in a MAC scheduling al-gorithm,” in Proc. WiMesh, 2006, pp. 23–32.

[22] C. Zhang, Z. Ge, J. Kurose, Y. Liu, and D. Towsley, “Optimal routingwith multiple traffic matrices tradeoff between average case and worstcase performance,” in Proc. IEEE ICNP, Nov. 2005.

[23] “OMNeT++,” [Online]. Available: http://www.omnetpp.org[24] Y. Xi and E. M. Yeh, “Throughput optimal distributed control of sto-

chastic wireless networks,” in Proc. WiOpt, 2006, pp. 1–10.[25] L. Bui, R. Srikant, and A. L. Stolyar, “Novel architectures and algo-

rithms for delay reduction in back-pressure scheduling and routing,” inProc. IEEE INFOCOM Mini-Conf., 2009, pp. 2936–2940.

[26] L. Ying, S. Shakkottai, and A. Reddy, “On combining shortest-pathand back-pressure routing over multihop wireless networks,” in Proc.IEEE INFOCOM, Rio de Janeiro, Brazil, 2009, pp. 1674–1682.

[27] S. Kandula, D. Katabi, S. Sinha, and A. Berger, “Dynamic load bal-ancing without packet reordering,” Comput. Commun. Rev., vol. 37,no. 2, p. 62, 2007.

Lei Ying (M’08) received the B.E. degree from Ts-inghua University, Beijing, China, in 2001, and theM.S. and Ph.D. degrees in electrical engineering fromthe University of Illinois at Urbana–Champaign in2003 and 2007, respectively.

During Fall 2007, he was a Post-Doctoral Fellowwith the University of Texas at Austin. He is currentlyan Assistant Professor with the Department of Elec-trical and Computer Engineering, Iowa State Univer-sity, Ames. He was named Litton Assistant Professorfor 2010–2011. His research interest is broadly in the

area of information networks, including wireless networks, mobile ad hoc net-works, P2P networks, and social networks.

Dr. Ying received a Young Investigator Award from the Defense Threat Re-duction Agency (DTRA) in 2009 and a National Science Foundation (NSF)CAREER Award in 2010.

R. Srikant (S’90–M’91–SM’01–F’06) receivedthe B.Tech. degree from the Indian Institute ofTechnology, Madras, India, in 1985, and the M.S.and Ph.D. degrees from the University of Illinois atUrbana–Champaign in 1988 and 1991, respectively,all in electrical engineering.

He was a Member of Technical Staff with AT&TBell Laboratories, Holmdel, NJ, from 1991 to 1995.He is currently with the University of Illinois atUrbana–Champaign, where he is the Fredric G. andElizabeth H. Nearing Professor with the Department

of Electrical and Computer Engineering and a Research Professor with theCoordinated Science Laboratory.

Prof. Srikant was an Associate Editor of the IEEE/ACM TRANSACTIONS ON

NETWORKING and IEEE TRANSACTIONS ON AUTOMATIC CONTROL and hasbeen on the Editorial Boards of special issues of the IEEE TRANSACTIONS

ON INFORMATION THEORY and IEEE JOURNAL ON SELECTED AREAS IN

COMMUNICATIONS. He was the Chair of the 2002 IEEE Computer Communica-tions Workshop in Santa Fe, NM, and a Program Co-Chair of IEEE INFOCOMin 2007. His research interests include communication networks, stochasticprocesses, queueing theory, information theory, and game theory.

Don Towsley (M’78–SM’93–F’95) received the B.A. degree in physics andPh.D. degree in computer science from the University of Texas at Austin in1971 and 1975, respectively.

He is currently a Distinguished Professor with the Department of ComputerScience, University of Massachusetts, Amherst. He has held visiting positions atnumerous universities and research laboratories. His research interests includenetworks and performance evaluation.

Prof. Towsley is a Fellow of the Association for Computing Machinery(ACM) and a member of ORSA. He currently serves on the Editorial Boardsof the Journal of the ACM and IEEE JOURNAL ON SELECTED AREAS IN

COMMUNICATIONS and previously served as Editor-in-Chief of the IEEE/ACMTRANSACTIONS ON NETWORKING and on numerous other Editorial Boards.He has served as Program Co-chair of several conferences including IEEEINFOCOM 2009. He has received the 2007 IEEE Koji Kobayashi Award, the2007 ACM SIGMETRICS Achievement Award, the 2008 ACM SIGCOMMLifetime Achievement Award, a 2008 SIGCOMM Test-of-Time Paper Award,the 1998 IEEE Communications Society William Bennett Best Paper Award,and numerous conference/workshop best paper and test-of-time awards.

Shihuan Liu (S’10) received the B.E. degree in elec-tronics engineering from Tsinghua University, Bei-jing, China, in 2008, and is currently pursuing thePh.D. degree in electrical and computer engineeringat Iowa State University, Ames.

He currently performs research on resource alloca-tion in wireless networks.