QoS Based Scheduling Techniques in Cloud Computing: Systematic Review Monika, Om Prakash Sangwan, Guru Jambheshwar University of Science & Technology, Hisar, Haryana monikard31@hotmail.com, sangwan0863@gmail.com Abstract-Cloud computing is the fastest emerging technology and a novel buzzword in the field of IT domain that offer distinct services, applications and focuses on providing sustainable, reliable, scalable and virtualized resources to its consumer. The main aim of cloud computing is to enhance the use of distributed resources to achieve higher throughput and resource utilization in large-scale computation problems. Scheduling affects the efficiency of cloud and plays a significant role in cloud computing to create high performance environment. The Quality of Service (QoS) requirements of user application define the scheduling of resources. Numbers of researchers have tried to solve these scheduling problems using different QoS based scheduling techniques. In this paper, a detail analysis of resource scheduling methodology is presented, with different types of scheduling based on soft computing techniques, their comparisons, benefits and results are discussed. Major finding of this paper helps researchers to decide suitable approach for scheduling user’s applications considering their QoS requirements. Keywords: Scheduling; Soft computing; Cloud Computing; Quality of Service; Review I. INTRODUCTION With the significant growth in technology, computing has converted to a commoditized group of services and conveyed in a similar approach to traditional utilities. As a result, users access services according to their requirements without considering basic details of services i.e. where the services are hosted or how they are delivered [1]. Cloud is a dynamic service provider by the use of very large, scalable and virtualized resources pool over the internet. Cloud computing data centers allocates resources to users as per their requirements. During the allocation of resources, following situations may occur: 1) Virtual machine is overloaded and causes low performance (2) virtual machine is under loaded and causes resource underutilization (3) Different applications requires different types of resources [23]. Thus, the allocation of resources to find an optimal schedule for set of jobs is NP-Complete problem [2]. A correct scheduling of tasks depends on various factors i.e. fully analysis of applications before execution, analysis functionalities of available resources, and offer various possible scheduling configuration to help users to identify the optimal configuration to execute applications with minimum overhead. But, there is no such scheduling configuration available for all computing systems that can solve this scheduling problem in polynomial times. However, the best way to select the suitable scheduling technique can be determined by considering characteristics of the network environment, tasks, resources etc. that can work in given environment. Therefore, some of the soft computing techniques have been considered to provide near optimal solutions for these NP-Complete problems. In this paper we have discussed soft computing techniques such as Neural Network, Fuzzy Logic, Genetic Algorithms, Support Vector Machine, Bayesian Network and some of the swarm optimization algorithms i.e. Particle Swarm Optimization (PSO), Simulated Annealing (SA), BAT algorithm and Cuckoo Search Algorithm etc., to identify the major quality of service attributes that effect the performance of scheduling algorithm. We have presented the taxonomy and comprehensive review of these techniques to identify important QoS attributes considered during scheduling in cloud computing. The paper is organized as follow: Section 2 & 3 describe basic understanding, concepts of resource scheduling and QoS requirement in cloud computing. Section 4 presents the review of various soft-computing techniques based scheduling algorithms and table 1 provides the comparisons of these algorithms based on QoS attributes. In sections 5, we have discussed the International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 71 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
advantages and disadvantages of soft computing techniques and the section 6 shows detail definitions of QoS attributes. Section 7 provides the advantages of resource scheduling techniques. Sections 8 discuss about the major findings or research issues and the future work of the paper has been presented in section 9. 2. RESOURCE SCHEDULING Resource scheduling is a central concept of cloud computing and put a huge effect on overall performance of cloud service [23]. It is used to identify the suitable resources and provide these resources to customers according to their requirements. The most basic version of scheduling as follows: There are given n jobs i.e. J1, J2, ..., Jn of varying processing times, R= {r1, r2……..rm} resources with varying processing power, and there is need to find a mapping function M.F : J-> R which define the resource Rj to which job ji is assigned where 1<= j >=n, 1<= I >=m. The main objective of this mapping function is to minimize complexity, overhead and optimize various QoS attributes. The basic building structure of resource scheduling in cloud computing is shown in fig 1. Jobs are submitted to admission control unit which have complete information about resources and decides whether to accept or reject the job for reschedule according to required job resources. After acceptance of user request, jobs are scheduled to different virtual machine. This first level of scheduling mainly considers QoS demand of user and schedule them on appropriate virtual machine (VM) and the second level scheduler & migrator migrates virtual machines on different physical machines to avoid over or under utilization of resources. The quality of output depends upon the type of virtual machine allocated to task because VM with less failure rate have greater ratio of successfully executing tasks allocated to them, however, with incurs of more cost [65]. Not all users choose high quality of service to finish their work for various reasons i.e. cost of high quality service. So, providers have different varieties of service quality to satisfy all types of requirements, which is the most important practical issue of scheduling problem [16]. There are many basic schedulers available in cloud computing environment. But these schedulers cannot handle task deadlines in efficient manner, and leads to conflict. Thus, soft computing techniques has been widely used for resource scheduling in cloud computing to handle these conflicts between tasks and has been discussed in section 4 of this paper. Fig1: Resource Scheduling Flow Chart III. QUALITY OF SERVICE (QOS) Quality is a measure of excellence and one of the research issues for cloud system to deliver high QoS to user. It is of great significance to stakeholders, namely service users and providers. Low QoS may result in dissatisfaction and even investment loss Jobs VM Scheduler &Migrator Admission Control Resource Scheduler Resource Pool Scheduling Criteria International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 72 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
of service users can lead the service providers to pull out of business as it decreases the loyalty of service users. Thus, measurement of quality is an important task to know the quantitative view of quality concept. QoS management is one of the major challenges to deal in cloud applications, having the problem of allocating resources efficiently to applications. Various researchers surveyed various QoS techniques in cloud computing to find out how QoS is related with cloud computing applications and ascertain the extent to which QoS challenged has been resolved in [4-5]. In additional, Amid K. B. and Seyyed M. described [6] various QoS metrics for cloud computing services evaluations. Recent research on QoS approaches in cloud computing. provided by A. Abdelmaboud et al. [7] in order to identify most critical area to be focused in both current and future research work. Every user has its own QoS requirement so, cloud scheduler must be able to schedule the jobs in a way that cloud provider can gain maximum benefit with the QoS satisfaction of user’s job [49]. Related Surveys and Mappings Many researchers have surveyed various issues in cloud computing, and characterize the different problems that affect the efficiency of the cloud services [8-9]. They presented a brief description on the different related approaches applied on current and future scheduling challenges. But, an extensive review of various techniques to support QoS in cloud computing is still missing after substantial research. In this paper, we have done a systematic review of various approaches to cover QoS area in cloud computing. IV. RESOURCE SCHEDULING USING SOFT COMPUTING TECHNIQUES Cloud users need their job to be executed with optimal scheduling, less execution time & cost, high reliability and security. Cloud provider priority is to maximize resource utilization, load balancing etc. and to fulfill these priorities, there is a need to find solution that makes proper trade off among all these things [66]. Many soft computing techniques are available for solving such complex problems and in this paper, we have reviewed some of these techniques like, particle Swarm Optimization, Neural Network, Genetic Algorithm etc. These techniques are used to solve various QoS issues related to scheduling of resources in cloud computing environment. A. Neural Network ANN is a collection of large number of connected units of artificial neurons working in parallel to solve specific problems [10]. It acquires knowledge through learning and store it within inter neuron connection strength known as synaptic weights. ANN allocates resources according to prediction of demand Therefore, Nada M. et al. [11] used it for achieving load balancing by reducing the resource consumption, energy consumption and further carbon emission rate that is ominous need of cloud computing by using back propagation learning algorithm. F. Almeida et al. [15] used multilayer perceptron with hyperbolic tangent activation function in hidden layer and linear function in output layer to improve scheduling in cloud computing. Comparing with single ANN, the usage of multiple ANN produces better performance, took less time to reduce error and also obtained better response time compared to traditional scheduling algorithms as round robin (22%) and greedy (8%) etc. Most of the static approaches don’t consider VM workload variability during the prediction of resource demand by cloud user, which leads to under, or over provisioning of resources. ANN widely used for forecasting problems, enables it for automate elastic scaling of resources in cloud systems. So, by considering both the dynamic workload fluctuations of VM and prediction accuracy into account, M. Uma et al. [12] used ANN to achieve resource demand International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 73 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
based on resource usage statistics obtained from system static collector and dynamic resource scheduling was applied to consolidate the VM to handle variable workload without SLA violation. To improve resources utilization, Anitha N. and Anirban B. [13] used run time instrumentation with each VM to know its usage status of CPU, memory, bandwidth etc. and supplied this gathered information to feed forward neural network to know whether resource allocation needs to be increased or decreased. Whereas, R. Karthikeyan and P. Chitra [14] combined ANN with grey system for task scheduling that takes 3 significant parameter of task i.e. task length, CPU intensive and memory intensive to reduce execution time and power consumption of VM. A fuzzy neural network PID control based task manager [16] was proposed to get the best value of QoS attributes of the nonlinear and time varying system. The proposed task manger takes the feedback of the last round QoS parameters by using fuzzy max-min inference workload measurement and this feedback is provided as input to neural network. The output layer calculates the workload degree by center of gravity defuzzification. B. Fuzzy Logic To understand imprecise requirements of specific problems such as scheduling of resources or virtual machines, a fuzzy model must be constructed. Many authors [17-24] have developed different fuzzy models i.e. rules based system to solve scheduling problem and to understand user’s fuzzy demand. In order to optimize the performance and load balancing within the cloud, A. Ragmani et al. [17] used concept of global performance indicator (GPI) based on fuzzy logic theory to rank the difference between possible configuration of physical and virtual machines. To find the best value of GPI, authors considered the variations in input parameters i.e. number of virtual machines and host per datacenters, processor speed, process number, user request and data size etc. A dynamic scheduling algorithm by utilizing fuzzy logic controller is proposed by Amin M. and Seyyed M. H. [18] that fairly assign virtual machines to host by investigating the effect of waiting time slot in the queue and their precedence to reduce the completion time of jobs, as a result, produce an accurate scheduling. M. Zavvar et al. [19] utilized fuzzy metrics of cost, trust and length to provide accurate resource scheduling algorithm based on fuzzy logic to enhance the reliability of cloud computing. To minimize the task waiting time of the precedence-constrained applications [20-22] used fuzzy clustering algorithms. F. Guo et al. [20] considered the resource characteristics i.e. processing and Communication capacity, network location, number of links etc. of processing units of cloud computing and fuzzy similar matrix to form clustering, while Jian Li et al. [21] used radial basis function based fuzzy c- means clustering method to narrow the range of resources by dividing them in three categories: Compute, Storage and Transmission resources and assign these resources based on the inverse trig function to task by taking the task’s expectation using improved FIFO scheduling model . So, identifying the performance of the resources is necessary to choose the processing unit with good comprehensive performance for scheduling of task. M. S. Shinde and A. k. Kadam [22] used linear programming as an optimization technique along with fuzzy C- Means clustering technique to reduce the overall cost within user specified time and outperform FCFS scheduling algorithm. In most of the above research, the basic QoS standards such as cost, time etc. were considered, but some extended QoS standard such as system friendliness and user experience were not considered. These extended QoS standard enable system to understand system fuzzy requirements. Therefore, Z. Chen et. al. [23] emphasis on system friendliness as their main objective and based on user’s long term and continuous resource requirements, a second International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 74 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
moving average method was used for prediction and then a fuzzy control theory was adopted to schedule VM dynamically using friendly mapping between resource prediction model output and available resources. C. Genetic Algorithm (GA) Genetic algorithm provides a way of scheduling based on biological concept of population generation where initial population is the set of chromosomes or individuals that are used to represent the space of solutions and every individual in this set is called solution. The individuals which are used to generate a new population are selected according to their fitness values i.e. these individuals follow Darwinian theory [25] of “survival to the fittest”. This process is repeated until a best solution that satisfies minimum criteria is produced. The size of initial population varies according to the nature of the problem and it can be represented in different ways i.e. binary [28,32], floating point encoding, Integer [31] and permutation representation. Different researchers generated the set of initial population randomly [26,28,32] and O. Morariu et al. [26] applied this random population GA in private cloud for workload scheduling by considering the effect of primary factors on performance in a virtualized environment. P. kumar and A. Verma [27] make use of Min-Min and Max-Min algorithms to generate initial population and do not only produce better initial population than randomly generated initial population but also reduce makespan by make use of maximum amount of resources. Individual similarity is used by J. Li and C. Qu [31] to ensure the uniformity of initial population in solution space. After generation of initial generation, the fitness value of each individual is calculated according to fitness or objective function i.e. makespan [27,30-32], Cost [28-31], deadline [29] etc. are used as commonly fitness objective. In some cases, fitness function or objective function may be same, while in others it may be different dependent upon the problems. From the initial population some of the fittest individuals are selected, who will contribute their genes to their children in next generation. Selection operator helps in to improve the convergence speed of algorithm so, different methods has been explored by different researchers to optimize selection procedure i.e. roulette selection [28,30,31], collaborator selection [29], tournament selection [32], rank selection, best 65 % individuals [26] etc. After selection of individuals, crossover and mutation operations are performed on these individuals to generate some new child chromosomes. Most commonly used crossover operators are: single point [27], multipoint crossover, clustered crossover [30] etc. Y. Wang et al. [28] designed crossover by considering the relevance of individuals and helps in shorten the overall execution time of scheduling. S. Hamad and F. Omara [32] used different crossover operator, in which, two chromosomes were selected for crossover process to generate two new offspring were also considered as offspring. So, this proposed operator has four children and after that two best children are chosen from these children. Mutation takes the vales of some gene in chromosome and replaced it by other gene value to generate a new individual. Mutation operator helps in increases diversity of the main population, ability of local search and avoid local premature phenomenon. Different mutation operators like basic bit mutation operator [28,30], a non-uniform operator [31], swap mutation etc. are used in literature. With the new gene values added by mutation, the GA may be able to produce a better generation than the previous one. D. Bayesian Network Bayesian network are a type of probabilistic graphical model that represent a set of parameters and their conditional dependencies via a directed acyclic graph. It uses laws of probability for anomaly detection, decision- International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 75 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
making and time series prediction [34]. Naïve Bayesian method used by Fatemeh E. and Sayed M. B. [35] with the aims of creating load balancing scheduling by classification and selection of virtual machines. The selection of highest runtime request helps in increasing the efficiency and utilization of resources. L. Ferdouse et al. [36] proposed Bayesian network based workload scheduling, which used both task and user level scheduling, and utilize posterior probability based scheduling weights among paths by considering dependency among tasks. A dynamic scheduling algorithm was proposed by W. wang and G. zeng for evaluation of the trustworthiness of nodes using Bayesian method [37]. For the selection problem of physical hosts for deploying requested tasks and long-term load balancing effects J. Zhao et al. [38] used Bayesian network with clustering. They used probability theorem and clustering idea to pick the optimal hosts that have most remaining computing power. Deployment and scheduling mechanism of various cloud services in SaaS using stochastic models by considering different QoS attributes i.e. response time, elasticity, working efficiency of unit resources etc. is described in [39]. E. Meta-Heuristics Techniques Meta-heuristics are of higher-level and modern phenomenon in approximate search to solve complex optimization problems faced in areas like industries, engineering design, business, economics etc. Meta-Heuristic is not problem centric however, it is designed to create or search a suitable algorithm that may find near-optimal solution by using randomization to an optimization problem, especially with limited computation capacity [46]. We have discussed some of the Meat-Heuristics techniques used for scheduling in cloud computing, which are as follows: 1. PSO The PSO technique handles issue by using a population of particles where these particles move around in search space by adopting a simple formula for particle velocity and position [40]. Arrival of user’s request, the type and numbers of required VM instances are uncertain in cloud computing. So it may be possible that service provider doesn’t able to achieve the required needs while guaranteeing user’s QoS during peak demand. To handle this issue, G. Zang and X. Zuo [41] applied standard PSO to get an optimal solution to determine the priorties of tasks by sorting the dimensions of a particle in descending order. A Discrete PSO (DPSO) [42] based task-scheduling algorithm has used binary encoding to represent velocity and position of particle. The smallest position value (SPV) for position updating used by basic PSO performs poor when high variance exists between length of task and computational speed of resources. To solve the bi-objective task-scheduling problem and to remove this SPV problem, S.A Beegom and M.S. Rajasree proposed a new method of generating discrete permutation i.e. integer PSO [43] that used weighted sum approach to achieve pareto optimality, which convert a multi objective optimization problem into single objective one with weights representing preferences among objectives by decision maker and outperform SPV based PSO. F. Ramezani et al. [44] proposed a comprehensive multi objective model by considering the criteria of QoS including minimize execution time by keeping the cost low. The outcome of proposed method provides good trade-off solutions for multi-objective task scheduling problem and helps to maintain QoS optimization objective. Over the years, lots of research work has been done in resource scheduling to get efficient and prominent results in cloud computing. Majority of scheduling algorithms consider only cost, time, makespan, resource utilization etc. as their objective and compromise over other QoS attributes i.e. scalability, reliability, availability, throughput etc. because of complexity to achieve these parameters. So A.I. Awad et al. [45] International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 76 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
proposed a mathematical model for load balancing using PSO based scheduling algorithm that takes into account reliability, execution time, transmission time, availability and load balancing between tasks and virtual machines. It achieves the reliability by considering the available resource and reschedule task that fails to allocate by considering the account load of each VM. An ACO with PSO (ACOPS) method proposed by K.M. Cho et al. [46] to solve load balancing problem by scheduling randomly generated request using historical data to predict the demand of new I/P requests. To achieve results of high quality, proposed model used procedure of pre-reject to accelerate computing time and reduce solutions’ dimensions, search operator to new paths for all ants, PSO operator to improve search results and used global pheromone update operator that increase pheromone only on current best solutions. 2. Simulated Annealing (SA) The SA is a probabilistic technique used for global optimization in large search space. The cooling process of SA makes it effective to find optimal solution when dealing with large search space that have numerous local optima. At each iteration of SA algorithm, the objective function value for two solutions are compared & based on probability distribution of objective, the algorithm accepts the solution that lower the objective, while some of non-improving solutions are also accepted to escape algorithm form local optima in search of global optima [47,48]. An experiment with random initial solution [50,53,54] takes long calculation time before proceeding for optimal solution. Therefore, GA-Hint approach using opposite () function [49], SQF (shortest queue first) [51], greedy strategy using longest task priority principle [52] etc. used by different researchers to obtain the good initial solution for SA in job scheduling. To ensure QoS requirement of user job, M. Abdullah [49] used inversion move to calculate random solution and their associated cost. I.A. Moschakis and H.D. Karatza [51] evaluated the use of thermodynamic SA (TSA) in the scheduling of bag of task application with virtual machine of heterogeneous performance, where search space is consisting of different permutations of the schedule. In TSA, the cooling schedule is not static and it determined by entropy and energy difference created by state transition using the first and second laws of thermodynamics. E. Torabzadeh and M. Zandieh implemented the basic concept of cloud theory with simulated annealing (CSA) [50] to solve the scheduling problem in two stage assembly flowshop with decrement in the probability of local optima because Cloud theory escape algorithm from being stuck in local optima by preserving diversity (having stable tendency) and relating quality concepts with quality data in comparison to SA that uses hill climbing moves for local search escape from local minimum. Researchers used many different methods in combination of basic SA i.e. Boltzman probability accept function [52], Etropolis criteria [53,55], Powell algorithm [54] to achieve the fast convergence of optimal solutions and to lower possibility of miss the optimal solutions. 3. Cuckoo Search Algorithm (CSA) X. S. Yang and S. Deb proposed Cuckoo optimization algorithm in 2009 after in-depth study of parasitism of some cuckoo species that lay their eggs in nests of host birds. As cuckoos are proficient in the mimicry in pattern and colors of chosen host species eggs, it lessens the probability of eggs being abandoned and increases the probability of their reproductivity. The basic CSA has been applied in scheduling of resources by the consideration of different searching i.e. robust search [59], random search which follow a proper-law step-length distribution with a heavy tail [57,58] and next population generation mechanism i.e. levy flight [57-59] to achieve the different QoS International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 77 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
requirements of users. In the addition of above CSA algorithm, some other constraints were also considered for allocation of task to resources like the length of execution of tasks [57,59], processing power of VM [59] etc. The result of CSA in scheduling shows that the speed and coverage of CSA start increasing with low value of Pa. Various other techniques have been combined with cuckoo search by researchers to further optimize some other QoS attributes. A combination of GA and CSA used by S. Aujla and A. Ummat [60] in which first GA is used to schedule and this order of scheduling is used by CSA based scheduler to reschedule by checking information of available resources to reduce the failure ratio. To generate the best order of available resources as their initial population, all of the possible order of resources with their objective values considered by A. Moradbeiky and V. bardsiri [61] and obtained results from each order are grouped into 2 clusters by use of k-means clustering. Cluster with better orders were selected for next generation and for each outcome, new result is generated within egg laying radios using levy distribution. To handle the scheduling of tasks on heterogeneous system, M. Akbari and H. Rashidi [62] proposed a multi-objective scheduling method that use the concept of cuckoo algorithms i.e. laying and immigration. This method initially takes random schedules and in generation of new schedule, a processor and task in modifications radius limits the replacement of random processor and task. Later in immigrating stage, all schedules were immigrated towards global optimum point that helped in search of a more expanded area with no involvement in local optima. 4. BAT Algorithm (BA) Echolocation behavior of micro bats inspired Xin-she Yang to develop The BAT algorithm (BA) in 2010. Bats release sonar signals to avoid close obstacles in dark and to detect its prey by transforming sound pulses into frequency [63,64]. This basic bat algorithm is applied by different researchers to solve the multi-objective problems of workflow scheduling with the objective of maximizing reliability and minimizing execution time and it also ruled out the schedules of cost exceeds to budget constraints [65-66]. Though the basic Bat algorithm is mainly used for continuous optimization, S. Raghavan et al. [67] added some aspects of binary algorithm along with bat algorithm to handle discrete set of inputs for scheduling workflow applications in cloud. However, the update process of velocity in the binary BAT is still consistent with BA, therefore, it is not good enough for exploration and exploitation, and may get stuck to local minima. Therefore, in order to overcome this issue, X. Huang et al. [69] proposed improved binary BAT algorithm that uses neighbor bat and dynamic inertia weight strategy to carry out a more diversified search process to avoid being trapped into local minima. Generally, standard BAT algorithm exploits search space by random walks and its fast convergence is not guaranteed because of its tendency to trap in local optima. Therefore, other techniques had been combined with basic BAT algorithm to escape from local optima i.e. chaotic [68] map is used to tune BAT basic parameter using sinusoidal map to initialize pulse emission rate and iterative map for loudness frequency initialization, harmony search is also used by S. Kumar and Aramudhan [70] with BAT by applying trust model to reduce failure ratio and harmony search i.e. a music based meta-heuristics optimization algorithm helps to find optimality in optimization. Here, we have discussed more than 70 research papers of resource scheduling using soft computing techniques to identify both advantages and disadvantages of every technique used. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 78 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
V. PROS AND CONS OF SOFT COMPUTING TECHNIQUES ANN is used for complex problems, pattern classification and recognition. It learns to classify new inputs that have not seen in search space before, while GA finds best solutions within search space. ANN performs better than traditional scheduling algorithms as round robin and greedy in terms of response time and throughput [13,15]. Fuzzy Logic function is to handle impreciseness and uncertainties in the system and the simulation results showed the effectiveness of Fuzzy logic as compared to FCFS and Round Robin, Min-Min and Max-Min in terms of completion time, waiting time etc [18,19]. GA is a meta-heuristic based on genetic evolution with the feature of combinational optimization. GA [29] showed that Cooperative coevolutionary GA always found better solution and scale up well when problem size increases as compared to random GA. SA major advantage over other methods is its ability to prevent being stuck in local minima and it is mostly known for its effectiveness in finding near optimal solutions for large-scale combinatorial optimization problems. SA converges faster than GA and outperforms GA by a larger gap when running time is considered. SA has better performance when the numbers of jobs are less, while the number machines and jobs are more than 100, GA performs betters than SA [49]. The main drawback of SA is its time consuming trait. BAT has automatic zooming capacity & use parameter control to automatically switch from exploration to exploitation when optimal solution is approaching. But it converges very quickly at early stage & then convergence rate slows down & may lead to stagnation after some initial stage [66]. Ease of implementation and fast convergence is the advantages of PSO over many other optimization algorithms [42]. During scheduling task, PSO outperform GA and Min-Min in terms of deadline missing ratio, makespan, cost and load balancing [42]. PSO performance betters than GA in every other aspect. The experiment results show that PSO algorithms not only converge faster but also run faster than GA [45]. Cuckoo search and SA consume larger time and cost compared to firefly algorithms [14]. VI. QOS ATTRIBUTES To identify the important QoS attributes in resource scheduling, we have performed a details analysis of various scheduling techniques as shown in table 1. We have classified these QoS of various scheduling algorithm into two perspectives: service user and service provider. Cloud service providers are the companies which offer some services like network; infrastructures etc. to other businesses or individuals and cloud service users, use these services to accomplish their tasks by using pay-as-you-use or pricing models. The classification of scheduling QoS attributes is presented in fig 2. A. Service User Objective Attributes These are some of the essential QoS attributes that a user requires to run its application in an efficient manner. 1. Makespan It is the total time required by a group of jobs to finish its execution form beginning to end. A good scheduler always tries to reduce makespan as much as possible. It is one of the methods to measure efficiency. 2. Cost The cost of the job execution depends upon the cost of many other services i.e. computation, storage & transmission etc. A good scheduler always tries to minimize this cost. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 79 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
3. Scalability It is one of the key benefit and ability of cloud computing to continue to work, when there is change in the size of user demand or its potential to be enlarged in order to accommodate that growth. Scalability is more granular than elasticity when it comes to sizing. 4. Dead Line It defines the latest time, day or date, before some tasks must be completed. 5. Reliability It is the ability of computer hardware and software to consistently work according to the requirements. Reliability is necessary to ensure the stability of the system and it also affects the usability of services. 6. Efficiency Cloud computing is a new approach for making efficient use of computing resources and it is improved by combining various cloud applications per virtual machine or physical hosted servers. B. Service Provider Objective Attributes The following are the QoS attributes that a service provider needs to manage to satisfy the requirement of service users and to make profit. 1. Load Balancing It is key aspect of cloud computing and the process of distributed workloads, computing resources across one or more servers so that no node become overloaded while other is idle at the same time. It has impact on other QoS metrics, such as: response time, cost, throughput, load balancing etc. [71]. 2. Resource Utilization Utilization of resources affects the overall efficiency of cloud. Resource utilization differs for each task based on task requirement and it increases if the task takes up and makes use of only required resources [14]. 3. Throughput It is a measure of average amount of data that can be transferred per unit of time and provide the performance of a processor, memory or a network. 4. Energy Cloud is energy efficient because of economies of scale, diversity and aggregation. It is not only determined by hardware efficiency but also affected by other factors i.e. resource management system, efficiency of system etc. 5. Fault Tolerant It is the ability of infrastructure to continue providing services even after the failure of some of its components. The system will not run with fill of its efficiency but it will run at a reasonable level. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 80 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
Fig 2: Distribution of QoS Attributes 6. Availability High Availability is the ultimate goal of cloud computing. Availability allows users to access services according “pay as you go” policy without concern about location. It refers to the ability of user to access information, services and tools anywhere and anytime. VII. ADVANTAGES OF RESOURCE SCHEDULING We have identified number of advantages of resource scheduling from above literature, some of the important are: 1. Use of underutilized server by multiple VM increases the resource utilization rate [11]. 2. The efficient strategy handles criteria’s i.e. less resource shuttering and conflicting, over provisioning and under provisioning etc. 3. Performance of VM helps scheduler to assign new tasks to suitable machines. 4. Average success rate improve the efficiency of scheduling between conflict resource demands [24]. 5. Virtualization helps to improve resource availability, reduce complexity and avoids infrastructure- associated risks. 7. Its scalability, flexibility helps users to handle dynamic requirements of users. 8. Efficient cloud resource allocation and scheduling reduces waiting time of tasks in workload queue. 9. Minimum chances of scheduling delay and resource failure due to efficient allocation of resources. 10. Efficient scheduling reduces energy consumption without violation of SLA. 11. Scheduling decisions finished in shortest time is useful for competence between resource and time [16]. VIII. CHALLENGES IN RESOURCE SCHEDULING We also come across various problems and challenges still faced by researcher in resource scheduling environment and these challenges are briefly described in table 2. This survey can help user to identify current trends and techniques used in cloud environment effortlessly. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 81 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
TABLE 2: CHALLENGE/OPEN ISSUES IN EXISTING RESOURCE SCHEDULING TECHNIQUES Techniques References Description Challenge/Open Issues Neural Network [11] Proposed a framework for equally distribution of workload using back propagation learning algorithm to train forward ANN to handle energy consumption. Extensive use and growing demand of cloud network harshly increasing the energy consumption of data centers thus increasing cost and carbon emission. [12] Proposed a neural based prediction strategy to handle elastic resource scaling by considering dynamic workload fluctuations and prediction. How to handle resources on the virtual machines for management of variable load without SLA violation? [13] Discussed a dynamic resource allocation using application current status, transactions per second and parameters for resource usage to decide the number of resource needed. It is difficult for this process to describe that in which order the processes must run to get a proper benchmark of utilization of resources. [14] Developed a framework by considering some significant factors such as task length, CPU and memory intensive to reduce the execution time and energy consumption. How to handle the time delay caused by switching off and on of resources with efficient energy consumption for fluctuating demand of resources? Fuzzy Logic [17] To find the suitable matching of VM and servers, it used fuzzy logic to calculate global performance indicators using KPI, i.e. response time, processing time and cost. How to use this approach to assess the KPI in multi criteria decision problems? [20] A framework with 3 phases: i) resource clustering phase ii) task prioritizing phase iii) processor allocation phase to minimize the schedule length. Addition of an effective security mechanism in scheduling of workflow task. [21] It used fuzzy c-means clustering to reduce the requirement of resources and execution time of the tasks. What can be the effects if resource homogeneity further increased? Genetic Algorithm [29] Proposed an scalable algorithm using cooperative coevolution GA for deadline- constrained problem. What can be the alternative collaborator selection and credit assignment methods to improve the performance? [30] Presented a genetic based approach that provides users with various scheduling configuration and helps user to select optimal configuration. Effects of fluctuations in the hiring cost of virtual machines. [27] Proposed improved GA based framework by considering makespan as fitness criteria. Scheduling of tasks as multi criteria decision problem. PSO [42] Used PSO to optimize the objectives including cost, makespan, deadline missing ratio, load balance and maximize the profit of cloud. How to improve the reliability in the cloud system? [44] Implemented a multi objective PSO to find a good tradeoff between scheduling time and cost. Effects by considering task priorities, types and dependencies in this scheduling approach. [45] Presented a load balancing PSO to increase the reliability by reschedule the failure tasks to available machines by considering load of each VM. How to extend it to handle the failure to schedule of jobs to virtual machines? [46] Used PSO + ACO for VM scheduling that uses log information to predict the workload of new coming requests without additional information. How to upgrade it to further decrease the rate of rejection during increasing size of data set? Simulated Annealing [49] Developed a SA based approach that concerns about execution cost, deadline, penalty cost in different systems. Evaluation of the algorithm with other QoS parameters. [50] Used cloud based theory simulated annealing process to minimize weighted sum of makespan, mean completion time as their objectives. Execute this process with some other objectives i.e. makespan, lateness, deadline, profit etc. [51] Proposed a thermodynamics SA based framework that optimize cost and performance into heterogeneous environment. How to achieve inter cloud level seeking for fair spread of parallel between clouds. Cuckoo Search [58] Describe use of cuckoo search to minimize total time and cost of execution. What is the best way to rank the tasks of a workflow? [62] Described a multi objective algorithm based on cuckoo optimization algorithm to optimize execution time, cost etc. Best way to generate initial population in cuckoo search and other meta heuristics algorithm. BAT algorithm [68] Proposed a framework based on BAT with the help of chaos theory to optimize the makespan and energy consumption. How chaotic maps help to improve the performance of the scheduling algorithm? International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 82 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
TABLE 1: QOS ATTRIBUTES IN DIFFERENT RESOURCE SCHEDULING TECHNIQUES Referenc e QoS Attributes Time Cost Load Balancing Resource Utilization Fault Tolerance Throughput Energy Scalability Dead line User Satisfaction Reliability Efficiency Availability [11]  - -      - - - - - [12] - - -  - - - - - - - - - [13]  - -  - - - - - - - - - [14]  - -  - -  - - - - - - [15]  - -  -  - - - - - - - [16]     - - - - -  - - - [17]    -  - - - - - - - - [18]  - - - - - - - - - - - - [19]   - - - - - - - -  - - [20]  - - - - - - - - - -  - [21]  - -  - - - - - - - - - [22]   - - - - - - - - - - - [23]   -  - - - - - - -   [24]  - -  - -   [26]  - - - - - - - - - - - - [27]  - -  - - - - - - - - - [28]   - - - -  - - - - - - [29]   - - - - -   - -  - [30]   -  - - - - - - - - - [31]   - - - - - - - - - - - [32]   -  -  - - - - -  - [33]   -  - -  - - - - - - [35]  -   - - - - - - -  - [36]  - - - - - - - - - - - - [37]  - - -  - - - - -  - - [38]  -  - -  - - - - - - - [39]  -   - - -  - - -  - International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 83 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
Referenc e Time Cost Load Balancing Resource Utilization Fault Tolerance Throughput Energy Scalability Dead Line User Satisfaction Reliability Efficiency Availability [41]   - - - - - -  - - - - [42]     - - - -  - - - - [43]   - - - - - - -  - - - [44]   - - - - - - - - - - - [45]    - - - - - - -  -  [46]     - - - - - - - - - [49]   - - - - - -  - - - - [50]  - - - - - - - - - - - - [51]   -  - - - - - - - - - [52]  - -  - - - - - - - - - [53]    - - - - - - - -  - [54]  -  - - - - - - -   - [55] - -   - -   - - - - - [73]    - - - - - - - - - - [57]  - - - - - - - - - - - - [58]   -  - - - -  - - - - [59]  - - - - - - - - - - - - [60]  - -   -  - - - - - - [61]  -  - - - - - -  - - - [62]   - - - - - - - - - - - [65]   - - - - - - - -  - - [66]  -   - - -  - - - - - [67]   - - - - - - - - -  - [68]  - - - - -  - - - - - - [69]  - -   - - - - - - - - [72]  - - - - - - - - - - - - International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 84 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
IX. CONCLUSION AND FUTURE SCOPE Resource scheduling has been widely used in cloud computing in order to improve the efficiency of resource utilization and to increase task performance. Various kind of scheduling algorithms have been used by various researchers, were discussed systematically in this paper. It was found that soft computing techniques namely Neural Network, Fuzzy Logic, Genetic Algorithm, Bayesian Network and meta heuristics techniques are widely used by researchers for resource scheduling based on different QoS attributes. In this paper, we have done comparison of existing algorithms based on major QoS parameters like Time, Cost, Resource Utilization, Efficiency, Energy etc. Advantages and challenges of existing resource scheduling techniques were also discussed in this paper and found that there is no single technique exists that provide a better scheduling in cloud environment. It is concluded that the performance of cloud computing environment is not only dependent on resource scheduling techniques but also depend upon QoS attributes. A. Future Scope 1. Need to develop energy efficient solutions to address high-energy consumption problem from the viewpoint of environment and cloud provider [21]. 2. Scaling techniques are required to determine the required number of servers [22]. 3. Develop a resource allocation mechanism to handle resource allocation in collaborative cloud computing [23]. 4. How to increase the friendliness of system to handle imprecise demand of user [35]? 5. Find a practical schedule to meet the constraints of multi-objectives scheduling problems is a challenging task [59]. 6. Applying proposed algorithms in real cloud computing environment [62]. 7. In spite of exponential growth of cloud computing there remain several gaps in the growth of cloud model [1]. 8. Time and cost are conflicting parameters that need to be balanced and optimized [21]. 9. In case of multi-objective problem, we can’t get single best solution, so we have pareto set of solution representing trade-off front among multiple considered objectives [24]. 10. QoS based resource scheduling is still an issue. We hope that this research work will be beneficial for researchers who want to work in the field of scheduling in cloud computing environment. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 85 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
REFERENCES [1] R. Buyya and S. Vazhkudai, “Compute Power Market: Towards a Market-Oriented Grid,” ACM International Symposium on Cluster Computing and the Grid, pp. 574–581, 2001. [2] J. D. Ullman, “NP-Complete Scheduling Problems,” Journal of Computer and System Sciences, vol. 10, no. 3, pp. 384–393, Jun. 1975. [3] Kshirasagar Naik, Priyadarshi Tripathy, “Software Testing and Quality Assurance: Theory and Practice,” Wiley Publication, pp. 648, 2008. [4] H. Akpan, Akpan, B. Rebeccajeya, and Vadhanam, “A Survey on Quality of Service in Cloud Computing,” International Journal of Computer Technology and Trends, vol. 27, pp. 58–63, Oct. 2015. [5] Hashem H. Ramadan, Dr. Divya Kashyap, “Quality of Service (qos) in Cloud Computing”, International Journal of Computer Science and Information Technologies, Vol. 8 (3), 2017, 318-320. [6] Amid Khatibi Bardsiri, Seyyed Mohsen Hashemi, “QoS Metrics for Cloud Computing Services Evaluation”, International Journal of Intelligent Systems and Applications, 2014, vol 12. Pp 27-33. [7] A. Abdelmaboud, D. N. A. Jawawi, I. Ghani, A. Elsafi, and B. Kitchenham, “Quality of Service Approaches in Cloud Computing: A Systematic Mapping Study,” Journal of Systems and Software, vol. 101, no. Supplement C, pp. 159–179, Mar. 2015. [8] P. Singh, M. Dutta, and N. Aggarwal, “A Review of Task Scheduling Based on Meta-heuristics Approach in Cloud Computing,” Knowledge and Information System, vol. 52, no. 1, pp. 1–51, Jul. 2017. [9] S. Singh and I. Chana, “A Survey on Resource Scheduling in Cloud Computing: Issues and Challenges,” Journal of Grid Computing, vol. 14, no. 2, pp. 217–264, Jun. 2016. [10] W. S. McCulloch and W. Pitts, “The Statistical Organization of Nervous Activity,” International Biometric Society, vol. 4, no. 2, pp. 91–99, 1948. [11] Nada M. Al Sallami, Jordan Ali Al daoud, Sarmad A. Al Alous, “Load Balancing with Neural Network”, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 4, No. 10, 2013, pp. 138-145. [12] M. Uma, Partha Sarathi Chakraborty, “Neural Network Prediction Based Dynamic Resource Scheduling for Cloud System”, International Journal on Recent and Innovation Trends in Computing and Communication’ Vol. 4, Issue 3, pp. 474-477, 2016. [13] Anitha N, Anirban Basu, “Neural Network Based Resource Allocation Using Run Time Instrumentation with Virtual Machine Migration in Cloud Computing”, International Journal of Emerging Science and Engineering (IJESE), Volume-3 Issue-3, January 2015, pp 27-29. [14] R. Karthikeyan, P. Chitra, “Novel Power Reduction Framework for Enhancing Cloud Computing by Integrated Gsnn Scheduling Method”, Cluster Computing, Vol. 20, Issue 78, 2017, pp 1-12. [15] F. F. d Almeida, A. d A. Neto, and M. M. Teixeira, “Resource Scheduling in Web Servers in Cloud Computing using Multiple Artificial Neural Networks,” in 2015 Fourteenth Mexican International Conference on Artificial Intelligence (MICAI), 2015, pp. 188–193. [16] Xiaoqi Xing, Bin Liu and Dongyi Ling,” Neural Network pid Control Based Scheduling Mechanism for Cloud Computing”, Applied Mathematics & Information Sciences, Vol. 9, Issue 2. 2015, pp. 789-796. [17] A. Ragmani, A. El Omri, N. Abghour, K. Moussaid, and M. Rida, “An Improved Scheduling Strategy in Cloud Computing using Fuzzy Logic,” in Proceedings of the International Conference on Big Data and Advanced Wireless Technologies, New York, NY, USA, 2016, p. 22:1–22:9. [18] Amin Mehranzadeh, Seyyed Mohsen Hashemi, “A Novel-Scheduling Algorithm for Cloud Computing Based on Fuzzy Logic”, International Journal of Applied Information System, Vol. 5, Issue 7, 2013, pp 28-31. [19] M. Zavvar, M. Rezaei, S. Garavand, and F. Ramezani, “Fuzzy Logic-Based Algorithm Resource Scheduling for Improving the Reliability of Cloud Computing,” Asia-Pacific Journal of Information Technology and Multimedia, vol. 5, no. 1, pp. 39–48, Jun. 2016. [20] F. Guo, L. Yu, S. Tian, and J. Yu, “A Workflow Task Scheduling Algorithm Based on the Resources’ fuzzy Clustering in Cloud Computing Environment,” International. Journal of Communication System, vol. 28, no. 6, pp. 1053–1067, Apr. 2015. [21] Jian Li, Tinghuai Ma, Meili Tang, Wenhai Shen 3 and Yuanfeng Jin, “Improved FIFO Scheduling Algorithm Based on Fuzzy Clustering in Cloud Computing”, Information (MPDI), Vol. 8, issue 1, 2017. doi:10.3390/info8010025. [22] Mahesh S. Shinde1, Anil kumar Kadam, “Cloud Based Task Scheduling using Fuzzy C-Means and Linear Programming Approach”, International Journal of Science and Research (IJSR), Vol. 4, Issue 7, july 2015, PP 2081-2085. [23] Zhijia Chen, Yuanchang Zhu, Yanqiang Di, and Shaochong Feng, “A Dynamic Resource Scheduling Method Based on Fuzzy Control Theory in Cloud Environment,” Journal of Control Science and Engineering, vol. 2015, Article ID 383209, 10 pages, 2015. doi:10.1155/2015/383209 [24] P. V and C. Nelson Kennedy Babu, “Moving Average Fuzzy Resource Scheduling for Virtualized Cloud Data Services,” Computer Standards & Interfaces, vol. 50, no. Supplement C, pp. 251–257, Feb. 2017. [25] D. B. Paul, “The Selection of the ‘Survival of the Fittest,’” Journal of the History of Biology, vol. 21, no. 3, pp. 411–424, 1988. [26] O. Morariu, C. Morariu, and T. Borangiu, “A Genetic Algorithm for Workload Scheduling in Cloud Based E-Learning,” 2Nd International Workshop on Cloud Computing Platforms, New York, NY, USA, 2012, p. 5:1–5:6. [27] P. Kumar and A. Verma, “Scheduling Using Improved Genetic Algorithm in Cloud Computing for Independent Tasks,” International Conference on Advances in Computing, Communications and Informatics, New York, NY, USA, 2012, pp. 137–142. [28] Y. Wang, J. Wang, C. Wang, and X. Song, “Resource Scheduling of Cloud with QoS Constraints,” in Advances in Neural Networks – ISNN 2013, 2013, pp. 351–358. [29] L. Ai, M. Tang, and C. Fidge, “Resource Allocation and Scheduling of Multiple Composite Web Services in Cloud Computing Using Cooperative Coevolution Genetic Algorithm,” Lecture Notes in Computer Science, vol. 7063, pp. 258–267, Nov. 2011. [30] I. Casas, J. Taheri, R. Ranjan, L. Wang, and A. Y. Zomaya, “GA-ETI: An Enhanced Genetic Algorithm for the Scheduling of Scientific Workflows in Cloud Environments,” Journal of Computational Science, Sep. 2016. [31] J. W. Li and C.-W. Qu, “Cloud Computing Task Scheduling Based on Cultural Genetic Algorithm,” MATEC Web of Conferences, vol. 40, pp. 9008-p.2-p.5. [32] Safwat A. Hamad, Fatma A. Omara, “Genetic-Based Task Scheduling Algorithm in Cloud Computing Environment”, International Journal of Advanced Computer Science and Applications, Vol. 7, No. 4, 2016, pp. 550-556. [33] M. Mezmaz et al., “A Parallel Bi-Objective Hybrid Metaheuristic for Energy-aware Scheduling for Cloud Computing Systems,” Journal of Parallel and Distributed Computing, vol. 71, no. 11, pp. 1497–1508, Nov. 2011. [34] D. Heckerman, A. Mamdani, and M. P. Wellman, “Real-World Applications of Bayesian Networks,” Communications of the ACM, vol. 38, no. 3, pp. 24–26, Mar. 1995. [35] Fatemeh Ebadifard, Seyed Morteza Babamir, “Dynamic Task Scheduling in Cloud Computing Based on Naïve Bayesian Classifier”, pp. 91- 95, 2017. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 86 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
[36] L. Ferdouse, M. Li, L. Guan, and A. Anpalagan, “Bayesian Workload Scheduling in Multimedia Cloud Networks,” in 2016 IEEE 21st International Workshop on Computer Aided Modelling and Design of Communication Links and Networks (CAMAD), 2016, pp. 83–88. [37] W. Wang and G. Zeng, “Bayesian Cognitive Model in Scheduling Algorithm for Data Intensive Computing,” Journal of Grid Computing, vol. 10, no. 1, pp. 173–184, Mar. 2012. [38] J. Zhao, K. Yang, X. Wei, Y. Ding, L. Hu, and G. Xu, “A Heuristic Clustering-Based Task Deployment Approach for Load Balancing Using Bayes Theorem in Cloud Environment,” IEEE Transactions on Parallel and Distributed Systems, vol. 27, no. 2, pp. 305–316, Feb. 2016. [39] H. Yang, L. Yang, and F. Lv, “Cloud Computing System Scheduling Model Based on Bayesian Network,” 5th International Conference on Information Engineering for Mechanics and Materials, pp. 1122-1126, 2015. [40] J. Kennedy and R. Eberhart, “Particle Swarm Optimization,” IEEE International Conference on Neural Networks, vol. 4, pp. 1942–1948, 1995. [41] G. Zhang and X. Zuo, “Deadline Constrained Task Scheduling Based on Standard-PSO in a Hybrid Cloud,” in Advances in Swarm Intelligence, 2013, pp. 200–209. [42] H. Chen and W. Guo, “Real-Time Task Scheduling Algorithm for Cloud Computing Based on Particle Swarm Optimization,” in Cloud Computing and Big Data, 2015, pp. 141–152. [43] A. S. A. Beegom and M. S. Rajasree, “A Particle Swarm Optimization Based Pareto Optimal Task Scheduling in Cloud Computing,” in Advances in Swarm Intelligence, 2014, pp. 79–86. [44] F. Ramezani, J. Lu, and F. Hussain, “Task Scheduling Optimization in Cloud Computing Applying Multi-Objective Particle Swarm Optimization,” in Service-Oriented Computing, 2013, pp. 237–251. [45] A. I. Awad, N. A. El-Hefnawy, and H. M. Abdel_kader, “Enhanced Particle Swarm Optimization for Task Scheduling in Cloud Computing Environments,” Procedia Computer Science, vol. 65, no. Supplement C, pp. 920–929, Jan. 2015. [46] K. M. Cho, P. W. Tsai, C.-W. Tsai, and C.-S. Yang, “A Hybrid Meta-Heuristic Algorithm for VM Scheduling with Load Balancing in Cloud Computing,” Neural Comput & Applic, vol. 26, no. 6, pp. 1297–1309, Aug. 2015. [47] Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1979). "Statistical-Thermodynamic Approach to Determination of Structure Amplitude Phases". Sov.Phys. Crystallography. 24 (5): 519–524. [48] A. Khachaturyan, S. Semenovsovskaya, and B. Vainshtein, “The Thermodynamic Approach to the Structure Analysis of Crystals,” Acta Crystallogr, vol. 37, no. 5, pp. 742–754, Sep. 1981. [49] M. Abdullah, M. Othman, M. Abdullah, and M. Othman, “Simulated Annealing Approach to Cost-Based Multi- Quality of Service Job Scheduling in Cloud Computing Enviroment,” American Journal of Applied Sciences, vol. 11, no. 6, pp. 872–877, Mar. 2014. [50] E. Torabzadeh and M. Zandieh, “Cloud Theory Based Simulated Annealing Approach for Scheduling in the Two Stage Assembly Flowshop,” Advances in Engineering Software, vol. 41, no. 10, pp. 1238–1243, Oct. 2010. [51] I. A. Moschakis and H. D. Karatza, “Multi-Criteria Scheduling of Bag-of-Tasks Applications on Heterogeneous Interlinked Clouds with Simulated Annealing,” Journal of Systems and Software, vol. 101, no. Supplement C, pp. 1–14, Mar. 2015. [52] Xi Liu and Jun Liu,” A task Scheduling Based on Simulated Annealing Algorithm in Cloud Computing”, International Journal of Hybrid Information Technology, vol. 9, Issue 6, pp. 403-412, 2016 [53] Chengfeng Jian, Yekun Wang, Meng Tao and Meiyu Zhang,” Time-Constrained Workflow Scheduling in Cloud Environment Using Simulation Annealing Algorithm”, Journal of Engineering Science and Technology Review, Vol. 6, Issue-5, 2013, pp. 33-37 [54] X. F. Deng, “A Dynamic Task Scheduling Strategy Based on mvfsa in Cloud Computing Environment,” Applied Mechanics and Materials, vol. 427–429, pp. 2596–2599, 2013. [55] X. Xu, L. Cao, X. Wang, X. Xu, L. Cao, and X. Wang, “Resource Pre-Allocation Algorithms for Low Energy Task Scheduling of Cloud Computing,” Journal of Systems Engineering and Electronics, vol. 27, no. 2, pp. 457–469, Apr. 2016. [56] X. S. Yang and S. Deb, “Cuckoo Search via Levy Flights,” World Congress on Nature Biologically Inspired Computing (NaBIC), 2009, pp. 210–214. [57] Nima Jafari Navimipour and Farnaz Sharifi Milani, “Task Scheduling in the Cloud Computing Based on the Cuckoo Search Algorithm”, International Journal of Modeling and Optimization, Vol. 5, No. 1, 2015, pp. 44-47. [58] H. Singh and R. Randhawa, “Cuckoo Search Based Workflow Scheduling on Heterogeneous Cloud Resources,” in 2017 7th International Conference on Cloud Computing, Data Science Engineering - Confluence, 2017, pp. 65–70. [59] M. Agarwal and G. M. S. Srivastava, “A Cuckoo Search Algorithm-Based Task Scheduling in Cloud Computing,” Advances in Computer and Computational Sciences, Springer, Singapore, 2018, pp. 293–299. [60] Sumandeep Aujla, Amandeep Ummat, “Task Scheduling in Cloud using Hybrid Cuckoo Algorithm”, International Journal of Computer Networks and Applications (IJCNA), Vol. 2, Issue 3, 2015, pp. 144-150. [61] Afrooz moradbeiky, Vahid Khatibi Bardsiri, “A Novel Task Scheduling Method in Cloud Environment Using Cuckoo Optimization Algorithm”, International Journal of Cloud –Computing and Super-Computing, Vol. 2, Issue 2, 2015, pp. 7-22. [62] M. Akbari and H. Rashidi, “A Multi-Objectives Scheduling Algorithm Based on Cuckoo Optimization for Task Allocation Problem at Compile Time in Heterogeneous Systems,” Expert Systems with Applications, vol. 60, no. Supplement C, pp. 234–248, Oct. 2016. [63] X.-S. Yang, A New Metaheuristic Bat-Inspired Algorithm, in: Nature Inspired Cooperative Strategies for Optimization (NISCO 2010) (Eds. J. R. Gonzalez et al.), Studies in Computational Intelligence, Springer Berlin, 284, Springer, 65-74 (2010). [64] T. L. Best, “Altringham, J. D. 1996. Bats: Biology and Behaviour. Oxford University Press, Inc., New York, 262 pp. ISBN 0-19-854075-2, price (hardcover), $65.00,” J Mammal, vol. 78, no. 3, pp. 986–987, Aug. 1997. [65] Navneet Kaura, Sarbjeet Singh, “A Budget-Constrained Time and Reliability Optimization BAT Algorithm for Scheduling Workflow Applications in Clouds”, 7th International Conference on Emerging Ubiquitous Systems and Pervasive Networks”, Procedia 98, pp. 199- 204. [66] T Sunitha Rani, Dr. Shyamala Kannan, “Task Scheduling on Virtual Machines Using BAT Strategy for Efficient Utilization of Resources in Cloud Environment”, International Journal of Applied Engineering Research, Vol. 12, Issue 17, pp. 6663-6669, 2017 [67] S. Raghavan, P. Sarwesh, C. Marimuthu, and K. Chandrasekaran, “BAT Algorithm for Scheduling Workflow Applications in Cloud,” 2015 International Conference on Electronic Design, Computer Networks Automated Verification (EDCAV), 2015, pp. 139–144. [68] Fereshteh Ershad Farkar, Ali Asghar Pourhaji Kazem, “Bi-Objective Task Scheduling in Cloud Computing Using Chaotic BAT Algorithm”, International Journal of Advanced Computer Science and Applications, Vol. 8, No. 10, pp. 223-229, 2017. [69] X. Huang, X. Zeng, and R. Han, “Dynamic Inertia Weight Binary BAT Algorithm with Neighborhood Search,” Computational Intelligence and Neuroscience, Vol. 2017, pp.1-15,2017, doi:10.1155/2017/3235720 International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 87 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
[70] V Suresh Kumar, Aramudhan, “Trust Based Resource Selection in Cloud Computing using Hybrid Algorithm”, International Journal of Computational Intelligence and Informatics, Vol. 4: No. 3, pp. 169-176, 2014. [71] E. Jafarnejad Ghomi, A. Masoud Rahmani, and N. Nasih Qader, “Load-Balancing Algorithms in Cloud Computing: A Survey,” Journal of Network and Computer Applications, vol. 88, no. Supplement C, pp. 50–71, Jun. 2017. [72] B. Raj, P. Ranjan, N. Rizvi, P. Pranav and S. Paul, “Improvised BAT Algorithm for Load Balancing Based Task Scheduling,” Advances in Intelligent System and Computing, vol. 518, pp. 521-530, 2018. [73] A. M. Manasarh and H. Ali, “workflow Scheduling Using hybrid GA-PSO in Cloud Computing,” Wireless Communications and Mobile Computing, vol. 2018, pp. 1-16, 2018. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 88 https://sites.google.com/site/ijcsis/ ISSN 1947-5500

