Cloud Job Scheduling with Ions Motion Optimization Algorithm

Cloud computing technology success comes from its manner of delivering information technology services, how they are designed, propagated, maintained and scaled. Job Scheduling on cloud computing is a crucial research area and is known to be an NP-complete problem. Scheduling refers to assigning user requests to underlying resources effectively. This paper proposes a new Job Scheduling mechanism for cloud computing environment. The proposed mechanism is based on the Ions Motion Optimization (IMO) algorithm. IMO has two phases, liquid, and crystal. These two phases balance the algorithm behavior between convergence and local optima avoidance. To evaluate the proposed mechanism, a simulation with different scenarios using the CloudSim simulator is conducted. The performance of the proposed algorithm is compared with two metaheuristic algorithms known as Cat Swarm Optimization (CSO) and Glowworm Swarm Optimization (GSO). Furthermore, the proposed IMO mechanism is compared with First Come First Served and random solution. The experimental results demonstrated that the proposed mechanism outperformed both CSO and GSO and produced the shortest execution time in all experimental scenarios. Keywords-optimization; ions motion; cloud; job scheduling

INTRODUCTION Cloud computing is a new technology based on transferring computation processes from local desktops to remote providers on the internet. Cloud computing services are extensive and provide on-demand access to a pool of computational resources [1][2][3]. The consistency and stability of cloud services is based on several features such as the scheduling process of jobs. Scheduling is categorized into three levels, namely job level, resource level, and workflow level. In job scheduling, users submit jobs to cloud providers and job scheduling distributes the jobs submitted by the cloud clients to the provider with suitable resources [4][5][6]. Cloud job scheduling is a job and resource management process based on several factors to increase the overall cloud performance [7,8]. Cloud jobs may comprise key in data, processing, accessing software, or storage maintaining process. Cloud providers classify jobs based on the service-level agreement (SLA) and requested services. Each user job is assigned to one of the available cloud resources. Cloud providers execute the submitted jobs, and the results are transmitted back to cloud users [9][10][11][12]. Job scheduling in cloud computing is an NP complete problem due to the huge amount of tasks submitted by cloud users to cloud providers. The job scheduling process starts when cloud users submit their jobs to cloud providers. The job scheduler in cloud providers requests the resource information service in order to obtain the status of available resources and their features. Then, the job scheduler assigns the jobs to suitable resources based on the job and resources information requirements. Cloud job scheduler allocates several clients jobs to multiple cloud resources. Job scheduling mechanism tries to allocate cloud resources in an optimal way [3,[13][14][15][16]. Current job scheduling methods that use a variety of optimization criteria suffer from several issues. The cloud batch systems prefer turnaround time and throughput as job scheduling criteria. However, interactive cloud systems use response time and fairness [17][18][19]. Different types of cloud job scheduling based on heuristic, metaheuristic and optimization techniques have been proposed [20][21][22]. Heuristic cloud job scheduling presents an optimal solution based on knowledge theories for obtaining optimal scheduling solutions [23,24]. Metaheuristic methods are general methods used for job scheduling based on natural inspired optimization methods such as particle swarm optimization and ant colony optimization [25][26][27]. Optimization techniques provide good solutions but still not the optimal solution. Therefore, there is a need for new job scheduling methods that optimize cloud turnaround and execution times. This paper proposes a new job scheduling mechanism for cloud computing environment. The proposed mechanism is based on Ions Motion Optimization (IMO) algorithm. IMO has two phases, liquid and crystal. These two phases balance the algorithm behavior between convergence and local optima avoidance.
II. RELATED WORKS Glowworm Swarm Optimization (GSO) for solving independent job scheduling and allocation problem of cloud computing resources is presented in [28]. The GSO mechanism considers each glowworm as a job scheduling candidate solution. The mechanism starts with an initial random population containing a number of n solutions. After developing the initial random population, GSO calculates the fitness value for each glowworm. The calculation of the fitness value starts with dividing each job length by the speed of the resource the job is assigned to. Then, GSO calculates the summation of the division results for each glowworm and finds the maximum fitness value. Authors in [29] proposed Cat Swarm Optimization (CSO) for solving the independent job scheduling problem and job allocation to the resources. Each cat represents a candidate solution. The cat population is divided into two modes, Seeking Mode (SM) and Tracing Mode (TM). A new job scheduling mechanism using Firefly Algorithm to minimize the execution time of jobs is presented in [30]. Firefly Algorithm is a nature-inspired metaheuristic algorithm based on the light attractiveness of fireflies. The mapping process considers each firefly as a job scheduling solution. The firefly with less brightness is attracted and moved towards the brighter one. This process continues for several iterations until the algorithm reaches a specified fitness value [30]. Authors in [31] emphasize on the performance of Infrastructure as a Service (IaaS) based on a meta-scheduling model to accomplish enhanced job scheduling in multiple clouds. They proposed a new inter-cloud task scheduling framework and employed policies to improve the performance of participating clouds. A Modified Particle Swarm Optimization (MPSO) method was introduced for cloud job scheduling in [10]. MPSO has two important parameters in cloud scheduling, namely average length and ratio of successful execution. In [32], a hybrid cloud job scheduling mechanism using Shortest Job First and Priority based Scheduling is introduced to enhance the scheduling process. In [33], a chemical reaction optimization method is presented as an optimization method for cloud job scheduling problem. The method maps the cloud job scheduling problem to chemical reaction behaviors. This method has shorter execution time compared to the Firefly Algorithm and GSO according to the experimentation results. The cloud job scheduling problem is modeled using shark smell optimization problem in [34]. The results of the shark smell job scheduling method outperformed the Firefly Algorithms'. A cuckoo-inspired cloud job scheduling mechanism is proposed in [35].

III. IONS MOTION OPTIMIZATION
IMO algorithm [36] is a metaheuristic algorithm proposed for solving optimization problems. IMO as its name suggests is inspired from ion properties in nature, it mimics the attraction and repulsion forces between ions. IMO is population based, it divides the population into two sets of negative and positive charged ions. These ions move in the search space according to a simple rule (ions with the same charge tend to repel each other while ions with opposite charges attract each other) [37,38]. Ions in IMO can be in two different phases, liquid phase and crystal phase. In liquid phase, ions move around in the search space more freely. The repulsion forces are ignored in this phase to reassure exploration. The only factor that affects the attraction force is the distance between ions, while force is inversely proportional to the distance between ions [38,39]. As a result, search agents of IMO eventually converge toward a solution in the search space, and the algorithm enters the crystal phase. Crystal phase implies that ions have converged toward a point in the search space. Though, this point could be a local minimum [40,41] due to the unknown characteristics of the search space. Therefore, crystal phase aims to solve this entrapment by randomly relocating ions in the search space in respect to the best ions. Nevertheless, the mechanism used for transiting from liquid to crystal phases is to check if the average fitness of the worst ions is equal or smaller than the fitness of the best ions [42,43]. IMO has been applied to solve different computation problems such as tackling the short-term hydrothermal scheduling problem [40], optimum coverage in wireless sensor networks [44], and optimal robot path planning [42].

A. Proposed Mechanism Description
IMO starts by initializing a population of search agents (Ions). Each ‫݊ܫ‬ is defined by a number of attributes: ‫,݊݅ݐ݅ݏ‬ ܿℎܽ‫݁݃ݎ‬ and ‫݁ܿ݊ܽݐݏ݅݀‬ from the opposite ‫.݊ܫݐݏ݁ܤ‬ ‫݊ܫ‬ ‫݊݅ݐ݅ݏ‬ represents a feasible scheduling solution and is defined as a vector of integer values ‫݊ܫ‬ ሬሬሬሬሬሬറ of ݊ length (where ݊ is the total number of tasks) and its values fall in the range [ 0 , ݉ − 1 ] (where ݉ is the total number of resources). IMO then divides the population of ‫ݏ݊ܫ‬ randomly into two groups ‫݊݅݊ܣ(‬ and ‫,)݊݅ݐܽܥ‬ by assigning a value ∈ {0,1} to the ܿℎܽ‫݁݃ݎ‬ attribute of each ‫݊ܫ‬ . After ‫ݏ݊ܫ‬ have been assigned a ‫݊݅ݐ݅ݏ‬ and a ܿℎܽ‫,݁݃ݎ‬ IMO evaluates the fitness of each ‫݊ܫ‬ using the objective function ‫)ݔ(݂‬ and determines ‫ݐݏ݁ܤ‬ ‫݊݅݊ܣ‬ and ‫ݐݏ݁ܤ‬ ‫.݊݅ݐܽܥ‬ Ions with similar charge repel each other while ions with opposite charge attract each other. The ‫݁ܿ݊ܽݐݏ݅݀‬ for every ‫݊ܫ‬ from the ‫ݐݏ݁ܤ‬ ‫݊݅݊ܣ‬ with opposite charge is calculated using (1): where ‫ܦܣ‬ , is the distance from ‫݊݅݊ܣ‬ , in the ݆ − ‫ݐ‬ℎ job and the ‫݊݅ݐܽܥݐݏ݁ܤ‬ in the same job, ‫ܦܥ‬ , is the distance from ‫݊݅ݐܽܥ‬ , in the ݆ − ‫ݐ‬ℎ job and the ‫݊݅݊ܣݐݏ݁ܤ‬ in the same job. After calculating the distance, we map the distance to the range [0, 1] by: After that, the force can be calculated using the mapped distance by (3): where ‫ܨܣ‬ , and ‫ܨܥ‬ , are the force for the ݅ − ‫ݐ‬ℎ anion and cation in job ݆ respectively. Now, the new position of anion and cation are updated as in (4) and (5): where ‫ܣ‬ , is the element of the ݅ − ‫ݐ‬ℎ Anion in ݆ − ‫ݐ‬ℎ job  Table I.
Let ݊ = 6 ‫ݏܾ݆‬ and ݉ = 4 ‫ݏ݁ܿݎݑݏ݁ݎ‬ as in Table II. The solving procedure using IMO algorithm to find an efficient scheduling solution follows.

1) Parameter Initialization
The algorithm begins by defining the population size as ‫6=݁ݖ݅ܵܲ‬ and initializing empty variables for best and worst ions of both types as well as a variable to store the best ion.

