PSO-GA-Based Resource Allocation Strategy for Cloud-Based Software Services With Workload-Time Windows

Cloud-based software services necessitate adaptive resource allocation with the promise of dynamic resource adjustment for guaranteeing the Quality-of-Service (QoS) and reducing resource costs. However, it is challenging to achieve adaptive resource allocation for software services in complex cloud environments with dynamic workloads. To address this essential problem, we propose an adaptive resource allocation strategy for cloud-based software services with workload-time windows. Based on the QoS prediction, the proposed strategy first brings the current and future workloads into the process of calculating resource allocation plans. Next, the particle swarm optimization and genetic algorithm (PSO-GA) is proposed to make runtime decisions for exploring the objective resource allocation plan. Using the RUBiS benchmark, the extensive simulation experiments are conducted to validate the effectiveness of the proposed strategy on improving the performance of resource allocation for cloud-based software services. The simulation results show that the proposed strategy can obtain a better trade-off between the QoS and resource costs than two classic resource allocation methods.


I. INTRODUCTION
In cloud computing, different resources including central processing units (CPUs), memories, and storage units in data centers are virtualized to provide users with renting services, which is expected to promise the on-demand resource provisioning and authorize users the basic access to massive data and cloud resources [1]- [3]. However, changeable workloads commonly occur in cloud environments, which may seriously degrade the QoS when resource demands rapidly increase [4]. In order to guarantee the scalability and resiliency of cloud resources, cloud service providers (CSPs) need to offer ondemand configurations of software and hardware resources in the shared infrastructure [5].
The associate editor coordinating the review of this manuscript and approving it for publication was Chunsheng Zhu . In recent years, widespread applications of cloud-based software services have proved that cloud software engineering is gaining a strong development momentum [6]. However, it is still challenging to balance the QoS and resource costs when allocating resources for cloud-based software services under such dynamic cloud environments [7]. In response to this challenge, it is necessary to develop an adaptive technology to improve the effectiveness of resource allocation for cloud-based software services.

A. LITERATURE REVIEW
Although there are classic methods that can address the resource allocation problem to some extent, most of them allocate resources based on the current workload in cloud environments. With the consideration of the current workload, AlQayedi et al. [8] proposed a queuing-theory based scheme to estimate the number of virtual machines (VMs) needed for meeting the requirements of response time. In this scheme, the CPU utilization was regarded as a threshold, the workload status was checked regularly (e.g., every 1 or 2 minutes), and then the number of VMs to be adjusted (i.e., add or delete) was calculated. However, it is hard for this scheme to produce effective resource allocation plans when future workloads fluctuate significantly. Maurer et al. [9] designed a resource-efficient decision-making method in response to workload fluctuations, where a rule-based knowledge management strategy was proposed to achieve the autonomous reconstruction of VMs. Zahid et al. [10] designed a ruled-based language for CSPs with adaptation schemes, in order to enhance the QoS compliance in highperformance computing (HPC) clouds. However, these two works did not regard the minimization of resource costs as an optimization goal, which may lead to excessive resource costs. Ficco et al. [11] proposed a meta-heuristic resource allocation approach with the game theory for optimizing policies. Moreover, a clustering-based heuristic approach for edge resource allocation was proposed in [12] to reduce the average service response time of applications. However, these two works only considered the deterministic user demands without implementing the dynamic resource allocation. When the workloads changed, it may not well meet the QoS requirements. Using the control theory, Haratian et al. [13] designed a resource allocation framework for guaranteeing the QoS, where the fuzzy controller was used to determine the resource provisioning in the control loop. Moreover, Avgeris et al. [14] developed a resource allocation mechanism for computation offloading with the control theory, which can reduce the response time and resource costs when processing application tasks. However, these two traditional control-theoretic methods need massive iterations to search for better resource allocation plans, which may cause excessive resource waste if VMs are frequently discontinued. Based on the PSO algorithm, Xie et al. [15] developed a strategy of resource allocation with the price adjustment, where a utility function was designed to evaluate the QoS. According to the user demands from workloads, the resource agent can dynamically adjust the resource price, in order to obtain the maximum profit for each workload. However, the PSO algorithm may fall into the local convergence, and thus it is hard to obtain the overall optimal solution of resource allocation. Moreover, Kumar and Gondhi [16] designed a self-scaling model that can dynamically adjust resource provisioning referring to the QoS indicators, which performed the resource correction at the VM level while considering the situations of under-utilization and over-utilization for resources. Although this model can make on-demand resource adjustments for the applications under changeable workloads, it did not well consider the relationship between the QoS and VM rental costs nor take into account future workload changes with complex fluctuations. Besides, Chen et al. [17] proposed an adaptive resource management framework for cloud-based software services. This framework first trained the QoS prediction model by using historical data. Next, it utilized the PSO-based algorithm to determine future resource allocation plans with the predicted QoS. Finally, the feedback control was introduced to achieve the desired effect of resource allocation. However, this work did not consider the impact of future workloads when making the QoS prediction, which may seriously degrade the model effectiveness and limit its performance for cloud resource allocation.

