SIMULATED ANNEALING APPROACH TO COST-BASED MULTI-QUALITY OF SERVICE JOB SCHEDULING IN CLOUD COMPUTING ENVIROMENT

Cloud computing environments facilitate applications by providing visualized resources that can be provisioned dynamically. The advent of cloud computing as a new model of service provisioning in distributed systems, encourages researchers to investigate its benefits and drawbacks in executing scientific applications such as workflows. One of the fundamental issues in this environment is related to task scheduling. Cloud task scheduling is an NP-hard optimization problem and many meta-heuristic algorithms have been proposed to solve it. A good task scheduler should adapt its scheduling strategy to the changing environment and the types of tasks with minimum scheduler execution time. A Genetic Algorithm (GA) for job scheduling has been proposed and produced good results. The main disadvantage of GA algorithm is time consuming problem. In this study, a novel Simulated Annealing (SA) algorithm is proposed for scheduling task in cloud environment. SA based approach produced comparative result in a minimal execution time


INTRODUCTION
Cloud computing (Sridhar, 2009) is a recent trend technology, where user can rent software, hardware, infrastructure and computational recourse as per user basis. Users can submit their job into cloud for computational processing or leave their data in cloud for storage. Different users has different Quality of Service (QoS) requirement. Cloud scheduler must be able to schedule the jobs such a way that cloud provider can gain maximum benefit for his service and QoS requirement user's job is also satisfied.
As job scheduling problem is a kind of combinatorial problem, it cannot be formulated as a linear programming or it impossible to find the globally optimal solution by using simple algorithms or rules. It is well known as NPcomplete problem. It depends on size of problem. To solve this problem some kind of branch and bound and other approximation method has been developed, however the obtained results is really unpredictable and require a lots of time, which is almost non applicable in cloud environment.
Furthermore, the objective functions of cloud computing may be too complex, depending on the business orientation of cloud environment, which is impossible to solve in linear time by using conventional scheduling algorithm. GA and IGA approaches have been developed, which provide a cost-based multi QoS scheduling in cloud (Dutta and Joshi, 2011). However, the disadvantage of GA approaches is time consuming problem. In this study we try to adapt SA approach to the problem with proposing good initial solution.
Moreover, in order to realize the full potential of the cloud platform, an architectural framework for efficiently coupling public and private clouds is necessary.

AJAS
As resource failures due to the increasing functionality and complexity of hybrid cloud computing are inevitable, a failure-aware resource provisioning algorithm that is capable of attending to the end-users QoS requirements is paramount (Javadi et al., 2012).
The rest of the study is organized as follow: Section 2 gives with related works; in section 3, a cloud scheduling environment and a set of mathematical equations has been developed to formulate the problem; in section 4 we gives SA based approach to address this problem; section 5 gives the experimental results; the last part concludes with future work.