2) Assign Random Solutions to Each Ion
A solution in job scheduling is a mapping of jobs to resources where the dimension index represents the job index ‫ܬ‬ and the number corresponding indicate the resource ܴ Assuming a minimization problem (without loss of generality), we determine the best anion and cation respectively by selecting the lowest fitness values among anions and cations:

7) Normalize the Distance between Ions
To normalize the distance to the range [0, 1] we need to calculate the maximum distance between two ions using the following equation:

8) Calculate the Attraction Force between Ions
Note that, IMO algorithm assumes that the only factor for computing the attraction force is the distance between ions. The mathematical model is: where ‫ܨܣ‬ , and ‫ܨܥ‬ , is the resultant attraction force of anions and cations respectively, and ‫ܦܣ‬ , represents the resultant distance of ݅ − ‫ݐ‬ℎ anion from the best cation, and ‫ܦܥ‬ , represents the resultant distance of ݅ − ‫ݐ‬ℎ cation from the best anion. Now, we calculate the attraction force for each ion using above equations: The new position of A ଵ is as follows: Calculation of the new position of A ଶ : The new position of A ଶ is as follows: ‫ܣ‬ ଶ = ሺ2 3 4 1 2 3ሻ

V. EVALUATION AND EXPERIMENTATION
This section covers the experimentation conducted to verify the applicability of the proposed mechanism and to confirm its advantages over other metaheuristic mechanisms. Firstly, the proposed mechanism is compared with First Come First Served (FCFS) scheduling method and with a random solution using four different scenarios. Secondly, a simulation comparison is conducted a between IMO and CSO under two different scenarios. Finally, a comparison between IMO, CSO and GSO is conducted.

