# Introduction loud computing attracts increasing applications to run in remote datacenters. Many complex applications need parallel processing capabilities some of which show a decrease in CPU resources use. Whenever there is a parallelism increase, when jobs are not scheduled correctly, it reduces computer performance. Scheduling allocates tasks to available resources based on tasks' qualities and need [1,2]. The goal of scheduling is increased resource use without affecting cloud provided services. Scheduling efficiency mechanism in cloud computing depends on how efficiently it manages the processes and increases server performance as well as resources. Scheduling problems involve jobs that should be scheduled on machines subject to constraints to optimize a given objective function [3]. The goal is computing a schedule that specifies when and on which machine a job is to be executed. The scheduler in online scheduling receives jobs that arrive over time, and schedules them without any knowledge of the future. Cloud scheduling process is divided into 3 stages namely: a) Resource discovering and filtering-Datacenter Broker discovers resources in a network system collecting status information on resources. In Cloud computing, Task Scheduling algorithms aim to minimize tasks make span with minimum resources efficiently. Cloud computing, uses low-power hosts to achieve high usability. Cloud computing is a class of systems and applications that use distributed resources to perform a decentralized function [4]. Clouds computing, uses computing resources (service nodes) in networks to, ensure complicated tasks execution needing large-scale computation. Thus, node selection to execute a task in cloud computing is to be considered. Scheduling algorithms utilize better executing efficiency and maintain system load balancing. The cloud's efficiency depends on algorithms used for task scheduling. The job scheduling algorithm's advantage is achieving high performance computing and best system throughput [5]. Traditional job scheduling algorithms cannot provide scheduling in cloud environments. According to simple classification, job scheduling algorithms in cloud computing are categorized into 2 groups; Batch mode heuristic scheduling algorithms (BMHA) and online mode heuristic algorithms. Task scheduling algorithm maps jobs submitted to cloud environment to available resources so that in total response time, make span is minimized. A Max-Min algorithm feature is selecting the largest job and executing it on the fastest resource. The algorithm's drawback is its delaying execution of smaller jobs and indefinitely postponing smaller jobs execution because of the cloud's dynamic nature. The solution to this is improved Max-Min, which works well for a given set of jobs but, the dynamic cloud environment where jobs are submitted any time results in performance degradation. Min-Min algorithm first finds minimum tasks execution time and then chooses one with least execution time. The algorithm assigns the task to a resource with minimum completion time. The same is repeated by Min-Min, till all tasks are scheduled [6,7]. The algorithm's limitation is that it chooses smaller tasks first using up resources with high computational power. Conventional scheduling is infeasible in a cloud environment due to its dynamic, distributed, and sharable properties. Tasks resource allocation is to meet performance targets. Many jobs need resources while operating simultaneously [8]. It is important to balance jobs on appropriate resources for optimal performance and cloud's efficient working. So, varied task parameters are considered for scheduling. Available resources should be effectively used without affecting service parameters. Cloud environment system scheduling is NPcomplete. As users increase, tasks to be scheduled also increase proportionately. So, better algorithms to schedule tasks on such systems are required. Scheduling algorithms are service-oriented and vary in environments. To solve NP complete and NP hard problems, heuristic approaches are used. Heuristic techniques used are local heuristics, meta-heuristics and hyper-heuristics. Hyper-heuristics operate at a higher abstraction levels. Meta-heuristic techniques are expensive techniques needing knowledge in problem domain and heuristic technique. Evolutionary algorithms are based on species origin. Examples are Particle Swarm Optimization (PSO) and Genetic algorithm (GA). PSO is a parallel evolutionary computation technique and a heuristic search method inspired by biological populations swarming behavior [9]. Using PSO ensures a good performance. GA is a search heuristic that mimics natural evolution. It is routinely used to generate useful solutions for optimization and search problems. GAs belongs to a larger class of evolutionary algorithms, generating solutions to optimization problems with techniques from natural evolution like inheritance, selection, mutation, and crossover [10]. PSO algorithm has many advantages like easy realization, high flexibility, strong robustness, and scalability due to which it solves many combinational problems. But, its disadvantages are low convergence rate when solving large scale optimization problems and easily sinking into local optima due its randomicity [11]. PSO is good in an initial phase but when going through iterations convergence rate becomes low and particles lose variety. There is need for an algorithm to offset these issues and so this study proposed a hybrid algorithm where PSO combines with GA i.e. GAPSO algorithm ensuring better results due to the properties of both. The remaining sections of this paper are organized as follows: Section 2 reviews related work, Section 3 explains the methodology. Section 4 discusses experimental results and Section 5 concludes the work. # II. # Related Works A hybrid task scheduling algorithm based on combining plus points of bio-inspired algorithms like Ant Colony Optimization (ACO) and Artificial Bee Algorithm (ABC) was proposed by Madivi and Kamath [12]. The strong points of both algorithms are incorporated to optimize task scheduling in a cloud algorithm. It is observed that the new algorithm ensured an improvement of about 19% compared to default FCFS scheduling strategy, 11% better than ABC algorithm and was 9% better than conventional ACO based task scheduling. A Hybrid algorithm combining advantages of ACO and Cuckoo search was proposed by Raju et al., [13]. The makespan is lowered by the hybrid algorithm, as jobs were executed in a specified time interval by required resources allocation using the Hybrid algorithm. Results showed that Hybrid algorithm performed well when compared to ACO algorithm regarding performance of algorithm and make span. The advantage of Multi-Agent Genetic Algorithm (MAGA) a hybrid of GA, whose performance is superior to traditional GA was proved by Zhu et al., [14]. MAGA solved load balancing in cloud computing by designing a load balancing model based on virtualization resource management. Experiment results comparing MAGA with Minimum strategy proved that MAGA achieved better load balancing performance. The performance of Hadoop schedulers including FIFO and Fair sharing was analyzed by Rasooli and Down [15] comparing them with a Classification and Optimization based Scheduler for Heterogeneous Hadoop (COSHH) scheduler, developed by the authors. A hybrid solution was introduced, based on insights which selected appropriate scheduling algorithms for scalable and heterogeneous Hadoop systems regarding number of incoming jobs and available resources. A new parallel hybrid evolutionary algorithm to solve issues of virtual machines subletting in cloud systems was presented by Iturriaga et al., [16]. It deals with allocation of a set of Virtual Machine (VM) requests from customers to available pre-booked resources from a cloud broker, to maximize broker profit. The new parallel algorithm used a distributed subpopulations model, and a Simulated Annealing operator. Evaluation analyzed profit and makespan results of the new methods over a set of problem instances accounting for realistic workloads and scenarios with real data from cloud providers. A comparison with greedy heuristics revealed that the new method computed solutions with up to 133.8% improvement in profit values, while ensuring accurate make span results. A hybrid batch job scheduling method for grid environment combining GA and PSO techniques to reduce makespan and flow time was proposed by Dehghani Zahedani and Dastghaibyfard [17]. Results showed a reduced make span in 7 of 12 instances of Braun workload compared to Min-Min, Max-Min, and discrete PSO algorithms. A hybrid scheduling method that computed 5 different schedules, based on a combination of two resource selection rules with 4 job selection rules using the best of the five was proposed by Ashraf and Erlebach [18]. Simulation of workflow scheduling in an advance reservation environment conducted with GridSim revealed that the new hybrid scheduling method achieved makespan improvement of up to 25.5% on benchmark workflows, compared to earlier methods. A hybrid algorithm, ant colony system and GA to solve job scheduling issues was proposed by Alobaedy and Ku-Mahamud [19]. The high level hybridization algorithm ensured the identity of the algorithm performing scheduling tasks. The new study focused on static grid computing environment and metrics for optimization are makespan and flow time. Results showed that the new algorithm outperformed other stand-alone algorithms like ant system, GA and ant colony system for makespan. But for flow time, ant system and GA performed better. A new updating mechanism for discrete PSO that directly used discrete solutions from personal and global best particles was proposed by Nguyen and Zhang [20]. A new local search heuristic was proposed to refine solutions found by PSO. Results showed that hybrid PSO is more effective than current PSO methods in literature when tested on 2 benchmark datasets. The efficient hybrid method suited handling large-scale problem instances. Map Reduce HPSO-GA based on Map Reduce parallel programming model presented by Sadasivam and Selvaraj [21] yielded better results than normal PSO providing better load balancing and resource use in grid environment. It identified the node to which a task is assigned in a Hadoop cluster. So, the new approach could be used in Hadoop resource management system with Hadoop and system parameters to schedule jobs in a Hadoop cluster. A hybrid job scheduling approach, which considered system load balancing and reduced total execution time and execution cost was presented by Javanmardi et al., [22]. The proposed work's goal was assigning jobs to resources considering VM MIPS and jobs length. The new algorithm assigned jobs to resources considering job length and resource capacity. Performance was evaluated with famed cloud scheduling models. Results showed the proposed approach's efficiency regarding execution time, execution cost and average degree of imbalance. # III. # Methodology In this work, a hybrid algorithm for cloud scheduling is proposed. It is based on PSO and GA. In the hybrid algorithm PSO combines with GA i.e. GAPSO algorithm ensuring better results. a) Genetic Algorithm (GA) GA is a meta-heuristic technique solving optimization problems by imitating natural selection; i.e., the adaptation to an environment performed by living beings [23]. GA is an appealing approach to solve a complex problem. GA determines not one solution but a whole 'population' of 'individuals,' which are candidate solutions to a problem. Each individual's distinctive features are coded into a 'chromosome' which is a string of genes, whose values are chosen from a set of symbols. GAs are stochastic search methods managing a population of simultaneous search positions. A conventional GA has 3 essential elements: ? a coding of the optimization problem # ? a mutation operator ? a set of information-exchange operators GAs evaluate target function to be optimized at randomly selected points of a definition domain. Considering this information, a new set of points (a new population) is generated. Gradually the population approaches a function's local maxima and minima. The GA's pseudo code is given below [24]. PSO, like other evolutionary computation techniques is a population based search algorithm initialized with a population of random solutions, called particles. Unlike other evolutionary computation techniques, a PSO particle is associated with velocity. Particles fly through search space with velocities, dynamically adjusted according to their and swarm's historical behaviors. So, particles fly towards better and better solutions in a search process. PSO algorithm is simple in concept, easy to implement, and efficient computationally. The PSO algorithm's updating rules are listed as [25]. The PSO algorithm consists of just three steps, which are repeated until some stopping condition is met [26]: 1. Evaluate the fitness of each particle 2. Update individual and global best fitness and positions # Update velocity and position of each particle The first two steps are fairly trivial. Fitness evaluation is by supplying a candidate solution to an objective function. Individual and global best fitness and positions are updated by comparing newly evaluated fitness against earlier individual and global best fitness, and replacing best fitness and positions as needed. The PSO algorithm is summarized as follows [27]: 1. Initialize the swarm X i , the position of particles are randomly initialized within the hypercube of feasible space. 2. Evaluate the performance F of each particle, using its current position X i (t). 3. Compare the performance of each individual to its best performance so far: if F(X i (t))