B. CONTRIBUTIONS
When dealing with the resource allocation problem for cloudbased software services, the workload status has become one of the most essential factors that affect the performance of resource allocation [18]. For example, when many users make requests at the same time, workloads burst and thus the available resources might be inadequate for satisfying the requirements of cloud-based software services. On the contrary, when workloads remain low, the excessive allocation may lead to resource waste. Therefore, the workload prediction can be regarded as a feasible solution for promising efficient resource allocation in cloud environments [19]- [21]. If the cloud resource allocation plans are developed only based on the current workload, the effectiveness of resource allocation will undoubtedly be affected by future workload changes. However, it is difficult to exactly match the predicted workloads with the actual results. Meanwhile, the system performance in the scheduling stage may be seriously affected by the inaccurate workload prediction [22]- [24]. To this end, some advanced methods, e.g., [4] and [25], to cite two of the most recent, have been proposed to provide the high accuracy of workload prediction, and thus the scheduling efficiency can be improved. Next, we assume that future workloads have been precisely predicted with the support of the advanced method. Furthermore, the predicted workloads in workload-time windows are utilized to better handle the problem of cloud resource allocation. With the consideration of the above problems, inspired by the work in [26], we propose an adaptive resource allocation strategy for cloud-based software services with workload-time windows. The main contributions of this article are summarized as follows.
• The problem of resource allocation for cloud-based software services is formulated by introducing workloadtime windows. Further, we build a calculation model for optimizing VM resource allocation plans.
• A new PSO-GA based decision-making method is proposed with the combination of the QoS prediction model. Specifically, the PSO-GA has absorbed the advantages of the PSO and the GA and improved their inadequacies in population diversity, search range, and convergence speed. Moreover, the current and future workloads in workload-time windows are utilized during the process of calculating resource allocation plans. Furthermore, through integrating the PSO-GA with workload-time windows, the proposed method can effectively adjust the current resource allocation plan to approach the objective one.  • The extensive simulation experiments using the RUBiS benchmark are conducted to demonstrate the effectiveness of the proposed resource allocation strategy for cloud-based software services. The results show that the proposed strategy can make a better trade-off between the QoS and resource costs compared to the other two classic resource allocation methods. The rest of this article is organized as follows. In Section II, we formulate the problem of resource allocation for cloudbased software services. Section III discusses the proposed resource allocation strategy in detail. In Section IV, we show the performance evaluation for the proposed strategy with the RUBiS benchmark. Section V concludes this article and looks for future work.

