Rounding Algorithm of Minimizing Executing and Transmitting Time in Multiple CRANs

Recently, Cloud Radio Access Network (CRAN) is a technology for reducing communication load and improving the performance of user tasks. In a CRAN, remote radio heads (RRHs) are densely set up to enable users to connect to the network nearby, and baseband unit (BBU) pools are used to store and execute user contents and tasks. In this paper, our goal is to perform joint optimization when scheduling user tasks and assigning RRH to users in a multiple CRAN infrastructure. The joint problem is NP-hard and modeled as a 0/1 integer linear programming (ILP) with the objective of minimizing the total time of executing user tasks and transmitting user output contents under the constraints of RRH linked capacities and BBU pool computing resources. Then, an algorithm is designed by adopting the rounding technology to solve the 0/1 ILP. We will prove its approximation ratio competitively. The conducted simulations further show that the difference between its solution and the optimal one of the 0/1 ILP is very small, and its approximation ratio is between 1.09 and 1.17. In the conducted experiments, the results demonstrate that the proposed algorithm is indeed practical to be implemented in a multiple CRAN infrastructure.


I. INTRODUCTION
Cloud Radio Access Network (CRAN) is a technology in response to explosive growth in data traffic [1][2] [3]. It can better support diverse services and deployment requirements through breakthrough innovations such as virtualization, centralization, and programmable [4]. In a CRAN, a hierarchical architecture is adopted by employs two layers of equipment: remote radio heads (RRHs) and baseband unit (BBU) pools [5] [6]. To reduce the communication load of the system, users are connected through wireless links by deploying RRHs intensively [7]. Further, the energy of user wireless equipment can be utilized more efficiently due to the short distance from the users to the connected RRHs. RRUs connect to BBU pools through high-speed optical links. The user tasks and contents can be executed and stored in the computing and storing equipment of the BBU pools.
Simultaneously, Software Defined Network (SDN) is another technology and integrated with CRANs to reduce equipment load and system operating costs, and to better control infrastructure [8] [9]. In an SDN, the central controller can make the network more intelligent and provide a good platform for the innovation of networks and user applications. By collecting the information of users and user tasks in the entire network, the central controller connects users to the RRHs and schedules user tasks on the servers of BBH pools in a global view. Then, the servers create virtue machines (VMs) to execute the user tasks, and the output contents are transmitted through the wireless links between the users and the connected RRHs.
The system performance is highly related to the capacities of RRHs and BBH pools. The total length of the time period from when the user submits a task to when the output is received is one of the important considerations in determining the system performance of CRAN service. The total length includes the length of executing the submitted task executed and the length of delivering the output to the user. To achieve a shorter total length as possible, the center controller should jointly: 1) offload the submitted task to faster VMs to shorten the execution length, and 2) assign users to nearby RRHs to shorten the delivering length.
Recently, some research works [10][11][12][13][14][15][16][17][18][19][20][21][22][23][24][25][26][27][28][29] focused on similar issues mentioned above. However, most of them solve one of the two problems respectively, and their purpose is to focus on the energy optimization of user equipment. The summary of the above related works is shown in Table I. Different from them, the joint problem of minimizing the total length of execution and transmitting in the architecture with multiple CRANs (as shown in Fig. 1) is addressed. In Fig. 1, there are n CRANs. The joint problem of task scheduling and resource allocation are carried out through the coordination and cooperation between a high-level controller and a group of local controllers. In each CRAN, a local controller has a server for creating some VMs to execute the user tasks. Further, it allocates the RRHs in the CRAN for the transmission. Therefore, it is important to schedule tasks by creating VMs and allocating RRHs according to the demand of users among multiple CRANs. To the best of our knowledge, this is the first work to perform joint optimization when scheduling user tasks and assigning RRH to users in the infrastructure with multiple CRANs.
The distinct and major contributions of this paper are listed as follows.
1) We introduce the optimization problem of minimizing the total time of joint task execution and content transmission by scheduling the user tasks on the VMs and allocating the RRHs to the users in the infrastructure with multiple CRANs. The joint problem is NP-hard undoubtedly and formulated as 0/1 integer linear programming (ILP) in this paper.
Due to the NP-hard nature of the joint problem, it is impractical to obtain its optimal solution with exponential computational complexity. Thus, our approach aims to provide a suboptimal solution that can be implemented in a real system. The challenges of proposing an algorithm to obtain this solution include: firstly, it should be proved that the approximate ratio of the proposed algorithm is competitively bounded, and secondly, the execution time of the proposed algorithm must be acceptable in practice.
2) To overcome the above challenges, this paper proposes a new algorithm (named as MTCMC) to Minimize the total time of joint Task execution and Content transmission in Multiple CRANs, which uses the rounding technique is proposed to solve the 0/1 ILP. It produces a linear programming (LP) by relaxing the integer constraints of the 0/1 ILP and utilizes the rounding technique for producing the feasible integer solution of the 0/1 ILP.

