An upgraded fruit fly optimisation algorithm for solving task scheduling and resource management problem in cloud infrastructure

In this manuscript, an upgraded Fruit Fly Optimization Algorithm (FFOA) is proposed for optimising task scheduling and resource management processes. The proposed FOA algorithm is utilized to address the issues. In the proposed algorithm, every solution is represented by fruit fly. Every fruit fly upgrades their status through well ‐ organized smell search process. First, a basic approach is put forward to allocate every task for numerous resources and execution time is measured for every task. Second, the overloaded virtual machines (VMs) are identified and the load is balanced to obtain optimal system resource utilisation. The ability of Fly Task Scheduling Algorithm is to schedule the VMs execution time of tasks is minimal. The results of the Fruit Fly ‐ based algorithms such as Fruit Fly Task Scheduling Algorithm, Modified Fruit Fly Task Scheduling Algorithm, Improved Fruit Fly Task Scheduling Algorithm and Multi ‐ Swarm Fruit Fly Task Scheduling Algorithm (MSFFTSA) are proposed and analysed. The upgraded Fruit Fly Optimization algorithm of MSFFTSA is compared with different Fruit Fly algorithms. Finally, the proposed algorithm is compared with other algorithms and the experimental results shows that the proposed MSFFTSA technique is better than the other algorithms of the fruit fly algorithms.

algorithms aim to minimize the processing time including maximize the resource application [3]. Cloud task scheduling is an NP-complete optimisation issue also multi-heuristic algorithms is proposed to address it. The objective of the task scheduling algorithms is to accelerate the execution process, which assigns resources to workload having different execution time in a volatile way. Allocating resources to balance the workload can be classified into static and dynamic algorithms. The static algorithm does not appropriate to cloud infrastructure due to fewer variations in load. In dynamic algorithms, the workload is balanced among heterogeneous resources. These algorithms are extremely successful because of the task prioritising operations. VMs are always loaded with multiple tasks, so the dynamic nature of the algorithm removes the tasks and assigns to under-loaded VMs of the similar data centre. Pan introduced the fruit fly optimisation is a new evolutionary meta-heuristic algorithm. As its name implies, it reflects the intelligent behaviour of the fruit fly swarm in search of food. Fruit fly optimisation contains several benefits like less parameter, simple structure etc. Therefore, it is extensively utilized to deal different types of issues at real world [4]. In this manuscript, an upgraded Fruit Fly Optimization Algorithm (FFOA) is proposed for optimising task scheduling and resource management processes, which is utilized Gaussian mutation operator with differently scaled variances from local optimum. Meng et al. [5] have suggested IFFOA, in which multi-swarms formed independently simultaneous so that it could have diversity between swarms and achieve the broader explorer active scope without getting caught up in local optima. This study proposes that task scheduling issue can be addressed by relating food foraging activities of fruit fly. A detailed analysis of the foraging behaviour of fruit flies to find the food source is derived in this algorithm. The flies locate the food source with the help of smell and vision. Fruit fly identifying the food source with the aid of smell and vision then it flies toward the exact location. In a similar way, the overloaded VMs are identified and the tasks are allocated efficiently with the aid of proposed algorithm. The task prioritisation is performed to all the overloaded VMs using fruit fly algorithm. VMs running with a smaller number of high priority tasks are assigned tasks with high priority. This kind of scheduling makes the process to complete earlier. Task allocation for the under-loaded VMs is performed in the ascending order of a particular data centre which is based on load. The tasks are denoted as fruit flies and the food sources as VMs. Assigning tasks to VMs is similar to a fruit fly searching for food source. The VMs that is overloaded is similar to the fruit fly that is exhausted in the food source. Scheduling tasks to the under loaded VMs is related as fruit fly searching another food source. The tasks that are eliminated updates the leftover tasks regarding the status of the VMs and the fruit fly performs its search based on smell and vision. The tasks are updated based on high priority tasks, which are presently processed in the VMs. This updating process is similar to the fruit fly locating the food source and revising the other fruit flies position in the group. Thus, tasks assignment is carried out based on VMs availability. This proposed algorithm works well in the cloud infrastructure.