II. PROBLEM FORMULATION
In this section, we formulate the problem of resource allocation for cloud-based software services by introducing workload-time windows.
The dynamic changes of cloud environments may result in different QoS for cloud-based software services, and these changes can be divided into external and internal environmental changes. More specifically, the external environmental changes are commonly caused by external factors (e.g., dynamic workloads), and the internal ones usually are affected by cloud management systems (e.g. different types and numbers of VMs with various rental prices in resource allocation plans). With the consideration of the above two factors, the main symbols used in the problem formulation are described in Table 1.
As mentioned before, the external factors refer to dynamic workloads. Therefore, we assume that the workload changes are defined by the following piecewise function, where each workload is constant during a specific time interval.
where each workload is defined as a 2-tuple, denoted by w i = n i , r i , with the same workload duration. n i is the number of requests and r i is the read-write rate of requests at time t i , respectively. When t ≥ t i+1 , workloads cannot be observed.
Moreover, the above-mentioned internal factors refer to different types and numbers of VMs with various rental prices in resource allocation plans. Because VMs are commonly charged by hours when they are leased, we assume that each VM is leased for one hour each time and it will be automatically shut down after one hour. Therefore, we only need to consider the number of VMs to be added when adjusting resource allocation plans. For various workloads in different time intervals, the corresponding operations of adding VM resources are defined as In each resource allocation plan, there are m types of VMs, denoted by Type = 1, 2, 3, . . . , m , that are available to be added. Therefore, the operation of adding VM resources at the time t i can be defined as where a j i indicates the number of VMs of the j-th type to be added at the time t i . Therefore, the allocated VM resources in different time intervals can be described as where q = 1h/ t is the maximum number of unexpired VMs and t = t i+1 − t i indicates the duration of each workload. In each time interval, the allocated VM resources are calculated by adding up the unexpired VMs. When allocating resources to cloud-based software services, a common objective of cloud engineers or self-adaptive systems is to balance the relationship between the QoS and resource costs, which can be expressed by using an objective function [27].
On one hand, QoS i represents the QoS value at the time t i , which is usually specified by the service level agreements (SLAs) with corresponding performance indicators, including the response time (RT) and data throughput (DT) [28]. Specifically, the RT indicates the time that a user needs to wait for a response when requesting a service, and the DT represents the amount of information that a system can process in a given time. However, these two indicators cannot be used to predict the QoS values of a system because they can be monitored only after completing the resource allocation. To this end, it is necessary to design an effective QoS prediction model [29]- [31]. Based on our previous work in [32], the QoS prediction model can be defined as where the input of the model includes workloads and the corresponding allocated VM resources, and the output of the model is the predicted QoS values. On the other hand, Cost i represents the costs of renting VMs (i.e., the operation of adding VMs) at the time t i . We denote the rental prices of each type of VMs as P = p 1 , p 2 , p 3 , . . . , p m , and thus Cost i can be defined as Therefore, the objective function can be described as where w 1 and w 2 are used to weight 1 QoS i and Cost i , and these two weights are defined by cloud engineers based on their experience.
However, it is hard to well guarantee the effectiveness of resource allocation plans if they are developed only based on the current workload. Through introducing workload-time windows, the operations of adding VM resources can be taken according to both current and future workloads, and thus the resource allocation plans in different time intervals can be calculated more effectively. This is because the workloads within a period of future time can be observed by using workload-time windows when allocating resources at the current moment. Thus, the current resource allocation plan can be accordingly adjusted and become more effective.
We assume that the workload-time window i can be used to predict the future workloads with the length of l (i.e., the number of time intervals), and thus the corresponding workload W i can be defined as Moreover, the operations of adding VM resources within the window i can be defined as Correspondingly, the allocated VM resources within the window i can be defined as Therefore, the problem is transferred to explore the objective resource allocation plan by adjusting VM resources in workload-time windows, which can be regarded as an NPhard combinatorial optimization problem.

