International Journal of Innovations in Engineering and Technology (IJIET) http://dx.doi.org/10.21172/ijiet.154.06 Volume 15 Issue 4 March 2020 29 ISSN: 2319-1058 A Survey on Task Scheduling Algorithms in Cloud Computing O.S. Abdul Qadir 1 , Dr. G. Ravi 2 1 Research Scholar, Computer Science 2 Associate Professor & Head, Department of Computer Science Jamal Mohamed College (Autonomous) (Affiliated to Bharathidasan University) Tiruchirappalli, Tamil Nadu, India Abstract- Cloud computing is a controlled model that defines computing services, in which data and resources are retrieved from the cloud service provider through the internet with the help of web-based tools and functions. It is a collection of resources and services shared together and are provided to the users on pay-as-you-go model. An efficient task scheduling algorithm is required, for mapping the resources with tasks. A Heuristic based algorithm is used to attain the optimal or near optimal solution of task scheduling in the cloud environment. In this paper, various types of task scheduling algorithms in cloud computing have been discussed. Keywords – Cloud Computing, Task Scheduling, Heuristic, Optimal Solution I. INTRODUCTION Cloud computing is a paradigm that facilitates convenient, ubiquitous, on-demand broad network access to configurable computing resources that can be immediately provisioned and released with minimum management effort [1]. Cloud computing is a computing environment, in which there will be many resources that provide services to users in the Internet. These available resources execute the scheduled tasks in the cloud environment. There are three services associated with Cloud computing. They are Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS). It is the distributed computing in which the tasks to resources will be distributed in some way to facilitate communication and sharing the available resources. Scheduling is mapping the tasks to the available and selected resources based on requirements. The overall performance of cloud computing should be enhanced by reducing the completion time of all the tasks. Scheduling is one of the important features of cloud computing. A fair scheduling will improve the performance of the cloud system. The aim is to reduce the makespan and increase the utilization of resources. Task is a piece of work to be executed in a specified time [2]. Task scheduling is the process of assigning tasks to resources for the specific time for that task to be completed. The tasks are distributed over resources in an appropriate manner such that necessary preferences between tasks are met and total time needed to execute all tasks is minimized. Proper task scheduling improves efficiency and performance of cloud environment. In order to achieve high performance, parameters like execution time of all tasks, resource utilization, etc., are considered. The rest of the paper is organized as follows. In section II the types of scheduling in cloud systems is described. Section III presents the literature study on various heuristics and meta-heuristics task scheduling algorithms. The Section IV gives an introduction about the Expected Time to Compute (ETC) matrix. In Section V the comparison of the six algorithms is tabulated and finally in Section VI the conclusion is presented. II. TYPES OF SCHEDULING Different types of scheduling techniques are found in Cloud systems since applications could have different needs such as batch mode or immediate mode, dependent task or independent task. On the other hand, the Cloud computing environment characteristics themselves impose restrictions such as dynamism, use of local schedulers, centralized or decentralized approach, etc. The local scheduling policy determines how the processes resident on a single CPU are allocated and executed. The global scheduling policy uses information about the system to allocate processes to multiple processors to optimize a system-wide performance. Cloud scheduling falls into the global scheduling policy.