| Objective and contribution of the work
The objectives of this manuscript are given below: � A procedure for scheduling tasks and allocating resources in the cloud infrastructure inspired by fruit fly behaviour. � Correlation of the task scheduling process with the standard Fruit fly algorithm and its variants. � Mathematical analysis of the task scheduling using VMs in the cloud computing infrastructure. � Performance analysis of the proposed algorithm and comparison with respect to its other variants of the proposed algorithm.
In this manuscript, fruit fly optimisation based algorithm has been proposed to upgrade the task scheduling problem in the cloud infrastructure. The proposed Fruit Fly-based algorithm is executed utilising open-source simulator named CLOUDSIM [6,7].
The remainder of this manuscript is designed as follows: Section 2 deals with the related works in task scheduling methods. Section 3 explains the problem description. Section 4 delineates the solution representation. Section 5 discusses the foraging behaviour of fruit fly and its variants of the proposed technique with detailed algorithm. Section 6 discusses the experimental results of Fruit Fly-based algorithm and evaluates the performance and compares with its variants. Finally, Section 7 concludes the manuscript.

| LITERATURE REVIEW
Task scheduling with resource management at the cloud infrastructure is NP-Complete problem [8]. Highly efficient scheduling techniques such as deterministic methods, heuristic algorithms and nature-inspired optimisation algorithms were utilised to address the problem. Scheduling tasks to process with uniform weights and scheduling tasks to one or two processors with weights equal [9]. Guo et al. [10] have suggested deterministic methods such as the algorithm of branch as well as bound to the resource-scheduling issue and heuristic algorithms are suggested with jobs based on higher processing time were given higher priority than jobs with less processing time [11]. Heuristic algorithms like Particle Swarm Optimization (PSO) was applied in cloud computing environment for scheduling intensive tasks in order to minimize the processing cost [12].
Another heuristic approach using PSO was suggested to task scheduling at cloud infrastructure to optimize the computation and transmission cost [13]. This study shows that PSO approach optimizes the workload on the recourses. A study in the cloud environment was to analyse the problems with load-balancing techniques. To handle critical situations a LOHESWARAN -25 new algorithm was incorporated to proactively influence the load-balancing decisions [14]. An improved algorithm was suggested for processing power in dynamic load-balancing strategy, which helps to improve the client service quality [15]. Now a days, with the fast development of efficient hybrid optimisation algorithms, such as adaptive hybrid heuristic [16], fuzzy GA optimisation [17], Ant Colony Optimization and PSO hybrid [18], PSO and Cuckoo Search [19], Firefly algorithm [20], Honey bee algorithm [21], improved GA [22] hybrid meta heuristics such as gravitational emulation local search (GELS) algorithm [23] and so on, were also applied to address the task scheduling including resource management issues.
The main objective of this research was to minimize the execution cost in the process of task scheduling and resource management in VMs of cloud infrastructure. The cost factor of cloud infrastructure was a measure to be considered. The various optimisation algorithms optimize the tasks by removing the tasks from overloaded VMs. The workload distribution among the VMs was based on dynamic load balance strategy. This dynamic strategy ensures that every computing resource was distributed uniformly. In the present study, a novel kind of optimisation algorithm was needed to minimize the execution cost and distribute the resources efficiently.
Lawanyashri et al. [24] suggested an energy-aware hybrid FFO to load balance the cloud environments to electronic health records applications. In this manuscript, a hybrid FFOA along a simulated annealing method to optimize the speed of convergence and quality of the solution has been suggested.
Shridhar Domana et al. [12] suggested a hybrid bioinspired algorithm for task scheduling including resource management at cloud infrastructure. It have been allocated the tasks for VMs in a proficient way utilising modified PSO, then the allocation or resource management as required by the tasks, was manipulated with proposed Hybrid Bio-Inspired algorithm (Modified PSO þ Modified CSO). Experimental results shows that the proposed HYBRID algorithm outperforms peer research and other algorithms (ACO, MPSO, CSO, RR and Exact algorithm based on branch-and-bound technique) depending upon proficient use of cloud resources, optimized reliability and minimized average response time.
Wu Deng et al. [25] have introduced an enhanced Ant Colony Optimization Algorithm depending upon Hybrid techniques for scheduling problem. Here, the optimisation issue was segmented as many sub-problems also the ants in the population were segmented as elite ants including common ants to upgrade the rate of convergence, avert falling into the local optimum value. The pheromone updating technique was applied to update optimisation capability. The pheromone diffusion mechanism was applied to produce the pheromone that ants release in a specific point, which gradually affects nearby areas to a specific range. The coevolution strategy was utilized to exchange information amid various sub-populations in order to implement information sharing. Table 1 tabulates the overall comparison of literature survey.

