Improved Virus Optimization algorithm for two-objective tasks Scheduling in Cloud Environment

─ Cloud computing is increasingly recognized as a new way to use on-demand, computing, storage and network services in a transparent and efficient way. The development of applications in cloud environments is faced with the need to efficiently schedule a large number of tasks and resources. However, in the most of the time, the resources in cloud are not efficiently utilized due to inadequate scheduling task algorithm in virtual machines. Therefore, task scheduling is one of the most challenging issues in cloud computing. In this paper, we propose two-objective virus optimization algorithm of the makespan and the cost, for mapping tasks to virtual machines in order to meet the needs of cloud service quality and proper assignment of resources. Thus, based on genetic algorithm some parameters of Virus optimization algorithm are redefined to strengthen sorting ability between virus infection strategies. Our combined methods aims to improve the performance of scheduling algorithms. It outperforms some existing approaches for task scheduling in Cloud computing.


I. INTRODUCTION
Within few years, IT industries start using Cloud Computing (CC) by serving on demand requests of the users with selfmanaged virtual infrastructure and with efficient resources utilization.Growth of cloud computing slower down the efficiency, throughput and resource utilization for which cloud computing need to be evolve.Task scheduling is considered as one way to enhance the efficient resource utilization in cloud environments.In fact, independent computational tasks are supposed to be executing in parallel when they are executed concurrently on different virtual machines.The scheduling strategy defines the instants when the algorithm is called to produce a schedule based on the resources performances forecasting and independent computational tasks to be executed.The task scheduling strategies can be classified on two different types: static and dynamic.Static strategies define a schedule at compile or at launch time based on the knowledge of the processors availability and tasks to execute.Dynamic strategies, are applied when the tasks arrival time is not known a priori and therefore the system needs to schedule tasks as they arrive [1].
Plethora of multi-objective optimization techniques for independent tasks scheduling has been proposed for assignment of tasks to machine in Cloud Computing systems [2][3][4][5][6][7][8][9][10][11].The Min-Min heuristic is the well-known standard scheduling algorithm for its performance, simplicity and practicability.The Min-Min heuristic [3] gives the highest priority for dynamic tasks scheduling in heterogeneous computing systems.The principle of Min-Min heuristic is to finish each task as early as possible and it schedules the tasks with the selection criterion of minimum earliest completion time.
In this paper, we are interested in two-objective optimization for scheduling independent tasks in cloud computing environment.The optimization process consists to minimize the makespan value and the operational cost in order to ensure the performance and quality of service in the cloud.The proposed optimization approach uses a virus optimization algorithm [10].Thus to provide an improvement of this algorithm for task scheduling purpose, we propose GA operators to select strong and weak virus for exploitation and exploration in space search.In addition, the initialization step is based on standard scheduling algorithms such as Min-min, Max-min and Tabou.Experimental results show that our proposed approach improves the performance of several existing approaches in literature such as the Min-Min (Max-Min) heuristic, Genetic heuristic and Virus optimization algorithms.Moreover, we present in this paper a comparative study in which the proposed scheduling approach is evaluated with improved Particle Swarm Optimization (PSO) approach [12] using a set of different types of Expected Time to Compute (ETC) matrices up to randomly heterogeneous machines and heterogeneous tasks using simulated and real data.
The remainder of this paper is organized as follows.Section 2 describes the relevant multi-objective optimization scheduling problems in Cloud environment.Section 3 formulates the two-objective optimization problem for independent tasks scheduling.Section 4 details the proposed standard combination, Virus optimization and genetic algorithms used for resolving this problem.Experimental results and performance evaluations of the proposed combination are reported in section 5. Finally, section 6 presents conclusions and directions for future works.