III. WORKLOAD-TIME WINDOWS ENABLED ADAPTIVE RESOURCE ALLOCATION A. FRAMEWORK OVERVIEW
In this section, we present the proposed adaptive resource allocation strategy for cloud-based software services with workload-time windows in detail. Figure 1 illustrates an overall framework of the proposed strategy, where the main steps are described as follows.
Step 1: Initialize the data and parameters of workloadtime windows, including the workloads and corresponding allocated resources in different time intervals.
Step 2: Utilize the PSO-GA with the support of the QoS prediction model to search for the objective resource allocation plan in workload-time windows.
Step 3: Make adjustments to the current resource allocation plan to approach the objective one.

B. PSO-GA FOR OBJECTIVE RESOURCE ALLOCATION 1) HYBRID OF PSO AND GA
The particle swarm optimization (PSO) simulates the bird migration in the nature [33], which continuously makes particles iterating to explore the optimal solution. As an important element in the PSO, a particle represents a candidate solution for an optimization problem. In the solution space, particles are updated iteratively by comparing the optimal values in the individual and population histories. In the PSO, the velocity and position equations of a particle, denoted by V t+1 i and X t+1 i , are defined as where V t i and X t i are the velocity and position of the i-th particle at the t-th iteration, respectively. w is used to weight the ability of particles in keeping the velocity. pBest t i and gBest t are the optimal values in the individual and population histories at the t-th iteration, respectively. r 1 and r 2 represents random factors. c 1 and c 2 are learning factors that control the learning ability of particles. Moreover, a fitness function is used to evaluate particles.
The genetic algorithm (GA) is used to simulate the evolutionary process in organisms by using computational models [34]. Following the principle of the fittest survival in nature, the GA initially uses random solutions and then searches for better ones. During this process, the crossover and mutation operations are taken to the excellent individuals in the previous generation, and thus the next generation with better performance can be produced.
Through combining the advantages of the PSO and GA, we propose a particle swarm optimization and genetic algorithm (PSO-GA) based resource allocation method for cloud-based software services. With the support of the PSO, the proposed method optimizes the individual particles in the GA, and thus the problem of low efficiency in the laterstage searching of the GA can be well addressed. More specifically, the PSO-GA first sorts the particles based on their evaluation values of the fitness function, where the high-performance individuals will be preserved in the next iteration and the poor-performance ones will be eliminated. Next, the crossover and mutation operations will be taken on these high-performance individuals and the remaining particles will go to the next generation. In this article, the particles represent potential resource allocation plans within a workload-time window. After a fixed time interval, the PSO-GA will be used to select an optimal particle as the objective resource allocation plan at the current moment. The following will provide detailed descriptions of the particle coding, fitness function, and update strategy in the PSO-GA.

2) PARTICLE CODING
As for the PSO-GA based resource allocation for cloud-based software services, the discrete coding [33] is used to encode particles. In the workload-time window k with the length of l, ADD k (defined in Equation (9)) is regarded as a particle X , where the particle represents a resource allocation plan within the window k. When there are m types of VMs, the i-th particle at the t-th iteration can be defined as where the particle X t i is composed of m × l elements. Each element indicates the number of different types of VMs to be added in the workload-time window. Figure 2 shows an example of the particle coding, where the length of the window is 3 and the number of VM types is 3. This example indicates that the different types of VMs added in the 1st, 2nd and 3rd resource allocation plan are (1, 2, 0), (1, 0, 3) and (2, 1, 0), respectively.

3) FITNESS FUNCTION
In workload-time windows, resource allocation plans are evaluated by the fitness function. The fitness function commonly makes a trade-off between the QoS and resource costs, which can be used to guide the PSO-GA in the right direction for finding the optimal solution. With the consideration of workload-time windows and the optimization objective in Equation (7), the fitness function can be defined as where w k ∈ W i and vm k ∈ VM i . The total QoS values in the window can be calculated by using Equation (5). Moreover, a j k is the number of VMs of the j-th type to be added, the p j indicates the rental costs of the j-th type of VMs. Thus, the total resource costs in the window can be calculated. The above two parts make up the fitness function, and it can be noticed that better resource allocation plans (with higher QoS and lower resource costs) in a workload-time window are with smaller values of the fitness function.