A. Experimental Settings
The proposed mechanism is simulated using CloudSim simulation model. The population size of IMO is set to 30 ions and the maximum number of iterations to 100. Each scenario is conducted 10 times and the results are recorded. The processing powers of resources are generated randomly between 10 and 70, while the lengths of tasks are between 40 and 150.

B. IMO, FCFS and Random Solution Experiment Scenarios
This section presents a comparison of the four experiment scenarios between the proposed IMO scheduling algorithm, FCFS algorithm and a randomly generated scheduling solution. As seen in Table III and Figure 1, IMO algorithm performs better than the FCFS algorithm and the random solution. Also, it has the best execution.

C. IMO and CSO Comparison Result
In this comparison, the processing speed of resources and the length of jobs were generated randomly in the intervals [0, 200] and [0, 400] respectively. Both algorithms used the same jobs and resources specification and both performed 30 runs and the average execution time was calculated.

1) First Scenario
This scenario considers a number of 50 jobs and 20 resources. As shown in Table IV and Figure 2, although CSO starts with a better solution and IMO starts with a slightly high fitness solution, both of them continue to improve the quality of their solutions. CSO maintains its advantage in the first 30 iterations. But as the iterations continue, the IMO found a better solution than CSO in iteration 31, overcame CSO and then continued to improve the performance by reducing execution time.