II. RELATED WORKS
Various classical scheduling tasks algorithms have been proposed and deployed until date in CC environments, such as: First Come First Serve, Min-Min, Min-Max based scheduling.These classical schemes posed drawbacks of resulting into more execution time and reduced throughput.Recently, several researches works focus on multi-objective optimization tasks scheduling methods in CC and proposes several techniques.Most of them are based on evolutionary algorithms to minimize the operational cost and ensure the performance and quality of service in CC.A vast literature exists on bio inspired approaches for optimized scheduling tasks in CC.Ahmad et al. [11] proposed a hybrid genetic algorithm for solving the workflow-scheduling problem and optimizing the load balance for maximum resource utilization.The Multi-objective particle swarm optimization is another class of task scheduling problem that has been addressed in CC environment [12,13].Generally, the algorithms based on this optimization achieved best performances compared to the classical scheduling methods.In recent times, others methods use the combination of several evolutionary strategies.This combination of evolutionary type optimization algorithms has provided the best ways to solve multi-objective optimization problems, because of their efficiency, robustness and quick convergence compared to strategies using only single evolutionary optimization method.In 2015, Shu, and al. [14] proposed an improved clonal selection algorithm for meeting the service level agreement requested by the users.The experimental results show that the proposed algorithm performs better than other two algorithms with minimum execution time and increased throughput of the cloud computing system.In [15], authors proposed an algorithm based on the combination of genetic algorithm along with fuzzy optimization theory.Another multiobjective optimized tasks scheduling algorithm using genetic algorithms with greedy approach is proposed in [16].This algorithm not only performs task scheduling but also perform others load balancing methods in Cloud environment.Chu [17] used the combination of genetic algorithm and support vector machines for two-objective optimized tasks scheduling algorithm.Based on the cross operation of genetic algorithm and components selection of partial regression, the proposed work gives a high effective scheduling and service cost may be reduced in cloud computing environment using both completion time and cost of tasks.Similarly, Kim et al. [18] have developed biogeography-based optimization for tasks scheduling.This algorithm performs more satisfactorily than other optimization algorithms, such as genetic algorithm and particle swarm optimization, in large size problems.Lakra et al. [19] proposed a Two-objective tasks scheduling algorithm for mapping tasks to a VMs improving the throughput of the datacenter and reducing the cost without compromising the service level agreement in cloud environment.The proposed scheduling algorithm in [20] is involving Non-dominated sorting which targets the twoobjective issues considering completion time and cost minimizations.The exposed results by the authors outperform the preceding algorithms and this method represents better convergence performance and resource scheduling capability in the different number of resources.These combination strategies perform satisfactorily than other multi-objective optimization problems using only genetic algorithm or particle swarm optimization.

III. PROBLEM DEFINITION
In cloud computing, many datacenters consist of several servers where each server runs a number of virtual machines that have different capacity to execute tasks with different QoS parameter.Scheduling refers to the mapping or assigning a task to a specific virtual machine, such that resource utilization increases.The main problem is to bind set of tasks received by the broker to the virtual machines with the respect of optimized QoS.Based on the makespan and the cost, this problem can be modelled using two-objective optimization for tasks scheduling problem.This optimization model includes two objective functions to be minimized simultaneously: Which minimize two objective functions f1,f2 :Min(f1(x), f2(x)), where X is the feasible solutions set.
Our two-objective model for task scheduling optimization in CC environment can be described by a triplet (T, VM, F).T ={t1,t2,...,tn} is a consumer tasks set including n tasks, VM={vm1,vm2,..., vml} is a virtual machine resource set including l virtual machine and F={Makespan, Cost} is a set of the considered cloud resource scheduling and optimization functions.The proposed model is defined as follows: The Makespan is the maximum completion time of all tasks in all virtual machines.It can be obtained using the Expected Time to Compute (ECT) matrix by the following equation: Where : vm and the values of ETC matrix are calculated by the following equation: Li indicates the number of instructions required by the task Ti (implementation time) and Mipsj indicates the frequency of cloud computing virtual machine vmj.
However, the Cost function in our tasks scheduling problem is based on the cost Cj of each virtual machine vmj.The total execution cost for all tasks scheduling can be defined according to the following formula: Above all, we need to find the most reasonable tasks scheduling which minimizes the makespan and the cost in cloud system.Thus, the two-objective tasks scheduling problem can be modeled by the aggregation (Weighted Sum Method) of objective optimization functions defined as: under the constraints: Where  and (1-) represents the weights of the makespan and the cost in our two-objective function.
In two-objective optimization, a sufficient solution that minimizes these two objective functions at the same time can considers their linear combination (aggregation called Weighted Sum Method) or Pareto optimal solutions.These solutions cannot be enhanced for any objective without degrading minimum of the other objective.For example, consider the following case where a scenario of ETC matrix defined by ten tasks and three virtual machines as given in Table 1.According to the two task assignments (Figure 1), we obtain two solutions (Makespan=0.68,Cost=80.13$) and (makespan=0.40,Cost=82.8$).Therefore, these solutions show that the makespan objective can degrade the cost objective in the solution selection.Thus, we can select one solution based on the  value according to the weights of these two objectives.) IV. PROPOSED META-HEURISTIC APPROACH: MOVOA The development of applications for CC environments is being challenged by the need of scheduling a large number of tasks, datasets and resources efficiently [21].The general problem of optimally mapping tasks to machines has been shown to be NP-complete.In this work, we propose a combined evolutionary heuristics for solving independent task scheduling problems in CC environment.This combination uses the two-objective optimization methods based on adapted virus optimization algorithm and genetic operators.This combination allows finding the task assignment that minimizes the makespan and the cost.In this section, we briefly give a description of the original virus optimization algorithm [10] and thereafter we introduced our tasks scheduling method based on improvement of this algorithm.

