Main Article Content
An enhanced algorithm for scheduling dependent tasks in cloud computing environment
Abstract
Cloud computing is a model that aims to deliver a reliable, customizable and scalable computing environment for end-users. Cloud computing is one of the most widely used technologies embraced by sectors and academia, offering a versatile and effective way to store and retrieve documents. The performance and efficiency of cloud computing services always depend upon the performance of the execution of user tasks submitted to the cloud system. Scheduling of user tasks plays a significant role in improving the performance of cloud services. Accordingly, many dependent task scheduling algorithms have been proposed to improve the performance of cloud services and resource utilization; however, most of the techniques for determining which task should be scheduled next are inefficient. This research provided an enhanced algorithm for scheduling dependent tasks in cloud that aims at improving the overall performance of the system. The Dependent tasks were represented as a directed acyclic graph (DAG) and the number of dependent tasks and their total running time were used as a heuristic for determining which path should be explored first. Best first search approach based on the defined heuristic was used to traverse the graph to determine which task should be scheduled next. The results of the simulation using WorkflowSim toolkit showed an average improvement of 18% and 19% on waiting time and turnaround time were achieved respectively.