4) UPDATE STRATEGY OF PARTICLES
In the PSO-GA, the state of the particle swarm is updated by using the mutation and crossover operations.  On one hand, the mutation operation randomly selects a gene segment in the particle and irregularly mutates the gene values within a specific threshold. For example, Figure 3 illustrates the mutation operation for the particle encoded in Figure 2, where a gene segment, denoted by mg 1 , is randomly selected and the corresponding gene values are mutated from ((1, 0, 3) to (3, 1, 4).
On the other hand, Figure 4 illustrates an instance of the crossover operation in the particle update. More specifically, two gene segments, denoted by cg 1 and cg 2 , are first randomly selected. Next, the corresponding gene values are replaced by the local or global optimum (denoted by pBest and gBest, respectively) with the same crossover probability.

5) PROCESS OF RESOURCE ALLOCATION
As shown in Algorithm 1, the main steps of the PSO-GA for searching the objective resource allocation plan are described as follows.
Step 1: (Lines 2∼6) Initialize the parameters, including the population size N , the maximum number of iterations, add i , pBest, and gBest.
Step 2: (Lines 7∼18) When the execution conditions are satisfied, the particle swarm is first updated by taking the crossover and mutation operations. Next, the particle i is evaluated, and pBest and gBest are updated by comparing the values of the fitness function.

IV. PERFORMANCE EVALUATION
In this section, we evaluate the performance of the proposed PSO-GA based resource allocation strategy for cloud-based software services and make comparisons with the other two classic methods.

A. DATASETS AND SETTINGS
The simulation environment is established based on the CloudStack [35], where the Kernel-based Virtual Machine (KVM) is used as the hypervisor that is run on a physical server with Intel Core TM i7-6700HQ CPU Algorithm 1 PSO-GA for Searching the Objective Resource Allocation Plan Input: Population size N . Output: Global optimal solution gBest.
1: Procedure 2: for each particle i do 3: Initialize add i for the particle i.

4:
Evaluate the particle i and set pBest i = add i . 5: end for 6: gBest = min{pBest i }. 7: while not stop do 8: for i = 1 to N do 9: Update the particle i by mutate and crossover. 10: Evaluate the particle i. 11: if Fitness i (add i ) < Fitness i (pBest i ) then 12: pBest i = add i . 13: end if 14: if Fitness i (pBest i ) < Fitness i (gBest) then 15: gBest = pBest i . 16: end if 17: end for 18  @2.60 GHZ, RAM 8.00 GB, and CentOS 6.2 64-bit. As shown in Table 2, there are three types (i.e., small, medium, and large) of VMs with different rental prices. Furthermore, the RUBiS benchmark [36], a prototype of the auction site that simulates user behaviors under different workload patterns on the eBay.com, is used to evaluate the proposed strategy. Through running the RUBiS benchmark on the CloudStack with a period of one month, we collect the runtime datasets used for experiments, which include the current and objective resource allocation plans with different QoS under various workloads. Moreover, we assume that the workload (i.e., the number of clients) is distributed in [2000,7000] with two types of tasks including reading (e.g., browsing) and writing (e.g., bidding and rating). Besides, the proposed strategy is implemented based on Python 3.6, where the essential parameters including the population size, the number of iterations, and the mutation rate are set to 50, 100 and 0.5, respectively.
As shown in Figure 5, a Sigmoid function is used to map the response time (RT) to the interval [0, 1] according to the empirical data, which reflects the QoS values.
The simulation experiments are conducted under the premise of continuous workloads for a known time period. Specifically, we define a workload-time window as VOLUME 8, 2020 , w i+2 } with the length of 90 minutes. Therefore, the workload is predicted every 30 minutes. Table 3 shows the workload changes within the predicted 540 minutes. To guarantee the high prediction accuracy, we assume that the workloads after 540 minutes cannot be observed. Moreover, the workloads in different time intervals are with corresponding read-write ratios.
Moreover, better resource allocation plans are common with smaller values of the fitness function. The pre-defined weights w 1 and w 2 in Equation (14) reflect different preferences of cloud engineers for the QoS and resource costs. In practical cloud systems, the common objective of the fitness function is to balance the QoS and resource costs. However, it is hard to achieve this objective due to the complex relationship between the QoS and resource costs in cloud-based software services. To relieve this problem, we set w 1 = 900 and w 2 = 1/6 according to our experience. Specifically, the following fitness function is used in our simulation experiments.
To validate the effectiveness of the proposed strategy, comparative experiments are conducted with the other two baseline methods including the greedy algorithm and the single-point optimal local random method [37], which are commonly used in the problem of cloud resource allocation. The detailed settings are described as follows.
• Greedy algorithm. The algorithm does not consider the workload changes in workload-time windows. Moreover, the optimal resource configuration at the last moment will be used to calculate the optimal resource allocation plan under the current workload.
• Single-point optimal local random method. For each workload within the same time window, the method first traverses all resource allocation plans to find a plan with the smallest value of the fitness function, which is called the single-point optimal plan. Next, two VMs will be randomly added or subtracted based on this singlepoint optimal plan, and a feasible resource allocation plan within the window will be obtained under the same running time (i.e., 2 minutes) as the PSO-GA.
• PSO-GA. In each iteration, the evaluation value of each particle will be first calculated by using the fitness function and the global and local optimal particles will be selected. Next, these particles will be updated by the mutation and crossover operations and the iterations continue.