A. Virus Optimization Algorithm
The Virus Optimization algorithm is a meta-heuristic technique, population-based solution used to solve many optimization problems with single objective like continuous domain problems [10].This algorithm imitates the behavior of the viruses attacking a living cell by infection.Once they are entered, they will start replicating and alter the genetic material of the host cell.More viruses will be produced and ultimately host cell will die.In this algorithm, solution space is taken as cell itself and global optima can be found inside the cell.Many viruses can coexist within a host cell and each such virus represents a solution in the solution space.The viruses are divided into two categories: Strong and Weak, which corresponds to the exploration and exploitation capability of the virus optimization algorithm.Strong viruses will have high objective function value compared to weak viruses and they will replicate faster than them.The algorithm does mainly three types of phases: initialization, replication, updating and maintenance.An advantage of this algorithm is that it can be easily parallelized and therefore easily implemented.
The initialization step occurs according to the fitness value and consist to create the starting population of the possible solutions (virus) fulfilling the constraints.These solutions are sorted based on the objective function evaluation to select strong and weak virus [10].In the replication step, VOA generates new virus where are ranked in strong and weak ones according to some objective function values.For example, if the required number of strong viruses is three, then the first three virus of the created list are considered strong while the remaining are considered weak.In the last step, once the new viruses have been generated using the replication process, VOA checks and maintain the new population size using the corresponding objective function values.As a result, only the strong viruses are kept ordered according to their objective function values.The checking process verifies the convergence and VOA determines whether the exploitation has to be intensified by creating new members closer to the stronger viruses [10].However, the Maintain process (antivirus) is activated by interaction between the viruses and the host cell; the antivirus is triggered at each replication, killing a given number of viruses according to some fixed parameters such that the number of strong virus, weak virus and population size [10].For example, if the needed number of strong viruses is three, then the first three viruses in the created virus list are considered strong while the remaining viruses are considered weak.In addition, this process eliminates some virus from the population if the total number of viruses inside the host cell exceeds 1000 virus.Finally, the stopping condition of the VOA algorithm can be the maximum number of the iterations or the maximum number of the replications.

