Optimal Resource Allocation with Node and Link Capacity Constraints in Complex Networks
With the tremendous increase of the Internet traffic, achieving the best performance with limited resources is becoming an extremely urgent problem. In order to address this concern, in this paper, we build an optimization problem which aims to maximize the total utility of traffic flows with the capacity constraint of nodes and links in the network. Based on Duality Theory, we propose an iterative algorithm which adjusts the rates of traffic flows and capacity of nodes and links simultaneously to maximize the total utility. Simulation results show that our algorithm performs better than the NUP algorithm on BA and ER network models, which has shown to get the best performance so far. Since our research combines the topology information with capacity constraint, it may give some insights for resource allocation in real communication networks.
With the rapid development of the communication technology, the number of Internet users increases sharply. Meanwhile, the Internet traffic has exploded recently in response to new multicast and multimedia applications. These all require a larger Internet capacity and how to achieve the best transportation performance with limited resources is becoming an overwhelming problem.
Although we can increase the network capacity by enlarging the delivery capacity of nodes or bandwidth of links, it is quite expensive to do so [xiang2013traffic]. Instead, the recent development of complex network theory provides a new way to investigate this problem. Recently, Du et al. firstly explored the intersection between complex networks and optimization theory, and used the improved optimization theory to solve real-world problems in networked systems[du2015adequate, du2016identifying]. This emerging topic soon draws general attention from diverse communities. In our case, it is possible to optimize the resources allocation in complex communication networks to improve the whole network capacity.
In real communication networks, communication resources mainly include bandwidth resource [xiang2013traffic], node processing capabilities [liu2015optimal, xia2008internet] and buffer resource [xue2013effect]. Researchers tried to optimize the allocations of these resources to enhance the communication performance. However, some significant constraints in real communication networks have not been taken into account. For example, the research in [liu2015optimal] only considers the capacity constraint of nodes without considering the capacity constraint of links. Actually, link capacity constraint is related to the link bandwidth, which is an important constraint in real communication network. Therefore, it should be considered in the optimization problem as well. Moreover, the flow rate should be also optimized to enhance the communication performance [low1999optimization]. Based on these concerns, to achieve better performance, this paper will consider optimal capacity resource allocation and flow control simultaneously.
Ii Resource Allocation Algorithm
Ii-a Traffic Model
Consider a network that consists of nodes, links and traffic flows flowing from source nodes to destination nodes. denotes the set of nodes, denotes the set of links, and denotes the set of flows. For flow , represents the set of nodes flow goes through, represents the set of links flow passes. Obviously, and .
Assume node has capacity . We assume the total capacity of the whole network is fixed, i.e., . Meanwhile, we assume link has capacity , and traffic flow has rate . is restricted in the interval [low1999optimization], given and .
refers to the set of traffic flows passing link . Similarly, refers to the set of traffic flows going though node . When the aggregate flow rate going through node is no more than the capacity of node , and the aggregate flow rate passing link is no more than the capacity of link , the network is in the stable state; otherwise, the network is in congestion state. We use to denote the utility of flow . Our work aims to find the best capacity resource allocation method of nodes and links to achieve the largest utility under the premise of avoiding congestion.
Ii-B Optimization Problem
Under the condition that the total capacity of nodes is fixed to , to avoid congestion, resource allocation problem is formulated as:
Here, represents the utility function. In many congestion-management mechanisms such as TCP Reno and TCP Vegas, is increasing and strictly concave. Assume link connects nodes and . The larger the total capacity of and is, the higher the possibility that link has a large capacity exists. We’re inclined to assume there is a positive correlation between the total capacity that node and possess and the capacity that link possesses. So we can establish the following equality relation [xia2008internet]
where is the adjacency matrix of the network, in which if nodes and are connected, and otherwise. is the proportional constant. Notice that contains the topology information of the network. So with equation (5), we combine the topology information of the network with the optimal resource allocation problem, and inequation (3) can be rewritten as:
The above problem can be viewed as a convex optimization problem, and the primal optimal solution must exist [boyd2004convex]. However, it is almost impossible to solve the primal problem directly in real networks, since it requires coordination among possibly all sources [low1999optimization]. So, we first look at its dual. Define the Lagrangian
Here, we introduce variables , and . We denote as the price link pays to transmit one unit traffic flow, and as the price node pays per unit traffic flow. Since the network we considered here is undirected, and refers to the same link connecting nodes and , so the price . Transforming the above equation, we get
When it reaches the primal optimal solution, the flow rate and the node capacity satisfy
According to the above two equations, we get
With , and we can further transform (12) into
The objective function of the dual problem is thus
In order to maximize , variables and must satisfy (11)-(13). Therefore, after we eliminate intermediate variable , we have
and the dual problem becomes
According to (11), we have
where , and is the inverse of . We use the gradient projection method [low1999optimization] to solve the dual problem
Here, refers to the stepsize. Then, we compute and . Notice that is the function of and . According to the chain rule for derivatives, we have
So, we have
With equations (22) and (23), we assign different price for different nodes and links.
Ii-C Distributed Algorithm
We design the following iterative algorithm based on the above derivation.
Ii-C1 Link price for
Ii-C2 Node price for
Ii-C3 Flow rate for
Link ’s Algorithm
At time , link receives flow rate , , and adjusts its transmission price according to
Node ’s Algorithm
At time , node receives flow rate , , and adjusts its price according to
Meanwhile, node adjusts its capacity according to
Flow ’s Algorithm
At time , flow receives the link price , , and node price , , and adjusts its transmitting rate according to
Iii-a Network Models
To verify our algorithm, we consider two theoretical network models, including Barab¨¢si-Albert (BA) scale-free network model [barabasi1999emergence] and Erdos-Renyi (ER) random network [erdos1961evolution] both with nodes and links. We guarantee that each and every network is connected. In each network, pairs of nodes are randomly selected as sources and destinations. Once a pair of nodes is chosen, we assume there is a flow from the source to the destination along the shortest path. If there are more than one shortest path, then we randomly choose one.
Firstly, we need to test the convergence of our distributed algorithm. Compare the result of our algorithm with optimal value solved by MATLAB CVX package [grant2008cvx], with
Here, is the final iteration value of our algorithm, and is the solution of MATLAB CVX package.
The simulation results in Table 1 are averaged over 10 realizations with , . As we can see, the computational error is so small that can be ignored.
Iii-B Performance Indicators
Here, we measure the network performance by the following two aspects: total utility and network throughput. Firstly, because the original purpose is to find the maximum utility, we choose as our first performance indicator. We use as the utility function, where refers to the number of nodes flow passes. This definition is a simplified version used in TCP Reno. The other indicator we employ is throughput, given . The larger throughput the network has, the better performance the network shows.
Iii-C Simulation Results
The solution of our algorithm is compared with recent resource allocation algorithm named NUP[wu2013analysis], which is defined as
where is the total number of paths from node to meanwhile pass through node . However, NUP algorithm is only a resource allocation algorithm, and we can’t get the flow rate . So, we combine NUP with an optimal flow control algorithm proposed by Low and Lapsley [low1999optimization], and compare the result of our algorithm with that combination.
Figures 1 and 2 show that our algorithm has larger utility and throughput compared with NUP algorithm. In Fig.1, we can see clearly that when total node capacity is fixed to , the utility and throughput are nondecreasing functions of parameter . As increases, the link capacity constraint is loosed up, and the whole system gains better performance. However, merely increasing when it’s large enough may have little benefit because total node capacity will become a bottleneck, so we can see in Fig.1, performance almost remains unchanged after .
In Fig. 2 , network utility and throughput keep increasing along with the growth of total node capacity . Obviously, it is in line with our cognition. As the total node capacity increases, with equality relation (5), the capacities of links and nodes increase simultaneously. Thus we can increase flow rate without congestion. As a result, the utility and throughput both increase with the increasement of flow rate .
Since our algorithm allocates the capacities of nodes and links with the target to maximize the utility of flows, while NUP only allocates the capacity of nodes in proportional to the node usage probability, the performance of our algorithm is better than NUP. Moreover, NUP can only do a part of job as our algorithm can do. It has to be accompanied with an optimal flow control algorithm to maximize the utility of flows. In this way, our algorithm shows its advantage.
In this paper, we design a iterative algorithm based on Duality Theory to solve the optimal resource allocation problem. Our algorithm considers both the constraints of node and link capacity resources, which makes the algorithm fit the realistic condition better. Simulation results show that our algorithm performs better than the existing best resource allocation algorithm named NUP. Our work may give some advice to resource allocation in real communication networks.