B. EXPERIMENTAL RESULTS
Based on the above settings of simulation experiments, we evaluate the performance of the proposed PSO-GA based resource allocation strategy for cloud-based software services and make comparisons with the greedy algorithm and singlepoint optimal local random method. Figures 6 to 8 show the resource allocation plans generated by using the greedy algorithm, single-point optimal local random method, and the proposed PSO-GA strategy under various workloads in different time intervals, respectively. As we can see from the results, the VM resources can be roughly adjusted by all these three methods according to the workload changes at different times. When the workloads are high, more VMs tend to be leased in the corresponding resource allocation plans. Otherwise, fewer VMs would be used. However, various types and numbers of VMs may be adopted in the same time interval by using these three methods, which would result in diverse QoS and resource costs. To further analyze the effectiveness of our proposed resource allocation strategy, we regard the QoS values, resource costs, and the total values of the fitness function (obtained by using Equation (15)) as performance indicators and evaluate the above three resource allocation methods in the following simulation experiments.
As shown in Figure 9, the average values of the fitness function of each time interval within the time period from 0 to 390 minutes are compared among different methods. It can be noticed that the proposed PSO-GA strategy outperforms both the greedy algorithm and the single-point optimal    local random method with the improvement of over 5% and 4%, respectively. This is because the PSO-GA used in the proposed strategy not only pays attention to the evolution process between each generation of the population but also attaches importance to the retention and re-maturation of excellent individuals, which can thus enhance the population diversity and make the potential resource allocation plans closer to the objective one. By contrast, it is difficult for the single-point optimal local random method to get close to the objective resource allocation plan because the search style adopted by this method is random without a clear target. Moreover, the greedy algorithm only considers the optimal resource allocation plan at the current workload, and thus the plans may fluctuate with workload changes and it cannot stably obtain the global optimal solution. Furthermore, we evaluate the performance of different resource allocation methods in terms of QoS and resource costs, respectively. As shown in Figure 10, on one hand, VOLUME 8, 2020  the proposed PSO-GA strategy can maintain stable QoS values (between 0.91∼0.99) within the whole time period (0∼390 minutes) with the average of around 0.96, which outperforms the other two methods. This is because the proposed strategy considers future workloads during resource allocation but the other two methods do not take workloadtime windows into account. Even when the workloads rise rapidly between the time period of 60∼150 minutes, the proposed strategy can also keep the QoS at a high level. By contrast, the QoS values fluctuate seriously when using the greedy algorithm. Moreover, the QoS values locate in 0.80∼0.94 when the single-point optimal local random method is used. On the other hand, we compare the resource costs of the proposed strategy with the other two methods. The results show that the average resource costs of using the greedy algorithm and the single-point optimal local random method in each time interval are around 89.24 RMB and 91.94 RMB, respectively. Although the proposed strategy leads to slightly higher average resource costs, they are still within an acceptable range under the premise of ensuring the QoS.
From the above simulation experiments, we can find that the proposed strategy outperforms the single-point optimal local random method within the same running time. Although the running speed of the greedy algorithm is fastest among the three methods, it cannot well guarantee good performance indicators. Furthermore, we evaluate and analyze the influence of the running time of the proposed PSO-GA on the performance of resource allocation in terms of the average values of the fitness function in different time intervals. As shown in Table 4, although the running time affects the performance of the PSO-GA to some extents, the PSO-GA can still keep stable and high performance on resource allocation (low values of the fitness function) even if the running time of the algorithm is less than 2 minutes (e.g., 1 or 1.5 minutes). From the perspective of system management, this optimization time delay is acceptable.