| Problem statement and motivation of the work
The related work section indicates that various techniques were used in task scheduling together with resource management problem in cloud infrastructure. However, there are some drawbacks existed. Existing works does not considered dynamic resources requirement in efficient manner, also take long time for scheduling. The above mentioned drawbacks in existing systems motivated us to propose this technique.

| PROBLEM DESCRIPTION
This study states that a set of cloud tasks with a set of cloud resources, like CPU, storage, network and memory that has to schedule. The VMs are the computing resources; the tasks are processed with the help of VMs, which are assigned to one or TA B L E 1 Comparison of existing and proposed methods

Author Methodology Advantages Disadvantages
Ali Al-maamari1et al. [19] Task scheduling utilising hybrid algorithm at cloud computing environments

-
LOHESWARAN more tasks. In cloud environment, the task scheduling as well as resource allocation process are actually NP complete problems [26]. Task scheduling problem aims to decrease the execution time also optimize the utilisation resources. At cloud computing environment, the task scheduling is declared as below. The overall implementation time of the task is called make span [27]. The Equation (1) defines the make span as follows: Here, T i denotes the task completion time in VM j as CT ij. [2].To formulate the problem, a set of m VMs is represented as …, T n } represents set of n tasks. In the model R denotes that all the VMs are independent and parallel. Scheduling of these independent tasks to these VMs cannot be interrupted. CT i denotes the completing time of task as T i . CT max denotes the make span. The model R is represented as R|npmt | CT max . The task T i 's execution time is represented as P ij on virtual machine VM j . All tasks execution time in a VM j is: Equation (3) is obtained by minimising CT max.
Based on VM's capacity, the task's processing time changes from one VM to other. CT max representation is Equation (5): Equation (6) shows the capacity of a VM where, pe numj is the processing element, VM j denotes processors number for all processors, Pe mipsj represents millions of instructions per second and vm bw j represents communication bandwidth. Equation (7) represents all VMs capacity.
The data centre capacity is the summation of all VMs. Equation (8) represents the load on VM.
On a service queue of VM i , N denotes the number of tasks and t denotes time.
Equation (9) implies the load of all VMs.

| SOLUTION REPRESENTATION
Heuristic algorithms are appropriate to solve the task scheduling together with resource allocation issue. Heuristic algorithms help to identify the optimal solution to this problem in rapid time [28]. In this study, Fruit fly-based optimisation is used to task scheduling and allocating resources. To address the task-scheduling issue, a set of tasks are given as input. The aim is to assign one or more tasks to one VM [29]. A permutation of integers represents a task. An exclusive integer ID has been assigned to each task represents a solution. For example, if there are 10 tasks their IDs indicated as T1, T2, T3, T4, T5, T6, T7, T8, T9 and T10. In the proposed algorithm, each fruit fly denotes a solution for task allocated with n elements in an array. All the elements in an array is a random integer from 1 to n.
The solution representation of assigning 10 tasks to 5VMs is shown in Table 2

| FRUIT FLY-BASED ALGORITHM TO SOLVE TASK SCHEDULING
This segment illustrates the standard fruit fly algorithm. The different variants of fruit fly algorithm such as modified FFO approach, upgraded FFO approach, multi-swarm FFO approach and their fitness function for task scheduling problem is discussed [31].

