IEEE/ACM TRANSACTIONS ON NETWORKING
1
Asynchronous Congestion Control in Multi-Hop Wireless Networks with Maximal Matching-Based Scheduling Loc Bui, Atilla Eryilmaz, R. Srikant, and Xinzhou Wu
Abstract— We consider a multi-hop wireless network shared by many users. For an interference model that constrains a node to either transmit to or receive from only one other node at a time, and not to do both, we propose an architecture for fair resource allocation that consists of a distributed scheduling algorithm operating in conjunction with an asynchronous congestion control algorithm. We show that the proposed joint congestion control and scheduling algorithm supports at least one-third of the throughput supportable by any other algorithm, including centralized algorithms. Index Terms— Congestion Control, Fair Resource Allocation, Totally Asynchronous Algorithm, Distributed Scheduling, Wireless Networks.
I. I NTRODUCTION
T
HE operation of a wireless network differs from its wireline counterpart in many aspects. Interference, timevarying channels, and limited resources are a few of the distinguishing characteristics of wireless networks. A number of papers have addressed the problem of resource allocation in wireless networks while taking into account many of the features. It was shown in [1] that scheduling algorithms that appropriately use the queue length information can stabilize the queues in the network, provided that the set of arrival rates from the various users of the network lies within what is referred to as the stability region of the network. Such a scheduling rule is called throughput optimal in the sense that, for any set of flow rates for which the queues can be stabilized, the throughput-optimal scheduler will stabilize them. Later, there has been a large body of literature that extended these ideas to more general systems and classes of schedulers [2]– [7]. All of these works assumed that the incoming flow rates are inelastic, and that the buffer length information is available at a central coordinator instantaneously, which then determines the allocation of the resources and informs all the nodes, again in an instantaneous fashion. Motivated by the works for wireline networks [8]–[10], there has been much interest in incorporating congestion This research was supported by AFOSR URI F49620-01-1-0365, NSF Grant ECS-0401125, and a VEF Fellowship. An earlier version of this paper appeared in the Proceedings of IEEE INFOCOM, Spain, April 2006. L. Bui and R. Srikant are with the Department of Electrical and Computer Engineering and Coordinated Science Lab, University of Illinois at UrbanaChampaign, USA (emails: {locbui, rsrikant}@uiuc.edu). A. Eryilmaz is with Laboratory for Information and Decision Systems, Massachusetts Institute of Technology, USA (email:
[email protected]). X. Wu is with Qualcomm Flarion Technologies, NJ, USA (email:
[email protected]).
control into the system in addition to the queue-length based schedulers for the purpose of fair-resource allocation [11]– [17]. These algorithms determine the rate at which each user is allowed to inject data into the network as a function of the current congestion level of the network. The congestion level information is fed back to the controller from the nodes. It has been shown that fair allocation1 can be achieved through the joint operation of these two mechanisms – scheduling and congestion control. However, each of these papers has one or more of the following assumptions: (i) scheduling mechanism is ignored [16], [17], or (ii) a centralized scheduling algorithm is assumed [11]–[13], [15], or (iii) it is assumed that the congestion price information can be instantaneously exchanged between all of the nodes (an assumption made by all the previous papers). The requirement of decentralized scheduling is obvious in a multi-hop wireless network. However, the importance of the ability of the network to exchange information between the nodes does not seem to have been addressed previously. In particular, two nodes can exchange congestion price information only when they can successfully transfer information between them. Unlike a wireless network, information transfer between nodes is subject to interference constraints and hence neither data nor congestion price information can be transferred between two nodes without taking into account the activity of other nodes in their vicinity. This is similar to the asynchronous model considered in [9], except that in [9] it is assumed that nodes exchange information with a bounded delay which may not be the case in wireless networks, as we will demonstrate later. In this work, one of our goals is to relax some of these assumptions and study the performance of a distributed resource allocation architecture for a specific, but widely used interference model. Under this interference model, called the node-exclusive model, each node can either transmit to or receive from only one other node at a given time, and not to do both. No other constraint is imposed on the transmission. Thus, each feasible schedule is a matching2 of the underlying graph of the network. Such an interference model is appropriate for Bluetooth networks [18] or in FH-CDMA networks [19], [20]. The main contributions of this paper are as follows: •
We propose an architecture for joint congestion control and scheduling under the node-exclusive interference
1 An allocation is said to be fair if the sum of the utilities of the users is maximized over all possible allocations. 2 A matching is a set of edges that no pair is incident to the same node.
IEEE/ACM TRANSACTIONS ON NETWORKING
•
•
•
•
model. Congestion control is performed by exchanging congestion price and users’ packet arrival rate information in an asynchronous fashion. A distributed maximal matching algorithm proposed in [21] is used to perform the scheduling. Unlike [21], we do not assume that the user arrival rates are known at each node on its route instantaneously. Instead, we use a modification of an algorithm in [22], [23] to stabilize the network. We consider a deterministic fluid model and show the stability of the joint congestion control and scheduling architecture. As mentioned earlier, congestion information can be exchanged between two nodes only when they are scheduled to transmit to each other. To ensure that every pair of neighbors communicate with each other infinitely often (almost surely), we introduce a slight modification to the maximal matching algorithm whereby every node attempts to make a connection with each one of its neighbors with a small probability. With the above modification to the maximal matching scheduling algorithm, the resulting congestion control becomes an asynchronous algorithm with possibly unbounded delays in exchanging congestion information. To the best of our knowledge, the approach in [24] does not seem to apply to our asynchronous computation model, and therefore, we provide a new proof of the convergence of the asynchronous congestion control algorithm.
It should be noted that we consider a time-slotted model, which assumes that all nodes have a common notion of the beginning and the end of a time slot. We refer the reader to [25] for a discussion of the time-slotted model, which uses guard intervals in the context of FH-CDMA networks to enforce this requirement at the cost of slightly reduced throughput. II. S YSTEM M ODEL Consider a graph, G = (N , L), representing a wireless network where N is the set of nodes and L is the set of directed links. We will use both notations (n, m) and l to refer to a link in L. If a link (n, m) is in L, then it is possible to send packets from node n to node m subject to the interference constraints to be described shortly. We assume that time is slotted, and let cl ≥ 1 be the fixed capacity (the number of packets per time-slot that can be transferred over the link) of link l ∈ L. Let F denote the set of flows that share the network resources. The main goal of this paper is to derive a fully distributed asynchronous algorithm that achieves fair allocation of system resources among the competing flows. We assume that each flow, f, has a unique, loop-free route and a utility function associated with it. We use Hlf to denote the indicator function that is equal to one when link l is in the route of flow f, and zero otherwise. The utility function, denoted by Uf (·), is assumed to satisfy the following set of conditions: •
Uf (·) is a strictly concave, non-decreasing, twice differentiable function.
2
•
•
•
The second derivative of the utility function is bounded, ¯ ∈ (0, ∞), there exists a constant m < ∞ i.e., for every M such that 1 ¯ ]. 0 ≤ − ′′ ≤m ∀x ∈ [0, M (1) Uf (x) ¯ ∈ (0, ∞), there exists a constant a such that For every M ′−1 ′′ ¯. ∀y ≥ M (2) Uf Uf (y) ≥ ay
Uf′−1 (·) is a convex function, and satisfies3 1−
Uf′−1 (κ +
β L1−γ )
Uf′−1 (κ)
= O(L−γ )
(3)
for any fixed κ, β > 0 and γ ∈ (0, 1). We note that these conditions are not restrictive and hold for the following class of utility functions: Uf (x) = βf
x1−αf , 1 − αf
∀ βf , αf > 0,
(4)
if x is upper bounded. This class of utility functions are known to characterize a large class of fairness concepts [26]. A. Interference Model In this subsection, we describe the interference model, referred to as the node-exclusive interference model, assumed in this paper and its implications. According to this model, each node can either transmit to or receive from only one other node, and not to do both, at a given time. There are no other constraints on the transmission. The arrival processes are assumed to be discrete as follows: at each time slot t, the number of arrivals for flow f is a discrete random variable with mean xf and finite variance. At this point, let us define the capacity region, Λ, of the network simply as the set of flow rates x = {xf }f that are supportable by the network. We will provide a more precise description of Λ at the end of this section, after we describe the interference model. Let E(n) be the set of links that are incident on node n, i.e. E(n) = {(h, k) ∈ L : h = n or k = n}. Then, the following facts can be asserted. Fact 1: P f X f ∈F Hl xf Λ ⊂ {x : ≤ 1, ∀n ∈ N }. cl l∈E(n)
This fact simply states that no node can be active more than 100% of the time and is proved in [27]. Fact 2: Any set of flow rates x that satisfies P f X 2 f ∈F Hl xf ≤ ∀n ∈ N (5) cl 3 l∈E(n)
lies within the capacity region of the network. This fact is discussed in [20], [27], and is based on a work by Shannon [28]. Notice that the condition in (5) is 3 f (x)
f (x)
= O(g(x)) implies that lim sup x→∞
g(x)
< ∞.
IEEE/ACM TRANSACTIONS ON NETWORKING
3
node n
equivalent to the requirement that any node in the network should not be scheduled more than two-thirds of the time. Also note that under the node-exclusive interference model, any feasible schedule corresponds to a matching4 of the graph G. Let M = {M1 , M2 , · · · , MK } be the set of all possible matchings, where Mi is a 0-1 vector of |L| dimensions that denotes the set of links that are active for the ith matching. Here, M is a finite set since we have a graph with finite number of links. Let co(M) denote the convex-hull5 of the set of matchings. Then, the capacity region can be expressed as # ) ( "P f f ∈F Hl xf ∈ co(M) . Λ= x: cl
node k flow f node m
flow g
flow h
node a
node b
node m link (n,m) f Pnm
πnm
l∈L
g Pnm
Also, for each link (n, m) ∈ L, let Υnm denote the set of all links interfering with (n, m) plus link (n, m) itself. For the node-exclusive interference model, Υnm is the set of (n, m) and all one-hop neighbor links of (n, m):
f Rnm
11 00 00 11 1010
f Snm
g Rnm
g Snm
11 00 00 11 00 11
h Sam
h Pam
Rh am
Υnm = {(h, k) ∈ L : h 6= k, h ∈ {m, n} or k ∈ {m, n}}.
f mk P f mk
11 00 00 11 00 11 00 11
Q
Qh mk
01 1010
g Q mb
πmk link (m,k)
h Pmk
g P mb
link (m,b)
link (a,m)
B. Distributed Scheduler In this subsection, we introduce the fully distributed scheduler that is implemented at the MAC layer. The scheduler determines which links to activate and which packets to serve at a given slot. It is assumed that the amount of time required to perform the scheduling task compared to the actual packet transmission is small. We introduce the following notation to describe a scheduling rule π = {πnm , (n, m) ∈ L} : we let πnm (t) be equal to one if link (n, m) ∈ L is scheduled at slot t and zero otherwise. Also, we define Pnm (t) to be the number of packets served f over link (n, m) at slot t, and Pnm (t) to be the number of flow f ’s packets served over link (n, m) at slot t. Clearly, X f f Pnm (t) = H(n,m) Pnm (t). f ∈F
It is assumed that for each link (n, m), a queue is maintained for each of flows going through that link. We denote Qfnm (t) as the queue length for flow f on link (n, m) at time t. Also, let Qnm (t) be the total queue length of link (n, m) at time t, i.e., X f Qnm (t) = H(n,m) Qfnm (t). f ∈F
The scheduler we consider in this paper is a slightly modified version of the Regulated Maximal Matching Scheduler in [23]. The key idea is to introduce regulators associated with each link, one for each flow passing through the link. Flow f packets that are served over link (n, m) are buffered at the corresponding regulator of link (n, m) before they are transferred to the corresponding queue on the next link. We f let Rnm (t) denote the length of link (n, m)’s regulator buffer corresponding to flow f at the beginning of time slot t. A 4 A matching is a collection of links such that no two links are incident on the same node. 5 A convex hull of a set S is the intersection of all convex sets that cover each element of S.
Fig. 1.
An example network
λ(t)-regulator is a logical device which allows packets to pass through it at a maximum rate of λ(t) at slot t. Specifically, at slot t, a λ(t)-regulator associated with link l checks its buffer size, and if its buffer size exceeds link capacity cl , it transfers cl packets from its buffer with probability λ(t) cl ; otherwise, no transfer occurs (other implementations of the regulator are f also possible). Finally, we let Snm (t) denote the number of f packets that leave regulator Rnm at slot t. We refer the reader to Figure 1 for an example network. With these definitions, the evolution of the number of packets in the regulators and the queues can be described by the following difference equations: f Rnm (t + 1) =
Qfnm (t
+ 1) =
f f f Rnm (t) − Snm (t) + Pnm (t)
f f Qfnm (t) − Pnm (t) + S·n (t)
f where S·n (t) is the output of the regulator for flow f that is maintained at node n. In our model, the value of λf (t) used at a regulator is based on the rate at which flow f is generating data. In general, this information is not available instantaneously to all nodes in f ’s path, and hence it is both inaccurate (old) and fluctuating (due to the fact that flow f ’s rate is determined by a dynamic congestion control algorithm to be described later). In comparison, the scheduler considered in [23] assumes the knowledge of the mean flow rates at all the regulators and uses this fixed value in its implementation. In our model, however, the current flow rate information is passed from the sources to each of the nodes with a random propagation delay. To account (n) for the delay, we let τf (t) ∈ [0, t] be the time slot at which the rate information of source f (i.e. xf (·)) was sent, given that it is received or kept by node n at slot t. Further, suppose that node n is the k th node on the route of flow f. Then, the (n) regulator for flow f at node n is a (xf (τf (t)) + (k − 1)ǫr )-
IEEE/ACM TRANSACTIONS ON NETWORKING
4
regulator, where ǫr > 0 can take arbitrarily small values. In other words, the regulator uses the most recent update of the rate (plus a very small amount) as λf (t). The scheduler we consider uses the values of Qnm (t) to find either a Maximal Matching6 (MM) with a high probability or some matching with a small probability. In particular, a maximal matching is selected in a distributed fashion among those links that have at least one backlogged packet in their buffers. The formal description is provided next. D ISTRIBUTED S CHEDULER - D ISCRETE - TIME At the beginning of each time slot, each node, say n, determines the eligible set of links according to: • •
With a small probability ǫs > 0, allow all links (n, m) ∈ L to be eligible for exchanging congested information. Otherwise, allow only those (n, m) ∈ L, with Qnm (t) ≥ c(n,m) to be eligible for data transmission.
Then, which set of links to activate at node n is determined by the following distributed strategy: •
•
If n has at least one eligible neighbor (a neighbor that is at the other end of an eligible link) that is not matched with another node, then choose any one randomly, say m, and match them with each other. After this operation n and m are said to be matched. Otherwise stop.
At the end of this algorithm, those links that have matched end nodes, say (n, m), will be scheduled to either exchange congested information or transmit c(n,m) packets within slot t, (t) i.e. Pcnm = πnm (t) = 1. It is easy to see that the algorithm (n,m) will result in a set of scheduled links that is a maximal matching of G, because any node can be matched with at most one other node, and no pair of unmatched nodes with a packet to transmit is left at the end. The ǫs parameter is included in this algorithm to assure a positive probability of activating a link even if it has no backlogged packet, and hence, allow its nodes to exchange congestion information occasionally. Note that for every (n, m) ∈ L with Qnm (t) ≥ c(n,m) , with high probability, the scheduling rule π(t) is a maximal matching and satisfies X πhk (t) ≥ 1. (6) {(h,k)∈Υnm }
Also, notice that the MM algorithm is performed using the lengths of the actual queues, not the lengths of the regulator buffers. The following fact is due to [23]. Fact 3: For the multi-hop wireless network model introduced above, the Regulated MM Scheduling Algorithm can achieve stability if the set of mean arrival rates of the flows, x, satisfies X
l∈E(n)
P
f ∈F
Hlf xf
cl
≤
1 3
∀n ∈ N .
6 A matching is said to be maximal if it is a matching and no new link can be added to the set without losing the matching property.
C. Problem Statement Given the above model, our goal is to have the mean flow rate vector x⋆ ≥ 0 satisfy: X x⋆ ∈ arg max Uf (xf ) (7) f ∈F
s.t.
X X xf f 1 Hl ≤ cl 3
l∈E(n) f ∈F
∀n ∈ N ,
provided that the regulators and the queues are kept stable. The strict concavity assumption of the utility functions implies that x⋆ is unique. We note that the constraint set of this optimization problem contains Λ/3 due to Fact 1. In (7), we have formulated the wireless network rate allocation problem as an optimization problem by taking the interference and distributed scheduling constraint into account. Such an approach has been taken for our interference model in [15], [16] before. However, it is assumed in these works that the current rate of each source and the current price of each node are immediately available at all the nodes. Obviously, in an actual operation, such information can only be conveyed along with the data transmissions, and hence is delayed by random amounts for each source-node pair. Updates with bounded delays have been taken into account in [9] in the wireline and [29] in the wireless setting, but in our work we link the delay to the scheduler and also allow for unbounded delays as long as the updates occur infinitely often. Let us describe a new optimization problem whose optimum point converges to x⋆ . For any ǫ > 0, let X x⋆ (ǫ) ∈ arg max Uf (xf ) (8) f ∈F
s.t.
X X xf f 1 H ≤ −ǫ cl l 3
l∈E(n) f ∈F
∀n ∈ N .
It is not difficult to see that x⋆ (ǫ) → x⋆ as ǫ → 0. We introduced this new problem to make sure that the optimum point lies strictly inside the feasible region of (7). This is necessary to ensure that the queues and the regulators are stable as will be discussed in Section III. In the remainder of this paper, we will propose a congestion controller mechanism that operates on top of the Regulated MM Scheduler that will provide mean rates that are arbitrarily close to x⋆ . Furthermore, we incorporate all the asynchronous components that exist in the operation of the system. In particular, we model the random nature of the scheduling operation, which results in potentially unbounded delays in the information communication between different components of the network. Noting that information feedback is critical in the operation of our congestion controller, it is crucial to answer the question as to whether the asynchronism inherent in the network will significantly affect the performance. III. C ONTINUOUS - TIME F LUID M ODEL A NALYSIS In this section, we consider a continuous-time, deterministic fluid model of the system, in which all stochastic processes are approximated by their mean values. In Section III-A, we introduce a congestion control algorithm for this fluid model,
IEEE/ACM TRANSACTIONS ON NETWORKING
5
and analyze its convergence properties. Then, in Section IIIB, we describe a heuristic continuous-time version of the scheduler described in Section II-B and prove its stabilizing characteristics. We will build upon these analyses later to investigate the asynchronous, discrete-time algorithm. A. Continuous-time Congestion Controller We start by noting that the optimization problem in (8) can be solved by using Lagrange multipliers. The Lagrangian and the Dual functions of the problem (8) are: X X Lǫ (x, µ) = Uf (xf ) − {µn
that we can rewrite (10) and the complementary slackness condition (9) in terms of p⋆ (ǫ) and q⋆ (ǫ): ⋆ qf (ǫ) ′−1 x⋆f (ǫ) = Uf L + X X x⋆f (ǫ) f 1 Hl − −ǫ , (12) 0 = cl 3 l∈E(n) f ∈F
p⋆ n (ǫ)
where we define (y)+ z to be equal to y if z > 0 or y > 0, and zero if y ≤ 0 and z = 0. The congestion control algorithm for the fluid model is described as follows. f ∈F n∈N C ONGESTION C ONTROLLER - C ONTINUOUS - TIME X X xf f 1 At time t, H − −ǫ , × ′−1 qf (t) cl l 3 . Source f computes: xf (t) = Uf l∈E(n) f ∈F L Node n computes: Dǫ (µ) = max Lǫ (x, µ) x≥0 + X X X X x (t) 1 f µn + µm p˙n (t) = , Hlf − −ǫ = max Uf (xf ) − xf cl 3 xf ≥0 c(n,m) f ∈F l∈E(n) f ∈F (n,m)∈R(f ) pn (t) X 1 where + −ǫ µn , 3 X n pn (t) + pm (t) △ q (t) = . (13) f c(n,m) where µn is the Lagrange multiplier associated with the nth (n,m)∈R(f ) constraint of (8), and R(f ) is the set of links which are along Notice that here we have assumed synchronous computation: the route of flow f. Then the dual optimization problem to (8) is given by information updates at the sources and the nodes occur inminµ≥0 Dǫ (µ). It can be shown that for the problem we stantaneously and simultaneously at each time instant. In later consider, there is no duality gap [30]. Thus, there exists a sections, when considering the discrete-time model, we will nonempty set of Lagrange multipliers,PΞǫ , any element (say remove this key assumption and develop a fully asynchronous µ⋆ (ǫ)) of which satisfies Dǫ (µ⋆ (ǫ)) = f Uf (x⋆f (ǫ)). But for algorithm for congestion control. Nevertheless, the analysis of the continuous-time system will be useful in understanding the any feasible x of the primal problem (8), we must have: more realistic model. Next, we state the theorem that proves X X X xf f 1 the convergence properties of the congestion controller. ⋆ µn (ǫ) H − − ǫ ≤ 0, Theorem 1: For any ǫ > 0, starting from any initial p(0), cl l 3 n∈N l∈E(n) f ∈F x(t) eventually reaches x⋆ (ǫ) as t → ∞. because the expression in the parenthesis can never be positive Proof: Consider the Lyapunov function: for a feasible rate vector, and µ⋆ (ǫ) is a non-negative vector. 1X Thus, we must have x⋆ (ǫ) as the optimizer of the Lagrangian V (p; p⋆ (ǫ)) = (pn − p⋆n (ǫ))2 , 2 ⋆ ⋆ ⋆ n Lǫ (x, µ (ǫ)), and also have the pair (x (ǫ), µ (ǫ)) satisfy: which is defined for some p⋆ (ǫ) ∈ Ψǫ . For notational X X X x⋆f (ǫ) f 1 ⋆ convenience, we will occasionally use p⋆ and x⋆ instead of µn (ǫ) Hl − −ǫ = 0, (9) cl 3 ⋆ ⋆ p (ǫ) and x (ǫ). Then, the time derivative of this function at n∈N l∈E(n) f ∈F t satisfies which is also called the complementary slackness condition in X the optimization literature. From the Lagrangian, it is easy to V˙ (p(t), p⋆ ) = {(pn (t) − p⋆n )× ⋆ ⋆ see that (x (ǫ), µ (ǫ)) should also satisfy: n + ⋆ ⋆ X X xf (t) f X ′−1 1 µ (ǫ) + µ (ǫ) n m ⋆ . Hl − −ǫ . (10) xf (ǫ) = Uf cl 3 c(n,m) l∈E(n) f ∈F (n,m)∈R(f ) pn (t)
△
Let us define p⋆ (ǫ) and q⋆ (ǫ) as follows: p⋆n (ǫ) = Lµ⋆n (ǫ), X p⋆n (ǫ) + p⋆m (ǫ) △ qf⋆ (ǫ) = , (11) c(n,m) (n,m)∈R(f )
where L is some multiplicative factor. We define Ψǫ = LΞǫ , i.e., if µ⋆ (ǫ) ∈ Ξǫ then the corresponding p⋆ (ǫ) ∈ Ψǫ . Notice
We first consider the case when p(t) ∈ Ψǫ : note that the rate vector associated with p(t) has to be the unique optimizer of (8), i.e. x⋆ (ǫ). But, by utilizing the complementary slackness condition provided in (12) we can easily conclude that V˙ (p(t), p⋆ ) = 0
for all p(t) ∈ Ψǫ .
(14)
IEEE/ACM TRANSACTIONS ON NETWORKING
6
Next, we consider V˙ (p(t), p⋆ ) for any p(t) ≥ 0 : define ⋆ △ X X xf △ X X xf (t) f yn (t) = Hl , yn⋆ = H f . (15) cl cl l l∈E(n) f ∈F
l∈E(n) f ∈F
Then we have: V˙ (p(t), p⋆ ) = ≤ =
+ 1 −ǫ (pn (t) − yn (t) − 3 p (t) n n X 1 (pn (t) − p⋆n ) yn (t) − −ǫ 3 n X (pn (t) − p⋆n ) (yn (t) − yn⋆ ) X
By Fact 2, we have Ω ⊂ Λ2 . Moreover, we know that the optimum point x⋆ (ǫ) is strictly inside Ω. Thus, x⋆ (ǫ) is strictly inside the half of the capacity region Λ2 . The evolution of the scheduler’s queues in continuous-time can be described as follows. S CHEDULER - C ONTINUOUS - TIME
p⋆n )
n
X 1 + (pn (t) − p⋆n ) yn⋆ − −ǫ , 3 n
where the inequality follows from the fact that if pn (t) = 0 + 1 1 and yn (t) − 3 − ǫ ≤ 0, then yn (t) − 3 − ǫ pn (t) = 0. + Otherwise, yn (t) − 31 − ǫ pn (t) = yn (t) − 31 − ǫ . Also, from the complementaryslackness condition, we have that if p⋆n > 0, then yn⋆ = 13 − ǫ . Otherwise, if p⋆n = 0, then yn⋆ ≤ 31 − ǫ . This fact implies that X 1 −ǫ ≤ 0. (16) (pn (t) − p⋆n (ǫ)) yn⋆ (ǫ) − 3 n Therefore, P V˙ (p(t), p⋆ ) ≤ n (pn (t) − p⋆n ) (yn (t) − yn⋆ ) X X X xf (t) − x⋆f f = (pn (t) − p⋆n ) Hl cl n l∈E(n) f ∈F X X pn (t) + pm (t) = xf (t) − x⋆f c(n,m) f (n,m)∈R(f ) X p⋆n + p⋆m − c(n,m) (n,m)∈R(f ) X = xf (t) − x⋆f qf (t) − qf⋆
+ f f R˙ nm (t) = Pnm (t) − xf (t) + Kfn + 1 ǫr Rf
nm (t)
Q˙ fnm (t) =
L
X f
≤
0,
xf (t) − x⋆f
Uf′ (xf (t)) − Uf′ (x⋆f )
with strict inequality when p(t) ∈ / Ψǫ , due to the strict concavity assumption of Uf (·). Then, by combining this result with (14) and by invoking LaSalle’s theorem [31, Theorem t→∞ t→∞ 4.4], we conclude that p(t) −→ Ψǫ and hence x(t) −→ x⋆ (ǫ). B. Continuous-time Scheduler In this subsection we show that the Regulated MM Scheduling Algorithm, along with the Congestion Control Algorithm described in previous subsection, can achieve stability. Recall that Λ denotes the capacity region of the network. Define P f X H x 1 f ∈F l f Ω= x: ≤ , ∀n ∈ N . cl 3 l∈E(n)
+ f xf (t) + Kfn ǫr IRf·n (t)>0 − Pnm (t) f
Qnm (t)
(18) where Kfn is the hop number of node n along the path of flow f . Note that this number is upper-bounded by Nmax where Nmax is the maximum number of nodes along any flow’s path. Notice that in the fluid model, the scheduling rule π(t) satisfies the condition (6) for every (n, m) ∈ L with Qnm (t) > 0. Theorem 2: Starting from any initial R(0) and Q(0), we have (R(t) + Q(t)) → 0 as t → ∞. Proof: The proof uses the fact that x⋆ (ǫ) lies strictly inside half of the capacity region Λ2 , and a Lyapunov argument that is based on the discrete-time analysis of [23]. The details are moved to Appendix A. IV. D ISCRETE - TIME , A SYNCHRONOUS M ODEL A NALYSIS In this section, we return to the discrete-time system model. Here we do not assume synchronous computation which is unrealistic in an actual network. Next, we describe and analyze the discrete-time congestion controller mechanism. A. Description of the Congestion Controller We assume that when two nodes are matched by the MAC layer scheduler, the relevant price and flow rate information is shared between them. Therefore, the information updates at the sources and the nodes are asynchronous. Then, let us consider the following asynchronous congestion controller.
f
=
(17)
C ONGESTION C ONTROLLER - D ISCRETE - TIME At the beginning of each time slot, t,n o ′−1 qf (τ f (t)) Source f computes: xf (t) = min M, Uf . L Node n computes: X X xf (τf(n) (t)) f pn (t + 1) = pn (t) + Hl cl l∈E(n) f ∈F + 1 − −ǫ , 3 where △
qf (τ f (t)) =
X
(n,m)∈R(f )
f pn (τnf (t)) + pm (τm (t)) , c(n,m)
(19)
and M > 2 max{cl }. Here we define τnf (t) ∈ [0, t] to be the l∈L
time slot at which the price information of node n (pn (·)) was sent, given that it is received or kept at source f at slot (n) t. And similarly, τf (t) ∈ [0, t] is the time slot at which the
IEEE/ACM TRANSACTIONS ON NETWORKING
7
rate information of source f (xf (.)) was sent, given that it is received or kept by node n at slot t. Further, let τ f (t) be the vector of τnf (t) for source f at time t, and also, τ (n) (t) be the (n) vector of τf (t) for node n at time t. Finally, L is a positive constant. We are interested in the behavior of the system when L is large. Also, let us introduce the notation: yn (τ
(n)
△
(t)) =
X X xf (τf(n) (t))
l∈E(n) f ∈F
cl
Hlf .
(20)
Notice that qf (τ f (t)) (defined in (19)) is the estimated price of flow f ’s path at time t which is computed using delayed versions of the actual prices. On the other hand, qf (t) (defined in (13)) assumes the instantaneous knowledge of all the prices on flow f ’s path. Similar interpretation holds for yn (τ (n) (t)) and yn (t) (defined in (20) and (15)). This model contains the essential components of the asynchronous operation of the network, and is referred to as “Totally Asynchronous” in [24]. Specifically, the amount of time it takes for the flow rate and node price information to reach any node or a source is captured by an unbounded random variable. In the next section, we will prove that it asymptotically solves the resource allocation problem described in (8) under the totally asynchronous model described above. B. Analysis of the Congestion Controller (n) Let ∆(t) be the vector {|t − τnf (t)|, |t − τf (t)|}(n,f ) , and (n) define τm (t) = minn,f {τnf (t), τf (t)}. Also, let P(t) be the sequence of vectors (p(t), p(t − 1), · · · , p(τm (t))). Then
(P(t), ∆(t)) forms the state of a Markov chain. Consider the Lyapunov function, V (·), used in the continuous-time analysis (Theorem 1). For notational convenience, we will generally omit the ǫ term in our analysis. However, we will make the main statements with ǫ. The following theorem characterizes the drift of this Lyapunov function. Theorem 3: The mean drift satisfies: △
E[V (p(t + 1)) − V (p(t)) | P(t), ∆(t)] δ 2 ˆ ˆ (21) ≤ − γ kq(t) − q⋆ (ǫ)k + Ck∆(t)k +B L ˆ B ˆ < ∞, γ ∈ (0, 1) and δ > 0. Here, for some constants C, k · k denotes Euclidean distance. ˜ B ˜ < ∞, and σ > 0 such Furthermore, there exist some C, that E[∆Vt ] =
2 ˜ ˜ −σLkˆ x(t) − x⋆ (ǫ)k2 + Ck∆(t)k + B(22) n o ′−1 qf (t) , i.e., it is where we define x ˆf (t) = min M, Uf L the rate of flow f at time t if all the price information were instantaneously available at the sources. Before we provide the proof of Theorem 3 we give several lemmas that will be used in the proof. First, we observe that t − τnf (t) is the amount of time it takes for node n’s price (n) information to reach source f . Similarly, t − τf (t) is the amount of time it takes for the source f ’s rate information to reach node n. These are random variables that depend on the
E[∆Vt ] ≤
matchings chosen in the operation of the scheduler. To ensure that each matching is chosen at least once with a positive probability, recall that we slightly modified the MM Scheduler used in [21], [23] in Section II. Specifically, when the maximal matchings are being determined, with a very small probability, we allow each node to pick a link that does not have any packets to transmit in line. We now establish the following result for the delays in exchanging price and rate information. Lemma 1: There exists a constant D such that P t − τnf (t) > T D ≤ e−ν(D)T ∀n, f (n) P t − τf (t) > T D ≤ e−η(D)T
∀n, f
where ν and η are some positive numbers depending on D. Proof: Recall that M is a finite set containing all the possible matchings. Also, let Snf denote the sequence of matchings needed to transmit the price information from node (n) n to source f , and similarly, Sf denote the sequence of matchings needed to transmit the rate information from source f to node n. Since each node tries to connect to all of its neighbors with some positive probability, ǫs , we have: P(Mi occurs at time t) ≥ δ, for all i, and for some δ > 0. Hence, for each (n, f ) pair, we can state that f P Snf occurs in an interval of length |Snf | ≥ δ |Sn | > 0. (n)
A similar argument holds for any Sf as well. Let us define P (n) f D = n,f |Sn | + |Sf |, and let X be a random variable (n) that equals 1 when all the matchings in Snf and Sf occur in the right order within the first D slots. Otherwise, X is equal to 0. Then, due to the above discussion, we can find some ˆ which denotes the δˆ ∈ (0, 1) such that P (X = 0) ≤ (1 − δ), probability that at least one of the nodes (or sources) has not received any rate (or price) update from one of the sources (or nodes) within the last D slots. Thus, we have ˆ P t − τnf (t) > D ≤ (1 − δ) ∀n, f (n) ˆ P t − τf (t) > D ≤ (1 − δ)
∀n, f.
Next, suppose we look over T D slots. Let Xi , i = 1, · · · , T be the associated Bernoulli random variable for the ith block of duration D. Then P t − τnf (t) > T D =
T Y
P (Xi = 0)
i=1
ˆ T = e−ν(D)T (1 − δ) ∀n, f. (n) A similar argument applies to t − τf (t) , which completes the proof with appropriately defined ν(D) and η(D) parameters. The following two lemmas yield two different upper bounds on similar expressions, and will be useful for the proof of Theorem 3. ≤
IEEE/ACM TRANSACTIONS ON NETWORKING
8
Lemma 2: Given any B < ∞, we can find some γ ∈ (0, 1) such that for L large enough, we have X qf (t) − qf⋆ (ˆ xf (t) − x⋆f ) B+ f
δ ≤ − γ kq(t) − q⋆ kIkq(t)−q⋆ k≥ωLγ + ζIkq(t)−q⋆ k≤ωLγ L where δ, ζ and ω are positive constants which are independent of L. Proof: This statement is proved in [12] for a large class of utility functions and for the case of a single transmitter transmitting to many receivers. Here, we consider the multihop scenario and further generalize the utility functions. Nevertheless, the arguments are very similar to those in [12] and are moved to Appendix B. Lemma 3: We have X qf (t) − qf⋆ (ˆ xf (t) − x⋆f ) ≤ −σLkˆ x(t) − x⋆ k2 , f
where σ is a positive constant which is independent of L. xf (t)) Proof: We start by adding and subtracting LUf′ (ˆ into the first factor within the summation, which yields X qf (t) − qf⋆ (ˆ xf (t) − x⋆f ) f
=
X f
+
qf (t) − LUf′ (ˆ xf (t)) (ˆ xf (t) − x⋆f )
X f
(23)
xf (t) − x⋆f ). (24) LUf′ (ˆ xf (t) − LUf′ (x⋆f ) (ˆ
We will analyze the terms (23) and (24) separately. We claim that (23)≤ 0. To see this, we first note that, if x ˆf (t) < M, then qf (t) = LUf′ (ˆ xf (t)) and hence we have qf (t) − LUf′ (ˆ xf (t)) (ˆ xf (t) − x⋆f ) = 0.
If, on the other hand, we have x ˆf (t) = M > x⋆f , then qf (t) < ′ LUf (ˆ xf (t)) which implies that qf (t) − LUf′ (ˆ xf (t)) (ˆ xf (t) − x⋆f ) ≤ 0.
Combining these two observations proves our claim. Next, we turn our attention to (24). We start by noting that LUf′ (ˆ xf (t) − LUf′ (x⋆f ) (ˆ xf (t) − x⋆f ) ′ = −L Uf (ˆ xf (t) − Uf′ (x⋆f ) |ˆ xf (t) − x⋆f |, (25)
which follows from the strict concavity assumption on Uf (·). Also, due to Taylor expansion, we can find some yf (t) between x ˆf (t) and x⋆f for which, Uf′ (ˆ xf (t)) − Uf′ (x⋆f ) = (ˆ xf (t) − x⋆f )Uf′′ (yf (t)).
Using the assumption in (1), we can thus claim that there exists some σ > 0 which yields ′ ′ ⋆ U (ˆ xf (t) − x⋆f |. f xf (t)) − Uf (xf ) ≥ σ|ˆ
Substituting this into (25) and then (25) into (24) yields the result. Proof (Theorem 3): Notice that we can write 1 n pn (t + 1) = pn (t) + yn (τ (t)) − − ǫ + un (t), 3
where un (t) is a non-negative parameter that assures the nonnegativity of pn (t + 1). We first start by showing that we can ignore the un (t) term in the iteration. Towards this end, we can write (pn (t + 1) − p⋆n )2 = 2 1 (n) ⋆ − ǫ − pn (26) pn (t) + yn (τ (t)) − 3 1 +2 pn (t) + yn (τ (n) (t)) − −ǫ un (t) (27) 3 +u2n (t) (28) −2un (t)p⋆n ,
(29)
for any n. Since p⋆n , un (t) ≥ 0, we have (29)≤ 0. We also claim that (27)+(28) ≤ 0. To see this, we observe that: un (t) = 0 if pn (t) + yn (τ (n) (t)) − 31 − ǫ > 0, and that un (t) = −(pn (t) + yn (τ (n) (t)) − 13 − ǫ ) if un (t) > 0. These two observations imply that (27)+(28) = −u2n (t) ≤ 0. This proves that (pn (t + 1) − p⋆n )2 ≤ (26). By using this result in the definition of ∆Vt we get E[∆Vt ] 2 1 1X (n) ≤ yn (τ (t)) − −ǫ 2 n 3 X 1 + (pn (t) − p⋆n ) yn (τ (n) (t)) − −ǫ 3 n X 1 ⋆ (n) −ǫ ≤ B+ (pn (t) − pn ) yn (τ (t)) − 3 n h i X = B+ (pn (t) − p⋆n ) yn (τ (n) (t)) − yn⋆ n
(a)
≤
=
1 ⋆ + (pn (t) − yn − −ǫ 3 n h i X B+ (pn (t) − p⋆n ) yn (τ (n) (t)) − yn⋆ X
B+
p⋆n )
n X n
+
X n
(pn (t) − p⋆n ) [yn (t) − yn⋆ ]
h i (pn (t) − p⋆n ) yn (τ (n) (t)) − yn (t) ,
for some constant B, where inequality (a) follows from (16). Now, the second term: P looking at ⋆ (p (t) − p ) (yn (t) − yn⋆ ) n n n X X X xf (t) − x⋆f f Hl = (pn (t) − p⋆n ) c l n l∈E(n) f ∈F X X pn (t) + pm (t) = xf (t) − x⋆f c(n,m) f (n,m)∈R(f ) X p⋆ + p⋆ (t) n m − c(n,m) l∈R(f ) X = xf (t) − x⋆f qf (t) − qf⋆ f
=
X f
qf (t) − qf⋆ (xf (t) − x ˆf (t))
IEEE/ACM TRANSACTIONS ON NETWORKING
+
X
qf (t) − qf⋆
f
9
x ˆf (t) − x⋆f .
Therefore, we can rewrite the upper bound of E[∆Vt ] as: E[∆Vt ] X ≤ B+ qf (t) − qf⋆ x ˆf (t) − x⋆f (30) f
+
X f
+
X n
qf (t) − qf⋆ (xf (t) − x ˆf (t))
(31)
h i (pn (t) − p⋆n ) yn (τ (n) (t)) − yn (t) , (32)
n o ′−1 qf (τ f (t)) where we recall that xf (t) = min M, Uf and L o n ′−1 qf (t) . x ˆf (t) = min M, Uf L By the Lemma 2, we know that for some γ ∈ (0, 1), (30) ≤
δ kq(t) − q⋆ kIkq(t)−q⋆k≥ωLγ Lγ +ζIkq(t)−q⋆ k≤ωLγ −
(33)
Alternatively, by Lemma 3, we can write (30) ≤
−σLkˆ x(t) − x⋆ k2 + B.
(34)
Next, let us consider (31). From the Taylor’s expansion, q (t) − q (τ f (t)) f f |xf (t) − x ˆf (t)| ≤ ′′ L.Uf (˜ x)
for some x ˜ ∈ [0, M ]. ¯ < ∞ which It is not difficult to see that we can find some B ¯ satisfies |pn (t) − pn (t − 1)| ≤ B, ∀n. Then we have: ˆf (t)) qf (t) − qf⋆ (xf (t) − x qf (τ f (t)) ⋆ qf (t) − ≤ qf (t) − qf L Uf′′ (˜ x) 2Nmax pn˜ (f ) (t) − pn˜ (f ) (τn˜f(f ) (t)) ⋆ ≤ qf (t) − qf L Uf′′ (˜ x) c˜l(f ) f ¯ 2N B − τ (t) t max n ˜ (f ) ⋆ ≤ qf (t) − qf L Uf′′ (˜ x) c˜l(f ) ¯ t − τ f (t) 2Nmax B n ˜ (f ) ≤ qf (t) − qf⋆ (35) L Uf′′ (˜ x) where Nmax is the maximum number of nodes along any flow’s path, and pn (t) − pn (τnf (t)) ˜ . (l(f ), n ˜ (f )) = arg max cl l∈R(f ),n∈l
Here the notation n ∈ l means that link l is incident on node △ n. To simplify the notation, let us define ∆tf = t − τn˜f(f ) (t) . Noting that because p⋆n = Lµ⋆n and qf⋆ satisfies (11), we have qf⋆ = ̺L for some constant ̺. Then, for each flow f , we get the following cases:
Case 1: qf (t) ≤ LUf′ (M ). Using the condition (1) on utility functions, we have: ¯ t 2Nmax B∆ f (35) = qf (t) − qf⋆ ′′ L Uf (˜ x) ¯ t 2mNmax B∆ f ≤ L Uf′ (M ) + ̺ = C1 ∆tf , L ¯ < ∞. where the constant C1 = 2 Uf′ (M ) + ̺ mNmax B Case 2: LUf′ (M ) < qf (t) ≤ qf (τ f (t)). Then, x˜ = ′−1 q Uf ( L˜ ) for some qf (t) ≤ q˜ ≤ qf (τ f (t)). Also, ′−1 from the ′′ condition (2) on utility functions, we have: Uf Uf ( Lq˜ ) ≥ c1 Lq˜ for some constant c1 > 0. Therefore,
¯ t 2Nmax B∆ f ′′ ′−1 q ˜ L Uf Uf ( L ) ¯ t qf⋆ 2qf (t)Nmax B∆ f ≤ 1 − q˜ qf (t) Lc1 L ¯ t ̺ 2NmaxB∆ f ≤ 1 + ′ = C2 ∆tf , Uf (M ) c1 2Nmax B¯ ̺ where the constant C2 = 1 + U ′ (M) < ∞. c1 (35) =
qf (t) − qf⋆
f
Case 3: LUf′ (M ) < qf (τ f (t)) < qf (t). Then, x˜ = ′−1 q Uf ( L˜ ) for some qf (τ f (t)) ≤ q˜ ≤ qf (t). And we have: (35) =
≤ ≤ ≤ = where the
¯ t 2Nmax B∆ f ′′ ′−1 q ˜ L Uf Uf ( L ) ¯ t 2Nmax B∆ f qf (t) − qf⋆ q (τ f (t)) Lc1 f L ¯ q⋆ 1 − f 2Nmax B qf (t) ∆tf qf (t) c qf (τ f (t)) 1 " # ¯ qf (t) − qf (τ f (t)) ̺ 2Nmax B + 1 ∆tf 1 + ′ Uf (M ) c1 Uf′ (M )L 2 C3 ∆tf + C2 ∆tf , L 2 (2Nmax B¯ ) ̺ constant C3 = 1 + U ′ (M) c1 U ′ (M) < ∞. qf (t) − qf⋆
f
f
Case 4: qf (τ f (t)) ≤ LUf′ (M ) < qf (t). Also using the condition (1) on the utility functions, ¯ t 2mNmax B∆ f (35) ≤ qf (t) − qf⋆ L ≤ qf (t) − qf (τ f (t)) + qf (τ f (t)) − qf⋆ × ¯ t 2mNmax B∆ f
L
¯ t 2mNmax B∆ f ¯ t + L U ′ (M ) + ̺ Nmax B∆ f f L 2 C4 = ∆tf + C5 ∆tf , L ¯ 2 < ∞, and C5 = where the constant C4 = 2m Nmax B ¯ U ′ (M ) + ̺ < ∞. 2mNmax B f ≤
IEEE/ACM TRANSACTIONS ON NETWORKING
10
Thus, combining the four cases by defining C6 max{C3 , C4 } and C7 = max{C1 , C2 , C5 }, we have X C6 X t 2 (31) ≤ ∆f + C7 ∆tf . L f
=
f
Finally, we consider (32). Recall that
yn (τ (n) (t)) − yn (t) =
X X xf (τf(n) (t)) − xf (t)
l∈E(n) f ∈F
cl
Hlf .
Then we can write (32) as h i X (pn (t) − p⋆n ) yn (τ (n) (t)) − yn (t) n
≤ ≤
X X X xf (τf(n) (t)) − xf (t) f |pn (t) − p⋆n | Hl cl l∈E(n) f ∈F n (n) x X fˆ(n) (τfˆ(n) (t)) − xfˆ(n) (t) , |pn (t) − p⋆n | 2Fmax cˆl(n) n
where Fmax is the maximum number of flows which go through any node, and xf (τ (n) (t)) − xf (t) f f (ˆl(n), fˆ(n)) = arg max Hl . l∈E(n),f ∈F cl Also, for every flow f that goes through node n, we always have pn ≤ qf . Therefore, X 2Fmax (32) ≤ (t) + p⋆n qf(n) ˆ c ˆ l(n) n (n) × xfˆ(n) (τfˆ(n) (t)) − xfˆ(n) (t) X ≤ 2Fmax qfˆ(n) (t) + p⋆n n (n) × xfˆ(n) (τfˆ(n) (t)) − xfˆ(n) (t) . Let
p (t) − p (τ fˆ(n) (t)) m m m (¯l(n), n ¯ (n)) = arg max , ˆ c l l∈R(f (n)),m∈l △ fˆ(n) and ∆tn = t − τn¯ (n) (t) . Then, using a similar technique as in the analysis of (31), we can finally argue that: X C8 X t 2 (32) ≤ ∆n + C9 ∆tn L n n for some constants C8 , C9 < ∞. Thus, if we use the upper bound in (33), we have: E [∆Vt ]
Instead, if we use the upper bound in (34), we get 2 ˜ + Ck∆(t)k ˜ E [∆Vt ] ≤ −σLkx(t) − x⋆ k2 + B .
This completes the proof of Theorem 3. Corollary 1: T −1 1 X kq(t) − q⋆ (ǫ)k B E ≤ lim sup L δL1−γ T →∞ T t=0 Proof: We start by taking the expectation of both sides of the expression (21) over P(t), and then over ∆(t): E[V (p(t + 1)) − V (p(t)) | ∆(t)] δ 2 ˆ ˆ E [kq(t) − q⋆ (ǫ)k | ∆(t)] + Ck∆(t)k +B Lγ E[V (p(t + 1)) − V (p(t))] ≤ −
δ ˆ k∆(t)k2 + B ˆ E [kq(t) − q⋆ (ǫ)k] + CE γ L Then apply the Lemma 1: h X 2 i E t − τnf (t) ≤ (T D)2 e−ν(D)T ≤ −
T 2
= D
X
(T )2 e−ν(D)T = C10
T
for some constant C10 < ∞. We can also obtain the similar bound: 2 X (n) E t − τf (t) ≤ D2 (T )2 e−η(D)T T
= C11
for some constant C11 < ∞. Therefore, we will have E k∆tk2 is bounded by some constant C < ∞, or E[V (p(t + 1)) − V (p(t)) | τ (t)] ≤
−
δ ˆ +B ˆ E [kq(t) − q⋆ (ǫ)k] + CC Lγ
ˆ and we vary t from 0 up to T : Let B = C Cˆ + B, E [V (1) − V (0)] ≤
−
δ E[kq(0) − q⋆ (ǫ)k] + B Lγ
.. . δ E[kq(T − 1) − q⋆ (ǫ)k] + B Lγ Therefore, adding both sides of the inequalities and rearranging the terms, we get E [V (T ) − V (T − 1)] ≤
−
T 1 X E[kq(t) − q⋆ (ǫ)k] ≤ T t=0
E [V (0) − V (T )] Lγ BLγ + Tδ δ
E [V (0)] Lγ BLγ δ ≤ + ≤ − γ kq(t) − q⋆ kIkq(t)−q⋆k≥ωLγ + ζIkq(t)−q⋆ k≤ωLγ Tδ δ L X Taking the lim sup as T goes to infinity yields the result. X C6 2 2 C8 + ∆tf + C7 ∆tf + ∆tn + C9 ∆tn Similarly, we can get an upper bound on the rate vectors. L L n f Corollary 2: δ ⋆ 2 ˆ + Ck∆(t)k ˆ T −1 ≤ − γ kq(t) − q k + B , B 1 X L lim sup E kˆ x(t) − x⋆ (ǫ)k2 ≤ L T →∞ T t=0 ˆ Cˆ < ∞. for some B,
IEEE/ACM TRANSACTIONS ON NETWORKING
11
Proof: The proof follows the exact same arguments as in Corollary 1, applied to (22). Corollaries 1 and 2 respectively argue that as L increases, q(t) ⋆ L and x(t) tend to Ξǫ and x (ǫ) in the stated sense. Next, we have the result for the positive recurrence of the Markov chain. Theorem 4: The Markov chain (P(t), ∆(t)) is irreducible, aperiodic and positive recurrent. Proof: It is easy to see that this Markov chain is irreducible and aperiodic. From the result of Corollary 1, we can find some B1 < +∞ such that lim sup T →∞
1 T
T −1 X t=0
(36)
If the Markov chain (P(t), ∆(t)) is not positive recurrent, t−τ Xm X X t − τ f (t) lim P pn (t − i) + n i=0
+
n
n,f
X (n) ˆ = 0, t − τf (t) ≤ M n,f
=
∞ X
P (∆t = τ ) P (∆t + 1)
τ =0
ˆ > 0. ∀M
pn (t)
∆t(∆t + 13) ˆ |∆t = τ >M 6 ∞ R X X P (∆t = τ ) + P (∆t = τ ) +N
≤
X n
τ =0
τ =R
P (R + 1)
X n
E [kq(t)k] ≤ B1 Lγ .
Thus, there exists some B2 < +∞ such that " # T −1 X 1 X lim sup E pn (t) ≤ B2 Lγ . T →∞ T t=0 n
t→∞
P ˆ Also, P (∆t + 1) n pn (t) + N ∆t(∆t+13) > M 6
N R(R + 13) ˆ pn (t) + >M 6
!
Notice that P (∆t = τ ) is exponentially decayed (see Lemma 1). Hence, for every δ ∈ (0, 1), we can find a R such P∞ ˜ = Mˆ − N R(R+13) . that τ =R P (∆t = τ ) < δ. Also, let M R+1 6(R+1) Finally, we get ! X ˜ ≥ 1 − ǫ − δ, P pn (t) > M ∀t ≥ K. n
Therefore, " # T −1 X (T − K) ˜ 1 X E pn (t) ≥ lim M (1 − ǫ − δ) lim sup T →∞ T T T →∞ n t=K
˜ (1 − ǫ − δ) =M
That means, for every ǫ ∈ (0, 1), we can find a K such that t−τ X Xm X t − τnf (t) P pn (t − i) +
ˆ , ǫ, δ such that M ˜ (1 − ǫ− δ) > B2 Lγ , then we get a Choose M contradiction with (36). Thus, the Markov chain (P(t), ∆(t)) is positive recurrent.
∀t ≥ K.
In this section, based on the analysis in Sections III-B and IV-B, we provide a brief discussion as to why the regulators and the queues are stable for the asynchronous, discrete-time model. Recall that in Theorem 2, we proved the stability of the continuous-time, fluid model system (see (37) in the Appendix) by using the fact that x(t) will stay inside a δ neighborhood of x⋆ (ǫ) for t large enough. Subsequently, in Section IV-B, we proved that x(t) of the asynchronous, discrete-time model can be made to be arbitrarily close to x⋆ (ǫ) in an asymptotic and expected manner (c.f. Corollary 2). Moreover, in Theorem 4, we proved the positive recurrence of the Markov chain and can consequently assume that the arrival processes are stationary. In fact, by using Jensen’s inequality and ergodic theorem [32], we can argue that for any ǫ˜ > 0, and k ≥ 0, r k+T −1 1 X X B ⋆ lim sup E |xf (t) − xf (ǫ)| ≤ + ǫ˜ L T →∞ T
n
i=0
n,f
X (n) ˆ ≥ 1 − ǫ, + t − τf (t) > M n,f
Also, pn (t) − △
ˆ . Let us define ≤ pn (t + 1) ≤ pn (t) + M
1 3
∆t = t − τm , then we have: t−τ Xm X i=0
n
pn (t − i) +
≤ (t − τm + 1) = (∆t + 1)
X n
X
X X (n) t − τ f (t) + t − τ (t) n
n,f
f
n,f
pn (t) + N
n
t−τ Xm i=0
i + 2N (t − τm ) 3
∆t(∆t + 1) pn (t) + N + 2N ∆t 6
where N is the number of all flows and nodes in the network. Therefore, ∀t ≥ K, ! X ∆t(∆t + 13) ˆ P (∆t + 1) pn (t) + N >M 6 n t−τ Xm X X t − τnf (t) ≥ P pn (t) + i=0
n
n,f
X (n) ˆ ≥ 1 − ǫ. + t − τf (t) > M n,f
V. D ISCUSSION
t=k
ON THE
S TABILITY
OF THE
S YSTEM
f
Hence, given any δ˜ > 0, we can choose ǫ and ǫ˜ small enough, and T and L large enough, so that for any k ≥ 0, 1 T
k+T X−1 t=k
˜ E |xf (t) − x⋆f | < δ,
∀ f ∈ F, and T ≥ T .
IEEE/ACM TRANSACTIONS ON NETWORKING
12
Then, following the argument in [7] we can show that the In the fluid model, the scheduling rule π(t) satisfies the condition (6) for every (n,n m) ∈ L with queueing system is stable in the following sense: Qnm (t) > 0. Thus, P Qnm (t) ˙ W (Q(t)) ≤ 1 T −1 {(n,m)∈L} f c(n,m) (t) + Qfnm (t) 1 X X X Rnm < +∞. E lim sup P c(n,m) T →∞ T t=o f (n,m)∈L f ∈F X f (xf (t) + Nmax ǫr ) H(h,k) −1 . × VI. C ONCLUSIONS c(h,k) (h,k)∈Υnm In this paper, we have considered the fair resource allocation problem in multi-hop wireless networks with a specific Ω ⋆ interference model, and developed a cross-layer algorithm Because x (ǫ) is strictly inside 2 , given any ǫ > 0, we can Ω ⋆ to solve it. More specifically, we proposed a congestion find some ϕ > 0 for which (xf (ǫ) + ϕ)f ∈ 2 . Then, we can control algorithm for transport layer, and a fully distributed choose ρ > 0 and ǫr > 0 small such that ρ + Nmax ǫr < ϕ, Λ ⋆ scheduling algorithm for MAC layer. The main contribution or (xf (ǫ) + ρ + Nmax ǫr )f is strictly inside 2 . Now, using the of the paper is to allow for unbounded delays in the feedback same argument as in [23], we have: between the components of the network. This is a crucial step P f (x (t) + N ǫ ) H towards being able to actually implement a congestion control X f max r f (h,k) −1 ≤ −θ < 0, mechanism in a real network, for time-varying delay is an c(h,k) (h,k)∈Υnm inseparable ingredient of a wireless network. We proved that even when all the sources and nodes operate in a totally asynchronous manner, our algorithms can achieve for some θ > 0 if Qnm (t) > 0. Thus, flow rates that are arbitrarily close to the fair operating point. X Qnm (t) ˙ 1 (Q(t)) ≤ −θ Extensions to other interference models is a topic for future W . c(n,m) research. {(n,m)∈L} A PPENDIX A: P ROOF OF T HEOREM 2 Consider the following Lyapunov function: W (Q, R) = W1 (Q) + ξW2 (Q, R), 1 X Qnm X Qhk W1 (Q) = , 2 c(n,m) c(h,k) (n,m)∈L
W2 (Q, R) =
1 2
X
f X Rnm + Qfnm c(n,m)
2
f H(n,m) ,
where ξ is a positive parameter which will be chosen later. First, consider W1 (·): X X ˙ nm (t) 1 Q Q (t) hk ˙ 1 (Q(t)) = W 2 c(n,m) c(h,k) (n,m)∈L (h,k)∈Υnm X ˙ Qnm (t) Qhk (t) + c(n,m) c(h,k) (h,k)∈Υnm X Qnm (t) X ˙ hk (t) Q . = c(n,m) c(h,k)
+ f xf (t) + Kfn ǫr IRf·n (t)>0 − Pnm (t) f Qnm (t) + f Pnm (t) − xf (t) + Kfn + 1 ǫr Rf (t) .
nm
f Note that Pnm (t) can only positive if Qnm (t) > 0. Then we have the following cases: •
f If Qfnm (t) > 0 and Rnm (t) > 0, we remove the projections: f (t) ≤ −ǫr . Q˙ fnm (t) + R˙ nm
•
f If Qfnm (t) = 0 and Rnm (t) > 0, then Pnm (t) = 0, f f ˙ ˙ Qnm (t) + Rnm (t)
=
(h,k)∈Υnm
We know from our analysis of the congestion controller that x(t) → x⋆ (ǫ) as t → ∞. Therefore, for every ρ > 0, there exists T < ∞ such that xf (t) − x⋆f (ǫ) < ρ for t ≥ T and for all f . Also, noting a standard fact that the projection in (18) can be ignored, we have: n Qnm (t) ˙ 1 (Q(t)) ≤ P W {(n,m)∈L} c(n,m) P f (x (t) + N ǫ ) H X f max r f (h,k) × − πhk . c(h,k) (h,k)∈Υnm
=
(h,k)∈Υnm
(n,m)∈L f ∈F
(n,m)∈L
Now, let us consider W2 (·). Recall that f Q˙ fnm (t) + R˙ nm (t)
•
+ xf (t) + Kfn ǫr IRf·n (t)>0 − xf (t) + Kfn + 1 ǫr ≤ −ǫr .
f If Qfnm (t) > 0 and Rnm (t) = 0, then there exists some constant χ such that f Q˙ fnm (t) + R˙ nm (t)
=
f xf (t) + Kfn ǫr IRf·n (t)>0 − Pnm (t) + f + Pnm (t) − xf (t) + Kfn + 1 ǫr
≤ −ǫr I{Pnm f (t)≥xf (t)+(Kfn +1)ǫr } +χI{Pnm f (t)0} c(n,m)
(n,m)∈L f ∈F
+χ
X
X Qf (t) nm . c(n,m)
(n,m)∈L f ∈F
Therefore, ˙ (Q(t), R(t)) = W ˙ 1 (Q(t), R(t)) + ξ W ˙ 2 (Q(t), R(t)) W X Qnm (t) ≤ −(2θ − ξχ) c(n,m) (n,m)∈L f X X Rnm (t) + Qfnm (t) −ξǫr I{Rfnm >0} . c(n,m) (n,m)∈L f ∈F
We can easily choose ξ such that 2θ − ξχ ≥ ξǫr > 0. Thus, ˙ (Q(t), R(t)) ≤ −ξǫr W
X
X Rf (t) + Qf (t) nm nm . c(n,m)
(n,m)∈L f ∈F
(37) Then the result follows from Lyapunov’s stability theorem. A PPENDIX B: P ROOF
OF
L EMMA 2
We define Φ(t) =
X f
qf (t) − qf⋆ (ǫ) (ˆ xf (t) − x⋆f (ǫ)),
and fˆ = arg max |qf (t) − qf⋆ |. f
Again, we will omit (ǫ) for notational convenience. Note that for all f we have (qf (t) − qf⋆ )(ˆ xf (t) − x⋆f ) ≤ 0, due to the fact that Uf′−1 (·) is decreasing in its parameter, and that x⋆f (t) = Uf′−1 (
qf⋆ (t) L ).
Then we can write Φ(t) ≤ −|qfˆ(t) − qf⋆ˆ| ˆ xfˆ(t) − x⋆fˆ .
There are two cases to consider: If x ˆfˆ(t) = M, then xˆfˆ(t) − x⋆fˆ > M − cmax > cmax , since M is chosen to be larger than 2 maxl cl = 2cmax . If, on the other hand, x ˆfˆ(t) < M, then we have q (t) ′−1 fˆ U L ⋆ ⋆ fˆ xfˆ(t) − xfˆ = xfˆ − 1 . (38) ˆ ⋆ U ′−1 qfˆ fˆ L Notice that ( qfˆ(t) =
qf⋆ˆ − |qfˆ(t) − qf⋆ˆ| ≥ 0 if qfˆ(t) − qf⋆ˆ ≤ 0, qf⋆ˆ + |qfˆ(t) − qf⋆ˆ| ≥ 0 if qfˆ(t) − qf⋆ˆ ≥ 0.
Assuming that Uf′−1 ˆ (·) is a decreasing, convex function, we can write ′−1 qf⋆ˆ |qfˆ(t)−qf⋆ˆ| ′−1 qf⋆ˆ |qfˆ(t)−qf⋆ˆ| U ˆ − U + L L L L fˆ f − 1 ≥ − 1 . ⋆ ⋆ qˆ qˆ f f Uf′−1 Uf′−1 ˆ ˆ L L Therefore, we have q (t) ′−1 qf⋆ˆ |qfˆ(t)−qf⋆ˆ| ˆ U ′−1 f Uˆ + L L fˆ f L ≥ . − 1 − 1 ⋆ ⋆ qˆ ′−1 f U ′−1 qfˆ U fˆ ˆ L L f
We consider the set of q which satisfies kq − q⋆ k ≥ ωLγ , where ω and L are positive constants and γ ∈ (0, 1). We are interested in the behavior of the system as L tends to infinity. The exact value of ω depends on the utility functions and other system parameters, and will be provided later in the proof. Notice that if kq−q⋆ k ≥ ωLγ , then |qfˆ(t)−qf⋆ˆ| ≥ √ω Lγ .
Then, we can write ′−1 qf⋆ˆ ω √ U ˆ L + N L1−γ f ⋆ ⋆ (38) ≥ xfˆ − 1 . qˆ f Uf′−1 ˆ L
|N |
Noting that qf⋆ˆ = ̺L for some ̺ > 0, and invoking the condition (3) on the utility functions, we can write: for kq − q⋆ k ≥ ωLγ , ! p B |N | −γ −γ ⋆ ⋆ Φ(t) + B ≤ −|qfˆ(t) − qfˆ| xf c1 L + L . ω Then for large enough ω, we get the following expression for some δ > 0 and ζ < ∞. Φ(t) + B
≤
kq(t) − q⋆ k δI{kq(t)−q⋆ k≥ωLγ } Lγ +ζI{kq(t)−q⋆ k