B. Task scheduling based on improved VOA
Based on the original VOA, we adapted modifications in order to enhance the performances of initialization and replication steps.This following section presents the description to accomplish to the VOA adaptation for twoobjective optimization based tasks scheduling in CC, called MOVAO.The population initialization step uses standard algorithms such as Min-Min, Max-Min and Tabou to generate the initial population.In the modification step, a combination of the genetic operators in the virus replications of the classical VOA is applied.Fig. 2 shows the visual representation for the main steps of the proposed twoobjective optimization process based on VOA and genetic algorithm.
The presented diagram consists of four steps: Initialization, classification, replication and antivirus (maintenance).The proposed two-objective tasks scheduling algorithm is described in Algorithm 1. First, we defined the control parameters of the proposed MOVOA as follows: . Popsize: Size of the initial population; . Popvirus: Maximum number of viruses in a cell; .Ntask: Number of tasks to be performed; .Nvms: Number of virtual machines; .PvirusStrong: The proportion of strong viruses in a population; .NvirusStrong: Number of strong viruses; .Nvirus: Number of viruses to be removed in the antivirus process; .NrepStrong: Number of viruses to generate from a strong virus; .NrepWeak: Number of viruses to generate from a weak virus; .ETC: Matrix of task execution times in virtual machines; .C: Vector of execution cost on each virtual machine; .Sbest: Vector representing the best solution found.
In our proposed MOVOA, the population initialization is based on some standard scheduling algorithms such as Min-Min, Max-Min and Tabou.According to the logic of the VOA, this first step is to create the starting population of the possible solutions fulfilling the constraints of these standards algorithms.Once the starting population has been initialized, each virus of the population will must be classified as strong or weak virus according to their objective function values and some predefined parameters (number of strong viruses).As shown in algorithm 2, this classification process is based on the fitness function (two-objective function Z(x)) and the strong virus number.For example, if we fix the strong viruses number to three, so the first three viruses in the created list are then considered strong while the remaining viruses are considered weak.The improvement uses two genetic operators according to virus types.In order to avoid the local convergence for strong virus reproduction (local solution), the mutation operator is used for these types of viruses.However, one-point and twopoint crossover operators are used only for weak viruses.For example, for the two-point crossover operator, we generate two new viruses from two weak viruses, which are randomly selected from the population, as illustrated in figure Fig. 3.After tuning the parameters, we compare our MOVOA with some evolutionary algorithms with different values of the parameter  and using a real instances.There are many prior works on multi-objective optimization problems for independent task scheduling using evolutionary techniques.
The most popular of meta-heuristic algorithms are Genetic Algorithm (GA) and Particle Swarm Optimization (PSO).The comparison results with three competing algorithms (standard Max-Min algorithm and 2 evolutionary algorithms) are shown in Fig. 6.The results show that the MOVOA algorithm outperforms all the algorithms and still provides stable performance when the benchmark functions are subject to a variation of the two-objection linear combination parameter .Once again, MOVOA with Min-max initialization not only outperforms these evolutionary algorithms, but also shows outstanding results for all instances when =0.75 (Fig. 10(c)).Note that MOVOA performs the best in all of the thirteen instances except for 80024.

VI. CONCLUSION
Scheduling of tasks is one of the most challenging problems in cloud computing environment.The proposed twoobjective optimization for tasks scheduling algorithm in CC environment is based on the combination of virus optimization and genetic algorithms.This last algorithm gives a best replication for strong and weak virus in space search.Moreover, Max-Min algorithm reinforces the population initialization process for the proposed approach.
The proposed algorithm has been simulated and the results are compared with standard and evolutionary algorithms previously implemented multi objective tasks scheduling algorithm for CC environment.Based on Weighted Sum Method and Pareto-optimal front, the proposed MOVOA showed competitive performance in terms of average twoobjective function value, achieving the best results in most of the tested instances and outperforms some standard and evolutionary algorithms.The proposed algorithm can be generalized by taking consideration of some other QoS parameters of the CC environment.

Algorithm 2 : 1 : 3 :
Population classification into strong and weak viruses Input :Pop, PvirusStrong; 2 : Trier(Pop) according to the fitness function; NvirusStrong= size(Pop) ×PvirusStrong; 4 : for i = 0 to size(Pop) do 5 : if (i <NvirusStrong) then 6 : setType(Pop[i], strong) ; 7 : else 8 : setType(Pop[i], weak) ; 9 : endif 10 : endforAfter classifying the viruses, each ranked virus in the population will reproduce by creating new viruses.Thus, two strategies for this reproduction are adopted.For the strong virus, four viruses and only three new viruses for weak are generated.The reproduction process based on improved replication function is designated in Algorithm 3.

Fig. 3
Fig.3 An example for crossover operation for two weak viruses

Fig. 6
Fig. 6 Comparisons of MOVOA algorithm with Max-Min, GA and PSO algorithms.

TABLE I .
AN EXAMPLE OF ETC VALUES

Table 3
Parameter setting values