II. RELATED WORKS
In [10][11][12][13][14][15][16], the works aim to minimize the network power consumption of a CRAN. In [10], this paper considers RRHs allocation and users with multiple antennas under the constraints of user transmitting rate requirements and RRH powers. In [11], the authors consider the problem with the limited fronthaul links in a green CRAN. In [12] [13], this paper proposes a transmission mechanism that saves total transmission energy by combining content multicasting and caching.
In [14], the authors propose a holistic framework for green CRAN aiming at minimizing the system power consumption under the constraint of limited fronthaul capacity. In [15], this paper makes full use of the two technologies of mobile cloud computing (MCC) and CRAN to propose an MCC-based CRAN. In [16], by optimizing the beamforming between RRHs and the processor sleeping in BBU pools, the power of CRAN system is minimized with limited forward distance and computational power by utilizing the interaction between communication and computation.
In [17], a cloud-based network is considered, in which heterogeneous base stations (BSs) are connected by routers and backhaul networks with limited capacity wired/wireless links. An algorithm of joint resource allocation and traffic control is proposed to maximize the minimum rate between all transmission commodities. In [18], the authors show that the SDN principle of decoupling control and data planes in RANs can optimize the network performance at coarse timescales, and how fine timescales are made practical in CRANs.
In [19], the authors propose a scheme of caching and multicast in content storing and distributing based on delay requirement in order to minimize the energy consumption of 5G cellular networks. Further, the user requests for the same files are aggregated by multicast stream services. In [20], the authors study the cooperative caching problem of the multicell cooperative system from the perspective of minimizing the total cost paid by the content provider. In [21], the authors develop the optimal cooperative content caching and delivery policy to reduce backhaul burden and transmission time.
In [22], the authors aim to maximize the delivery rate is under the constraints of fronthaul capacity and RRH power for fog radio access network (FRAN). In [23], an edge caching algorithm is proposed to minimize the bandwidth consumption of fronthaul and storage costs in FRANs. In [24], the heuristic algorithms are designed with the goal of minimizing the total network traffic cost by jointly allocating system storage and placing monitoring content in the hierarchical cache CRAN architecture of Internet of Things (IoTs) services.
In [25], the authors provide a MIMO technology on optical fiber in tuning an adaptive CRAN system for connecting RRHs. In [26], the services of enhanced mobile broadband and ultra-reliable low-delay communication in 5G are integrated into CRAN to maximize the operator's revenue. In [27], the work aims to minimize the completion time of parallel jobs composed of a set of independent tasks. They jointly schedule tasks and allocate resources under considering energy consumption.
In [28], an algorithm of optimizing VM's number in CRANs is proposed by scheduling multiple VMs to a user task and allocating an RRH to multiple users. In [29], the authors attempt to assess the impact of inaccurate information on workflow scheduling due to the available bandwidth of inter-cloud links. Then, a workflow scheduling input mechanism using imprecise information is proposed. In [4], the paper aims to minimize the time length in executing user tasks and transmitting output by optimizing VM scheduling and RRH allocating.

