its application in multi-media broadcasts, group communication in social ..... scheduling, routing, and coding solution to multi-rate multicasting for general.
MULTIRATE MULTICASTING WITH NETWORK CODING
A Thesis Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in the Graduate School of The Ohio State University By Subhash Lakshminarayana, B.E. Electical and Computer Engineering The Ohio State University 2009
Master’s Examination Committee: Prof. Atilla Eryilmaz, Adviser Prof. Ness Shroff
c Copyright by
Subhash Lakshminarayana 2009
ABSTRACT
Multicasting is the delivery of common information to multiple receivers. It finds its application in multi-media broadcasts, group communication in social networks etc. The multicast traffic in networks can constitute a significant portion of the total traffic (e.g. 80% in military communications) and hence it is imperative that they are served efficiently. So far ”single rate” multicasting, where all receivers receive the data at a common rate from the source has attracted most of the attention . Yet, single-rate multicasting may yield low utilization of the network resources when a subset of the receivers creates a bottleneck for the whole multicast group. Multirate multicasting is a strategy where the source is allowed to multicast its data to different destinations at different rates based on the condition of the network to them. Multirate multicasting allows users with better channels to achieve maximum performance. While earlier studies have investigated such mechanisms using routing strategies over fixed trees, in this work we consider the possibility of using network coding without a given subgraph. Network coding enables higher throughput and helps us to to move beyond the restriction of tree structures for routing the multicast data. Our scheme identifies the optimal routes and provides the utility maximizing rate allocation and coding solution. We also propose and investigate two novel approaches for reducing the complexity of the original scheme for practical implementation based on layered multicasting mechanism and nested optimization approach. ii
to my beloved family
iii
ACKNOWLEDGMENTS
First of all, I would all like to thank my family, my father in particular. He has been a source of inspiration for me throughout my student life. He taught me the importance of aiming high in life and always inspired me to set very high goals in life. Without his motivation and support I would not be what I am today. I also thank my mother and sister for their love and moral support. I am sincerely grateful to my adviser during graduate studies, Prof. Atilla Eryilmaz. His willingness to help and guide me at every stage of my masters degree is appreciable. His sincerity, problem solving approach and work ethics are somethings that I would like to inculcate in my life as well. I would always treasure the discussions we had on topics like ”How to do research” and ”why do we do the research that we do” and many other thought provoking questions. I wish him all the success in his career as a professor. I would like to thank Prof. Can Emre Koksal for his help and advice during my graduate studies. I am also grateful to Prof. Lee Potter for his guidance and support during my teaching assistantship tenure. I would also like to thank Prof. Ness B. Shroff for being a part of my graduate committee. My graduate studies would be incomplete without the mention of my friends who have been an integral part of my life. In particular my friends Harsha, Mahesh, Sarang, Anu, Haritha, Sandeep and Dwitiya and many others with whom I have had iv
a great time after coming to US. I would like to thank my IPS lab friends Rahul, Rohit, Arun, Sugumar, Justin, Joe, Ahmed, Mohammed and others with whom I have had useful discussions on technical and non technical issues. It has been more like a home away from home! Lastly, I would like to thank all the faculty of ECE department with whom I have taken courses. Also, all the office staff of ECE department who have been very helpful to me.
v
VITA
August 30, 1985 . . . . . . . . . . . . . . . . . . . . . . . . . . . . Born - Bangalore, India 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B.E. Electronics and Communication Engineering Jan 2009-present . . . . . . . . . . . . . . . . . . . . . . . . . . . Graduate Teaching/Research ciate, OSU.
Asso-
PUBLICATIONS Conference Publications S. Lakshminarayana, A. Eryilmaz “Multirate Multicasting with Network Coding” appeared in The Fourth International Wireless Internet Conference (WICON 2008) (Hawaii), Nov. 2008.
FIELDS OF STUDY Major Field: Electrical and Computer Engineering Studies in: Information Theory, Convex Optimization Computer Communication Networks I & II Stochastic Process Communication Systems
vi
Prof. Prof. Prof. Prof.
Atilla Eryilmaz Ness B. Shroff Randy Moses Phil Schniter
TABLE OF CONTENTS
Page Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii
Dedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iii
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x
Chapters: 1.
2.
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1 1.2 1.3 1.4
. . . .
1 3 4 5
System Model and Algorithm Design . . . . . . . . . . . . . . . . . . . .
7
Motivation for Multirate Multicasting . Applications of Multirate Multicasting . Background . . . . . . . . . . . . . . . . Overview of Results and Thesis Outline
. . . .
. . . .
. . . .
2.1 Model and Problem Description . . . . . . . . 2.2 Algorithm Design . . . . . . . . . . . . . . . . 2.2.1 Cross Layer Design . . . . . . . . . . . 2.3 Algorithm Analysis . . . . . . . . . . . . . . . 2.4 Numerical Results for Cross Layer Algorithm 2.4.1 Butterfly Network . . . . . . . . . . .
vii
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . .
. . . . . .
. . . . . .
7 13 13 16 20 20
3.
4.
5.
Low Complexity Implementation: Layered Mechanism . . . . . . . . . .
25
3.1 Intuition and Algorithm Description . . . . . . . . . . . . . . . . . 3.2 Layered Mechanism: Main Idea . . . . . . . . . . . . . . . . . . . . 3.3 Numerical Results of Layered Algorithm . . . . . . . . . . . . . . .
25 27 29
Nested Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
4.1 Generic Nested Optimization Framework . . . . . . . . . . . . . . . 4.1.1 Nested Optimization:System Model . . . . . . . . . . . . . . 4.2 Application of Nested Optimization problem to Multirate Multicast Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Application of Nested Optimization to Multipath Routing . . . . . 4.3.1 System Model . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Numerical Results for Nested Optimization Algorithm . . . . . . .
35 36
Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
49
38 41 41 45
Appendices: A.
Convergence Proof for Cross Layer Algortithm . . . . . . . . . . . . . . .
51
B.
LaSalle’s Invariance Principle . . . . . . . . . . . . . . . . . . . . . . . .
55
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
viii
LIST OF TABLES
Table
Page
2.1
Case (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.2
Case (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.3
Case (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.4
Case (d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.1
Subsession rates at different rounds for the layered mechanism . . . .
31
3.2
Subsession rates at different rounds for the layered mechanism . . . .
33
4.1
Case (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
4.2
Case (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
ix
LIST OF FIGURES
Figure
Page
1.1
Network requiring Multirate Multicast . . . . . . . . . . . . . . . . .
2
2.1
The butterfly network. . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.2
Case (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.3
Case (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.4
Case (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
2.5
Case (d) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
3.1
Determining the optimal subsessions with a embedded structure. . . .
26
3.2
Network serving a session with 3 destinations. . . . . . . . . . . . . .
30
3.3
Evolution of rates in the first round of the layered algorithm for the network in Figure 3.2. . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Evolution of congestion prices in the first round of the layered algorithm for the network in Figure 3.2. . . . . . . . . . . . . . . . . . . .
31
Evolution of rates in the second round of the layered algorithm for the network in Figure 3.2. . . . . . . . . . . . . . . . . . . . . . . . . . .
32
Evolution of congestion prices in the second round of the layered algorithm for the network in Figure 3.2. . . . . . . . . . . . . . . . . . . .
32
Evolution of rates in the third and final round of the layered algorithm for the network in Figure 3.2. . . . . . . . . . . . . . . . . . . . . . .
32
3.4
3.5
3.6
3.7
x
3.8
Network serving a session with 6 destinations. . . . . . . . . . . . . .
33
3.9
Evolution of rates in the third and final round of the Network in Figure 3.8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
4.1
A Scenario for Nested Optimization . . . . . . . . . . . . . . . . . . .
36
4.2
Nested Optimization Loop . . . . . . . . . . . . . . . . . . . . . . . .
38
4.3
Network for Multipath Routing . . . . . . . . . . . . . . . . . . . . .
43
4.4
Evolution of rates for the Nested Optimization Algorithm of the Network in Figure 3.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
Evolution of rates for the Nested Optimization Algorithm of the Network in Figure 3.2. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
Comparitive study of distribution of data rates among subsessions for the original and nested optimization algorithm for case(a). . . . . . .
47
Comparitive study of distribution of data rates among subsessions for the original and nested optimization algorithm for case(b). . . . . . .
47
4.5
4.6
4.7
xi
CHAPTER 1
INTRODUCTION
1.1
Motivation for Multirate Multicasting
Multi-hop communication networks are expected to efficiently serve many applications with diverse characteristics and quality-of-service constraints. Many of these applications, including voice/video broadcast and file sharing, generate data to be multicast to a group of destinations rather than a single one. Traditionally, the rate of such a single-rate multicast session is chosen such that all the receivers can successfully receive the transmitted information at the selected ”single” rate. In a multicast environment, this solution tends to be suboptimal because there is no single target rate for a group of heterogeneous receivers. Such a scenario can be seen in the simple network example of Figure 1.1. In this network, destination d2 receives data through a 128kbps ISDN line where as two other destinations belonging to the same session namely d1 , is a 100Mbps Ethernet link whereas d3 , is a 28.8kbps modem. Service rate of the faster receiver should not decrease because of the presence of other slow receivers in the same session. The problem with using single-rate multicasting strategy is that its throughtput is limited by the capacity to the bottleneck destination. In other words, all the destinations suffer from the constraints associated with the destination under the worst 1
Figure 1.1: Network requiring Multirate Multicast
conditions. In order to overcome this problem, we study multi-rate multicast capabilities, where the source is allowed to multicast its data to different destinations at different rates based on the condition of the network to them. With this capability, the bottleneck destinations will not able to throttle the whole communication quality. Thus, multirate multicast transmission meets the diverse bandwidth requirements of a multicast group by enabling higher data rates to receivers with higher link capacities. Given the multirate multicast nature of transmission, we further require a dynamic scheme that finds optimal scheduling and routing solution for sending the information through the network. The motivation for such a dynamic algorithm stems from the following reasons. Topologies of communication networks constantly vary due to periodic failure of links and routers. Composition of multicast groups also change frequently due to joining and leaving of receivers. In real time traffic scenarios, the bandwidth available for serving real time traffic also vary depending on the amount of data traffic which change rapidly and may not be readily known at the link scheduler. Thus we need a practical multirate multicasting algorithm which not only finds the
2
right amount of data to be injected in to the network but also dynamically finds optimal routes, scheduling decisions and coding solution to route the multicast trffic. The goal of this work is to develop a low complexity congestion control, scheduling and network coding algorithm to maximize the network utilization measured by functions of mean receiver rates.
1.2
Applications of Multirate Multicasting
We briefly touch upon two main applications of multirate multicasting namely voice/ video broadcast and file sharing. Voice/Video Broadcasting: In voice/video broadcasting scenarios such as video conferencing, multirate multicasting can be achieved by decomposing the information into layers. In the layering scheme, a raw video sequence is compressed into some non overlapping streams, or layers. In layering scheme, there is a layer with the highest importance, called a base layer, which contains the data representing the most important features of the video. Additional layers, called enhancement layers, contain data that progressively refine the reconstructed video quality. A receiver can selectively subscribe to a subset of layers according to its capacity. File Sharing: Multirate multicasting also finds its application in non real time traffic such as file sharing. In case of file sharing, multirate multicasting results in earlier completion time of files to receivers which have higher capacity and hence releasing the resources for the use of other flows. There exist well-known network protocols for multirate multicast transmission, namely receiver-driven layered multicast (RLM) [1] and layered video multicast with retransmissions (LVMR) which [2]. Li et al. propose a scheme for fair allocation of
3
bandwidth in layered video multicast that which tries to provide more fairness among receivers compared to RLM and LVMR schemes[3].
1.3
Background
The concept of cross layer optimization leading to resource allocation and scheduling has been widely studied. The resource allocation viewpoint was significantly generalized by Kelly et. al. [4] who presented an optimization approach to understanding congestion control in networks with arbitrary topology, not just a single link. The concept of cross layer optimization in wireline networks has been tackled in a number of previous works and summarized in [5]. The main contribution of these works is the design of a distributed congestion control mechanism to drive the rates of elastic flows towards the system-wide optimum. The problem of multipath flow control in wire line networks is studied in the work ([6]). The problem of joint scheduling, routing and congestion control mechanism for wireless networks, guaranteeing stability of the buffers and fair allocation of the network resources is studied in the works [7, 8, 9, 10, 11, 12]. The utility based optimization framework is extended to the multicast scenario incorporating the capability of network coding in ([13] and [14]). There are a number of papers focusing on multi-rate multicasting scenario, but without the capability of network coding. Kar et.al. [15] propose an optimizationbased approach for a given fixed routing tree associated with each multicast session. In another related work, Bui et.al. [16] propose multi-rate multicasting based on scheduling virtual (shadow) “traffic” that “moves” in reverse direction from destinations to sources. This work also assumes a single fixed tree for routing the traffic and
4
network coding is not utilized. Sarkar et. al. [17] propose multicasting with M-Best trees and switching between the trees depending on the congestion level. Switching between trees gives some sort of dynamism to the algorithm. But the M-Best trees are still assumed to be pre-defined. The restriction of multicasting over predefined trees leads to two critical issues; first there is a fundamental loss in performance due to the tree type of routing since higher throughput can be achieved by more sophisticated coding strategies (as we shall see later). Secondly, the construction and maintenance of trees is generally difficult. In this work we resolve both the issues by developing a congestion control, scheduling, routing and network coding solution to the problem of multirate multicasting without specifying predefined multicast routes. Also, unlike previous works, with the capability of network coding, we need not have to restrict ourselves to tree structures for routing the multicast traffic, enabling more efficient usage of resources and higher throughput.
1.4
Overview of Results and Thesis Outline
We now discuss the main results of the thesis and the techniques. 1. Modeling of Multirate Multicasting problem We formulate the multi-rate multicast utility maximization problem by decomposing the multi-rate session into many single-rate subsessions, and optimizing over the subsession rates [Section 2.1]. The algorithm allows for intra session network coding between the packets of the subsessions. We also show that the joint rate allocation and intra session network coding solution performs as
5
good as an algorithm that allows for inter session coding between the packets of different subsession [Section 2.3]. 2. Algorithm Development through dual decomposition We use dual decomposition techniques to develop a distributed rate allocation, scheduling, routing, and coding solution to multi-rate multicasting for general multihop networks when the routes are not predefined [Section 2.2] 3. Algorithm Improvement for low complexity implementation The most significant contribution of this work is the novel extensions to the original algorithm to reduce the complexity of the implementation significantly. • The first approach is the layered implementation. This low-complexity algorithm utilizes the special structure of the multi-rate multicast problem to construct the optimal subsessions gradually rather than optimizing over an exponential number of them. Chapter 3 provides the description and simulation results for the layered algorithm. • The second approach is a more called the ’Nested Optimization’ which is a more dynamic policy and finds the optimal set of subsessions. The concept of Nested Optimization is a novel formulation which has not been dealt before in the field of Optimization. Chapter 4 provides the nested optimization framework and the simulation results.
6
CHAPTER 2
SYSTEM MODEL AND ALGORITHM DESIGN
This chapter states the system model mathematically and provides the algorithm design.
2.1
Model and Problem Description
Consider a fixed multihop network that is described by a graph G = (N , L), where N is the set of nodes with cardinality N and L is the set of directed links. While in a wireless network, the achievable link rates are interdependent due to interference effects, in a wired network it can be assumed that each link (i, j) has a fixed capacity of cij ∈ {0, 1, 2, · · · } packets per slot. Although our results can be extended to cover wireless conditions, in this work we will focus on wired networks in order to avoid unnecessary complications and to provide the main idea more clearly. We assume that the network operates in a time slotted fashion. We form multirate multicast sessions s from source node src(s) to the set of destination nodes D s for every session s. We denote the multirate multicast rate vector by Y s [t] := (Yds [t])s,d∈Ds in every time slot [t]. The multi-rate nature of the multicast transmission allows destination d to be served at rate Yds [t] in every time slot [t], for each session s subject to achievability constraints. Here the each session s can represent information such 7
as audio and video data. For our analysis, we consider the mean destination rates given by T 1X s Y [t] T →∞ T t=0
ys = lim
Accordingly, we denote a multirate multicast session with a mean rate ys by the notation (s, D s , ys ). Let us denote the set Y to be the set of achievable multirate multicast rate vectors. We assume that the utilization achieved at each destination, say d ∈ D, is measured by a utility function Ud (·) of its mean rate yds . We make the following standard assumptions on the utility function. [18] • Ud (.) is a strictly concave 1 , twice differentiable, non-decreasing function of mean rate per session yds . • For every m and M satisfying 0 < m < M < ∞, there exists constants c˜ and C˜ satisfying 0 < c˜ < C˜ < ∞ such that c˜ ≤ −
1 ˜ ∀y s ∈ [Ks m, Ks M], ≤ C, d s Ud (yd ) ′′
s
where Ks = 2|D | is the number of subsessions. We note that these conditions hold for a large class of utility functions, including Ud (yds ) = (yds )(1−φ) /(1 − φ) for φ > 0 that is known to capture a large class of fairness criteria (see [19]). 2 . Our primary goal is to solve the optimization problem given by max
{y≥0}
s.t.
XX
Ud (yds )
(2.1)
d∈D s
s s
y ∈Y
1
Function f is strictly concave if for any two points x and y in its domain C and any t ∈ [0, 1], we have f (tx + (1 − t)y) > tf (x) + (1 − t)y 2
We remark that the strictness of the concavity of Ud (·) can be relaxed without too much complication
8
However, with this kind of a formulation, it is not easy to characterize the set Y. To overcome this problem we propose the following approach to the multirate multicast problem. We decompose given multi-rate multicast session (s, D s , ys ) into many single-rate multicast subsessions , where each subsession, is described by the source node src(s), a subset of destinations Dks ⊂ D s , and a single-rate Xks [t] for every time slot [t]. Accordingly, the potential number of subsessions of a given session per session is s
s
2|D | . Let the set of subsessions be denoted by Ks := {1, 2, ..., 2|D | }. Again for our analysis, we consider the mean subsession rates xsk given by xsk
T 1X s = lim Xk [t] T →∞ T t=0
Accordingly, we denote a single rate multicast subsession by the notation (s, Dks , xsk ). Note that, with such a decomposition, the destination rates ys and the subsession s rates xs := (xsk )K k=1 are related as
yds (x) =
X
xsk ,
for all d ∈ D s ,
(2.2)
k∋d
where k ∋ d means {k : d ∈ Dks }, i.e., all subsessions that have d as a destination. Subsession k of a session s injects packets with an average rate of xsk to be multicast to its destination group Dks , where each packet is represented by a vector over a finite field Fr , where r is assumed to be a large positive integer. In our framework, we allow each subsession to perform intra-session network coding. Specifically, as the packets of the same subsession traverse the network nodes, we allow the node to create random linear combinations of the packets before transmitting them to the neighboring nodes. In particular, a random linear combination of the packets P {P1 , · · · , PJ } is given by Jj=1 θj Pj , where {θj } are randomly selected coefficients 9
from the finite field. Such intra-session coding operations are known to improve the achievable throughput region of the network (e.g. [20, 21]). We aim to exploit such network coding capabilities for subsessions while optimizing the subsession rates to yield the best multi-rate session performance. Our goal is to design a practical algorithm that finds the optimal subsession rates s ˆ sk := (ˆ x xsk )K k=1 that maximize the aggregate utilization of the destinations. We now
describe the set X as the set of all achievable subsession rates. The above formulation allows us to restate our optimization problem in 2.1 in the following way max
{y,x≥0}
s.t.
XX s
Ud (yds (x))
(2.3)
d∈D s
x∈X
Observe that although Ud (·) is a strictly concave function of yds , it is only concave in x, since y and x are related as in (2.2). From this point on, for the sake of notational convenience, we assume that all the sessions have a common set of destinations denoted by D (hence,dropping the superscript s). Accordingly, the destination set for the subsessions is denoted by Dk . Now we need to characterize the set X . The characterization of set X has been dealt before in previous works like [13]. In this work, we use a similar approach to characterize the set X . (s,d,Dk )
We let fij
be the information flow rate over link (i, j) ∈ L for an individual (s,Dk )
destination d ∈ Dk in subsession k of a session s; and rij
be the physical flow
rate for Subsession k of session s over link (i, j) ∈ L. Under the intra-session network coding capability for each subsession, the physical and information flow rates are
10
related by ([21]) (s,Dk )
rij
(s,d,Dk )
≥ max fij d∈Dk
, for all (i, j) ∈ L, k ∈ {1, · · · , Ks }.
(2.4)
Network coding enables us to transmit the coded packets at a rate equal to the maximum information rate of all the destination nodes belonging to that subsession. We further define the following variables. s xk , if i = src(s), (s,k) xi := 0, otherwise.
(2.5)
Information flow rate out of node i for Subsession k of session s and d ∈ Dk , is given by (s,d,D )
fout(i) k :=
(s,d,Dk )
X
fij
X
fij
,
∀d ∈ Dk , i ∈ N .
j:(i,j)∈L
Similarly, information flow rate into node i for subsession k of session s and d ∈ Dk , is given by (s,d,Dk )
fin(i)
:=
(s,d,Dk )
,
∀d ∈ Dk , i ∈ N .
j:(j,i)∈L
We approach the problem from the destinations’ point of view and maximize the destination utilities rather that subsession utilities obtained for each session s while retaining the multi-rate multicast nature of information flow. We note that this is the natural formulation since the utility functions are described per destination. This leads the following optimization problem. max
{x,f ,r≥0}
s.t.
XX
Ud (yds (x))
(2.6)
s
d∈D (s,d,Dk ) fout(i) (s,d,Dk )
fij
Ks XX s
(s,d,Dk )
− fin(i)
(s,Dk )
≤ rij
(s,Dk )
rij
= xs,k i ,
,
i 6= d, ∀s, ∀k ∈ Ks , ∀d ∈ Dk ,
∀s, ∀k ∈ {1, · · · , K}, ∀d ∈ Dk ,
≤ cij ,
∀(i, j) ∈ L.
k=1
11
The first constraint is the information flow conservation constraint per node, implying that the information influx to a node must be equal the information out flux, unless the node is a destination node. The second constraint is a network coding constraint indicating the relationship between information flow rate and physical flow rate given by equation (2.4). And, the final constraint is the link capacity constraint. Under the stated assumptions on the utility function this optimization is a convex optimization problem, and strong duality holds due to the polyhedral nature of the constraint set (see [22]). However, since the utility function is not strictly concave in x, there may not be a unique solution to the optimization problem (2.6). We denote the solution to the optimization problem by a set of subsession rates denoted by χ ˆ. Each P P point x ˆ∈χ ˆ in the optimal set is a maximizer of the expression s d∈D Ud (yds (x)).
In the following section, we use duality theory and dual methods to develop a flow
control and resource allocation mechanism that solves the above problem. Then, in Chapter 3 and Chapter 4, we exploit the special structure of the problem to propose two novel multicasting strategies that significantly reduces the complexity of the original algorithm from exponential to linear in the number of destinations.
12
2.2
Algorithm Design
In this section, we develop a joint congestion control, resource allocation and coding algorithm for the multi-rate multicast optimization problem (2.6). The development is based on a Lagrange dual decomposition and primal-dual update policy that guarantees optimal routes, stability, and optimal rate allocation.
2.2.1
Cross Layer Design
(s,d,Dk ) Let µ := µi
s,i,d,k
be the nonnegative Lagrange multiplier vector associated
with the first constraint of (2.6). Then, the Lagrangian is given by L(x, µ) =
XX s
Ud (yds ) −
d∈D
(s,d,Dk )
X
µi
(s,k)
(xi
(s,d,D )
(s,d,Dk )
− fout(i) k + fin(i)
),
i,s,k∈Ks,d∈Dk (s,d,Dk )
where we dropped the x dependence of yds (x) for brevity, and µi
can be inter-
preted as congestion price at node i for subsession k of a session s and destination d ∈ Dk . The congestion prices at different nodes can be indicative of queue lengths of the logical queues at each node i for subsession k of a session s and destination d ∈ Dk . The design of physical queues from the logical queues is an issue of implementation which we do not discuss in this paper. The Lagrangian can be re-arranged as L(x, µ) =
XX s
d∈D
Ud (yds ) −
X k∋d
(s,d,D )
µsrc(s) k xsk
!
13
+
X
(i,j),s,k∈Ks ,d∈Dk
(s,d,Dk )
fij
(s,d,Dk )
(µi
(s,d,Dk )
− µj
),
where src(s) is the source node of the multi-rate multicast session. Then, the objective function of the dual problem becomes max L(x, µ) = max x≥0
{x,f ,r≥0}
+
max
0≤f (s,d,Dk ) ≤r (s,Dk ) ij ij Dk P P r s k∈Ks ij ≤cij
XX s
Ud (yds ) −
d∈D
X
(s,d,D )
µsrc(s) k xsk
k∋d
(s,d,D ) (s,d,Dk ) fij k (µi
X
! (s,d,Dk )
− µj
(2.7) ).
(2.8)
(i,j),s,k∈Ks,d∈Dk
The above formulation enables us to break down the problem into two separate convex optimization problems: the first maximization (2.7) over x is related to the rate allocation; and the second maximization (2.8) over (f, r) is related to scheduling, routing, and coding. It should be noted that contrary to many earlier works in the literature (e.g. [23, 24, 25, 8, 9, 10, 11]) the nature of the rate allocation problem does not readily lend itself to complete decomposition across subsession rates. In this case, due to the network coding capabilities and the destination-based utility functions, the optimal subsession rates are interdependent. This motivates us to use first-order optimization methods to solve for the rate allocation (primal) problem, and iteratively update the rates in the subgradient direction. On the other hand, the nature of the resource allocation problem (2.8) is similar to the backpressure schemes that are extensively studied in the literature (e.g. [26, 27, 28, 29, 30]), except that the objective function is defined in terms of “information flow rates” rather than the traditional physical link rates due to the network coding capability within subsessions. Thus, the implementation of the algorithm requires the description of network coding operations to be performed at the nodes. The following iterative cross-layer mechanism describes the details of our proposed algorithm. 14
Definition 1 (Cross-layer Mechanism). Assume that the algorithm operates in slotted time, and at a time slot t, (X[t], µ[t]) is known. Rate Control: The flow rate of each subsession k is updated depending upon the congestion level it observes through the price level at its source as follows: for all k,
X M (s,d,D ) Xks [t + 1] = Xks [t] + α Ud′ (Yds [t]) − µsrc(s) k [t]) , where Ud′ (Y ) =
dUd (Y ) ; dY
Yds [t] :=
P
k∋d
(2.9)
m
d∈Dk
Xks [t]; and zab denotes a projection of z to the
closest point in the interval [a, b]. Further, α > 0 is a small step-size parameter, ˆ is the optimal solution, and M is a finite constant that is 0 < m < mink xˆsk where x P greater than (i,j)∈L cij .
∗ Resource Allocation and Coding: For each link (i, j), two parameters wi,j [t] and ∗ {s∗ij [t], ki,j [t]} are computed as follows.
∗ wi,j [t] = max
s,k∈Ks
∗ {s∗ij [t], ki,j [t]}
X
(s,d,Dk )
(µi
(s,d,Dk )
[t] − µj
[t])+
d∈Dk
= arg max s,k∈Ks
X
(s,d,Dk )
(µi
(s,d,Dk )
[t] − µj
[t])+
d∈Dk
∗ where (z)+ := max(0, z). Here, wi,j [t] can be interpreted as the weight of the link ∗ (i, j), and {s∗ij [t], ki,j [t]} denotes the index of the session and subsession data to be ∗
transmitted over link (i, j). This means that the physical rate rijs ,Dk∗ [t] of subsession ∗ ki,j [t] of session s∗ij [t] is equal to cij , and all the other subsessions are unscheduled. ∗ The subsession ki,j [t] of session s∗ij [t] is served as follows:
1. Let + D{s ∗ [t],k ∗ ij
i,j [t]}
(s,d,Dk )∗
∗ [t]} : µ = {d ∈ D{s∗ij [t],ki,j i
15
(s,d,Dk )∗
[t] − µj
[t] ≥ 0}.
+ Then, for each d ∈ D{s ∗ [t],k ∗
i,j [t]}
ij
take ci,j packets from its associated queue. If
the queue empties, continue to the next step. 2. Form cij independent random linear combinations of these selected packets and transmit them over link (i, j). 3. At the receiver end, enqueue a copy of the incoming packets at each of the queues (s∗ ,d,Dk∗ )
µj
+ with d ∈ D{s ∗ [t],k ∗ ij
(s∗ ,d,Dk∗ )
Therefore effectively, fij
i,j [t]}
[t].
+ [t] = ci,j for d ∈ D{s ∗ [t],k ∗ ij
i,j [t]}
. Finally, update the µ
vector as follows: for all i, k,
(s,d,Dk ) µi [t
+ 1] =
(s,d,Dk ) µi [t]
+
(s,k) β(Xi [t]
+
(s,d,D ) fin(i) k [t]
−
(s,d,D ) fout(i) k [t])
+
,
(2.10)
where β > 0 is a small step size parameter. We remark that the dual update equation (2.10) in the cross-layer mechanism is (d,Dk )
tightly related to the actual queue-length evolution. In particular, if we let qi
[t]
denote the length of the queue at node i that contains packets destined to node d ∈ Dk as part of the subsession k, then, we approximately have q[t] ≈ βµ[t]. This means that a scaled version of the actual queue-lengths can also be used in the scheduling algorithm, and no extra price maintenance is necessary.
2.3
Algorithm Analysis
In this section, we introduce a heuristic fluid model of the joint scheduler-congestion control mechanism of Definition 1, and prove its stability and optimality properties. 16
The analysis of such a model sheds light into the operation of the original model without the complications associated with the discrete-time operation. It is shown in several earlier works that the optimality of such a fluid model suggests the optimality of the original discrete-time implementation (e.g. [8, 29, 30]). To construct the fluid model we first approximate the operation of the discretetime cross-layer algorithm by a continuous-time dynamic system. Accordingly, the evolution of the instantaneous subsession rates is assumed to be governed by the following differential equation: for all k ∈ Ks , x˙ sk (t) = α
X
′
(s,d,D )
(Ud (yds (t)) − µsrc(s) k (t))
d∈Dk
+
xsk (t)
.
(2.11)
Similarly, the evolution of the prices is governed by the differential equation: for all i, k, (s,d,Dk )
µ˙ i
+ (s,k) (s,d,D ) (s,d,D ) (t) = β xi (t) + fin(i) k (t) − fout(i) k (t) (s,d,Dk ) , µi
(t)
(2.12)
where (y)+ z is equal to 0 if {y = 0, z < 0}, and y, otherwise. Here, (t) is used instead of [t] to signify that we are working in continuous-time. We assume that the resource allocation and coding algorithm computes the link schedules and rates at every instant of time as described in Section 3. Notice that equations (2.12) and (2.11) mimic the evolution of (2.10) and (2.9), respectively. Thus, proving the optimality characteristics of this continuous-time system is important in extending its conclusion to the original system. The following theorem proves the globally asymptotic optimality of the continuous-time system. Theorem 1. Starting from any initial condition (x(0), µ(0)), the state of the system ˆ∈χ (x(t), µ(t)) converges to (ˆ x, µ ˆ) as t → ∞, where xˆk is an element of the vector x ˆ and µ ˆ is an element in the set of Lagrange multipliers. 17
Proof: The proof of the theorem is provided in Appendix A. The idea behind the proof is to find an appropriate Lyapunov function given by W (x, µ) which has a negative drift for any feasible starting point and show that the system converges to ⋄
the optimal point after a long time.
Proposition 1. When a single multirate multicast session is present, the Crosslayer mechanism in Definition 1 cannot perform any better by allowing inter-session network coding between subsessions. Proof: Consider a scenario in which we have a single multirate multicast session having the set D := {d1 , d2 , ..., d|D|} as its set of destinations. The cross layer algorithm decomposes this multirate multicast session in 2|D| number of single rate subsessions. Let us analyze the case in which only a single subsession having the entire set D as its set of destinations is scheduled while all the other subsessions are unscheduled. Let us denote this subsession by the notation S1 . We denote the achievable rate of this subsession by the notation xD . With such a decompostion scheme, the optimization problem in (2.6) reduces to multicasting traffic of a single multicast subsession across the network with the capability of network coding between the packets of the same subsession. Mathematically stating, max xD
X
Ud (yd(x))
d∈D D
s.t. x ∈ X The problem in this case is similar to the problem considered in [20]. In [20], it is established that the maximum rate achieved by such a multicast subsession is equal to the minimum capacity of a cut separating the source node from a destination d ∈ D (Max-flow min-cut theorem). Mathematically stating, 18
xD = min mincut{d1 , d2, ..., d|D| } . For notational convenience, we denote min mincut{d1 , d2, ..., d|D| } by mincut{D}. Let us denote dj as the arg mind∈D mincut{d1 , d2 , ..., d|D|}, that is, the destination having minimum capacity of the cut separating the source from its set of destinations. Now with decomposition of the multirate multicast session into a power set (2|D|) of subsessions, we have a subsession (from the power set) which has {d1 , d2 , ..., d|D|}/{dj }. as its set of destinations, i.e. all the destinations except the destination dj . Let us denote this subsession by the notation S2 . Let us now consider the scenario in which only subsession S1 and S2 are scheduled while all other subsessions are unscheduled. We denote the achievable rate of subsession S2 by the notation xD/{dj } . With these two subsessions, the optimization problem now reduces to max
X
xD ,xD/{dj } d∈D
Ud (yd (x))
s.t. x ∈ X
where x is this case is the vector (xD , xD/{dj } ). This optimization problem can be rewritten as the following max Udj (xD ) + xD
max
xD ,xD/{dj }
X
Ud (xD + xD/{dj } )
(2.13)
d∈D/{dj }
s.t. x ∈ X
In order to maximize the above expression, we need to maximize both the terms of the sum. The first term in (2.13) is maximized only when xD reaches the mincut capacity of D. The second term is maximized when xD + xD/{dj } equals the mincut capacity of {D}/{dj }. Hence we can conclude the following about the subsessions 19
rates xD = min mincut{D} xD/{dj } = min mincut{D}/{dj } − min mincut{D} Similarly, by introducing more subsessions and carefully analyzing the problem, it can be seen that the service rate achieved (by the cross layer mechanism with network coding capability) to each of the destinations is equal to the capacity of the minimum cut from source to the corresponding destination. Theoretically, this is also the maximum achievable rate at which the source can transfer information to its destinations and hence, the cross layer mechnism in Definition 1 cannot perform any better with the capability of inter-session network coding between the subsessions.
2.4
⋄
Numerical Results for Cross Layer Algorithm
In this section we provide some simulation results to study the performance of the original cross-layer algorithm of Definition 1. We start with the canonical butterfly network. In order to keep things simple, we consider only one multirate multicast session in all the simulation results. We can however, extend the results to cover multiple multicast sessions.
2.4.1
Butterfly Network
Consider the butterfly network as shown in Figure 2.1. Assume that there is a single multi-rate multicast session having node s as the source node and nodes d1 and d2 as the destination nodes. We decompose this multi-rate multicast session into three single-rate multicast subsessions each having source node s. The subsessions have the following destination set, D1 = {d1 }, D2 = {d2 } and D3 = {d1 , d2 }. We 20
interpret subsessions 1 and 2 to be unicast subsessions and 3 to be the multicast subsession. We assume that the utilization achieved at each destination d ∈ D, is measured by Ud (yd ) = log(yd ), which leads to the proportionally fair allocation. We choose the α and β parameters to be 0.01, and examine the network under different scenarios to show the effectiveness of our cross-layer algorithm.
Figure 2.1: The butterfly network.
Case(a): Initially we analyze the network with link capacity of all links to be 1 unit. The subsession rates at convergence point are tabulated in Table 2.1 and the time evolution of the rates is plotted in Figure 2.2. The rows of the table indicate different subsessions and their corresponding destination set. “ON” indicates the node is in the destination set and “OFF” indicates it is not. We see that the rate values at convergence point are 0, 0 and 2 respectively. Each destination receives a data rate of 2 which equals the theoretically maximum achievable rate specified by the max-flow-min-cut theorem. Also, it can be observed that rates for the unicast subsessions are 0. Hence when the link capacities are uniform, all the data can be transmitted through multicast taking full advantage of network coding.
21
Case(b): In the second simulation scenario, we introduce a bottleneck link in the paths of one of the destinations, i.e. we reduce the average capacity over link (1, d1) to 0.1 units. We achieve this average capacity through a Bernoulli random process with parameter 0.1. The subsession rates are again tabulated in Table 2.2 and evolution of rates in Figure 2.3. The net achieved rate for destination d1 is 1.1 units where as destination d2 receives a rate of 2 units. Case (b) clearly shows the effectiveness of our algorithm: while single-rate multicast with fixed coding subgraphs would have resulted in a lower data rate to both the destinations due to receiver d1 creating the bottleneck for the whole multicast group, our cross layer mechanism still achieves rates very close to theoretical value for either destinations.
Table 2.1: Case (a) d1 d2 xk S {10} OFF ON 0 S {01} ON OFF 0 S {11} ON ON 2
Table 2.2: Case (b) d1 d2 xk S {10} OFF ON 0 S {01} ON OFF 0.9 S {11} ON ON 1.1
Table 2.3: Case (c) d1 d2 xk S {10} OFF ON 0 S {01} ON OFF 0 S {11} ON ON 1
Table 2.4: Case (d) d1 d2 xk S {10} OFF ON 0.5 S {01} ON OFF 0.5 S {11} ON ON 0.6
22
2.5
2
1.5
Destn d1 Destn d
1
2
Destn d1 and 2
2
4 6 No. of Iterations
8
1
0 0
10 4 x 10
Figure 2.2: Case (a)
2
Destn d1 and d2
0.5
0.5 0 0
Destn d2
1.5 Rates
Rates
2
Destn d1
2
4 6 No. of Iterations
1.5
Destn d1
Destn d
Destn d
2
2
Destn d1 and d2
Destn d1 and d2
1 Rates
Rates
10 4 x 10
Figure 2.3: Case (b)
Destn d1
1.5
8
1
0.5 0.5 0 0
2
4 6 No. of Iterations
8
10 4 x 10
Figure 2.4: Case (c)
0 0
2
4 6 No. of Iterations
Figure 2.5: Case (d)
23
8
10 4 x 10
Case(c): In the third simulation scenario, we introduce bottleneck links in the paths of both the destinations by setting the average capacities of links (1, d1 ) and (2, d2 ) to 0.1. The resulting rate values at convergence are tabulated in Table 2.3 and evolution of rates in Figure 2.4. It can be seen once again that all the data is transmitted through the multicast subsession and the algorithm takes advantage of network coding between packets of the multicast subsession to achieve a rate of 1 unit to either of the destinations. Case(d): In the fourth simulation scenario, we set the average capacity of link (3, 4) to 0.1 units, and all others to 1. The resulting rate values at convergence are tabulated in Table 2.4 and evolution of rates in Figure 2.5. Both the destinations achieve a rate of 1.1 units, which is optimal. We note that the proposed rates of 0.5 units for unicast and 0.6 units for multicast subsessions can be achieved by time sharing the links (1, d1) and (2, d2) between the unicast and multicast subsessions. Also, note that the system converges to within a small neighborhood of the optimal, since we have chosen constant step sizes. The choice of the step-size parameter determines the trade off between optimality and convergence rate. In particular, the smaller the step size, the slower the convergence and the closer to the optimal, which is a general characteristic of any gradient based method.
24
CHAPTER 3
LOW COMPLEXITY IMPLEMENTATION: LAYERED MECHANISM
The Cross-Layer Algorithm obtains optimality characteristics which is important and certainly attractive, it must be noted that our cross-layer algorithm is based on decomposing a single multi-rate session with |D| number of destinations into 2|D| single-rate multicast subsessions, one for each subset of destinations. Thus, the coding and rate allocation complexity of the algorithm grows exponentially with the size of the multicast session. Next, we will propose a low-complexity implementation by utilizing the special structure of the problem.
3.1
Intuition and Algorithm Description
In this section, we propose a novel strategy to reduce the exponential complexity of the cross-layer mechanism with respect to the number of destination nodes. The main idea behind our approach can be described by a horizontal water-filling analogy as follows. Consider the maximum achievable rates in the multi-rate multicast session as a function of the destinations, such illustrated in Figure 3.1, where we can see that Destination 4 has the best channel, while Destination 5 has the worst channel.
25
Figure 3.1: Determining the optimal subsessions with a embedded structure.
The idea is to start by serving a single subsession containing all the destinations and then adding more subsessions by gradually eliminating the bottleneck destinations by utilizing the pricing information at the sources. In the example of Figure 3.1, we see that Destination 5 must be eliminated in the first round as it is the bottleneck link of the first (i.e. bottom) subsession. Then, in the second round the first two subsessions are served, leading to the identification of Destination 1 as the bottleneck destination in the second subsession. Thus, Destination 1 is eliminated in the third round to construct the third subsession, and so on. In order to identify the bottleneck destination at the end of each iteration, we make use of limit prices at the end of each round. In particular, in each round, the receiver whose price converges to the largest value in its subsession is marked as the bottleneck destination. To the best of our knowledge, such use of prices is novel and has not been exploited in earlier works. The details of our proposed procedure is described next. Definition 2 (Low-Complexity Mechanism). Perform the following steps. • Initialize the number of subsessions R to 1, with D1 = D.
26
• In the Rth round, R = 1, · · · , K − 1, with {D1 , · · · , DR } denoting the existing multicast subsessions, do: (i) Run the cross-layer mechanism of Definition 1 only for the subsessions with desti(d,Dr )
nations {D1 , · · · , DR }, such that xr (t) → x˜r , for each r = 1, · · · , R; and µs (d,Dr )
µ ˜s
(t) →
, for each r = 1, · · · , R, and d ∈ Dr . (d,DR )
˜s (ii) Let d⋆R = arg maxd∈DR µ
, which implies that d⋆R is the bottleneck destination
in the multicast subsession DR since its price is the maximum. (iii) Construct the (R + 1)st subsession as DR+1 = DR \d⋆R . If (R + 1) = K, exit. Otherwise start the (R + 1)st round. It can be seen in Step (ii) of the iterative procedure that the limit price levels at the source are used to identify the bottleneck link in the most recent, i.e. Rth , multicast subsession, and in Step (iii), the next subsession is created by eliminating the identified bottleneck, d⋆R . In the following subsection, we provide a logical explanation for our layered algorithm and provide a few simulation results to demonstrate that the low complexity scheme continues to achieve full optimality in addition to the complexity gains it provides.
3.2
Layered Mechanism: Main Idea
We now justify the main idea behind the layered mechanism and hence in the process establish the that a maximum of |D| subsessions are sufficient to achieve the maximum service rates for each of the destinations. We propose the following conjecture. Conjecture 1. For a network consisting of |D| destinations, there exists a point in ˆ∈χ ˆ has the solution set x ˆ which maximizes the objective function of (2.6) such that x 27
at most |D| non-zero subsession rates and furthermore, the set of sub-sessions having non-zero rates has a special embedded structure. We now provide arguments for Conjecture 1. The layered mechanism starts with routing the multicast sub-session to all the destinations in the network. At the end of each round, we proceed by eliminating the destination with highest queue-length at the source node and adding a new sub-session formed by eliminating the bottleneck destination. Let us analyze the optimization problem at the end of each round. In the first round, only a single subsession having the entire set D as its set of destinations is scheduled while all the other subsessions are unscheduled. Recall from the proof of Proposition 1 that the rate achieved by this multicast subsession is given by xD = min mincut{d1 , d2 , ..., d|D|}. In order to find out the bottleneck destination at then end of this round, we make use of the congestion price information at the source node. We make the following two claims. Claim 1. The destination whose price converges to the largest value in its subsession is the bottleneck destination of the subsession. k Reason: The congestion prices, µs,d,D ∀i ∈ N can be viewed as ”logical queues” i
at node i ∈ N to destinations d ∈ Dk for the k th subsession of session s. Each of (s,d,Dk )
these logical queues have an arrival rate of fin(i)
(s,d,D )
. and a service rate of fout(i) k . Due
to the nature of backpressure algorithm, the service rate offered to the logical queue at the source node to each of destination queues is equal to the minimum capacity of the cut from source to the corresponding destination. All of the logical queues belonging to the same subsession have a common arrival rate which is equal to the source rate xsk . Therefore it follows from the arguments that the destination having 28
the minimum cut capacity should have the highest queue-length at the source node. Let dj denote the destination which has the maximum queue-length at the source ⋄
node for its corresponding queue.
Claim 2. We cannot achieve better service rate for destination dj by routing any other subsession having dj as the destination. Reason: The claim follows since we have already achieved the theoretically specified maximum service rate (by max-flow min-cut theorem) for destination the dj by serving the subsession D1 .
⋄
Hence, we can eliminate all the subseesions having destination dj as one of its destination. Continuing the elimination process at the end of each round, it can be seen that we can achieve the minimum cut capacity for each of the destinations with a maximum of |D| subsessions. Furthermore no subsession having an already eliminated destination is considered again for scheduling, thus giving rise to the special embedded ⋄
structure.
3.3
Numerical Results of Layered Algorithm
In this section, we illustrate the effectiveness of the low complexity multicasting strategy of Definition 2 not only in reducing the algorithm complexity but also in achieving data rates very close to the optimal value. The network considered for illustrating complexity reduction is shown in Figure 3.2. The multi-rate session has three destinations, and all the links are assumed to have unit capacity, except for link (1, d1 ), which has an average capacity of 0.1 units. The rate values at convergence for different subsessions at different rounds are tabulated in the rightmost column of Table 3.1 and the evolution of rates and 29
Figure 3.2: Network serving a session with 3 destinations.
the queue lengths for individual destinations for each of the rounds are plotted in Figure 3.3 to Figure 3.7. The numbers below the destinations in Table 3.1 indicate the convergent price values at the source node for the corresponding destination. The boxed numbers in each round indicate that the corresponding destination has the highest price and is the bottleneck receiver in the subsession. Hence it is eliminated in the subsequent rounds. Next, we consider an even larger network serving a session with six destination nodes as shown in Figure 3.8. The link capacities for all the links are 1 unit except for those indicated in Figure 3.8. The prices and rate values at convergence for different subsessions at different rounds are tabulated in Table 3.2 and the evolution of rates for the last round is plotted in Figure 3.9. The optimality and effectiveness of the algorithm is clearly evident in this case: the original cross layer mechanism has to deal
30
Table 3.1: Subsession rates at different rounds for the layered mechanism Round # d1 d2 d3 xk Round 1 2.7 0.0 0.0 1.1 Round 2 0.9 0.6 0.4 1.1 0.5 0.5 0.9 Round 3 1.0 0.7 0.3 1.1 0.5 0.5 0.9 0.5 0
3
3 Congestion Price at the Source Node
Destn d1,d2 and d3
2.5
Rates
2 1.5 1 0.5 0 0
1000
2000 3000 4000 No. of Iterations
5000
2.5 2
Congestion Price for d1
1.5
Congestion Price for d3
1 0.5 0 0
6000
Congestion Price for d2
1000
2000 3000 No. of Iterations
4000
5000
Figure 3.3: Evolution of rates in the first Figure 3.4: Evolution of congestion prices round of the layered algorithm for the net- in the first round of the layered algorithm work in Figure 3.2. for the network in Figure 3.2.
31
2.5
0.7
1 2
Rates
2
Congestion Price at the Source Node
Destn d ,d and d
3
Destn d2 and d3
1.5 1 0.5 0 0
1000
2000 3000 4000 No. of Iterations
5000
Congestion Price for d
2
Congestion Price for d3
0.6 0.5 0.4 0.3 0.2 0.1 0 0
6000
1000
2000 3000 4000 No. of Iterations
5000
6000
Figure 3.5: Evolution of rates in the sec- Figure 3.6: Evolution of congestion prices ond round of the layered algorithm for the in the second round of the layered algonetwork in Figure 3.2. rithm for the network in Figure 3.2.
2
Destn d1,d2 and d3 Destn d2 and d3
Rates
1.5
Destn d2
1 0.5 0 0
0.5
1 No. of Iterations
1.5
2 5
x 10
Figure 3.7: Evolution of rates in the third and final round of the layered algorithm for the network in Figure 3.2.
32
Figure 3.8: Network serving a session with 6 destinations.
with an exponential number of subsessions (64 in this case) and becomes infeasible as the number of destinations increases, whereas the low-complexity implementation only uses up to a linear number of subsessions (6 in this case).
Table 3.2: Subsession rates at Round# d1 Round 1 5.2 Round 2 0.9 .. .. . . .. .. . . Round 6 0.9 -
different rounds d2 d3 d4 0.0 0.0 0.0 3.4 0.1 0.0 3.3 0.1 0.0
1.6 0.9 -
0.0 0.7 0.8 -
33
0.6 0.7 0.7 0.6 -
for the layered mechanism d5 d6 xk 0.0 0.0 1.2 0.0 0.0 1.1 0.0 0.0 0.4 .. .. . . .. .. . . 0.0 0.9 1.1 0.7 0.2 0.2 0.7 0.1 0.0 0.5 0.5 0.5 0.5 0.5 0.3 - 0.6 0
2.5
Destn d1,d2,d3,d4,d5,d6 Destn d2,d3,d4,d5,d6
2
Destn d3,d4,d5,d6
Rates
Destn d4,d5,d6 Destn d5,d6
1.5
Destn d6
1
0.5
0 0
0.2
0.4
0.6
0.8
1
1.2
No. of Iterations
1.4
1.6
1.8
2 x 10
5
Figure 3.9: Evolution of rates in the third and final round of the Network in Figure 3.8.
34
CHAPTER 4
NESTED OPTIMIZATION
The layered algorithm developed in the previous chapter reduces the number of subsessions from 2|D| to |D| and hence decreases the complexity. However it operates in rounds and requires convergence to start a new round. In this section, we propose an alternative approach, called the nested optimization framework which has applicability to other problems also.
4.1
Generic Nested Optimization Framework
The idea of nested optimization problem is applicable in scenarios in which an basic optimization problem, which we wish to call as the primary problem has multiple points at which the objective function is optimized. In such cases, we might be interested at one particular point in the solution space which not only optimizes the primary problem but also optimizes some additional criteria which we call as the secondary problem. Such instances are common in scenarios such as multipath routing in which we wish to find the set of source rates which optimize the destination utilities (as a solution to the primary problem) and also satisfy some additional criterion such as delay or queue-length minimization.
35
It must be noted that in these scenarios, the primary and secondary objective functions are not conflicting objective functions and hence the this class of optimization problems does not fall under the category of pareto optimization problems. Instead, we are intending to find the points inside the set of optimal solutions of the primary problem which also optimizes the secondary problem. Such a scenario is shown in Figure 4.1.
Figure 4.1: A Scenario for Nested Optimization
The next subsection states the problem more rigorously.
4.1.1
Nested Optimization:System Model
Suppose we are primarily interested in finding an optimal solution to the problem: Px : max U(h(x)) x∈X
where h(.) is a many to one mapping and U(.) is the utilization factor. Since h(.) is a many to one mapping function, there might be more than one points in X which maximizes the utility function. Let Xˆ denote the set of vectors in X which maximizes ˆ ∈ Xˆ that minimizes the the utilities. Now we are interested in finding a point x cost function while simultaneously maximizing the utility. Therefore we define the 36
secondary problem given by Sx : min C(ˆ x) ˆ ∈Xˆ x
We are interested in solving the two problems in parallel using a duality framework. In particular, suppose the constraint set X is described as X = {x ∈ M : g(x) ≤ 0} for some closed convex set M and inequality constraints. Let q be the Lagrange multiplier vector associated with the inequality constraints. Then, the Lagrangian function associated with Px is given by L(x, q) = U(h(x)) − qT g(x) In the absence of a secondary problem, we could have solved the optimization problem by using the dual technique of updating the rate and lagrange multiplier. However,in this case we have to include the cost minimization into this framework as well. We now present the nested optimization algorithm: Definition 3 (Nested Optimization). Primary problem Update: The algorithm first tries to maximize the utilization achieved as a function of the rate x(t) and sets a value for h(x(t)). in every time slot [t] as follows: x(t) = arg max(U(h(x)) − qT g(x)) x∈M
¯ (t) ∈ Secondary Problem Update: The secondary problem tries to find a point x X in every time slot [t] such that it preserves the h(x(t)) value set by the primary optimization problem. ¯ (t) = x
arg min
¯ {¯ x∈M :h((x))(t)=h(x(t))}
37
(C(¯ x) − qT g(¯ x))
Lagrange Multiplier Update: The lagrange multipliers q(t) are updated based on ¯. the x q(t + 1) = q(t) + α(t)g(¯ x(t))
The working of the nested optimization structure is pictorially depicted in Figure 4.2. The primary and secondary problems are intricately related via the variables ¯ , q}. {x, x
Figure 4.2: Nested Optimization Loop
4.2
Application of Nested Optimization problem to Multirate Multicast Problem
We now define the primary and secondary optimization problems associated with our multirate multicast problem. The primary problem is maximizing the destination
38
utilities subject to the network constraints, PN EST is given by max
{x,f ,r≥0}
s.t.
XX
Ud (yds (x))
(4.1)
s
d∈D (s,d,Dk ) fout(i) (s,d,Dk )
fij
Ks XX s
(s,d,Dk )
− fin(i)
(s,Dk )
≤ rij
(s,Dk )
rij
(s,k)
= xi
,
i 6= d, ∀k, ∀d ∈ Dk ,
∀k ∈ {1, · · · , K}, ∀d ∈ Dk ,
,
≤ cij ,
∀(i, j) ∈ L.
k=1
In our problem h(x) is of the form
P
s k∋d xk .
The quantity specifies the net rate
received by each destination from all the subsessions. The secondary optimization problem SN EST is given by min
C(¯ x)
s.t.
fout(i) k − fin(i)
{¯ x,f ,r≥0}
(4.2)
(s,d,D )
(s,d,Dk )
fij
Ks XX s
X
(s,d,Dk )
(s,Dk )
≤ rij
(s,Dk )
rij
(s,k)
= xi
,
i 6= d, ∀k, ∀d ∈ Dk ,
∀k ∈ {1, · · · , K}, ∀d ∈ Dk ,
,
≤ cij ,
∀(i, j) ∈ L.
k=1
x¯sk = yds
k∋d
The secondary problem tries to minimize the cost subject to the network constraint and also preserving the destination rates specified by the the utility maximization problem. We now dualize the primary problem and its lagrangian is given by ! XX X k) max L(x, µ) = max Ud (yds ) − µ(d,D xk s x≥0
{x,f ,r≥0}
+
max
0≤f (s,d,Dk ) ≤r (s,Dk ) ij ij Dk P P r s k∈Ks ij ≤cij
s
d∈D
k∋d
(s,d,D ) (s,d,Dk ) fij k (µi
X
(i,j),s,k∈Ks,d∈Dk
The µ indicates the congestion price as above.
39
(4.3)
(s,d,Dk )
− µj
).
(4.4)
The lagrangian of the secondary problem is given by max L(¯ x, µ) = max C(¯ x) + x ¯≥0
{¯ x,f ,r≥0}
+
XX s
max
(s,d,Dk )
X
0≤f (s,d,Dk ) ≤r (s,Dk ) (i,j),s,k∈Ks,d∈Dk ij ij (s,Dk ) P P r ≤cij s
λsd (t)
d∈D
k∈Ks
X k∋d
ij
fij
(s,d,Dk )
(µi
x¯sk − yd (t) .
(4.5)
Here λ indicates the lagrange multiplier associated with the last constraint function of the dual problem. We now utilize only the rate determining part from the Lagrangian of the primary problem and provide the scheduling, resource allocation and coding solution based on the lagrangian of the secondary problem. We adopt the primal dual algorithm to solve both the optimization problems. The dynamics of the nested optimization structure are as follows: X M (s,d,D ) Xks (t + 1) = Xks (t) + α Ud′ (Yds [t]) − µsrc(s) k [t]) , m
d∈Dk ′
¯ s (t + 1) = X ¯ s (t) − γ C (X) ¯ + X k k
X
(s,d,D )
µsrc(s) k + λd
d∈Dk (s,d,Dk )
µi
(s,d,Dk )
(s,k)
(s,d,D )
(s,d,D )
¯ [t] + fin(i) k [t] − fout(i) k [t]) [t] + β(X i X ¯ ks − yds (t)) λsd (t + 1) = λsd (t) + δ( X ∀s, d ∈ D [t + 1] = µi
∀s, ∀k ∈ Ks (4.6)
∀s, ∀k ∈ Ks +
,
(4.7) (4.8) (4.9)
k∋d
Note that α, γ, β, λ are step sizes for the updates. The first equation updates x in accordance with the utility maximization problem and sets up the destination rate (Yds (t)) levels in each iteration. The second equation updates x¯ according to the cost minimization problem while trying to preserve the destination rate levels set by the primary problem update. It must be noted that the two problems are related by the common prices that are the lagrange multipliers 40
(s,d,Dk )
− µj
)
associated with the network constraint equations of both the problems. The third equation gives the queue-length updates. The last equation gives λ updates. The lagrange multiplier λ evolves in such a way that the destination rates set by the variables x and x¯ becomes equal at convergence. We later provide simulation results for the convergence of nested optimization structure.
4.3
Application of Nested Optimization to Multipath Routing
The concept of nested optimization can be applied to scenarios such as multipath routing. We focus on the case where the objective is to maximize the end user utilities. There may exist multiple combination of source rates through different routes which optimize the end user utilities. In such a scenario, we might prefer one set of source rates depending on delay and queue-length considerations.
4.3.1
System Model
Consider a network with a number of flows leading from the source to different destination. Let F denote the set of all flows in the system. There can be multiple flows leading from the source to a given destination. The set of destinations is denoted by D. Let xf denote the rate of flow f ∈ F . Each destination receives data a rate of P yd = f ∋d xf . (Note: f ∋ d denotes all the flows which lead upto a given destination
d).We look at the problem from destinations point of view and try to maximize the end user utilities. Let Ud denote the utility function of destination d ∈ D. The utility function is assumed to be strictly concave, twice differentiable and non-decreasing
41
function of the destination rate yd . The optimization problem P 1 can be stated as follows.
max
{xf ≥0}
s.t.
X
Ud (
d∈D
X
xf )
(4.10)
f ∋d
XX
xf ≤ cl
∀l ∈ L
d∈D f ∋d
The constraint function indicates the link capacity constraints. In such a scenario there may be multiple solutions to inject data into different flows that yield the same level of utilization. In order to visualize, we consider a simple network consisting of two destinations d1 and d2 ., shown in Figure 4.3. The link capacities are indicated in the figure. There are four flows in the network, two flows leading to each of the two destinations. Let ˆ denote a point in the hatmathcalX denote the set of optimal solutions and let x ˆ = (ˆ optimal solution set. (Note x x1 , xˆ2 , ...) denotes a point in the optimal solution set). Even in this simple network, we can see that two sets of optimal solutions exist in the network, given by (0.5, 0.5, 0.5, 0.5) and (1, 0, 0, 1) (in tems of source rates along the four paths viz (f low1,f low2,f low3,f low4)). Taking delay and queue-length into consideration, we may prefer one solution over the other. The problem can be casted into a nested optimization problem by defining the secondary problem of interest. Let C(ˆ x) denote the cost function associated with a one of the points in the solution space of optimization problem P 1. The secondary problem can also be stated in terms of the queue lengths which are the lagrange multipliers associated with problem P 1. However, to keep things simple, we define the cost in terms of the primal variable x in this section. 42
Figure 4.3: Network for Multipath Routing
Therefore the nested optimization problem associated in this case would be the following.
max
{xf ≥0}
s.t.
X
Ud (
d∈D
X
xf )
(4.11)
f ∋d
XX
xf ≤ cl
∀l ∈ L
(4.12)
d∈D f ∋d
The secondary problem P 2 can be stated as follows. Sx : min C(ˆ x) ˆ ∈Xˆ x
We now formulate the nested version of the optimization problem P 1 and P 2. and come up with a dynamic algorithm that optimizes both the primary and secondary problem. One other interesting aspect of this formulation is that the primary and the secondary optimization problem operate at the same time scale. P We define yd (t) = f ∋d xf (t). The primary problem of the nested optimization
problem denoted by PN EST is given by
43
max
{xf (t)≥0}
s.t.
X
Ud (
d∈D
X
xf (t))
(4.13)
f ∋d
XX
xf (t) ≤ cl
∀l ∈ L
d∈D f ∋d
The secondary problem of the nested optimization denoted by SN EST is given by
min
{¯ xf (t)≥0}
s.t.
C(¯ x(t)) XX x¯f (t) ≤ cl
(4.14) ∀l ∈ L,
d∈D f ∋d
X
x¯f (t) = yd (t)
f ∋d
We dualize the optimization problem PN EST . We define ql , the lagrange multiplier associated with each of the link constraint function of SN EST . The lagrange multipliers are indicators of queue lengths associated with queues of different links. We adopt the sub gradient algorithm to solve the dual problem and take single step updates of rates and prices. The dual problem associated with PN EST is as follows
L1 (x, q) =
max
{¯ xf (t)≥0}
X d∈D
Ud (
X
xf (t)) −
f ∋d
X l∈L
ql (t)
XX d∈D f ∋d
xf (t) − cl
We now dualize the secondary problem PN EST 2. The two problems PN EST 1 and PN EST 2 are tied up by the lagrange multipliers ql associated with the link constraint. Let λd be the lagrange multiplier associated with equality constraint of problem PN EST 2. The dual problem associated with the secondary problem PN EST 2 would be 44
L2 (¯ x, q, λ) =
min C(¯ x(t)) +
{¯ xf (t)≥0}
X
ql (t)
l∈L
XX d∈D f ∋d
X X x¯f (t) − cl + λd (t) x¯f (t) − yd (t) d∈D
f ∋d
The following are the update rules for the sub gradient algorithm X X + ′ xf (t + 1) = xf (t) + α Ud ( xf (t)) − ql (t) f ∋d
′
l∈R(f )
x¯f (t + 1) = x¯f (t) − γ Cd (¯ x) + ql (t + 1) = ql (t) + β
λd (t + 1) = λd (t) + δ
X
ql (t) +
x¯f (t) − cl
f :l∈R(f )
X
+
x¯f (t) − yd (t)
f ∋d
X d∋f
l∈R(f )
X
(4.15)
λd (t)
+
(4.16) (4.17) (4.18)
The utility maximization block takes a step update in the direction of utility maximization. The update rule for x variable is given by (4.15). The cost minimization block takes a step update in the direction of cost minimization. The update rule for x¯ is given by (4.16). The queuelengths are updated based on the current level of x¯. The λ update tries to equalize the destination rates set by x and x¯. Hence, x¯ can be treated as the actual arrival rates into the queues.
4.4
Numerical Results for Nested Optimization Algorithm
We now provide the simulation results for the Nested Algorithm of Section 4.1. The simulation results are implemented for the network shown in Figure 3.2. In these simulation results, the primary problem is the utility maximization problem using the log utilization function. In the secondary problem, which is the cost minimization problem, we consider linear cost function. Hence the linear cost function in terms of P subsession rates can be given by s∈Ks xsk . We consider two cases. In case(a), the 45
link capacities of all the links of the network is 1 unit. In the second case, case(b), we introduce one bottleneck link of capacity 0.1 units for the link joining node 1 and destination d1 . The subsession rates at convergence are provided in Table 4.1 and Table 4.2 for case(a) and case(b) respectively.
S S S S S S S
Table 4.1: d1 {100} ON {010} OFF {001} OFF {110} ON {011} OFF {101} ON {111} ON
Case d2 OFF ON OFF ON ON OFF ON
(a) d3 xk OFF 0 OFF 0 ON 0 OFF 0 ON 0 ON 0 ON 2
S S S S S S S
Table 4.2: d1 {100} ON {010} OFF {001} OFF {110} ON {011} OFF {101} ON {111} ON
Case d2 OFF ON OFF ON ON OFF ON
(b) d3 xk OFF 0 OFF 0 ON 0 OFF 0 ON 0.9 ON 0 ON 1.1
It can be seen in case(a) that the subsession rates converges to exactly the same point as the layered structure. Also, it can be seen that this is the solution which incurs the least cost on the network since there is just one subsession which has a nonzero subsession rate. Similarly, the results also holds for case(b). The convergence plots are provided in Figure 4.4 and Figure 4.5. The Figures 4.6 and 4.7 make a comparative study between the distribution of subsession rates for the original and nested algorithm case. It can be seen that nested the solution provided by the nested optimization algorithm tries to maximize the fraction of traffic routed through the multicast session, hence reducing the total number of packets injected into the network and also the implementation complexity.
46
6
6
Destn d
Destn d
1
2
Evolution of Rates
Evolution of Rates
1
Destn d
5
Destn d
3
4
Destn d1 & d2 Destn d & d 2
3
3
Destn d1 & d3 Destn d1,d2 & d3
2 1 0 0
Destn d2
5
Destn d
3
Destn d1 & d2
4
Destn d & d 2
3
Destn d & d
3
1
3
Destn d1,d2 & d3
2 1
2000
4000 6000 8000 No. of Iterations
10000
0 0
12000
2000
4000 6000 8000 No.of Iterations
10000
12000
Figure 4.4: Evolution of rates for the Figure 4.5: Evolution of rates for the Nested Optimization Algorithm of the Net- Nested Optimization Algorithm of the Network in Figure 3.2. work in Figure 3.2.
2
1.2
Original Algorithm Nested Optimization Structure
Original Algorithm Nested Optimization Algorithm
1
Rates
Rates
1.5
1.4
1
0.8 0.6 0.4
0.5
0.2 0
0
x_{1,0,0} x_{0,1,0} x_{0,0,1} x_{1,1,0} x_{0,1,1} x_{1,0,1} x_{1,1,1}
x_{1,0,0} x_{0,1,0} x_{0,0,1} x_{1,1,0} x_{1,1,0} x_{1,,0,1} x_{1,1,1}
Figure 4.6: Comparitive study of distribu- Figure 4.7: Comparitive study of distribution of data rates among subsessions for tion of data rates among subsessions for the original and nested optimization algo- the original and nested optimization algorithm for case(a). rithm for case(b).
47
It must be noted that linear cost function is just one of the possible function for evaluating the cost. In this particular case we are looking at the cost function which gives the most sparse solution(Solution that has maximum number of zeros). The nested optimization algorithm gives us the flexibility of choosing cost functions that reduce other network parameters like aggregate queue-length and delay.
48
CHAPTER 5
CONCLUSIONS
In this paper, we formulated and solved the problem of multi-rate multicasting for aggregate utility maximization with network coding capabilities. Our approach is based on decomposing the multi-rate session into many single-rate sessions, each using network coding capabilities, and then optimizing over the subsession rates. Using primal-dual methods, we developed a cross-layer algorithm which specifies the rate allocation, routing, scheduling, and coding decisions based on appropriately maintained dual parameters (prices), and then proved that a continuous-time model of our algorithm converges to the optimal allocation from any initial condition. Noting the exponential complexity of the original design with respect to the size of the multicast group, we utilized the special structure of problem to develop two novel approaches for low-complexity implementation without sacrificing significantly from significantly from optimality. The first algorithm namely the layered algorithm gradually constructs the set of subsessions with a nested destination set structure, instead of considering all of them at once. The second algorithm, called the nested optimization structure finds the class of points in the optimal solution set which satisfy additional criterion such as complexity of implementation, delays and queue-lengths. We also
49
performed extensive simulations to confirm the optimality characteristics of the original algorithm and its low-complexity variants. We finally showed the applicability of nested optimization to other multipath routing as well.
50
APPENDIX A
CONVERGENCE PROOF FOR CROSS LAYER ALGORTITHM
Proof. Before we begin the proof, we state the KKT conditions (see [22]) for our problem. (k,s)
(ˆ xi
(s,d,D ) (s,d,D ) + fˆin(i) k − fˆout(i) k ) ≤ 0,
µ ˆ(s,d,Dk ) ≥ 0,
∀i ∈ N, s, k ∈ Ks
(A.1)
∀i ∈ N, s, k ∈ Ks
(A.2)
(s,d,D ) (s,d,Dk ) (k,s) (s,d,D ) ∀i ∈ N, s, k ∈ Ks µ ˆi (ˆ xi + fˆin(i) k − fˆout(i) k ) = 0, XX ′ (s,d,D ) (Ud (ˆ yds ) − µ ˆsrc(s) k ) = 0, ∀k ∈ Ks
(A.3) (A.4)
s∈S d∈Dk
Consider the Lyapunov function Wt (x, µ) =
1 XX s 1 X X X X (s,d,Dk ) (s,d,Dk ) 2 (xk (t) − xˆsk )2 + (µ (t) − µ ˆi ) 2α s k∈K 2β i s k∈K d∈D i s
s
k
Differentiating the Lyapunov function with respect to time, we get the Lyapunov drift ˙ t (x, µ) = 1 W α
XX s
k∈Ks
(xsk (t) − xˆsk )x˙ sk (t) +
1 β
X
(s,d,Dk )
(µi
(s,d,Dk )
(t) − µ ˆi
(s,d,Dk )
)µ˙ i
(t)
i,s,k,d∈Dk
For notational simplicity, we drop the time index but all the rate and flow quantities must be interpreted as time dependent functions. Using equation (2.11) and (2.12)
51
to determine the primal and dual gradients, we get ˙ t (x, µ) = W
XX
(xsk − xˆsk )
s
k∈Ks
+
X
X
′
(s,d,D )
(Ud (yds ) − µsrc(s) k )
d∈Dk
(s,d,Dk )
(s,d,Dk )
−µ ˆi
(µi
i,s,k,d∈Dk
≤
XX s
k∈Ks
X
+ (s,k) (s,d,D ) (s,d,D ) ) xi + fin(i) k − fout(i) k
′
(s,d,D )
(Ud (yds ) − µsrc(s) k )
d∈Dk
(s,d,Dk ) (µi
X
+
(xsk − xˆsk )
+
−
(s,d,Dk ) µ ˆi )
i,s,k,d∈Dk
(s,k (s,d,Dk ) (s,d,Dk ) xi + fin(i) − fout(i)
The inequality follows since we remove the projection operation from the rate and price gradients. Optimality of (ˆ x, µ ˆ) implies that XX
′
(s,d,D )
(Ud (ˆ yds ) − µ ˆsrc(s) k ) = 0,
∀k ∈ Ks
s∈S d∈Dk
We add this quantity in the first summation and optimal rate in the second summation of the Lyapunov drift. Hence, ˙ t (x, µ) = W
XX s
+
X
(xk − xˆk )
k∈Ks
(d,D ) (µi k
−
X
d∈Dk
(d,D ) µ ˆi k )(xki
′ ′ (s,d,D ) (s,d,D ) [Ud (yds ) − Ud (ˆ yds ) + µ ˆ src(s) k − µsrc(s) k ] (s,k)
(d,D )
(d,D )
+ fin(i) k − fout(i)k + xˆi
(s,k)
− xˆi
)
(A.5) (A.6)
i,s,k,d∈Dk
Consider the quantity, X
(s,d,Dk )
(µi
(s,d,Dk )
−µ ˆi
(s,k)
)(xi
(s,k)
− xˆi
i,s,k∈Ks,d∈Dk
(s,d,D )
(s,d,D )
X
)=
ˆsrc(s) k )(xsk − xˆsk ). (µsrc(s) k − µ
s,k∈Ks,d∈Dk
The equality follows from the definition of
xki
in (2.5). This quantity cancels with the
second part of (A.5) and hence the Lyapunov drift expression reduces to ˙ t (x, µ) = W
XX
X
(xsk − xˆsk )
s
k∈Ks
+
X
′
′
(Ud (yds ) − Ud (ˆ yds ))
d∈Dk (s,d,Dk )
(fout(i) k − fin(i)
(s,d,Dk )
(ˆ xi
µ ˆi
(s,d,D )
(s,d,Dk )
(k,s)
− xˆi
(A.7) )
(A.8)
− fout(i) k )
(A.9)
i,s,k,d∈Dk
+
X
µi
i,s,k,d∈Dk
52
(s,k)
(s,d,Dk )
+ fin(i)
(s,d,D )
Next, note that (A.7) can be rearranged as (A.7) =
XX s
d∈D
′ ′ (yds − yˆds )(Ud (yds ) − Ud (ˆ yds )) .
(A.10)
Observe that (A.10) ≤ 0 since the utility function is concave by assumption. To show that other terms in the Lyapunov drift are negative, we start with (A.8). We can write X
(s,d,Dk )
(ˆ µi
(s,d,D )
(s,d,Dk )
)(fout(i) k − fin(i)
)=
i,s,k∈Ks,d∈Dk
(s,d,Dk )
X
fij
(s,d,Dk )
(ˆ µi
(s,d,Dk )
−µ ˆj
)
(i,j),s,k∈Ks,d∈Dk
≤(a)
XX X s
(s,d,D )
xˆsk µ ˆsrc(s) k ,
k∈Ks d∈Dk
where the inequality (a) can be proved by the following argument: by Karush-KuhnTucker (KKT) conditions (s,d,Dk )
µ ˆi
(k,s)
(s,d,D ) (s,d,D ) + fˆin(i) k − fˆout(i) k ) = 0,
(ˆ xi
∀i ∈ N, s, k ∈ Ks (s,k)
Summing over all nodes and subsessions and noting that xˆi XX X s
= 0, ∀i 6= src(s),
k) s µ ˆ(d,D xˆk s
k∈Ks d∈Dk
=
XX X X i
=
s
s
(s,d,Dk )
)
(d,D ) (d,D ) (d,D ) fˆij k (ˆ µi k − µ ˆj k )
k∈Ks d∈Dk
XX X X (i,j)
(s,d,D )
(fˆout(i) k − fˆin(i)
k∈Ks d∈Dk
XX X X (i,j)
≥
s
(s,d,Dk )
µ ˆi
(d,Dk )
fij
(d,Dk )
(ˆ µi
(d,Dk )
−µ ˆj
)
k∈Ks d∈Dk (s,d,Dk )
for any feasible f satisfying 0 ≤ fij
(s,Dk )
≤ rij
and
P P s
k∈Ks
rijs,Dk ≤ cij ∀(i, j),
ˆµ since (ˆ x, f, ˆ) maximizes the Lagrangian function in (2.8). From the result of (A.11), it follows that (A.8) ≤ 0. 53
To prove (A.9) ≤ 0, we proceed as follows: from the flow balance equations we have (s,k)
xˆi
(s,d,D )
(s,d,Dk )
= fˆout(i) k − fˆin(i)
, ∀i ∈ N, s, k ∈ Ks , d ∈ Dk .
Multiplying by corresponding subsession prices and summing it over all nodes and subsessions XX X s
(d,D )
xˆk µsrc(s)k =
XX X X i
k∈Ks d∈Dk
s
k∈Ks d∈Dk
XX X X
=
(i,j)
≤
s
s
(s,d,D ) (s,d,Dk ) (s,d,Dk ) fˆij k (µi − µj )
k∈Ks d∈Dk
XX X X (i,j)
(s,d,D ) (s,d,D ) (s,d,Dk ) (fˆout(i) k − fˆin(i) k )µi
(s,d,Dk )
fij
(s,d,Dk )
(µi
(s,d,Dk )
− µj
)
(A.11)
k∈Ks d∈Dk
Inequality follows since the resource allocation operation in Definition 1 sets the information flow rates to maximize the expression in (A.11). From (A.11) it follows that (A.9) ≤ 0. Combining the results, (A.7) + (A.8) + ˙ t (x, µ) ≤ 0 and further, (A.9) ≤ 0, and hence the Lyapunov drift, W ˙ t (x, µ) = 0} ξ := {(x, µ) : W is contained in the set S := {(x, µ) : (A.7) = (A.8) = (A.9) = 0} Let M be the largest invariant set of the primal-dual algorithm contained in ξ. By LaSalle’s invariance principle (provided in the Appendix Bfor completeness), (x(t), µ(t)) converges to the set M as t → ∞. Since M ⊂ ξ ⊂ S, as t → ∞, the limit point of the pair (x(t), µ(t)) must also satisfy (A.7) = (A.10) = 0. It must be noted that strict concavity of the utility functions implies (A.10) = 0 only when ′
′
Ud (yds ) = Ud (ˆ yds ) and hence limt→∞ yds (t) = yˆds . 54
APPENDIX B
LASALLE’S INVARIANCE PRINCIPLE
Theorem 2 (LaSalle’s Invariance Principle). Consider the differential equation: y(t) ˙ = f (y(t)). Let Y : D → R be a radially unbounded (i.e. lim||z||→∞ Y (z) = ∞), continuously differentiable, positive definite function such that Y˙ (z) ≤ 0 for all z ∈ D. Let ξ be the set of points in D where Y˙ (z) = 0. Let M be the largest invariant set3 in ξ. Then, every solution starting in D approaches M as t → ∞.
3
S is defined as an invariant set for a dynamic system y(t) ˙ = f (y(t)) if every trajectory y(t) which starts from a point in S always remains in S.
55
BIBLIOGRAPHY
[1] V. S.McCanne and M.Vetterli, “Receiver-driven layered multicast,” in Proceedings of ACM SIGCOMM, 1996, pp. 976–985. [2] X. Li, S. Paul, and M. H. Ammar, “Layered video multicast with retransmission (lvmr): Evaluation of hierarchical rate control,” in Proc. IEEE Infocom, Mar. 1998, pp. 1062–72. [3] ——, “Multi-session rate control for layered video multicast,” in Proc. SPIE Multimedia Computing and Networking, San Jose, CA, Jan. 1999, pp. 175–189. [4] F. P. Kelly, “Charging and rate control for elastic traffic,” European Transactions on Telecommunications, vol. 8, pp. 33–37, 1997. [5] S.Shakkottai and R.Srikant, Network Optimization and Control. lishers, 2007.
NOW Pub-
[6] X. Lin and N. B. Shroff, “Utility maximization for communication networks with multipath routing,” IEEE Journal on Automatic Control, vol. 51, no. 5, May 2006. [7] X. Lin, N. B. Shroff, and R. Srikant, “A tutorial on cross-layer optimization in wireless networks,” IEEE Journal on Selected Areas in Communications, special issue on Nonlinear Optimization of Communication Systems, vol. 14, no. 8, Aug 2006. [8] A. Eryilmaz and R. Srikant, “Fair resource allocation in wireless networks using queue-length based scheduling and congestion control,” in Proceedings of IEEE Infocom, vol. 3, Miami, FL, March 2005, pp. 1794–1803. [9] A. Stolyar, “Maximizing queueing network utility subject to stability: Greedy primal-dual algorithm,” Queueing Systems, vol. 50, no. 4, pp. 401–457, 2005. [10] M. Neely, E. Modiano, and C. Li, “Fairness and optimal stochastic control for heterogeneous networks,” in Proceedings of IEEE Infocom, Miami, FL, March 2005, pp. 1723–1734. 56
[11] L. Chen, S. H. Low, M. Chiang, and J. C. Doyle, “Jointly optimal congestion control, routing, and scheduling for wireless ad hoc networks,” in Proceedings of IEEE Infocom, Barcelona, Spain, April 2006. [12] L. nad M.J.Neely and L.Tassiulas, Resource Allocation and Cross-Layer Control in Wireless Networks. NOW Publishers, 2006. [13] L. Chen, T. Ho, S. H. Low, M. Chiang, and J. C. Doyle, “Optimization-based rate control for multicast network coding,” in Proceedings of IEEE Infocom, Anchorage, AL, April 2007, pp. 1163–1171. [14] D. S. Lun, N. Ratnakar, R. Koetter, M. M´edard, E. Ahmed, and H. Lee, “Achieving minimum cost multicast: A decentralized approach based on network coding,” in Proceedings of IEEE Infocom, 2005, pp. 1607–1617. [15] K. Kar, S. Sarkar, and L. Tassiulas, “A scalable low-overhead rate control algorithm for multirate multicast sessions,” IEEE Journal on Selected Areas in Communications, vol. 20, no. 8, pp. 1541–1557, October 2002. [16] L. Bui, R. Srikant, and A. Stolyar, “Optimal resource allocation for multicast subsessions in multihop wireless networks,” Philosophical Transactions of the Royal Society, 2008. [17] S. Sarkar and L. Tassiulas, “A framework for routing and congestion controlfor multicast information flows,” IEEE Transactions on Information Theory, vol. 48, pp. 2690–2708, 2002. [18] A. Eryilmaz and R. Srikant, “Joint congestion control, routing and mac for stability and fairness in wireless networks,” IEEE Journal on Selected Areas in Communications, special issue on Nonlinear Optimization of Communication Systems, vol. 14, pp. 1514–1524, August 2006. [19] J. Mo and J. Walrand, “Fair end-to-end window-based congestion control,” IEEE/ACM Transactions on Networking, vol. 8, no. 5, pp. 556–567, October 2000. [20] R. Ahlswede, N. Cai, S. R. Li, and R. W. Yeung, “Network information flow,” IEEE Transactions on Information Theory, vol. 46, pp. 1204–1216, July 2000. [21] T. Ho and D. Lun, Network Coding: An Introduction. Press, 2008.
Cambridge University
[22] D. Bertsekas, A. Nedich, and A. Ozdaglar, Convex Analyis and Optimization. Belmont, MA: Athena Scientific, 2003.
57
[23] F. P. Kelly, A. Maulloo, and D. Tan, “Rate control in communication networks: Shadow prices, proportional fairness and stability,” Journal of the Operational Research Society, vol. 49, pp. 237–252, 1998. [24] S. H. Low and D. E. Lapsley, “Optimization flow control, I: Basic algorithm and convergence,” IEEE/ACM Transactions on Networking, vol. 7, pp. 861–875, December 1999. [25] X. Lin and N. Shroff, “Joint rate control and scheduling in multihop wireless networks,” in Proceedings of IEEE Conference on Decision and Control, Paradise Island, Bahamas, December 2004. [26] L. Tassiulas and A. Ephremides, “Stability properties of constrained queueing systems and scheduling policies for maximum throughput in multihop radio networks,” IEEE Transactions on Automatic Control, vol. 36, pp. 1936–1948, December 1992. [27] M. Neely, E. Modiano, and C. Rohrs, “Dynamic power allocation and routing for time varying wireless networks,” in Proceedings of IEEE Infocom, April 2003, pp. 745–755. [28] A. Eryilmaz, R. Srikant, and J. R. Perkins, “Stable scheduling policies for fading wireless channels,” IEEE/ACM Transactions on Networking, vol. 13, pp. 411– 425, April 2005. [29] A. Eryilmaz and R. Srikant, “Resource allocation of multi-hop wireless networks,” in Proceedings of International Zurich Seminar on Communications, February 2006. [30] X. Lin and N. Shroff, “The impact of imperfect scheduling on cross-layer rate control in multihop wireless networks,” in Proceedings of IEEE Infocom, Miami, FL, March 2005.
58