Received: 26 September 2018 Revised: 17 January 2019 Accepted: 6 March 2019 DOI: 10.1002/cpe.5251 RESEARCH ARTICLE Workflow scheduling using Jaya algorithm in cloud Swati Gupta Isha Agarwal Ravi Shankar Singh Department of Computer Science and Engineering, Indian Institute of Technology (BHU), Varanasi, India Correspondence Swati Gupta, Department of Computer Science and Engineering, Indian Institute of Technology (BHU), Varanasi 221005, India. Email: swatigupta.rs.cse17@iitbhu.ac.in Summary Cloud computing is an on-demand service that can be accessed by a user according to his requirements through the Internet. Multiple users can request any amount of services, so scheduling of those services is a crucial task in cloud computing. Scheduling is a way of assigning the work to a computer resource. We have multiple tasks at a time that are waiting to be allotted to multiple computer resources. Various optimization algorithms have been used to do task scheduling so that total execution cost is minimized. In this paper, we have implemented Jaya optimization algorithm for workflow scheduling and have compared it with four nature-inspired algorithms, namely, particle swarm optimization (PSO), genetic algorithm (GA), ant colony optimization (ACO), honey bee, and cat swarm optimization (CSO), keeping the fitness function same for all of them using CloudSim. Previously, work has been done on PSO, GA, ACO, honey bee, and CSO using different criteria. The results are compared on the basis of execution cost and makespan of the algorithm on both an independent set of tasks and a set of tasks that follow a workflow schedule. Benchmark functions such as Montage, CyberShake, Inspiral, and Sipht are used for workflow scheduling. It has been observed that Jaya outperforms the other algorithms as it produces similar results in the least amount of time as it converges very quickly. KEYWORDS cloud computing, execution cost, independent task, Jaya, makespan, workflow scheduling 1 INTRODUCTION In today's era, the requirement of users has increased so much that all the resources cannot be accommodated at one place physically. Cloud computing 1 is a service that provides its users all the resources that can be accessed through the Internet on a cloud. In real time, we come across a lot of tasks to be completed with certain constraints like difficulty of the task, capacity of the person, completion deadline, etc. So, we make a schedule such that all the tasks are completed effectively and efficiently, keeping all the constraints in mind. In the world of computing, there are a lot of ready tasks that are waiting to be allotted to a set of available processors. These processors are hosted on a cloud. There are millions of users using the service, so the numberof requests received to use the resources of the cloud is very large. These requests have to be scheduled seeing the computation power, communication cost, task size, etc. Since we know that task scheduling is an NP-hard problem, we need certain algorithms for this allocation. There are various optimization algorithms that schedule the tasks optimally on the cloud. Figure 1 shows how the scheduling of tasks is done in the cloud. In the figure, there are n users that are sending requests in the cloud. These requests are tasks that have to be allotted to processors. The processors are the virtual machines (VMs) that are hosted by different hosts in the data center in the cloud. These VMs have different computation power. So, the tasks (the requests received by cloud from a user) have to be allotted or scheduled to VMs in such a way that the execution cost of running the tasks is minimized. The data center broker has the list of tasks and VMs. The VM scheduler assigns the task to a VM on which it is supposed to run such that the total cost is minimized. Optimization techniques are used to optimize the execution cost of task scheduling given some constraints such as the limited number of computer resources, their execution cost, and communication cost. The allocation of processors to a set of tasks is called a mapping. Figure 2 shows a sample mapping. From the figure, we can see that Task1 is allotted to PC1, Task2 is allotted to PC2, and so on. Nature inspires Concurrency Computat Pract Exper. 2019;31:e5251. wileyonlinelibrary.com/journal/cpe © 2019 John Wiley & Sons, Ltd. 1 of 13 https://doi.org/10.1002/cpe.5251