Abstract
1- Introduction
2- Related work
3- Workflow scheduling problem in cloud computing
4- Dynamic workflow scheduling problem
5- Experimental study
6- Results and discussion
7- Conclusions
References
Abstract
Workflow scheduling is a largely studied research topic in cloud computing, which targets to utilize cloud resources for workflow tasks by considering the objectives specified in QoS. In this paper, we model dynamic workflow scheduling problem as a dynamic multi-objective optimization problem (DMOP) where the source of dynamism is based on both resource failures and the number of objectives which may change over time. Software faults and/or hardware faults may cause the first type of dynamism. On the other hand, confronting real-life scenarios in cloud computing may change number of objectives at runtime during the execution of a workflow. In this study, we propose a prediction-based dynamic multi-objective evolutionary algorithm, called NN-DNSGA-II algorithm, by incorporating artificial neural network with the NSGA-II algorithm. Additionally, five leading non-prediction based dynamic algorithms from the literature are adapted for the dynamic workflow scheduling problem. Scheduling solutions are found by the consideration of six objectives: minimization of makespan, cost, energy and degree of imbalance; and maximization of reliability and utilization. The empirical study based on real-world applications from Pegasus workflow management system reveals that our NN-DNSGA-II algorithm significantly outperforms the other alternatives in most cases with respect to metrics used for DMOPs with unknown true Pareto-optimal front, including the number of non-dominated solutions, Schott’s spacing and Hypervolume indicator.
Introduction
Cloud computing is a large-scale heterogeneous and distributed computing infrastructure for the scientific and commercial communities, which provides high quality and low cost services with minimal hardware investments. Infrastructure-asa-Service (IaaS), Platform-as-a-Service (PaaS) and Software-as-aService (SaaS) are among the most popular service layers that cloud computing delivers over the internet. In this paper, we will mostly refer to IaaS, where the customers can access hardware resources, on which the applications can be deployed. Workflows are the common techniques to construct large scale compute and data intensive applications from different research domains. An application workflow is modelled with a directed acyclic graph where the nodes of the graph are tasks that are interconnected via compute or data resources. The workflow scheduling problem in cloud computing aims to map the tasks of a given application onto available resources [1–4]. It is an NP-complete problem [1], in which the orchestration of task executions is the main concern in order to optimize the objectives specified in QoS.