MATERIALS AND METHODS
In cloud computing, end users do not own any part of the infrastructure. The end-users simply use the services available through the cloud computing paradigm and pay for the used services. The cloud computing paradigm can offer any conceivable form of services, such as computational resources for high performance computing applications, web services, social networking and telecommunications services (Mezmaza et al., 2011).
Job scheduling in cloud has an excellent history in research area. Alot's of algorithms have been proposed for this scheduling problem. It includes optimistic differentiated job scheduling (Li, 2009), multiple QoS scheduling (Xu et al., 2009), fuzzy bee colony (Zhao et al., 2009) and lots more. GA has been successfully applied in heterogeneous system (Mukherjee and Sahoo, 2009), grid computing (Daoud and Kharma, 2006). Most of these researches assume that each job has fixed amount of execution time, but it is not the caseof real world cloud computing. The time of execution depends on the performance of his service and QoS requirement user's job are also satisfied. GA has been developed, which provide a cost-based multi QoS scheduling in cloud (Dutta and Joshi, 2011) and produced good results. In GA, a collection of chromosomes is generated as an initial population based on random Initialization.
IGA approach is also proposed (Abdullah and Othman, 2012) with good initial solution and produced good results. The initial population is generated based on application hint (GA-Hint). The basic idea behind the method GA-Hint is using application specific information (e.g., the ratio of job expected instruction count to the cost of the instruction in the process to generate a seed chromosome of good quality (high fitness value).
The disadvantage of GA approaches is time consuming. Thus in our paper we try to adapt a new optimization algorithm to the problem. When SA was first proposed, it was mostly known for its effectiveness in finding near optimal solutions for large-scale combinatorial optimization problems (Manikas and Cain, 1996) such as the Traveling Salesperson Problem (TSP), buffer allocation in production lines (Spinellis and Papadopoulos, 2000;Mezmaza et al., 2011) and chip placement problems in circuits (Ingber and Rosen, 1992) (finding the layout of a computer chip that minimizes the total area). But recent approaches of SA have demonstrated that this class of optimization approaches could be considered competitive with other approaches for solving optimization problems (Abdullah et al., 2006).

Scheduling Model Environment
The proposed model of scheduling environment mainly consists of five components: A set of users (cloud customers), Preprocessing unit and task classifier, data center/executer, datacenter manager and Job scheduler. More details can be found in (Abdullah and Othman, 2012;2013).

Cost Model
Let consider the following cost factor: α i be the cost per instruction for processing unit i and βj indicates the delay cost ofjob j. Suppose, N machines with M jobs and assign these M jobs in to N machines (M = N), in such an order that following condition can be satisfied: Form user side, finish Time (Tf) must be less than the worst case completion Time (Twcc), scheduling must be done such way to preserve QoS and to avoid possible starvation: Tf ≤Twcc This condition must be satisfied anyhow, otherwise the job is considered as a failure job and the corresponding scheduling is illegal.
From cloud provider side, to minimize the cost spend on the job: Suppose i th machine is assigned to j th job. Then the cost for execution job j is ICj* α i (while IC is the instruction count). Let Ψj, estimated delay cost for job j, can be defined as: where, Td is the deadline for job j and Tf is the estimated finish time, when job j is assigned to process unit i. Thus overall cost to execute all N jobs can be given by: Thus, cloud provider's aim is to schedule jobs (i.e., find a permutation: N->M) such a way which minimize the value of ζ: As there are N number of jobs and M number machines and assuming that all machines are capable to perform any job, then there are total N*M numbers of way to assignment. Thus this problem is a kind of NP-Complete problem (Dutta and Joshi, 2011). A probabilistic search algorithm can solve this assignment problem in finite time.

SA-BASED APPROACH
SA originated in the annealing processes, found in the rmodynamics and metallurgy. SA algorithm has been used to approximate the solution of very large combinatorialo ptimization problems (Kirkpatrick, 1984) for example, NPhard problems. It isbased upon the analogy between the annealing of solids and solving optimization problems.
SA exploits an analogy between the way in which a metal cools and freezes into a minimum energy crystalline structure (thean nealing process) and the search for a minimum in a more general system. SA'smajor advantage over other methods is its ability to avoid becoming trapped at local minima. SA algorithm was used for resource scheduling for many problems and produced good results (Ismail and Loh, 2009;Rakkiannan and Palanisamy, 2012). For certain problems, SA algorithm may be more effective than exhaustive enumeration-provided that the goal is merely to find an acceptably good solution in a fixed amount of time, rather than the best possible solution. Compared with the other optimization techniques such as GA, by and large, SA is convergence faster than GA runs (Ingber and Rosen, 1992;Wang and Zeng, 2010).

Initial Solution
Some experiments have been carried out with random initialsolutions. Computational time to converge towards a good solution is prohibitively long. Therefore, GA-Hint approach (Abdullah and Othman, 2012) which we call it here opposite () approach is used to calculate the initial solution of SA, which yields a good initialsolution.
The best result is taken (the minimum cost) be for running the SA algorithm. Again, it is better to start with the best solution that has been heuristically built.

Move Sets in SA Algorithm
Move sets are the most important operators in the SA algorithm in this research. There are three types of move sets in this research which are Inversion, Translation and Switching. To explain the move sets, suppose that we have a sorted vector of integer numbers from 1 to 10as shown in Fig. 1.
In our research we have implemented only the Inversion move set. The Transition move set is time consuming while the Switching is simple (Ingber and Rosen, 1992). In the Inversion move set, we have generated two random points and then reversed the order. For example, if we generate the random points as 6 and 9, then we invert the numbers from 9 to 6 and store them in this particular order as shown in Fig. 2.
In the proposed approach, we sorted the machines in a vector. Then, for each iteration, before we schedule the job on the machine, we invert the vector to get a new solution. It means that, the machine taken in differently for each iteration of.

Application of SA to the Problem
The initial solution is calculated using opposite () Approach because it produced good solution previously in IGA approach (Abdullah and Othman, 2012). We start at the initial temperature T. We execute the SA using the Inversion move set technique discussed in Section.
Then, we calculate the new cost and assign to it a variable called new gain. If the new gain is less than or equal to the current gain then the solution is accepted. If the new gain is more than the current gain then we calculate exp (-E/T) and generate a random number. If the random number generated is less than e (-E/T) then the solution is accepted, otherwise the solution is rejected. If the solution is accepted then the new gain is assigned to the current gain and the new sorted vector is used for generating the next solution. If the solution is not accepted then the current gain does not change and the sorted vector will remain the same. I iterations are performed for each temperature value and after M iterations, the value of the temperature is changed to be T = T * x. The stopping condition T s is chosen as 5 and is fixed. It is used to stop the algorithm when there is no change to the solution after T s iterations. In this way the algorithm terminates either on reaching the final temperature T final or after T s iterations. We repeat the process if T is greater than the final temperature and if t stop is greater than 0 (t stop > 0). Finally, the algorithm stops after having met any of the two conditions. At this point, the cost is returned, corresponding to the final solution obtained after applying the simulated annealing algorithm as shown below: Calculate the cost using Oposite () initial solution; Initial temperature T: While (

RESULTS
To evaluate the performance of the algorithms, they have been simulated to find best schedule for different number of jobs and different number of machines. A number of jobs having different attribute are generated randomly and also a number of processing unit having random attribute are generated randomly. The simulation results proved that the SA approach will give good result with minimal execution time. Thus, we will compare the performance between Mapping, GA and SA approaches with these types of parameters. For instance, M different jobs having different characteristics are given generated randomly. Similarly N different process units attribute with random characteristics are generated.
To investigate the effectiveness of the proposed SA as compared to other based approaches, we direct schedule job i to process unitj, then we calculate the cost. We examined the overall performance of each algorithm by running them under 100 randomly generated cloud configurations. We set the GA related parameters (r x = r gx = r m = r gm = 0.6) with values that we found after some preliminary experiments. We tried different number of jobs and processing units: 10, 20, 40, 60 and 100.

DISCUSSION
For SA approach, After testing of many cases, the number of rounds was set at 100 (to calculate the average), with starting temperature at 1000, final temperature at 0.05, cooling rate at 0.9, the number of iterations per temperature at only 20 and T stop rounds at20. If no further improvement is noticed, we then set the stop condition at only 20. The SA parameters values are also used in previous researches such as (Abdullah et al., 2006).
The most important advantage of SA-based over GA is in terms of the scheduler execution time. SA-based model outperforms the GA by a larger gap when running time is considered. The cost and the execution time of SA-based here prove the suitability of SA discussed in section 3. SA is often used when the search space is discrete for instance as is shown in Fig. 3.
When the opposite () model is used in SA based as heuristic technique, it speedup the algorithm. The integration between SA based algorithm and opposite () model successfully produces better results in a minimal time. It is also seen that SA based algorithm has better performance for any number of machines and jobs less than 100. When the number of machines and jobs is more than or equal 100, the GA is better than other algorithms. But, when we compare the execution time of both approaches, it is clear that SA approach is faster than GA approach as shown in Fig. 4.

CONCLUSION
In this study, SA algorithm has been developed. The proposed SA-based approach can be a competitive choice for scheduling in cloud environment. Analysis and a number of results show that this approach for job scheduling not only guarantees the QoS requirement of customer job but also ensure to make best profit of cloud providers. It has also concern about real execution time of jobs in different systems as well as deadline and penalty cost in the algorithm. For future works, we will try to evaluate the algorithms with some other QoS parameters and conduct more experiments in a more realistic environments.