A. SYSTEM MODEL AND PROBLEM FORMULATION
Consider an infrastructure with n CRANs, i.e., CRAN , CRAN , …, and CRAN . Let the set Ꞓ = { , , …, }. In each CRAN, a local controller is responsible for controlling a set of RRHs and a set of BBUs. The RRHs are connected to users for transmitting output contents, and the BBUs create VMs to execute user tasks. We use the sets and containing RRHs and VMs in Ꞓ, respectively. Let be the time in second of executing a CPU cycle in ∈ . Each RRH r ∊ R is associated to CRAN , and we set F C (r) = .
Each r can connect up to a limited number (denoted as ) of users. Each ∈ is generated in , and we set F C (v) = .
Each v can be scheduled to execute at most user tasks, and each r can be connected up to users. Further, let the set U contain the user tasks generated by the users, where each user can only generate a task. Assume that each task u ∊ U has the task load and the output content generated after it is executed. The load is the number (denoted as ) of CPU cycles executed to finish the task. The content has the size (denoted as ) in bit, and it can be estimated by the methods of [30]- [33] . The transmission time in second per bit from r to u, from local controller of to r (where F C (r) = , i.e., r is associated to ), and from controllers to , are denoted as , , , , and , , respectively. Let the Boolean variables , , , , and , , , be the decision variables in the ILP. If is generated to execute the task of and is connected to , , = 1 and , = 1. And, , v and r are belonged to the different CRANs. If the number of tasks is larger than that of the VMs, i.e., |U| > |V|, some tasks will be not scheduled, and no feasible solution exists. Also, if the maximum number of RRH links in a CRAN is smaller than the number of users within the transmission range of the RHHs, some of the users will be not linked.
In order to make that the formulated 0/1 ILP always has a feasible solution, an auxiliary CRAN (denoted as ) is used. Its RRH links and VMs are enough to link all users and to be scheduled to execute all user tasks, respectively. Let set ( ) be the set of the VMs (RRH links) in . The values of , , , , and , , are set to be very large constants which are a lot larger than those in Ꞓ, respectively. By the setting, the RRH links and the VMs in Ꞓ will be used first. The case of user tasks and users scheduled to the VMs in and RRH links in represents that no VM is allocated to the tasks and no RRH link is connected to the users in this period. The user tasks and their users can be scheduled in next period. All symbols and their meanings are collected in Table II.  . On the other hand, the time in transmitting the output content is computed as ∑ ∈ ∪ , , . Due to that one and only one ∈ will be linked to the associated user of u, the constraint (C.2) of ∑ , ∈ ∪ = 1 is derived. Further, the additional transmission time will be induced if , , = 1.
Thus, the total time for task execution and content transmission of all tasks is calculated as The constraint (C.3) is derived from that each is scheduled to at most tasks. In (C.4), the capacity of users connected to the RRHs supported cannot be violated. In (

B. MTCMC
The algorithm (named as MTCMC) to solve the ILP in the previous section is proposed based on the following three approaches. 1) Since it is difficult to make joint and overall decisions in adjusting two related costs, it is formulated as a 0/1 ILP. 2) Solving the ILP is very time-consuming. Thus, it is transferred into an LP by relaxing its integer decision variables into fractions since the LP is a P problem and its optimal solution is obtained in polynomial time. 3) To satisfy the integer requirements of the 0/1 ILP, it is necessary to round the fractional optimal solution to be the integer one.
The rounding will be performed in the following aspects in MTCMC. If a fractional decision variable is rounded to be an integer, the increment of objective value of the LP will be induced by the rounding. To be as close as possible to the minimum goal of the 0/1 ILP, the fractional decision variable with the smallest increment will be rounded first. The algorithm MTCMC is proposed to determine a feasible solution of the 0/1 ILP by utilizing the rounding technology. Its execution invokes two sub-algorithms, named as INCREMENT and COMPENSATION, where INCREMENT is proposed to compute the objective increment induced in the rounding process, and COMPENSATION is proposed to compensate the increment. The execution of the two sub-algorithms will be explained later. We describe the execution of MTCMC as follows.
In step 1, we relax the integer decision variables , s, s, are rounded to , * s, , * s, and , , * s, whose values will be either zero or one, and they will be a feasible solution of the 0/1 ILP. Initially, we set all , * = , " , , * = , " , and , , * = , , " , in step 3. In steps 4-5, the set (denoted as S) contains all tuple ( , , )s for each ∊ , ∈ , and ∈ . A tuple ( , , ) ∈ respresents a candidate of scheduling to v and linking the user of u to . In step 6, INCREMENT is invoked to compute the increment to the objective value of the problem for each ( , , ) ∈ if ( , , ) is adopted for the scheduling and the linking. The increment of ( , , ) is denoted as ∆ , , . In step 7, two sets ̅ and ̿ are set to be empty initially, where ̅ will be used for collecting the adopted ( , , )s, and ̿ will be used for collecting those not adopted. In steps 8-28, a while-loop is performed for the adoption of the ( , , )s in , and its execution is terminated at when is empty. To achieve the aim of the problem, the while-loop in each iteration selects a candidate (̇,, ⃛) ∈ with the smallest increment ∆ ̇, ̈, ⃛ to the objective in step 9. In step 10, if |{( , )|( , , ) ∈ ̅ }| + 1 ≤ ⃛ , |{( , )|( , , ) ∈ ̅ }| + 1 ≤ ̈ , and the transmission distance of ⃛can reach the user of ̇, (̇,, ⃛) is adopted by executing steps 11-24. Otherwise, (̇,, ⃛) is not adopted by deleting (̇,, ⃛) from S and adding (̇,, ⃛) into ̿ in step 26.
() = (⃛)   The execution of COMPENSATION is described as follows. The purpose of COMPENSATION is to make the objective difference between MTCMC and the 0/1 ILP as small as possible. In the while-loop of MTCMC, each iteration may increase its objective. COMPENSATION is designed to offset the above increase, so that the increase is as small as possible.