2) Second Scenario
This scenario considers 100 jobs and 30 resources. As shown in Table V and Figure 3, IMO starts with a slightly better solution than CSO, but after the first iteration CSO came up with a better solution. Both algorithms continued to improve their solutions. IMO found a solution better than CSO's after 30 iterations and continued to improve it. CSO remained constant after 30 iterations

D. IMO, CSO and GSO Comparison Result
This section presents a comparison between the proposed mechanism IMO and two other metaheuristic algorithms, CSO and GSO, using 50 jobs and 20 resources generated randomly and used by all the three algorithms. Comparison between IMO, CSO, and GSO As shown in Figure 5, IMO started with a good solution but both GSO and CSO were better during the first 20 iterations. IMO found a better solution in less than 30 iterations. Both GSO and CSO did minor improvements to their solutions after 20 iterations and then remained constant while IMO continued to improve its solution until the 96th iteration.

E. Discussion
It was proved that the IMO algorithm can produce promising solutions to scheduling problems. IMO performed 100 iterations in the above scenarios, switching between liquid and crystal phases to overcome local minimum entrapment. Liquid phases were 80% of the total number of iterations, evidencing the exploitation ability of IMO. Crystal iterations were about 20% of the total number of iterations. This proves that the ions do not trap in a local minimum. Moreover, ions in IMO move toward the best ion with opposite charge, thus increasing the number of ions will increase the exploitation of promising regions in the search space. To conclude, IMO starts initializing ions (search agents) randomly, then it changes their location (scheduling solution) and moves them toward the best location found so far. While this will lead to local minimum stagnation, however, crystal phases relocate ions around the best ions found so far randomly.

VI. CONCLUSION
This research proposed a scheduling mechanism for cloud computing jobs based on Ions Motion Optimization. The proposed mechanism considers minimizing the execution time of jobs. This research started by finding an optimal analogy between IMO algorithm and the problem of job scheduling in cloud. IMO begins by initializing randomly a population of ions where each ion position represents a candidate scheduling solution. Then the algorithm divides the population into two groups of anions and cations before evaluating the fitness of each ion using the objective function. The objective function calculates the execution time of each candidate solution. Furthermore, ions move toward the best ions from the other group in the population. IMO continually transits between liquid and crystal phases to maintain a ratio between exploitation and exploration of the search space. Liquid phase guarantees convergence of ions toward the best found solutions and also guarantees exploiting the promising locations found so far. Crystal phase relocates ions randomly around the best solutions found at this point. When compared with two metaheuristic algorithms using the same set of jobs and resources, IMO outperformed them. IMO starts the search with a solution that is slightly better or worse than GSO and CSO, but it overcomes both algorithms after about 30 iterations in all scenarios. IMO also proved its advantage over traditional methods and produced highly competitive solutions having the less execution time when compared to FCFS.