| Fruit Fly Task Scheduling Algorithm
Moderate and humid regions are suitable for fruit flies to live. These flies are better than other species in terms of smell and vision. During hunting, it flies in random direction guided by some odour to locate the position. During the food hunting process, the fruit flies interacts with the neighbours and compares with best solution so far and its fitness. FFOA is a global optimisation technique in terms of food foraging behaviour of fruit fly. It is an interactive evolutionary method with two-search process namely smell and vision.
It locates the food source using smell to fly toward the exact place in the smell search process. With the help of sensitive vision, it flies toward the food source in vision search process. Figure 1 depicts the foraging process of fruit fly [32]. The fruit fly searches for the under-utilized VM (food) to allocate the removed task. If more than one under-utilized VM is available in the same data centre based on task priority with load on the virtual machine, the decision is carried out, that is, finding an optimal solution. The task list and load of all VM in VM list is updated for waiting tasks after submitting the under-loaded VM. When updating the status of the VM will be helpful for the other fruit flies to search their food.
The fruit fly's food for ageing process is classified as parameter settings and initial population location, smell search part and vision search part. Figure 2 portrays the basic fruit fly algorithm. The parameters in fruit fly population size represented as NP, maximum iteration number represented as T, random flight distance rand value. The random initialisation of the search space is described in the Equations (13) and (14). where, rand denotes random function, the other parameters are upper and lower bound in two-dimensional search space. Based on smell search part, population size NP is generated in random. The individual fruit fly's distance and direction of flight is represented below,

TA B L E 2 Solution representation
where, i ¼ 1, 2, …, NP and rValue indicates random number from À 1 to 1. Dist i represents distance of food location and the smell concentration denoted as (S i ).
Dist ¼ ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi For each fruit fly (Smell) denotes smell concentration and the fitness function is calculated.
The vision search part uses greedy selection method. The individual with maximum smell value is identified in the swarm.
Next, (Bsmell) denoted as current maximum smell value is compared with (Sbest) denoted as previous value. If Bsmell is lesser than Sbest then Sbest is updated with Bsmell and using vision, it flies to a new location with maximum smell value.
The smell and vision s earch process are repeated until Smell i is not better than the previous iterative Smell i or when it reaches maximum number of iterations [32].

| Modified Fruit Fly Task Scheduling Algorithm
The standard FFOA is likely to get trapped at local optima because of not having mutation of high probability. Due to search space limitations it is hard for the algorithm to skip from the local optima. The distance Dist i is positive in the standard fruit fly algorithm and the reciprocal of distance denoted as S i is positive. To overcome the above stated problem, a correction mechanism is introduced as escape parameter to S i [33]. To escape from local optima, escape parameter δ is used to identify global optima [34]. At initial stage, the proposed MFFTSA algorithm is first generated fruit fly swarm with high quality; at smell-based search stage, fruit flies are expected to search in different directions around the location of current fruit fly at decision space. When their gets near to better location, a local search is highlighted; at view-based search stage, the main objective is the fruit fly can be induced to better searching space.

F I G U R E 2 Fruit fly algorithm
To enhance the overall search ability and produce negative fitness, the escape parameter δ is used.
In standard FFOA, the fruit flies moving in two-dimensional search spaces for global optimal solution. The fruit flies moving in three-dimensional space to identify the food position. Hence, the food distance is extended in three-dimensional search spaces using the Equation (25).
Dist ¼ ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi ffi

| Improved Fruit Fly Task Scheduling Algorithm
In smell search part, the standard fruit fly algorithm uses a fixed search radius [35]. An enhanced version of the algorithm has been introduced to eliminate the fixed values in the search radius. In order to optimise the efficiency of the fruit fly algorithm and remove the disadvantages with search radius fixed values, also modifying the search radius dynamically with the count of iteration, so the search radius can be tuned to various evolution phases. Unlike the basic FO that modifies the entire decision variant of the swarm location to create a new solution, we randomly select one decision variant along uniform distribution to enhance the intensive search. The comparative studies are conducted in terms of 30 different test operations. The experimental outcomes show that the proposed improved fruit fly algorithm is an efficient search algorithm; moreover, it performs accurately than five state-of-art harmony search algorithms on solving higher-dimensional functions. The Equation (26) shows how the search radius is changed dynamically.
where, λ denotes search radius, λ min denotes minimum search radius and λ max denotes maximum search radius. The decision variables are used to evaluate the fitness by eliminating the parameters Dist i and S i . To increase the search intensively, a random decision variable is selected to produce current solutions as shown in Equation (27).
where, rand denotes an uniform distribution that returns a value [0,1], random integer d [1,n] and the number of decision variables n.