C. ANALYSIS
Based on the following two aspects, we claim that the performance of MTCMC is competitive. First, the obtained solution of MTCMC is feasible to the 0/1 ILP, that is, the following five conditions should be met: (i) ∑ , * ∈ ∪ = 1 for all ∈ , (ii) ∑ , * ∈ = 1 for all ∈ , (iii) ∑ , * ∈ ≤ mv for all ∈ ∪ , (iv) ∑ , * ∈ ≤ mr for all ∈ ∪ , and (v) if the transmission distance of r cannot reach the user of u, , * = 0 . The three conditions (iii), (iv), and (v), are met by the checking in step 10. Lemma 1 will be used for demonstrating that the remaining two conditions are also satisfied. Second, the objective of its solution should have a small difference from the optimal one of the 0/1ILP. Thus, its approximation ratio will be given in Lemma 2. Proof. The values of all , * s and , * s are set to either zero or one by executing steps 11-14 or step 30. When (̇,, ⃛) is selected in step 9, steps 12-14 make the parts (i) and (ii) of the lemma to be satisfied. Until the end of executing MTCMC, the two parts will be still satisfied by inserting (̇,, ⃛) is inserted into ̅ in step 11, and delete (̇, , ) and ( ,, ) from S and ̿ in steps 15-16. In step 30, the two parts are still true by scheduling and link the user of u for each ( , , ) ∈ ̿ to the VMs and the RRHs of the additional CRAN.  Next, we analyze the approximation ratio of MTCMC. Let O_L, O_P, and O_M, be the optimal objective values of the LP, the problem, and MTCMC, respectively. Undoubtedly, O_L ≤ O_P. Proof. Let be the number of iterations executed by the while-loop in MTCMC, andO_M as the objective value after the ith iteration is executed, where 1 ≤ ≤ . In each iteration, (̇,, ⃛) is selected in step 9. If it is true after the check in step 10, it is adopted by performing steps 11-24. And, the increment ∆ ̇, ̈, ⃛ is induced to the objective. To compensate ∆ ̇, ̈, ⃛ , COMPENSATION is invoked is step 23.
In the execution of COMPENSATION, two cases of the compensation are executed in steps 4-5 and 8-9. When ∆ ̇, ̈, ⃛ > 0 and ∆ ̇, ̈, ⃛ < , although the objective is increased by ∆ ̇, ̈, ⃛ , it is also decreased by ∆ ̇, ̈, ⃛ in steps 4-5. When ∆ ̇, ̈, ⃛ < 0, although the objective is decreased by ∆ ̇, ̈, ⃛ , it is also increased by ∆ ̇, ̈, ⃛ in steps 8-9. Suppose = 1. , is very small. 1) In the rounding process of MTCMC, the optimal fractional solution obtained by the LP is taken as the starting point. In most cases, the optimal solutions of the LP and its associative ILP are very close. 2) The fractional decision variables in the LP are rounded to integers in ascending order of their objective increments. The points will be further analyzed and validated in Section IV. In the results of the simulations, the ratio of the gap to O_P is varied from 0.09 to 0.17.

VI. PERFORMANCE EVALUATION
As far as we know, this is the first work to consider the joint problem in a multiple CRAN architecture. Due to the lack of compared methods, the performance of MTCMC is evaluated through comparison with OPTIMAL and GREEDY, where OPTIMAL is denoted as the optimal solution of the problem and GREEDY is denoted as the solution determined by the algorithm that adopts the greedy strategy in first selecting the task with the minimum length of task execution and content transmission. We obtain OPTIMAL by the branch-and-bound algorithm [34] and use the software tool Lingo [35] for solving OPTIMAL and the LP of MTCMC. OPTIMAL will serve as the benchmarks. Then, we analyze the time complexity of MTCMC and measure the actual execution time of MTCMC.

