An improved task scheduling algorithm for scientific workflow in cloud computing environment

As an emerging business computing model, cloud computing needs to deal with the scientific workflow submitted by user groups. How to efficiently schedule massive tasks of scientific workflow is an important problem in cloud computing. In order to minimize the total execution time of workflow, reduce the consume of cloud resources, reduce execution costs of users, a new task scheduling algorithm based on task duplication and task grouping is proposed in this paper. The new algorithm is composed of four steps. Firstly, the join nodes are duplicated, a DAG is converted into an in-tree graph, then all tasks are divide into task groups, it reduces communication overhead between tasks; then some task groups are merged by utilizing the idle time between tasks in a task group, it reduces the use of the processors; lastly, Assign the tasks to processors by making full use of the idle time of the processors, it increases resource utilization. The new algorithm is compared with TDS and TDCS by simulation platform CloudSim. The performance indicators for comparison include makespan of workflow, the number of used processors and resource utilization. The experiment results show that the new algorithm has a smaller makespan of workflow, fewer processors are used, and has higher resource utilization for both compute-intensive and data-intensive workflow, especially for data-intensive workflow, the new algorithm has obvious advantages on the three performance indicators.

[1]  Mansaf Alam,et al.  A relative study of task scheduling algorithms in cloud computing environment , 2016, 2016 2nd International Conference on Contemporary Computing and Informatics (IC3I).

[2]  Yuan Zhang,et al.  A Task Scheduling Algorithm for Multi-Core-Cluster Systems , 2012, J. Comput..

[3]  Keqin Li,et al.  Efficient task scheduling for budget constrained parallel applications on heterogeneous cloud computing systems , 2017, Future Gener. Comput. Syst..

[4]  Yongsheng Ding,et al.  Fault-tolerant elastic scheduling algorithm for workflow in Cloud systems , 2017, Inf. Sci..

[5]  Karnam Sreenu,et al.  W-Scheduler: whale optimization for task scheduling in cloud computing , 2017, Cluster Computing.

[6]  Dharma P. Agrawal,et al.  Optimal Scheduling Algorithm for Distributed-Memory Machines , 1998, IEEE Trans. Parallel Distributed Syst..

[7]  Hao Zhe,et al.  The Research on Resource Scheduling Based on Fuzzy Clustering in Cloud Computing , 2015, 2015 8th International Conference on Intelligent Computation Technology and Automation (ICICTA).

[8]  Xianfu Meng,et al.  A DAG Scheduling Algorithm Based on Selected Duplication of Precedent Tasks: A DAG Scheduling Algorithm Based on Selected Duplication of Precedent Tasks , 2010 .

[9]  P. Mell,et al.  The NIST Definition of Cloud Computing , 2011 .

[10]  Nguyen Hong Son,et al.  Load balancing algorithm based on estimating finish time of services in cloud computing , 2016, 2016 18th International Conference on Advanced Communication Technology (ICACT).

[11]  Xu Ji Task Scheduling Algorithm Based on Dual Fitness Genetic Annealing Algorithm in Cloud Computing Environment , 2013 .