(IJCSIS) International Journal of Computer Science and Information Security, Vol. 18, No. 6 June 2020 Dynamic Three Stages Task Scheduling Algorithm on Cloud Computing Naglaa Sayed Abdelrehem Fathi Ahmed Amer Imane Aly Saroit Department of Information Technology Faculty of Computer and Artificial Intelligence Cairo University Cairo, Egypt Naglaasayed.fci@gmail.com fathi.amer.csis@o6u.edu.eg i.saroit@fci-cu.edu.eg Abstract— Scheduling process is one of the main challenges in cloud computing to manage and coordinate between tasks and their appropriate resources, to get the best and most efficient use of the available cloud resources. This paper proposes a cloud scheduling mechanism that works as a three- stage strategy. In the first stage, a task classification is performed using a job classifier to pre-create different types of Virtual Machines (VMs), which saves the time needed through the scheduling process to create these VMs and decreases failure rate. In the second stage, tasks are sorted based on their priority, and then check if their expected execution time is less than or equal to the deadline to indicate the state of the VM that satisfies the deadline constraint as successful and reject the tasks that can’t be executed within their deadline and save them in the database to be detected later. In the third stage, the tasks are paired dynamically with their matching VMs with minimum completion time. In order to evaluate the proposed protocol; a simulation is performed using the cloud sim plus simulator to simulate the proposed algorithm and compare it with the Min-Min standard algorithm and the two-stage scheduling algorithm to show that the proposed algorithm reduced the average waiting time, the average makespan, and failure rate and maximized the virtual machine utilization rate, task guarantee ratio and the VMs load balancing compared to the two other algorithms. Keywords- Cloud Computing; Scheduling; Virtual Machines (VMs), Makespan; Waiting time; Resource Utilization; Failure rate. I. INTRODUCTION Cloud computing is known as an on demand sharing of resources, services or infrastructure over the internet and paying only for what is used. Tasks are scheduled depending on the user different needs [1] [2]. To organize the resource usage on the cloud, and find the appropriate deployment method we need to find a suitable scheduling mechanism to get the efficient use of cloud resources with the minimum costs. The cloud scheduling process aims to define the most suitable deployment method to satisfy the user’s requirements and to help the service providers to get the highest economic benefits [3]. Many different cloud applications are received by the data center to get services using the pay-per-use policy. Attributed to the limited resources with different functionalities and different capacities on the cloud, Cloud scheduling has turned into a challenging process [4]. There are various scheduling algorithms suggested by different researchers to define the most convenient deployment method of the resources in the cloud [5] [6]. There are many tasks scheduled in different cloud environments with different Quality of Service (Qos) requirements [7]. Some of the suggested cloud task scheduling mechanisms aim to optimize the deadline [8]. Others suggested enhancements in the load balancing [9] [10]. Others suggested to optimize the quality of service requirements (Qos) and maximize the total revenue [11], or minimize the costs [12]. Others suggested to get the best service level agreement and the best energy consumption level [13] The cloud scheduling process became an urgent and sensitive matter to find the best deployment for cloud resources, which helps enhance the cloud overall performance, increase the quality of the service, minimize the costs and failure rate, maximize the utilization and total revenue. The main problems we face during the scheduling process is to find the most convenient pair of tasks and VMs to be matched with, the waiting times sometimes be too high and many tasks may access the system and waiting to be processed then fail as they exhausted the deadline constraint. In order to resolve this problem a new scheduling algorithm is introduced in this paper to organize the task and virtual machine mapping process; based on a dynamic three stage strategy where in the first steps it detects the common task and VM types based on a historical stored data set; which helps to predict and pre-create a convenient number of VMs based on the types in the database; this step saves the time needed to create the tasks during the scheduling process. The algorithm starts to receive dynamic task sets in the cloud, classify based on the historical database, checks first if the coming tasks can be executed within their deadline to follow the scheduling sequence, or 56 https://sites.google.com/site/ijcsis/ ISSN 1947-5500