A. PERFORMANCE COMPARISIONS OF MTCMC WITH OPTIMAL AND GREEDY
In the simulations of this section, 16 CRANs are used to implement a multiple CRAN infrastructure. There are 480 static users evenly distributed in the square area covered by the 16 CRANs. Each CRAN covers a circular area, whose radius is 150m, by deploying three RRHs uniformly distributed. It can create up to 50 VMS with evenly distributed CPU cycles between 0.1 and 1. Each RRH can be linked to up to 3 users and each VM can perform up to 3 tasks, where is evenly distributed between 10 8 and 10 9 . The distance between adjacent CRANs is 200m.
We use the method proposed in [36] to compute the transmission time , from to as follows.
where = 10 Mhz is the channel bandwidth, , , is the channel coefficient and follows independently standard exponential distribution, = 1 W is the transmitting power , = −169 dBm/Hz is the noise power spectral density, and = 10 is the interference power. We let both of the available bandwidths from the local controllers to the users and between the local controllers are also 10 Mhz. Hence, , = 10 second and , = 10 second. In Fig. 2, each VM has the CPU cycles per second between 1×10 10 and 10×10 10 . Fig. 2(a) depicts the execution time in VMs while Fig. 2(b) depicts the transmission time in the network. From Fig. 2(a), the execution time decreases with the CPU cycles per second. When the CPU cycles per second decrease, the transmission time increases as shown in Fig. 2(b). The reason is that some of the user tasks are scheduled to the CRANs not belonging to the users. Thus, more traffic load is induced between CRANs. Fig. 2 (c) demonstrates the total time including execution time and transmission, and Fig. 2 (c) demonstrates the approximation ratio of MTCMC. It can be seen from Fig. 2(c) and 2(d) that, Compared with the solution of GREEDY, the gap between the solution of MTCMC and the optimal solution of OTIMAL is smaller. On the other hand, the approximation ratios of MTCMC are between 1.09 and 1.14.
In Fig. 3, we compare the performance of MTCMC with GREEDY and OPTIMAL when the output contents have sizes between 0.5 and 5 Mb. We can observe that with the larger output contents, both execution time and transmission time increase. Further, the approximation ratios of MTCMC are between 1.15 and 1.17.
Finally, in Fig. 4, the number of VMs is between 40 and 58. From Fig. 4(a), we can observe that execution time decreases with VM number increases because more computing resources are supported. And, less transmission time is induced as shown in Fig. 4(b). The approximation ratios of MTCMC are between 1.14 and 1.16.
From Fig. 2 to 4, MTCMC performs much better than GREEDY and very close to OPTIMAL. Its approximation ratios are between 1.09 and 1.17.

B. TIME COMPLEXITY AND EXECUTION TIME OF MTCMC
There are two main components of executing MTCMC: 1) step 2 for obtaining the optimal solution of the LP; 2) steps 8-29 for executing the while-loop. In each iteration of the while-loop, a content will be determined from the set S which contains the contents not scheduled. And, a forloop in INCREMENT is executed for computing the objective increments of those contents in . Further, the while-loop is terminated when = ∅ . Hence, the time complexity of the while-loop depends on the number of contents. Let N be the number of contents. Thus, the time complexity of MTCMC is O(N 2 ).  As for further evaluating the execution time of solving the LP, there are one hundred to one thousand contents in the conducted experiments. Then, two metrics, i.e., executing time and required memory, are collected. A laptop with an Intel® Core™i7 2.4 GHz CPU is used to execute the experiments on the software tool Lingo. In Fig. 5 and 6, the execution time is between 0.4 and 4.1 seconds and the required memory is between 3.5 and 35.4 MB. Through the conducted experiments, the software/hardware requirements and execution time make MTCMC very easy to implement and to be practical in a real multiple CRAN infrastructure.

V. CONCLUSION
The issue of the joint problem of task scheduling and RRH link allocation with the objective of minimizing the total time of executing user tasks and transmitting user output contents under the constraints of RRH linked capacities and BBU pool computing resources in a multiple CRAN infrastructure is advocated. The problem is formulated as a 0/1 ILP, and a rounding algorithm (named as MTCMC) is designed to solve the 0/1 ILP. In MTCMC, the optimal fractional solution obtained by the LP is taken as the starting point. In most cases, the optimal solutions of the LP and its associative ILP are very close. Then, the fractional decision variables in the LP are rounded to integers in ascending order of their objective increments. The approximation ratio of MTCMC is bounded in theoretical analysis. In the simulations, the results show that the gap between the solution of MTCMC and the optimal solution of the 0/1 ILP is very small. Finally, the conducted experiments show that MTCMC is very easy to implement and practical in a real multiple CRAN infrastructure.