QoS Based Scheduling Techniques in Cloud Computing: Systematic Review

  • 1.
    QoS Based SchedulingTechniques in Cloud Computing: Systematic Review Monika, Om Prakash Sangwan, Guru Jambheshwar University of Science & Technology, Hisar, Haryana monikard31@hotmail.com, sangwan0863@gmail.com Abstract-Cloud computing is the fastest emerging technology and a novel buzzword in the field of IT domain that offer distinct services, applications and focuses on providing sustainable, reliable, scalable and virtualized resources to its consumer. The main aim of cloud computing is to enhance the use of distributed resources to achieve higher throughput and resource utilization in large-scale computation problems. Scheduling affects the efficiency of cloud and plays a significant role in cloud computing to create high performance environment. The Quality of Service (QoS) requirements of user application define the scheduling of resources. Numbers of researchers have tried to solve these scheduling problems using different QoS based scheduling techniques. In this paper, a detail analysis of resource scheduling methodology is presented, with different types of scheduling based on soft computing techniques, their comparisons, benefits and results are discussed. Major finding of this paper helps researchers to decide suitable approach for scheduling user’s applications considering their QoS requirements. Keywords: Scheduling; Soft computing; Cloud Computing; Quality of Service; Review I. INTRODUCTION With the significant growth in technology, computing has converted to a commoditized group of services and conveyed in a similar approach to traditional utilities. As a result, users access services according to their requirements without considering basic details of services i.e. where the services are hosted or how they are delivered [1]. Cloud is a dynamic service provider by the use of very large, scalable and virtualized resources pool over the internet. Cloud computing data centers allocates resources to users as per their requirements. During the allocation of resources, following situations may occur: 1) Virtual machine is overloaded and causes low performance (2) virtual machine is under loaded and causes resource underutilization (3) Different applications requires different types of resources [23]. Thus, the allocation of resources to find an optimal schedule for set of jobs is NP-Complete problem [2]. A correct scheduling of tasks depends on various factors i.e. fully analysis of applications before execution, analysis functionalities of available resources, and offer various possible scheduling configuration to help users to identify the optimal configuration to execute applications with minimum overhead. But, there is no such scheduling configuration available for all computing systems that can solve this scheduling problem in polynomial times. However, the best way to select the suitable scheduling technique can be determined by considering characteristics of the network environment, tasks, resources etc. that can work in given environment. Therefore, some of the soft computing techniques have been considered to provide near optimal solutions for these NP-Complete problems. In this paper we have discussed soft computing techniques such as Neural Network, Fuzzy Logic, Genetic Algorithms, Support Vector Machine, Bayesian Network and some of the swarm optimization algorithms i.e. Particle Swarm Optimization (PSO), Simulated Annealing (SA), BAT algorithm and Cuckoo Search Algorithm etc., to identify the major quality of service attributes that effect the performance of scheduling algorithm. We have presented the taxonomy and comprehensive review of these techniques to identify important QoS attributes considered during scheduling in cloud computing. The paper is organized as follow: Section 2 & 3 describe basic understanding, concepts of resource scheduling and QoS requirement in cloud computing. Section 4 presents the review of various soft-computing techniques based scheduling algorithms and table 1 provides the comparisons of these algorithms based on QoS attributes. In sections 5, we have discussed the International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 71 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 2.
    advantages and disadvantagesof soft computing techniques and the section 6 shows detail definitions of QoS attributes. Section 7 provides the advantages of resource scheduling techniques. Sections 8 discuss about the major findings or research issues and the future work of the paper has been presented in section 9. 2. RESOURCE SCHEDULING Resource scheduling is a central concept of cloud computing and put a huge effect on overall performance of cloud service [23]. It is used to identify the suitable resources and provide these resources to customers according to their requirements. The most basic version of scheduling as follows: There are given n jobs i.e. J1, J2, ..., Jn of varying processing times, R= {r1, r2……..rm} resources with varying processing power, and there is need to find a mapping function M.F : J-> R which define the resource Rj to which job ji is assigned where 1<= j >=n, 1<= I >=m. The main objective of this mapping function is to minimize complexity, overhead and optimize various QoS attributes. The basic building structure of resource scheduling in cloud computing is shown in fig 1. Jobs are submitted to admission control unit which have complete information about resources and decides whether to accept or reject the job for reschedule according to required job resources. After acceptance of user request, jobs are scheduled to different virtual machine. This first level of scheduling mainly considers QoS demand of user and schedule them on appropriate virtual machine (VM) and the second level scheduler & migrator migrates virtual machines on different physical machines to avoid over or under utilization of resources. The quality of output depends upon the type of virtual machine allocated to task because VM with less failure rate have greater ratio of successfully executing tasks allocated to them, however, with incurs of more cost [65]. Not all users choose high quality of service to finish their work for various reasons i.e. cost of high quality service. So, providers have different varieties of service quality to satisfy all types of requirements, which is the most important practical issue of scheduling problem [16]. There are many basic schedulers available in cloud computing environment. But these schedulers cannot handle task deadlines in efficient manner, and leads to conflict. Thus, soft computing techniques has been widely used for resource scheduling in cloud computing to handle these conflicts between tasks and has been discussed in section 4 of this paper. Fig1: Resource Scheduling Flow Chart III. QUALITY OF SERVICE (QOS) Quality is a measure of excellence and one of the research issues for cloud system to deliver high QoS to user. It is of great significance to stakeholders, namely service users and providers. Low QoS may result in dissatisfaction and even investment loss Jobs VM Scheduler &Migrator Admission Control Resource Scheduler Resource Pool Scheduling Criteria International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 72 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 3.
    of service userscan lead the service providers to pull out of business as it decreases the loyalty of service users. Thus, measurement of quality is an important task to know the quantitative view of quality concept. QoS management is one of the major challenges to deal in cloud applications, having the problem of allocating resources efficiently to applications. Various researchers surveyed various QoS techniques in cloud computing to find out how QoS is related with cloud computing applications and ascertain the extent to which QoS challenged has been resolved in [4-5]. In additional, Amid K. B. and Seyyed M. described [6] various QoS metrics for cloud computing services evaluations. Recent research on QoS approaches in cloud computing. provided by A. Abdelmaboud et al. [7] in order to identify most critical area to be focused in both current and future research work. Every user has its own QoS requirement so, cloud scheduler must be able to schedule the jobs in a way that cloud provider can gain maximum benefit with the QoS satisfaction of user’s job [49]. Related Surveys and Mappings Many researchers have surveyed various issues in cloud computing, and characterize the different problems that affect the efficiency of the cloud services [8-9]. They presented a brief description on the different related approaches applied on current and future scheduling challenges. But, an extensive review of various techniques to support QoS in cloud computing is still missing after substantial research. In this paper, we have done a systematic review of various approaches to cover QoS area in cloud computing. IV. RESOURCE SCHEDULING USING SOFT COMPUTING TECHNIQUES Cloud users need their job to be executed with optimal scheduling, less execution time & cost, high reliability and security. Cloud provider priority is to maximize resource utilization, load balancing etc. and to fulfill these priorities, there is a need to find solution that makes proper trade off among all these things [66]. Many soft computing techniques are available for solving such complex problems and in this paper, we have reviewed some of these techniques like, particle Swarm Optimization, Neural Network, Genetic Algorithm etc. These techniques are used to solve various QoS issues related to scheduling of resources in cloud computing environment. A. Neural Network ANN is a collection of large number of connected units of artificial neurons working in parallel to solve specific problems [10]. It acquires knowledge through learning and store it within inter neuron connection strength known as synaptic weights. ANN allocates resources according to prediction of demand Therefore, Nada M. et al. [11] used it for achieving load balancing by reducing the resource consumption, energy consumption and further carbon emission rate that is ominous need of cloud computing by using back propagation learning algorithm. F. Almeida et al. [15] used multilayer perceptron with hyperbolic tangent activation function in hidden layer and linear function in output layer to improve scheduling in cloud computing. Comparing with single ANN, the usage of multiple ANN produces better performance, took less time to reduce error and also obtained better response time compared to traditional scheduling algorithms as round robin (22%) and greedy (8%) etc. Most of the static approaches don’t consider VM workload variability during the prediction of resource demand by cloud user, which leads to under, or over provisioning of resources. ANN widely used for forecasting problems, enables it for automate elastic scaling of resources in cloud systems. So, by considering both the dynamic workload fluctuations of VM and prediction accuracy into account, M. Uma et al. [12] used ANN to achieve resource demand International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 73 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 4.
    based on resourceusage statistics obtained from system static collector and dynamic resource scheduling was applied to consolidate the VM to handle variable workload without SLA violation. To improve resources utilization, Anitha N. and Anirban B. [13] used run time instrumentation with each VM to know its usage status of CPU, memory, bandwidth etc. and supplied this gathered information to feed forward neural network to know whether resource allocation needs to be increased or decreased. Whereas, R. Karthikeyan and P. Chitra [14] combined ANN with grey system for task scheduling that takes 3 significant parameter of task i.e. task length, CPU intensive and memory intensive to reduce execution time and power consumption of VM. A fuzzy neural network PID control based task manager [16] was proposed to get the best value of QoS attributes of the nonlinear and time varying system. The proposed task manger takes the feedback of the last round QoS parameters by using fuzzy max-min inference workload measurement and this feedback is provided as input to neural network. The output layer calculates the workload degree by center of gravity defuzzification. B. Fuzzy Logic To understand imprecise requirements of specific problems such as scheduling of resources or virtual machines, a fuzzy model must be constructed. Many authors [17-24] have developed different fuzzy models i.e. rules based system to solve scheduling problem and to understand user’s fuzzy demand. In order to optimize the performance and load balancing within the cloud, A. Ragmani et al. [17] used concept of global performance indicator (GPI) based on fuzzy logic theory to rank the difference between possible configuration of physical and virtual machines. To find the best value of GPI, authors considered the variations in input parameters i.e. number of virtual machines and host per datacenters, processor speed, process number, user request and data size etc. A dynamic scheduling algorithm by utilizing fuzzy logic controller is proposed by Amin M. and Seyyed M. H. [18] that fairly assign virtual machines to host by investigating the effect of waiting time slot in the queue and their precedence to reduce the completion time of jobs, as a result, produce an accurate scheduling. M. Zavvar et al. [19] utilized fuzzy metrics of cost, trust and length to provide accurate resource scheduling algorithm based on fuzzy logic to enhance the reliability of cloud computing. To minimize the task waiting time of the precedence-constrained applications [20-22] used fuzzy clustering algorithms. F. Guo et al. [20] considered the resource characteristics i.e. processing and Communication capacity, network location, number of links etc. of processing units of cloud computing and fuzzy similar matrix to form clustering, while Jian Li et al. [21] used radial basis function based fuzzy c- means clustering method to narrow the range of resources by dividing them in three categories: Compute, Storage and Transmission resources and assign these resources based on the inverse trig function to task by taking the task’s expectation using improved FIFO scheduling model . So, identifying the performance of the resources is necessary to choose the processing unit with good comprehensive performance for scheduling of task. M. S. Shinde and A. k. Kadam [22] used linear programming as an optimization technique along with fuzzy C- Means clustering technique to reduce the overall cost within user specified time and outperform FCFS scheduling algorithm. In most of the above research, the basic QoS standards such as cost, time etc. were considered, but some extended QoS standard such as system friendliness and user experience were not considered. These extended QoS standard enable system to understand system fuzzy requirements. Therefore, Z. Chen et. al. [23] emphasis on system friendliness as their main objective and based on user’s long term and continuous resource requirements, a second International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 74 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 5.
    moving average methodwas used for prediction and then a fuzzy control theory was adopted to schedule VM dynamically using friendly mapping between resource prediction model output and available resources. C. Genetic Algorithm (GA) Genetic algorithm provides a way of scheduling based on biological concept of population generation where initial population is the set of chromosomes or individuals that are used to represent the space of solutions and every individual in this set is called solution. The individuals which are used to generate a new population are selected according to their fitness values i.e. these individuals follow Darwinian theory [25] of “survival to the fittest”. This process is repeated until a best solution that satisfies minimum criteria is produced. The size of initial population varies according to the nature of the problem and it can be represented in different ways i.e. binary [28,32], floating point encoding, Integer [31] and permutation representation. Different researchers generated the set of initial population randomly [26,28,32] and O. Morariu et al. [26] applied this random population GA in private cloud for workload scheduling by considering the effect of primary factors on performance in a virtualized environment. P. kumar and A. Verma [27] make use of Min-Min and Max-Min algorithms to generate initial population and do not only produce better initial population than randomly generated initial population but also reduce makespan by make use of maximum amount of resources. Individual similarity is used by J. Li and C. Qu [31] to ensure the uniformity of initial population in solution space. After generation of initial generation, the fitness value of each individual is calculated according to fitness or objective function i.e. makespan [27,30-32], Cost [28-31], deadline [29] etc. are used as commonly fitness objective. In some cases, fitness function or objective function may be same, while in others it may be different dependent upon the problems. From the initial population some of the fittest individuals are selected, who will contribute their genes to their children in next generation. Selection operator helps in to improve the convergence speed of algorithm so, different methods has been explored by different researchers to optimize selection procedure i.e. roulette selection [28,30,31], collaborator selection [29], tournament selection [32], rank selection, best 65 % individuals [26] etc. After selection of individuals, crossover and mutation operations are performed on these individuals to generate some new child chromosomes. Most commonly used crossover operators are: single point [27], multipoint crossover, clustered crossover [30] etc. Y. Wang et al. [28] designed crossover by considering the relevance of individuals and helps in shorten the overall execution time of scheduling. S. Hamad and F. Omara [32] used different crossover operator, in which, two chromosomes were selected for crossover process to generate two new offspring were also considered as offspring. So, this proposed operator has four children and after that two best children are chosen from these children. Mutation takes the vales of some gene in chromosome and replaced it by other gene value to generate a new individual. Mutation operator helps in increases diversity of the main population, ability of local search and avoid local premature phenomenon. Different mutation operators like basic bit mutation operator [28,30], a non-uniform operator [31], swap mutation etc. are used in literature. With the new gene values added by mutation, the GA may be able to produce a better generation than the previous one. D. Bayesian Network Bayesian network are a type of probabilistic graphical model that represent a set of parameters and their conditional dependencies via a directed acyclic graph. It uses laws of probability for anomaly detection, decision- International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 75 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 6.
    making and timeseries prediction [34]. Naïve Bayesian method used by Fatemeh E. and Sayed M. B. [35] with the aims of creating load balancing scheduling by classification and selection of virtual machines. The selection of highest runtime request helps in increasing the efficiency and utilization of resources. L. Ferdouse et al. [36] proposed Bayesian network based workload scheduling, which used both task and user level scheduling, and utilize posterior probability based scheduling weights among paths by considering dependency among tasks. A dynamic scheduling algorithm was proposed by W. wang and G. zeng for evaluation of the trustworthiness of nodes using Bayesian method [37]. For the selection problem of physical hosts for deploying requested tasks and long-term load balancing effects J. Zhao et al. [38] used Bayesian network with clustering. They used probability theorem and clustering idea to pick the optimal hosts that have most remaining computing power. Deployment and scheduling mechanism of various cloud services in SaaS using stochastic models by considering different QoS attributes i.e. response time, elasticity, working efficiency of unit resources etc. is described in [39]. E. Meta-Heuristics Techniques Meta-heuristics are of higher-level and modern phenomenon in approximate search to solve complex optimization problems faced in areas like industries, engineering design, business, economics etc. Meta-Heuristic is not problem centric however, it is designed to create or search a suitable algorithm that may find near-optimal solution by using randomization to an optimization problem, especially with limited computation capacity [46]. We have discussed some of the Meat-Heuristics techniques used for scheduling in cloud computing, which are as follows: 1. PSO The PSO technique handles issue by using a population of particles where these particles move around in search space by adopting a simple formula for particle velocity and position [40]. Arrival of user’s request, the type and numbers of required VM instances are uncertain in cloud computing. So it may be possible that service provider doesn’t able to achieve the required needs while guaranteeing user’s QoS during peak demand. To handle this issue, G. Zang and X. Zuo [41] applied standard PSO to get an optimal solution to determine the priorties of tasks by sorting the dimensions of a particle in descending order. A Discrete PSO (DPSO) [42] based task-scheduling algorithm has used binary encoding to represent velocity and position of particle. The smallest position value (SPV) for position updating used by basic PSO performs poor when high variance exists between length of task and computational speed of resources. To solve the bi-objective task-scheduling problem and to remove this SPV problem, S.A Beegom and M.S. Rajasree proposed a new method of generating discrete permutation i.e. integer PSO [43] that used weighted sum approach to achieve pareto optimality, which convert a multi objective optimization problem into single objective one with weights representing preferences among objectives by decision maker and outperform SPV based PSO. F. Ramezani et al. [44] proposed a comprehensive multi objective model by considering the criteria of QoS including minimize execution time by keeping the cost low. The outcome of proposed method provides good trade-off solutions for multi-objective task scheduling problem and helps to maintain QoS optimization objective. Over the years, lots of research work has been done in resource scheduling to get efficient and prominent results in cloud computing. Majority of scheduling algorithms consider only cost, time, makespan, resource utilization etc. as their objective and compromise over other QoS attributes i.e. scalability, reliability, availability, throughput etc. because of complexity to achieve these parameters. So A.I. Awad et al. [45] International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 76 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 7.
    proposed a mathematicalmodel for load balancing using PSO based scheduling algorithm that takes into account reliability, execution time, transmission time, availability and load balancing between tasks and virtual machines. It achieves the reliability by considering the available resource and reschedule task that fails to allocate by considering the account load of each VM. An ACO with PSO (ACOPS) method proposed by K.M. Cho et al. [46] to solve load balancing problem by scheduling randomly generated request using historical data to predict the demand of new I/P requests. To achieve results of high quality, proposed model used procedure of pre-reject to accelerate computing time and reduce solutions’ dimensions, search operator to new paths for all ants, PSO operator to improve search results and used global pheromone update operator that increase pheromone only on current best solutions. 2. Simulated Annealing (SA) The SA is a probabilistic technique used for global optimization in large search space. The cooling process of SA makes it effective to find optimal solution when dealing with large search space that have numerous local optima. At each iteration of SA algorithm, the objective function value for two solutions are compared & based on probability distribution of objective, the algorithm accepts the solution that lower the objective, while some of non-improving solutions are also accepted to escape algorithm form local optima in search of global optima [47,48]. An experiment with random initial solution [50,53,54] takes long calculation time before proceeding for optimal solution. Therefore, GA-Hint approach using opposite () function [49], SQF (shortest queue first) [51], greedy strategy using longest task priority principle [52] etc. used by different researchers to obtain the good initial solution for SA in job scheduling. To ensure QoS requirement of user job, M. Abdullah [49] used inversion move to calculate random solution and their associated cost. I.A. Moschakis and H.D. Karatza [51] evaluated the use of thermodynamic SA (TSA) in the scheduling of bag of task application with virtual machine of heterogeneous performance, where search space is consisting of different permutations of the schedule. In TSA, the cooling schedule is not static and it determined by entropy and energy difference created by state transition using the first and second laws of thermodynamics. E. Torabzadeh and M. Zandieh implemented the basic concept of cloud theory with simulated annealing (CSA) [50] to solve the scheduling problem in two stage assembly flowshop with decrement in the probability of local optima because Cloud theory escape algorithm from being stuck in local optima by preserving diversity (having stable tendency) and relating quality concepts with quality data in comparison to SA that uses hill climbing moves for local search escape from local minimum. Researchers used many different methods in combination of basic SA i.e. Boltzman probability accept function [52], Etropolis criteria [53,55], Powell algorithm [54] to achieve the fast convergence of optimal solutions and to lower possibility of miss the optimal solutions. 3. Cuckoo Search Algorithm (CSA) X. S. Yang and S. Deb proposed Cuckoo optimization algorithm in 2009 after in-depth study of parasitism of some cuckoo species that lay their eggs in nests of host birds. As cuckoos are proficient in the mimicry in pattern and colors of chosen host species eggs, it lessens the probability of eggs being abandoned and increases the probability of their reproductivity. The basic CSA has been applied in scheduling of resources by the consideration of different searching i.e. robust search [59], random search which follow a proper-law step-length distribution with a heavy tail [57,58] and next population generation mechanism i.e. levy flight [57-59] to achieve the different QoS International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 77 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 8.
    requirements of users.In the addition of above CSA algorithm, some other constraints were also considered for allocation of task to resources like the length of execution of tasks [57,59], processing power of VM [59] etc. The result of CSA in scheduling shows that the speed and coverage of CSA start increasing with low value of Pa. Various other techniques have been combined with cuckoo search by researchers to further optimize some other QoS attributes. A combination of GA and CSA used by S. Aujla and A. Ummat [60] in which first GA is used to schedule and this order of scheduling is used by CSA based scheduler to reschedule by checking information of available resources to reduce the failure ratio. To generate the best order of available resources as their initial population, all of the possible order of resources with their objective values considered by A. Moradbeiky and V. bardsiri [61] and obtained results from each order are grouped into 2 clusters by use of k-means clustering. Cluster with better orders were selected for next generation and for each outcome, new result is generated within egg laying radios using levy distribution. To handle the scheduling of tasks on heterogeneous system, M. Akbari and H. Rashidi [62] proposed a multi-objective scheduling method that use the concept of cuckoo algorithms i.e. laying and immigration. This method initially takes random schedules and in generation of new schedule, a processor and task in modifications radius limits the replacement of random processor and task. Later in immigrating stage, all schedules were immigrated towards global optimum point that helped in search of a more expanded area with no involvement in local optima. 4. BAT Algorithm (BA) Echolocation behavior of micro bats inspired Xin-she Yang to develop The BAT algorithm (BA) in 2010. Bats release sonar signals to avoid close obstacles in dark and to detect its prey by transforming sound pulses into frequency [63,64]. This basic bat algorithm is applied by different researchers to solve the multi-objective problems of workflow scheduling with the objective of maximizing reliability and minimizing execution time and it also ruled out the schedules of cost exceeds to budget constraints [65-66]. Though the basic Bat algorithm is mainly used for continuous optimization, S. Raghavan et al. [67] added some aspects of binary algorithm along with bat algorithm to handle discrete set of inputs for scheduling workflow applications in cloud. However, the update process of velocity in the binary BAT is still consistent with BA, therefore, it is not good enough for exploration and exploitation, and may get stuck to local minima. Therefore, in order to overcome this issue, X. Huang et al. [69] proposed improved binary BAT algorithm that uses neighbor bat and dynamic inertia weight strategy to carry out a more diversified search process to avoid being trapped into local minima. Generally, standard BAT algorithm exploits search space by random walks and its fast convergence is not guaranteed because of its tendency to trap in local optima. Therefore, other techniques had been combined with basic BAT algorithm to escape from local optima i.e. chaotic [68] map is used to tune BAT basic parameter using sinusoidal map to initialize pulse emission rate and iterative map for loudness frequency initialization, harmony search is also used by S. Kumar and Aramudhan [70] with BAT by applying trust model to reduce failure ratio and harmony search i.e. a music based meta-heuristics optimization algorithm helps to find optimality in optimization. Here, we have discussed more than 70 research papers of resource scheduling using soft computing techniques to identify both advantages and disadvantages of every technique used. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 78 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 9.
    V. PROS ANDCONS OF SOFT COMPUTING TECHNIQUES ANN is used for complex problems, pattern classification and recognition. It learns to classify new inputs that have not seen in search space before, while GA finds best solutions within search space. ANN performs better than traditional scheduling algorithms as round robin and greedy in terms of response time and throughput [13,15]. Fuzzy Logic function is to handle impreciseness and uncertainties in the system and the simulation results showed the effectiveness of Fuzzy logic as compared to FCFS and Round Robin, Min-Min and Max-Min in terms of completion time, waiting time etc [18,19]. GA is a meta-heuristic based on genetic evolution with the feature of combinational optimization. GA [29] showed that Cooperative coevolutionary GA always found better solution and scale up well when problem size increases as compared to random GA. SA major advantage over other methods is its ability to prevent being stuck in local minima and it is mostly known for its effectiveness in finding near optimal solutions for large-scale combinatorial optimization problems. SA converges faster than GA and outperforms GA by a larger gap when running time is considered. SA has better performance when the numbers of jobs are less, while the number machines and jobs are more than 100, GA performs betters than SA [49]. The main drawback of SA is its time consuming trait. BAT has automatic zooming capacity & use parameter control to automatically switch from exploration to exploitation when optimal solution is approaching. But it converges very quickly at early stage & then convergence rate slows down & may lead to stagnation after some initial stage [66]. Ease of implementation and fast convergence is the advantages of PSO over many other optimization algorithms [42]. During scheduling task, PSO outperform GA and Min-Min in terms of deadline missing ratio, makespan, cost and load balancing [42]. PSO performance betters than GA in every other aspect. The experiment results show that PSO algorithms not only converge faster but also run faster than GA [45]. Cuckoo search and SA consume larger time and cost compared to firefly algorithms [14]. VI. QOS ATTRIBUTES To identify the important QoS attributes in resource scheduling, we have performed a details analysis of various scheduling techniques as shown in table 1. We have classified these QoS of various scheduling algorithm into two perspectives: service user and service provider. Cloud service providers are the companies which offer some services like network; infrastructures etc. to other businesses or individuals and cloud service users, use these services to accomplish their tasks by using pay-as-you-use or pricing models. The classification of scheduling QoS attributes is presented in fig 2. A. Service User Objective Attributes These are some of the essential QoS attributes that a user requires to run its application in an efficient manner. 1. Makespan It is the total time required by a group of jobs to finish its execution form beginning to end. A good scheduler always tries to reduce makespan as much as possible. It is one of the methods to measure efficiency. 2. Cost The cost of the job execution depends upon the cost of many other services i.e. computation, storage & transmission etc. A good scheduler always tries to minimize this cost. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 79 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 10.
    3. Scalability It isone of the key benefit and ability of cloud computing to continue to work, when there is change in the size of user demand or its potential to be enlarged in order to accommodate that growth. Scalability is more granular than elasticity when it comes to sizing. 4. Dead Line It defines the latest time, day or date, before some tasks must be completed. 5. Reliability It is the ability of computer hardware and software to consistently work according to the requirements. Reliability is necessary to ensure the stability of the system and it also affects the usability of services. 6. Efficiency Cloud computing is a new approach for making efficient use of computing resources and it is improved by combining various cloud applications per virtual machine or physical hosted servers. B. Service Provider Objective Attributes The following are the QoS attributes that a service provider needs to manage to satisfy the requirement of service users and to make profit. 1. Load Balancing It is key aspect of cloud computing and the process of distributed workloads, computing resources across one or more servers so that no node become overloaded while other is idle at the same time. It has impact on other QoS metrics, such as: response time, cost, throughput, load balancing etc. [71]. 2. Resource Utilization Utilization of resources affects the overall efficiency of cloud. Resource utilization differs for each task based on task requirement and it increases if the task takes up and makes use of only required resources [14]. 3. Throughput It is a measure of average amount of data that can be transferred per unit of time and provide the performance of a processor, memory or a network. 4. Energy Cloud is energy efficient because of economies of scale, diversity and aggregation. It is not only determined by hardware efficiency but also affected by other factors i.e. resource management system, efficiency of system etc. 5. Fault Tolerant It is the ability of infrastructure to continue providing services even after the failure of some of its components. The system will not run with fill of its efficiency but it will run at a reasonable level. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 80 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 11.
    Fig 2: Distributionof QoS Attributes 6. Availability High Availability is the ultimate goal of cloud computing. Availability allows users to access services according “pay as you go” policy without concern about location. It refers to the ability of user to access information, services and tools anywhere and anytime. VII. ADVANTAGES OF RESOURCE SCHEDULING We have identified number of advantages of resource scheduling from above literature, some of the important are: 1. Use of underutilized server by multiple VM increases the resource utilization rate [11]. 2. The efficient strategy handles criteria’s i.e. less resource shuttering and conflicting, over provisioning and under provisioning etc. 3. Performance of VM helps scheduler to assign new tasks to suitable machines. 4. Average success rate improve the efficiency of scheduling between conflict resource demands [24]. 5. Virtualization helps to improve resource availability, reduce complexity and avoids infrastructure- associated risks. 7. Its scalability, flexibility helps users to handle dynamic requirements of users. 8. Efficient cloud resource allocation and scheduling reduces waiting time of tasks in workload queue. 9. Minimum chances of scheduling delay and resource failure due to efficient allocation of resources. 10. Efficient scheduling reduces energy consumption without violation of SLA. 11. Scheduling decisions finished in shortest time is useful for competence between resource and time [16]. VIII. CHALLENGES IN RESOURCE SCHEDULING We also come across various problems and challenges still faced by researcher in resource scheduling environment and these challenges are briefly described in table 2. This survey can help user to identify current trends and techniques used in cloud environment effortlessly. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 81 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 12.
    TABLE 2: CHALLENGE/OPENISSUES IN EXISTING RESOURCE SCHEDULING TECHNIQUES Techniques References Description Challenge/Open Issues Neural Network [11] Proposed a framework for equally distribution of workload using back propagation learning algorithm to train forward ANN to handle energy consumption. Extensive use and growing demand of cloud network harshly increasing the energy consumption of data centers thus increasing cost and carbon emission. [12] Proposed a neural based prediction strategy to handle elastic resource scaling by considering dynamic workload fluctuations and prediction. How to handle resources on the virtual machines for management of variable load without SLA violation? [13] Discussed a dynamic resource allocation using application current status, transactions per second and parameters for resource usage to decide the number of resource needed. It is difficult for this process to describe that in which order the processes must run to get a proper benchmark of utilization of resources. [14] Developed a framework by considering some significant factors such as task length, CPU and memory intensive to reduce the execution time and energy consumption. How to handle the time delay caused by switching off and on of resources with efficient energy consumption for fluctuating demand of resources? Fuzzy Logic [17] To find the suitable matching of VM and servers, it used fuzzy logic to calculate global performance indicators using KPI, i.e. response time, processing time and cost. How to use this approach to assess the KPI in multi criteria decision problems? [20] A framework with 3 phases: i) resource clustering phase ii) task prioritizing phase iii) processor allocation phase to minimize the schedule length. Addition of an effective security mechanism in scheduling of workflow task. [21] It used fuzzy c-means clustering to reduce the requirement of resources and execution time of the tasks. What can be the effects if resource homogeneity further increased? Genetic Algorithm [29] Proposed an scalable algorithm using cooperative coevolution GA for deadline- constrained problem. What can be the alternative collaborator selection and credit assignment methods to improve the performance? [30] Presented a genetic based approach that provides users with various scheduling configuration and helps user to select optimal configuration. Effects of fluctuations in the hiring cost of virtual machines. [27] Proposed improved GA based framework by considering makespan as fitness criteria. Scheduling of tasks as multi criteria decision problem. PSO [42] Used PSO to optimize the objectives including cost, makespan, deadline missing ratio, load balance and maximize the profit of cloud. How to improve the reliability in the cloud system? [44] Implemented a multi objective PSO to find a good tradeoff between scheduling time and cost. Effects by considering task priorities, types and dependencies in this scheduling approach. [45] Presented a load balancing PSO to increase the reliability by reschedule the failure tasks to available machines by considering load of each VM. How to extend it to handle the failure to schedule of jobs to virtual machines? [46] Used PSO + ACO for VM scheduling that uses log information to predict the workload of new coming requests without additional information. How to upgrade it to further decrease the rate of rejection during increasing size of data set? Simulated Annealing [49] Developed a SA based approach that concerns about execution cost, deadline, penalty cost in different systems. Evaluation of the algorithm with other QoS parameters. [50] Used cloud based theory simulated annealing process to minimize weighted sum of makespan, mean completion time as their objectives. Execute this process with some other objectives i.e. makespan, lateness, deadline, profit etc. [51] Proposed a thermodynamics SA based framework that optimize cost and performance into heterogeneous environment. How to achieve inter cloud level seeking for fair spread of parallel between clouds. Cuckoo Search [58] Describe use of cuckoo search to minimize total time and cost of execution. What is the best way to rank the tasks of a workflow? [62] Described a multi objective algorithm based on cuckoo optimization algorithm to optimize execution time, cost etc. Best way to generate initial population in cuckoo search and other meta heuristics algorithm. BAT algorithm [68] Proposed a framework based on BAT with the help of chaos theory to optimize the makespan and energy consumption. How chaotic maps help to improve the performance of the scheduling algorithm? International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 82 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 13.
    TABLE 1: QOSATTRIBUTES IN DIFFERENT RESOURCE SCHEDULING TECHNIQUES Referenc e QoS Attributes Time Cost Load Balancing Resource Utilization Fault Tolerance Throughput Energy Scalability Dead line User Satisfaction Reliability Efficiency Availability [11]  - -      - - - - - [12] - - -  - - - - - - - - - [13]  - -  - - - - - - - - - [14]  - -  - -  - - - - - - [15]  - -  -  - - - - - - - [16]     - - - - -  - - - [17]    -  - - - - - - - - [18]  - - - - - - - - - - - - [19]   - - - - - - - -  - - [20]  - - - - - - - - - -  - [21]  - -  - - - - - - - - - [22]   - - - - - - - - - - - [23]   -  - - - - - - -   [24]  - -  - -   [26]  - - - - - - - - - - - - [27]  - -  - - - - - - - - - [28]   - - - -  - - - - - - [29]   - - - - -   - -  - [30]   -  - - - - - - - - - [31]   - - - - - - - - - - - [32]   -  -  - - - - -  - [33]   -  - -  - - - - - - [35]  -   - - - - - - -  - [36]  - - - - - - - - - - - - [37]  - - -  - - - - -  - - [38]  -  - -  - - - - - - - [39]  -   - - -  - - -  - International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 83 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 14.
    Referenc e Time Cost Load Balancing Resource Utilization Fault Tolerance ThroughputEnergy Scalability Dead Line User Satisfaction Reliability Efficiency Availability [41]   - - - - - -  - - - - [42]     - - - -  - - - - [43]   - - - - - - -  - - - [44]   - - - - - - - - - - - [45]    - - - - - - -  -  [46]     - - - - - - - - - [49]   - - - - - -  - - - - [50]  - - - - - - - - - - - - [51]   -  - - - - - - - - - [52]  - -  - - - - - - - - - [53]    - - - - - - - -  - [54]  -  - - - - - - -   - [55] - -   - -   - - - - - [73]    - - - - - - - - - - [57]  - - - - - - - - - - - - [58]   -  - - - -  - - - - [59]  - - - - - - - - - - - - [60]  - -   -  - - - - - - [61]  -  - - - - - -  - - - [62]   - - - - - - - - - - - [65]   - - - - - - - -  - - [66]  -   - - -  - - - - - [67]   - - - - - - - - -  - [68]  - - - - -  - - - - - - [69]  - -   - - - - - - - - [72]  - - - - - - - - - - - - International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 84 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 15.
    IX. CONCLUSION ANDFUTURE SCOPE Resource scheduling has been widely used in cloud computing in order to improve the efficiency of resource utilization and to increase task performance. Various kind of scheduling algorithms have been used by various researchers, were discussed systematically in this paper. It was found that soft computing techniques namely Neural Network, Fuzzy Logic, Genetic Algorithm, Bayesian Network and meta heuristics techniques are widely used by researchers for resource scheduling based on different QoS attributes. In this paper, we have done comparison of existing algorithms based on major QoS parameters like Time, Cost, Resource Utilization, Efficiency, Energy etc. Advantages and challenges of existing resource scheduling techniques were also discussed in this paper and found that there is no single technique exists that provide a better scheduling in cloud environment. It is concluded that the performance of cloud computing environment is not only dependent on resource scheduling techniques but also depend upon QoS attributes. A. Future Scope 1. Need to develop energy efficient solutions to address high-energy consumption problem from the viewpoint of environment and cloud provider [21]. 2. Scaling techniques are required to determine the required number of servers [22]. 3. Develop a resource allocation mechanism to handle resource allocation in collaborative cloud computing [23]. 4. How to increase the friendliness of system to handle imprecise demand of user [35]? 5. Find a practical schedule to meet the constraints of multi-objectives scheduling problems is a challenging task [59]. 6. Applying proposed algorithms in real cloud computing environment [62]. 7. In spite of exponential growth of cloud computing there remain several gaps in the growth of cloud model [1]. 8. Time and cost are conflicting parameters that need to be balanced and optimized [21]. 9. In case of multi-objective problem, we can’t get single best solution, so we have pareto set of solution representing trade-off front among multiple considered objectives [24]. 10. QoS based resource scheduling is still an issue. We hope that this research work will be beneficial for researchers who want to work in the field of scheduling in cloud computing environment. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 85 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 16.
    REFERENCES [1] R. Buyyaand S. Vazhkudai, “Compute Power Market: Towards a Market-Oriented Grid,” ACM International Symposium on Cluster Computing and the Grid, pp. 574–581, 2001. [2] J. D. Ullman, “NP-Complete Scheduling Problems,” Journal of Computer and System Sciences, vol. 10, no. 3, pp. 384–393, Jun. 1975. [3] Kshirasagar Naik, Priyadarshi Tripathy, “Software Testing and Quality Assurance: Theory and Practice,” Wiley Publication, pp. 648, 2008. [4] H. Akpan, Akpan, B. Rebeccajeya, and Vadhanam, “A Survey on Quality of Service in Cloud Computing,” International Journal of Computer Technology and Trends, vol. 27, pp. 58–63, Oct. 2015. [5] Hashem H. Ramadan, Dr. Divya Kashyap, “Quality of Service (qos) in Cloud Computing”, International Journal of Computer Science and Information Technologies, Vol. 8 (3), 2017, 318-320. [6] Amid Khatibi Bardsiri, Seyyed Mohsen Hashemi, “QoS Metrics for Cloud Computing Services Evaluation”, International Journal of Intelligent Systems and Applications, 2014, vol 12. Pp 27-33. [7] A. Abdelmaboud, D. N. A. Jawawi, I. Ghani, A. Elsafi, and B. Kitchenham, “Quality of Service Approaches in Cloud Computing: A Systematic Mapping Study,” Journal of Systems and Software, vol. 101, no. Supplement C, pp. 159–179, Mar. 2015. [8] P. Singh, M. Dutta, and N. Aggarwal, “A Review of Task Scheduling Based on Meta-heuristics Approach in Cloud Computing,” Knowledge and Information System, vol. 52, no. 1, pp. 1–51, Jul. 2017. [9] S. Singh and I. Chana, “A Survey on Resource Scheduling in Cloud Computing: Issues and Challenges,” Journal of Grid Computing, vol. 14, no. 2, pp. 217–264, Jun. 2016. [10] W. S. McCulloch and W. Pitts, “The Statistical Organization of Nervous Activity,” International Biometric Society, vol. 4, no. 2, pp. 91–99, 1948. [11] Nada M. Al Sallami, Jordan Ali Al daoud, Sarmad A. Al Alous, “Load Balancing with Neural Network”, (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 4, No. 10, 2013, pp. 138-145. [12] M. Uma, Partha Sarathi Chakraborty, “Neural Network Prediction Based Dynamic Resource Scheduling for Cloud System”, International Journal on Recent and Innovation Trends in Computing and Communication’ Vol. 4, Issue 3, pp. 474-477, 2016. [13] Anitha N, Anirban Basu, “Neural Network Based Resource Allocation Using Run Time Instrumentation with Virtual Machine Migration in Cloud Computing”, International Journal of Emerging Science and Engineering (IJESE), Volume-3 Issue-3, January 2015, pp 27-29. [14] R. Karthikeyan, P. Chitra, “Novel Power Reduction Framework for Enhancing Cloud Computing by Integrated Gsnn Scheduling Method”, Cluster Computing, Vol. 20, Issue 78, 2017, pp 1-12. [15] F. F. d Almeida, A. d A. Neto, and M. M. Teixeira, “Resource Scheduling in Web Servers in Cloud Computing using Multiple Artificial Neural Networks,” in 2015 Fourteenth Mexican International Conference on Artificial Intelligence (MICAI), 2015, pp. 188–193. [16] Xiaoqi Xing, Bin Liu and Dongyi Ling,” Neural Network pid Control Based Scheduling Mechanism for Cloud Computing”, Applied Mathematics & Information Sciences, Vol. 9, Issue 2. 2015, pp. 789-796. [17] A. Ragmani, A. El Omri, N. Abghour, K. Moussaid, and M. Rida, “An Improved Scheduling Strategy in Cloud Computing using Fuzzy Logic,” in Proceedings of the International Conference on Big Data and Advanced Wireless Technologies, New York, NY, USA, 2016, p. 22:1–22:9. [18] Amin Mehranzadeh, Seyyed Mohsen Hashemi, “A Novel-Scheduling Algorithm for Cloud Computing Based on Fuzzy Logic”, International Journal of Applied Information System, Vol. 5, Issue 7, 2013, pp 28-31. [19] M. Zavvar, M. Rezaei, S. Garavand, and F. Ramezani, “Fuzzy Logic-Based Algorithm Resource Scheduling for Improving the Reliability of Cloud Computing,” Asia-Pacific Journal of Information Technology and Multimedia, vol. 5, no. 1, pp. 39–48, Jun. 2016. [20] F. Guo, L. Yu, S. Tian, and J. Yu, “A Workflow Task Scheduling Algorithm Based on the Resources’ fuzzy Clustering in Cloud Computing Environment,” International. Journal of Communication System, vol. 28, no. 6, pp. 1053–1067, Apr. 2015. [21] Jian Li, Tinghuai Ma, Meili Tang, Wenhai Shen 3 and Yuanfeng Jin, “Improved FIFO Scheduling Algorithm Based on Fuzzy Clustering in Cloud Computing”, Information (MPDI), Vol. 8, issue 1, 2017. doi:10.3390/info8010025. [22] Mahesh S. Shinde1, Anil kumar Kadam, “Cloud Based Task Scheduling using Fuzzy C-Means and Linear Programming Approach”, International Journal of Science and Research (IJSR), Vol. 4, Issue 7, july 2015, PP 2081-2085. [23] Zhijia Chen, Yuanchang Zhu, Yanqiang Di, and Shaochong Feng, “A Dynamic Resource Scheduling Method Based on Fuzzy Control Theory in Cloud Environment,” Journal of Control Science and Engineering, vol. 2015, Article ID 383209, 10 pages, 2015. doi:10.1155/2015/383209 [24] P. V and C. Nelson Kennedy Babu, “Moving Average Fuzzy Resource Scheduling for Virtualized Cloud Data Services,” Computer Standards & Interfaces, vol. 50, no. Supplement C, pp. 251–257, Feb. 2017. [25] D. B. Paul, “The Selection of the ‘Survival of the Fittest,’” Journal of the History of Biology, vol. 21, no. 3, pp. 411–424, 1988. [26] O. Morariu, C. Morariu, and T. Borangiu, “A Genetic Algorithm for Workload Scheduling in Cloud Based E-Learning,” 2Nd International Workshop on Cloud Computing Platforms, New York, NY, USA, 2012, p. 5:1–5:6. [27] P. Kumar and A. Verma, “Scheduling Using Improved Genetic Algorithm in Cloud Computing for Independent Tasks,” International Conference on Advances in Computing, Communications and Informatics, New York, NY, USA, 2012, pp. 137–142. [28] Y. Wang, J. Wang, C. Wang, and X. Song, “Resource Scheduling of Cloud with QoS Constraints,” in Advances in Neural Networks – ISNN 2013, 2013, pp. 351–358. [29] L. Ai, M. Tang, and C. Fidge, “Resource Allocation and Scheduling of Multiple Composite Web Services in Cloud Computing Using Cooperative Coevolution Genetic Algorithm,” Lecture Notes in Computer Science, vol. 7063, pp. 258–267, Nov. 2011. [30] I. Casas, J. Taheri, R. Ranjan, L. Wang, and A. Y. Zomaya, “GA-ETI: An Enhanced Genetic Algorithm for the Scheduling of Scientific Workflows in Cloud Environments,” Journal of Computational Science, Sep. 2016. [31] J. W. Li and C.-W. Qu, “Cloud Computing Task Scheduling Based on Cultural Genetic Algorithm,” MATEC Web of Conferences, vol. 40, pp. 9008-p.2-p.5. [32] Safwat A. Hamad, Fatma A. Omara, “Genetic-Based Task Scheduling Algorithm in Cloud Computing Environment”, International Journal of Advanced Computer Science and Applications, Vol. 7, No. 4, 2016, pp. 550-556. [33] M. Mezmaz et al., “A Parallel Bi-Objective Hybrid Metaheuristic for Energy-aware Scheduling for Cloud Computing Systems,” Journal of Parallel and Distributed Computing, vol. 71, no. 11, pp. 1497–1508, Nov. 2011. [34] D. Heckerman, A. Mamdani, and M. P. Wellman, “Real-World Applications of Bayesian Networks,” Communications of the ACM, vol. 38, no. 3, pp. 24–26, Mar. 1995. [35] Fatemeh Ebadifard, Seyed Morteza Babamir, “Dynamic Task Scheduling in Cloud Computing Based on Naïve Bayesian Classifier”, pp. 91- 95, 2017. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 86 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 17.
    [36] L. Ferdouse,M. Li, L. Guan, and A. Anpalagan, “Bayesian Workload Scheduling in Multimedia Cloud Networks,” in 2016 IEEE 21st International Workshop on Computer Aided Modelling and Design of Communication Links and Networks (CAMAD), 2016, pp. 83–88. [37] W. Wang and G. Zeng, “Bayesian Cognitive Model in Scheduling Algorithm for Data Intensive Computing,” Journal of Grid Computing, vol. 10, no. 1, pp. 173–184, Mar. 2012. [38] J. Zhao, K. Yang, X. Wei, Y. Ding, L. Hu, and G. Xu, “A Heuristic Clustering-Based Task Deployment Approach for Load Balancing Using Bayes Theorem in Cloud Environment,” IEEE Transactions on Parallel and Distributed Systems, vol. 27, no. 2, pp. 305–316, Feb. 2016. [39] H. Yang, L. Yang, and F. Lv, “Cloud Computing System Scheduling Model Based on Bayesian Network,” 5th International Conference on Information Engineering for Mechanics and Materials, pp. 1122-1126, 2015. [40] J. Kennedy and R. Eberhart, “Particle Swarm Optimization,” IEEE International Conference on Neural Networks, vol. 4, pp. 1942–1948, 1995. [41] G. Zhang and X. Zuo, “Deadline Constrained Task Scheduling Based on Standard-PSO in a Hybrid Cloud,” in Advances in Swarm Intelligence, 2013, pp. 200–209. [42] H. Chen and W. Guo, “Real-Time Task Scheduling Algorithm for Cloud Computing Based on Particle Swarm Optimization,” in Cloud Computing and Big Data, 2015, pp. 141–152. [43] A. S. A. Beegom and M. S. Rajasree, “A Particle Swarm Optimization Based Pareto Optimal Task Scheduling in Cloud Computing,” in Advances in Swarm Intelligence, 2014, pp. 79–86. [44] F. Ramezani, J. Lu, and F. Hussain, “Task Scheduling Optimization in Cloud Computing Applying Multi-Objective Particle Swarm Optimization,” in Service-Oriented Computing, 2013, pp. 237–251. [45] A. I. Awad, N. A. El-Hefnawy, and H. M. Abdel_kader, “Enhanced Particle Swarm Optimization for Task Scheduling in Cloud Computing Environments,” Procedia Computer Science, vol. 65, no. Supplement C, pp. 920–929, Jan. 2015. [46] K. M. Cho, P. W. Tsai, C.-W. Tsai, and C.-S. Yang, “A Hybrid Meta-Heuristic Algorithm for VM Scheduling with Load Balancing in Cloud Computing,” Neural Comput & Applic, vol. 26, no. 6, pp. 1297–1309, Aug. 2015. [47] Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1979). "Statistical-Thermodynamic Approach to Determination of Structure Amplitude Phases". Sov.Phys. Crystallography. 24 (5): 519–524. [48] A. Khachaturyan, S. Semenovsovskaya, and B. Vainshtein, “The Thermodynamic Approach to the Structure Analysis of Crystals,” Acta Crystallogr, vol. 37, no. 5, pp. 742–754, Sep. 1981. [49] M. Abdullah, M. Othman, M. Abdullah, and M. Othman, “Simulated Annealing Approach to Cost-Based Multi- Quality of Service Job Scheduling in Cloud Computing Enviroment,” American Journal of Applied Sciences, vol. 11, no. 6, pp. 872–877, Mar. 2014. [50] E. Torabzadeh and M. Zandieh, “Cloud Theory Based Simulated Annealing Approach for Scheduling in the Two Stage Assembly Flowshop,” Advances in Engineering Software, vol. 41, no. 10, pp. 1238–1243, Oct. 2010. [51] I. A. Moschakis and H. D. Karatza, “Multi-Criteria Scheduling of Bag-of-Tasks Applications on Heterogeneous Interlinked Clouds with Simulated Annealing,” Journal of Systems and Software, vol. 101, no. Supplement C, pp. 1–14, Mar. 2015. [52] Xi Liu and Jun Liu,” A task Scheduling Based on Simulated Annealing Algorithm in Cloud Computing”, International Journal of Hybrid Information Technology, vol. 9, Issue 6, pp. 403-412, 2016 [53] Chengfeng Jian, Yekun Wang, Meng Tao and Meiyu Zhang,” Time-Constrained Workflow Scheduling in Cloud Environment Using Simulation Annealing Algorithm”, Journal of Engineering Science and Technology Review, Vol. 6, Issue-5, 2013, pp. 33-37 [54] X. F. Deng, “A Dynamic Task Scheduling Strategy Based on mvfsa in Cloud Computing Environment,” Applied Mechanics and Materials, vol. 427–429, pp. 2596–2599, 2013. [55] X. Xu, L. Cao, X. Wang, X. Xu, L. Cao, and X. Wang, “Resource Pre-Allocation Algorithms for Low Energy Task Scheduling of Cloud Computing,” Journal of Systems Engineering and Electronics, vol. 27, no. 2, pp. 457–469, Apr. 2016. [56] X. S. Yang and S. Deb, “Cuckoo Search via Levy Flights,” World Congress on Nature Biologically Inspired Computing (NaBIC), 2009, pp. 210–214. [57] Nima Jafari Navimipour and Farnaz Sharifi Milani, “Task Scheduling in the Cloud Computing Based on the Cuckoo Search Algorithm”, International Journal of Modeling and Optimization, Vol. 5, No. 1, 2015, pp. 44-47. [58] H. Singh and R. Randhawa, “Cuckoo Search Based Workflow Scheduling on Heterogeneous Cloud Resources,” in 2017 7th International Conference on Cloud Computing, Data Science Engineering - Confluence, 2017, pp. 65–70. [59] M. Agarwal and G. M. S. Srivastava, “A Cuckoo Search Algorithm-Based Task Scheduling in Cloud Computing,” Advances in Computer and Computational Sciences, Springer, Singapore, 2018, pp. 293–299. [60] Sumandeep Aujla, Amandeep Ummat, “Task Scheduling in Cloud using Hybrid Cuckoo Algorithm”, International Journal of Computer Networks and Applications (IJCNA), Vol. 2, Issue 3, 2015, pp. 144-150. [61] Afrooz moradbeiky, Vahid Khatibi Bardsiri, “A Novel Task Scheduling Method in Cloud Environment Using Cuckoo Optimization Algorithm”, International Journal of Cloud –Computing and Super-Computing, Vol. 2, Issue 2, 2015, pp. 7-22. [62] M. Akbari and H. Rashidi, “A Multi-Objectives Scheduling Algorithm Based on Cuckoo Optimization for Task Allocation Problem at Compile Time in Heterogeneous Systems,” Expert Systems with Applications, vol. 60, no. Supplement C, pp. 234–248, Oct. 2016. [63] X.-S. Yang, A New Metaheuristic Bat-Inspired Algorithm, in: Nature Inspired Cooperative Strategies for Optimization (NISCO 2010) (Eds. J. R. Gonzalez et al.), Studies in Computational Intelligence, Springer Berlin, 284, Springer, 65-74 (2010). [64] T. L. Best, “Altringham, J. D. 1996. Bats: Biology and Behaviour. Oxford University Press, Inc., New York, 262 pp. ISBN 0-19-854075-2, price (hardcover), $65.00,” J Mammal, vol. 78, no. 3, pp. 986–987, Aug. 1997. [65] Navneet Kaura, Sarbjeet Singh, “A Budget-Constrained Time and Reliability Optimization BAT Algorithm for Scheduling Workflow Applications in Clouds”, 7th International Conference on Emerging Ubiquitous Systems and Pervasive Networks”, Procedia 98, pp. 199- 204. [66] T Sunitha Rani, Dr. Shyamala Kannan, “Task Scheduling on Virtual Machines Using BAT Strategy for Efficient Utilization of Resources in Cloud Environment”, International Journal of Applied Engineering Research, Vol. 12, Issue 17, pp. 6663-6669, 2017 [67] S. Raghavan, P. Sarwesh, C. Marimuthu, and K. Chandrasekaran, “BAT Algorithm for Scheduling Workflow Applications in Cloud,” 2015 International Conference on Electronic Design, Computer Networks Automated Verification (EDCAV), 2015, pp. 139–144. [68] Fereshteh Ershad Farkar, Ali Asghar Pourhaji Kazem, “Bi-Objective Task Scheduling in Cloud Computing Using Chaotic BAT Algorithm”, International Journal of Advanced Computer Science and Applications, Vol. 8, No. 10, pp. 223-229, 2017. [69] X. Huang, X. Zeng, and R. Han, “Dynamic Inertia Weight Binary BAT Algorithm with Neighborhood Search,” Computational Intelligence and Neuroscience, Vol. 2017, pp.1-15,2017, doi:10.1155/2017/3235720 International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 87 https://sites.google.com/site/ijcsis/ ISSN 1947-5500
  • 18.
    [70] V SureshKumar, Aramudhan, “Trust Based Resource Selection in Cloud Computing using Hybrid Algorithm”, International Journal of Computational Intelligence and Informatics, Vol. 4: No. 3, pp. 169-176, 2014. [71] E. Jafarnejad Ghomi, A. Masoud Rahmani, and N. Nasih Qader, “Load-Balancing Algorithms in Cloud Computing: A Survey,” Journal of Network and Computer Applications, vol. 88, no. Supplement C, pp. 50–71, Jun. 2017. [72] B. Raj, P. Ranjan, N. Rizvi, P. Pranav and S. Paul, “Improvised BAT Algorithm for Load Balancing Based Task Scheduling,” Advances in Intelligent System and Computing, vol. 518, pp. 521-530, 2018. [73] A. M. Manasarh and H. Ali, “workflow Scheduling Using hybrid GA-PSO in Cloud Computing,” Wireless Communications and Mobile Computing, vol. 2018, pp. 1-16, 2018. International Journal of Computer Science and Information Security (IJCSIS), Vol. 17, No. 5, May 2019 88 https://sites.google.com/site/ijcsis/ ISSN 1947-5500