| Multi-Swarm Fruit Fly Task Scheduling Algorithm
To improve the solution variety, to acquire effectual exploration and to avoid local optima, a multiple-swarm fruit fly Optimization algorithm (MSFOA) [36] is proposed. MSFOA is proved to upgrade better and the rate of convergence speed of original algorithm. When it is comes to Multi-Swarm Fruit Fly Task Scheduling Algorithm (MSFFTSA) depending upon FFOA. MSFFTSA compute convergence rate and allocate the task more accurately than other FTAs. Many sub-swarms are produced from fruit fly swarms and these sub-swarms move autonomously at search space to obtain global optimal solution. The exploring radius for smell is modified to every fruit fly in the group and its current location is generated. RðtÞ Here, R(t) denotes exploring radius. R(t) variable is assigned as multi-scale iteration t in the smell search process and ϕ equal to 2 ∼ 6. The upgraded Fruit Fly Task Scheduling Algorithm (FTSA) of MSFTSA is compared with different Fruit Fly Task Scheduling Algorithms and experiment results show MSFTSA is better when compared with FTSA, MSFFTSA and IFTSA algorithms.

| Test platform and parameter settings
The test platforms for the experiments are Processor: CPU Intel Core I7-2670, Frequency: 2.20 GHz, Memory: 8 GB, Operating System: Windows 7, Simulation software: CLOUDSIM 3.0.3.

| CLOUDSIM parameter setting
An open source simulator called Cloudsim 3.0.3, capable of running in Linux and Windows operating systems is used in this study [6].
The simulator is used to implement the task scheduling process based on the standard fruit fly swarm technique and compared with its variants. The CLOUDSIM toolkit supports cloud system modelling components like data centres, host, VMs, scheduling with resource provisioning policies. A toolkit is an application that opens up the possibility of evaluating hypotheses before software development in an environment where experiments can be developed. Here, 50  Table 3 shows the parameter settings of CLOUDSIM simulator.

Fruit fly algorithm parameters
In this study, the algorithms is assigned population size as NP of 10-50, the maximum iterations used 1000. Rand value ¼ 1, and λ min ¼ 1 � 10 À 5 .

| Simulation results and comparisons
This segment demonstrates the performance analysis of the proposed algorithm is compared with its variants. Every algorithm is run 10 times independently and the average value is taken for evaluation.
To assess the performance of the Fruit Fly Task Scheduling Algorithm (FFTSA), Modified Fruit Fly Task Scheduling Algorithm (MFFTSA), Improved Fruit Fly Task Scheduling Algorithm (IFFTSA) and MSFFTSA algorithm, parameters such as VMs, population size are used for comparison. Figure 3 shows VMs response time in seconds for FFTSA, MSFFTSA, IFFTSA and MSFFTSA. The X-axis denotes  Figure 4 compare time span and number of tasks for FFTSA, MSFFTSA, IFFTSA. This graph illustrates that MSFFTSA is capable when assessed with other variants of the algorithms. Around 250 tasks were used for our comparisons. Figure 5 represents the comparison of population size and the make span for FFTSA, MSFFTSA, IFFTSA and MSFFTSA. X-axis represents population size and Y-axis represents make span in seconds. The population size is varied and make span is analysed. The graph clearly shows that the make span duration is minimal for IFFTSA and MSFFTSA algorithms when likened with other algorithms. Figure 6 depicts the comparison of VMs and number of tasks in the proposed algorithm.
The X-axis implicates VMs, whereas Y-axis implicates number of tasks. The results are analysed, and it is found that MSFFTSA is better than other algorithms depending upon utilising the maximum amount of resources for given tasks by using VMs efficiently without overload. Thus, the MSFFTSA algorithm is efficient in terms of task allocation and resource utilisation.

| CONCLUSIONS
In this manuscript, an upgraded FFOA was proposed for optimising task scheduling and resource management processes with a measure to decrease the execution time and increase the system resource utilisation. Task prioritisation was also considered in this algorithm. First, a basic approach was put forward to allocate the tasks to multiple computing resources also the implementation time of the task was calculated. Second, the overloaded VMs were identified and the load was balanced to obtain maximum resource utilisation. The experimental results illustrates there was a major improvement in average implementation time and also optimum resource utilisation of VMs in proposed algorithm. Finally, the implemented algorithm was likened to the other algorithms then the experimental results demonstrate the MSFFTSA technique is better than the other algorithms of fruit fly algorithm.