V. CONCLUSION AND FUTURE WORK
In dynamic cloud environments with fluctuating workloads, it is hard to guarantee the effectiveness of resource allocation plans if they are developed and performed based on the current workload. To address this problem, in this article, we propose an adaptive resource allocation strategy for cloud-based software services by introducing workload-time windows. The proposed strategy takes the current and future workloads into the process of producing resource allocation plans, where the PSO-GA based runtime decision-making method is utilized to explore the objective resource allocation plan. The extensive simulation experiments are conducted to verify the effectiveness of the proposed strategy. The results show that the proposed strategy outperforms the other two classic resource allocation methods and it can achieve a better trade-off between the QoS and resource costs.
In real-world cloud environments, workloads are usually continuous and thus it has become a new challenge to make use of such continuous workloads in workload-time windows during the decision-making process of cloud resource allocation. In the future, we will continue our work by using the learning-based algorithms (e.g., reinforcement learning) and introduce a continuous workload function to further enhance the performance of resource allocation under dynamic cloud environments with continuous workloads.

(Zheyi Chen and Lijian Yang contributed equally to this work.)
YINHAO HUANG received the B.S. degree in software engineering from Fuzhou University, Fujian, China, in 2018, where he is currently pursuing the M.S. degree in technology of computer application with the College of Mathematics and Computer Science. Since September 2018, he has also been a student of the Fujian Key Laboratory of Network Computing and Intelligent Information Processing, Fuzhou University. His current research interests include deep neural network, edge computing, and cloud computing.
XING CHEN received the B.S. and Ph.D. degrees in computer software and theory from Peking University, Beijing, China, in 2008 and 2013, respectively. He is currently an Associate Professor and the Deputy Director of the Fujian Provincial Key Laboratory of Network Computing and Intelligent Information Processing, Fuzhou University, and also leads the Systems Research Group. He has authored or coauthored more than 30 journal and conference articles. His research interests include the software systems and engineering approaches for cloud and mobility. His current projects cover the topics from self-adaptive software, computation offloading, and model-driven approach. He was a recipient of the first Provincial Scientific and Technological Progress Award, in 2018.
XIANGHAN ZHENG received the M.Sc. degree in distributed system and the Ph.D. degree in information communication technology from the University of Agder, Norway, in 2007 and 2011, respectively. He is currently a Professor with the College of Mathematics and Computer Sciences, Fuzhou University, China. His current research interests include new generation network with a special focus on cloud computing services and applications, and big data processing and security.