Quality of Service (QoS) Aware Workflow Scheduling (WFS) in Cloud Computing: A Systematic Review

Workflow scheduling concerns the mapping of complex tasks to cloud resources by taking into account various Quality of Service requirements. In virtue of continuous proliferation in the exploration of cloud computing, it has become stringent to find the proper scheduling scheme for the execution of workflow under user specifications. Moreover, till date, there exists no systematic review of the existing numerous techniques for this NP-complete problem in the cloud. Taking this into account, the present study seeks to address this gap and spotlights the comprehensive taxonomy of various scheduling schemes as well as extensively compares them by illuminating their objectives, features, merits, and demerits. This paper also highlights the future research challenges with an aim to foster more research in the realm of workflow scheduling as an optimization task.


Introduction
In the present days, the workflow scheduling (WFS) is considered as one of the eminent issues in distributed computing which allows the mapping of inter-dependent tasks to virtual machines (VMs) in such a way that the execution of workflow application gets completed within the specified Quality of Service (QoS) requirements. Basically, in cloud, the services like Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) are consumed by the users on the basis of Service Level Agreement (SLA) with the help of QoS constraints [1]. In general, a workflow is a flow of complex tasks that are bounded together through dependen-  [2]. Moreover, workflows have particular constraints in terms of deadlines, resource utilization, etc., whereas in other schedulings, decision is taken to order the execution of independent tasks which have no relationship with each other. Individual tasks may have priorities or may need specific resources. It includes "e-science" and "e-business" like various complex applications [3]. Probing further, the workflow has a wide range of applications that can be programmed in distributed computing environments like cloud and grid [4]. Moreover, it has been acknowledged from the previous studies that many researchers have been shifted towards cloud computing in order to achieve high performance by virtue of which, this literature review mainly spotlights the survey incorporating WFS issues in cloud environment without neglecting the role of grid computing techniques in WFS.

Motivation
With the emergence of cloud computing area, the WFS is gaining more consideration. Also, the evidence of this can be found in the literature in form of various surveys. Masdari et al. [2] have reviewed different algorithms like Heuristic, Meta-heuristic and Hybrid by considering numerous QoS constraints but they have just mentioned the basic information of algorithms and have missed the detailed information such as pros and cons of various approaches. On the other hand, Arya et al. [5] have presented a sur-vey of WFS algorithms without any knowledge about QoS constraints, Scheduling strategies, types of workflows and different schemes. Therefore, in order to entirely cover up the knowledge of WFS schemes, numerous algorithms, QoS constraints, scheduling strategies, types of workflows, and positive results and loopholes of different algorithms in cloud computing and grid computing (to some extent), it is mandatory to provide the practitioners and researchers an up-to-date state-of-the-art research as well as guide them to figure out relevant studies of their own needs with regard to QoS-based WFS, their challenges, aspects and parameters. As a result, this literature review elucidates a meticulous knowledge of all the above-mentioned areas in a single paper. Specifically, the authors aim at a finer level of granularity in classifying the WFS schemes based on single-objective and multi-objective optimization. The outline of the present study can be fairly explored from Fig. 1, and a list of abbreviations used in this literature review with interpretations can be seen in Table 1.

Systematic Review Process
In this subsection, a clear description of all the phases for conducting this review has been discussed, which explains how the existing research is identified, evaluated and interpreted with regard to a specific topic or an area of interest. Firstly, the research questions are defined to evaluate whether the objectives of present study will be achieved or not. Subsequently, the quest approach is devised to maximize the possibility of discovering relevant research results as well as some segregate criteria are made to include or exclude particular research articles from the review process. Finally, all the data are collected to relate in a meaningful way and are synthesized to answer all the research questions.

Research Questions (RQ)
While planning this review, a set of research questions were framed which are listed as follows, and the answers to which will be provided by the subsequent sections. RQ 1. What are the gaps in existing workflow scheduling approaches? RQ 2. Which workflow scheduling algorithms perform better for application specific QoS constraints? RQ 3. Which existing heuristic, meta-heuristic or hybrid techniques do support WFS? RQ 4. Why researchers are shifting towards new scheduling strategies? RQ 5. What do numerous future perspectives exist in the WFS?

Quest Approach (QA)
For conducting this review, a quest approach has been devised in such a way that it results in the wide-ranging and unprejudiced solutions from the literature related to different RQs. The relevant publications related to cloud computing, optimization, workflow, scheduling, heuristic techniques, metaheuristic and hybrid optimization techniques are leveraged.
For the sufficient scope of each quest area, the alternative words of each term as well as the abbreviations are also extensively explored during the review process.

Sample Segregation Strategy (SSS)
This strategy is essential to identify the aptness and unsuitability of existing research articles for addressing the research questions. Almost 300 papers from the year 2000 to year 2018 have been reviewed out of which nearly 150 are included that relate to Workflow Scheduling, Optimization Problem, Types of Scheduling Problems, Task Scheduling in Cloud, QoS constraints, Heuristic Scheduling Schemes, Meta-heuristic Scheduling schemes and Hybrid Schemes , whereas the researches related to scheduling schemes used specifically in operating system and parallel computing environment are wholly excluded from the review process.

Data Elicitation and Organization (DEO)
During DEO activity, the comprehensive systematic Tables 3,  4 and 5 are created to record as well as correlate the elicited information, and further organize the suitable and sufficient information for answering the targeted RQs.

Target Audience
This survey is intended for readers who are interested to acquaint with the techniques for scheduling workflows specifically based on QoS constraints. Also, the researchers with a wide variety of backgrounds in, for example, Distributed Computing, Cloud Computing, Big Data, Hadoop, and Parallel Computing may get profit by learning how workflows can be scheduled using techniques inspired by the past many decades of research. Furthermore, the experts in metaheuristic and heuristic optimization techniques may also be lured by the comprehensive description of the roles of these techniques in cloud computing as diverse workflow scheduling schemes.

Organization of Paper
The rest of the paper is organized as: Sect. 2

Workflow
Workflow is the execution and automation of an orchestrated and repeatable pattern of business processes where tasks, information or documents are passed from one partici-  pant to other for specific action. Corporations use workflows to coordinate tasks between people and synchronize data between systems, with the aim of enhancing corporational efficiency, responsiveness and profitability [6]. Workflow applications are generally represented as a DAG. A DAG (D = T , E) is a graph having dependencies between the tasks, in which no child task can be executed until all its parent tasks have completed their execution successfully [3]. Figure 2 demonstrates a DAG: D = (T , E) where, T is a set of tasks (T 1 , T 2 , T 3 , . . . , T n ) and E is the set of edges (E1, E2, E3, . . . , Em) that indicates the dependencies between the tasks [7]. Workflow scheduling is one of the key issues in the management of workflow execution. Basically, the workflow scheduling interprets the execution of workflows on well-suited resources by satisfying the QoS requirements [1]. There are basically two types of workflows that are discussed as follows [2]: 1. Simple workflow It defines the execution of any simple job in which the set of tasks are represented in form of DAG as shown in Fig. 2. 2. Scientific workflow It includes the huge amount of complex data in the form of thousands of tasks that are represented as a DAG [8]. The several real-world examples of workflow on the basis of scientific applications are demonstrated in Fig. 3, which are also briefly discussed in Table 2 [9,10].

Scheduling
Scheduling is a course of action to deal with the mapping of tasks on well-suited resources with specified user constraints. The classification of scheduling strategies is shown in Fig. 4 [11].
1. Static In this, the mapping and scheduling of tasks are completed before the execution of workflow jobs [7]. Also, no run-time fault tolerance and failure recovery is considered in static scheduling. 2. Dynamic In this type of scheduling, an information of job components is not known before and the updations in schedule like allocation of resources to incoming tasks, execution time, etc., can be done in run-time. So, the decisions are made in real time [12]. 3. User level In this, the scheduler manages the problems that are proposed by the service provision between the users and providers. It is efficient where market-based resources are virtualized and delivered to user as a service. 4. System level This type of scheduling tackles the resource management within the data centres and it appreciably impacts the performance of data centre. 5. Online or immediate mode In this, the scheduling of tasks to specific resource is done at the same time when the scheduler receives it without any delay [13]. 6. Offline or Batch mode In this, the scheduler gathers the incoming tasks and assigns them to the resources after doing observation at some prescheduled time [13]. 7. Pre-emptive It defines that the execution of currently on-going task is interrupted on temporary basis with the appearance of any high priority task and the interrupted task will be executed later [14]. 8. Non-pre-emptive It does not allow the suspension of any task and reschedules it later on [14]. If any task enters the queue, then it has to wait until the current task finishes its execution. 9. Centralized In this scheduling type, the master processor unit gathers all the tasks and sends them to other processing units and a dispatch queue is preserved for every processor [15]. 10. Distributed This type of scheduling involves no central control unit. So, it is the responsibility of local schedulers to handle the incoming requests and give updations to all other processors to maintain their status [16].   11. Cooperative In this, there must be collaboration between all the processors while scheduling to attain the common goal [17]. A cooperative scheduler allows tasks to be scheduled through the use of a periodic timer that creates a system tick and it executes tasks that occur at a time periodic

QoS Constraints
It has been interpreted from various workflow scheduling schemes that the predominant challenge in WFS is to satisfy It defines the price that the users have to pay for scheduling their workload on the resources provided by the cloud providers [19] 3 Throughput It is the total number of user requests that are completed within a specified time period [20] 4 Reliability It defines that how many tasks are executed successfully from the total number of tasks with the help of service provided to the user [21] 5 Resource utilization It defines the proper usage of resources that are provided to the user for scheduling the workload by utilizing the idle time gaps [22] 6 Turnaround time It defines the difference between the completion time of the task and the time at which the task is submitted [23] 7 Success rate It defines that how many workflows are executed within the user-defined constraints from the total number of submitted workflows [24] 8 Tardiness It describes the delay in execution of workflow task means that the completion time of task goes beyond the estimated due time [25] 9 Resource availability It defines the number of available resources for mapping the tasks to reduce the task failure rate [26] 10 Load balancing It defines to eschew the burden of cloud resources, a scheduler should optimize the utilization of resources [2] 11 Response time It defines the time duration between the arrival of task and the completion of task [27] 12 Budget It defines the cost that is approved by the user for specific time period to get hold of the cloud resources [28] 13 Deadline It defines the user-specified time bounds within which the workflow should be executed [29] 14 Waiting time It defines the time elapsed between the ready time of task to the actual initiation of task [30] 15 Execution time It defines the time taken by the resource to execute the job when it starts executing on the resource [18] 16 Security It defines a protected scheduling by a secure scheduler to diminish the effects of security attacks that are done by the attackers by misusing the cloud services [2] the user requirements. QoS constraints are specified by the user as per their requirements for workflow scheduling. The authors' acknowledge thirteen QoS constraints from literature which are described in Table 3.

Workflow Scheduling as Optimization Problem
Workflow scheduling in cloud computing is an NP-complete optimization problem. An optimization problem can be stated as: Let T be the finite set of tasks T i (1 ≤ i ≤ n) and S be the finite set of schedules S i (1 ≤ i ≤ n), each containing all the tasks from set T . The best workflow schedule S i is chosen based on the constraint or objective 'O', whether it is to be minimized (Eq. 1) or maximized (Eq. 2), such that To attain an optimal solution for WFS problem in cloud and grid environment, there are numerous criteria that can be optimized by exploring different algorithms. All the optimization goals are mentioned in Table 3, and the algorithms which worked on single criteria, bi-criteria and multi-criteria are mentioned in Sect. 4. There are basically two types of optimizations: • SOP A general single-objective optimization problem is defined as minimizing (or maximizing) O(x) objective function. A solution minimizes (or maximizes) the scalar O(x) where x is an n-dimensional decision variable vector X = (x 1 , . . . , x n ) from some universe . • MOP The MOP problems deal with the task of simultaneously optimizing two or more conflicting objectives with respect to a set of certain constraints. Suppose the different objective functions are designated as where k is the number of objective functions in the MOP being solved; and the general objective function is represented by Eq. 3: The authors have acknowledged that the researchers are moving towards new scheduling schemes as they do work by considering more than one QoS constraint under different user specifications; and this statement targets the RQ4.

Taxonomy of Workflow Scheduling Schemes
Workflow scheduling can be broadly classified into heuristic, meta-heuristic and hybrid schemes as per the authors' literature survey. The classification of workflow scheduling schemes is shown in Fig. 5 with their standard algorithms. Considering RQ3, most of the researchers focus on the following techniques to schedule the workflow in distributed environment:

Heuristic Algorithms
Heuristic means "to discover by trial and error". So, this category of algorithms includes the algorithms that can provide solutions of an optimization problem in a reasonable amount of time, but there is no guarantee that optimal solutions are reached. This is good when we do not necessarily want the best solutions rather good solutions which can be reached easily [31]. As per authors' knowledge, these algorithms have been widely used by the previous researchers.
• HEFT Topcuoglu et al. [32] have used HEFT and CPOP algorithm with fixed number of processors having different configurations. The selection of tasks by HEFT is on the basis of rank strategy while doing sorting of tasks that help in minimizing the earliest finish time and generates feasible results for DAG related issues. • HCOC Bittencourt et al. [33] have presented an algorithm known as HCOC that can execute the workflow in hybrid clouds by increasing the speed of execution and decreasing the cost of execution. HCOC follows two prominent steps: firstly, an "initial schedule" of the workflow is generated with the aid of private cloud. Secondly, comparison of makespan with deadline is done. On the basis of these, tasks and the resources on which they are scheduled or rescheduled are selected. They have concluded that HCOC is robust and can provide efficient results on comparison with greedy algorithms.
• Qsufferage algorithm Weng et al. [34] have presented an algorithm Qsufferage for the scheduling of "Bag-of-Tasks" related problems that is created with "independent tasks". Moreover, this application includes the tasks that are waiting for the execution and can be sorted in any order. In addition to this there is no need of "inter-task communication". Qsufferage works on three essential steps that are: "computation of expected execution time of each task on each host", "sufferage value of each task is calculated" and the last is "to find out the task having highest sufferage value and hand over this task to equivalent host". They have concluded that when size of input data is changed, Qsufferage provides efficient results in terms of makespan and response ratio. • PCP Abrishami et al. [35] have proposed an algorithm known as PCP, in order to schedule the workflow while satisfying the QoS constraints. PCP basically works on two stages that are deadline distribution and planning stage. At first stage, "overall deadline of the workflow is distributed on individual tasks", in such a way that the entire execution of workflow is completed before its specific deadline. In next stage, "planner" is used for the selection of low-priced resource for every task that meet up its subdeadline. The intention of PCP is to arrange the workflow in such a way that it will satisfy the requirements of user and bring out the results at low price. • SHEFT Lin et al. [36] have proposed this algorithm that extends the HEFT algorithm. They have included the concept of clustering and evaluate their proposed algorithm by doing simulation. In clustering, resources having the similar "computing capability" are grouped to form a cluster. Moreover, all the resources are partitioned in distinct number of clusters. SHEFT is used after "task prioritizing" to map the given workflow on "bounded number of processors". The results have concluded that the performance of SHEFT is more effective than HEFT in terms of makespan and also provision dynamic resources within workflow execution. • MOLS Fard et al. [37] have proposed an algorithm that is based on static list scheduling algorithm known as MOLS. They have applied a dual approach that is to maximize the "distance to constraint vector" for dominating solutions and to minimize it if not and evaluated their proposed approach for four different objectives that are execution time, cost, reliability and energy consumption. They have divided MOLS algorithm into three stages: "Constant vector partitioning", "Activity ordering" and "Activity mapping" and concluded that MOLS creates efficient solutions than "Bi-criteria scheduling heuristic" and "Bi-criteria GA". • PCH Bittencourt et al. [38] have used the PCH that is the combination of clustering and list scheduling heuristics. In PCH, "clustering scheme" is used to generate  clusters of tasks. However, "list scheduling heuristics" is used for the selection of tasks and resources. They have used it for more than one workflow in which they have not done any biasing while allocating the processors to all workflows for scheduling and apply four differ-ent approaches: "Sequential", "Gap search", "Interleave" and "Group DAGs" that are used for scheduling of multiple workflows and evaluated it on the basis of makespan and fairness and also analyzed that less work is done in scheduling of multiple workflows.
• Min-Min, Max-Min, Random, Sufferage and HEFT Lopez et al. [39] have examined these five heuristic algorithms while using static and dynamic scheduling schemes. For the evaluation of all these heuristic algorithms, they have considered some features that are "Number of machines", "DAG" and "Variation" and examined the sensitivity to inaccurate completion time of all these heuristics. • Iterative Ordinal Optimization (IOO) Zhang et al. [40] have presented a technique that is related to IOO. They have also discussed about Monte Carlo and Blind-Pick techniques and compared these two techniques with the presented IOO. To shrink the search area and to decrease the overhead, IOO is used. In Monte Carlo, feasible schedules are created under "heavy scheduling overhead". They have demonstrated that the performance of IOO is very effective for run-time workflow applications like LIGO. • WMTG-min and WMTSG-min Jinquan et al. [41] have presented these two algorithms in which WMTG-min is used to achieve high throughput. WMTSG-min has done some enhancements in sufferage algorithm, whereas the main motive behind "Sufferage algorithm" is that superior scheduling can be done by "mapping a resource to a task that would suffer most in terms of execution time if that specific resource is not assigned to it". It is concluded that their algorithms outperform in terms of makespan and time complexity. • HHSA Tsai et al. [42] have presented an algorithm known as HHSA that focused on raising the diversity detection operators so that the "intensification" and "diversification" for finding the results have to be improved.
The results have concluded that the convergence rate of HHSA is better for mapping the resources to workflow tasks and improves the capability to schedule the problems. • CEVAET Zhu et al. [20] have proposed an algorithm that is CEVAET which includes two stages that are described in [20]. At first stage, "topological sorting" is inculcated for the determination of mapping and scheduling is done on the basis of least "End-to-End Delay (EED)". In the next stage, there is an enhancement in the "resource utilization rate" by plummeting the overhead of VM. They have worked on cost and makespan and concluded that their proposed algorithm is effective in terms of both specified objectives. • Sufferage Min Han et al. [43] have presented this algorithm in which they have divided the QoS objectives in two different stages that are "High QoS level" and "Low QoS level". To bolster this algorithm, at first step, sufferage number is computed for every task before the execution of scheduling and sorting is done according to maximum sufferage value. Sufferage value is calcu-lated by subtracting the "next earliest completion time with the earliest completion time". Moving ahead, at second step, "min-min approach" is applied. They have compared the Sufferage Min algorithm with QoS Guided Min-Min heuristic and results show that Sufferage Min provide better results than QoS guided Min-Min in terms of execution time. • EDF_BF_IC Stavrinides et al. [44] have used EDF to propose an algorithm known as EDF_BF_IC with two main aims: (i) to assure that the execution will be completed within user-defined time period and (ii) to accomplish the workflow in less time and at low cost.
In the imprecise computation scheme, "a real-time application" is used to get intermediate (imprecise) solutions of poorer, however, of satisfiable quality, "when the deadline of application can not meet". They have also examined the QoS constraints and concluded that the proposed strategy generates good results. • BDHEFT Verma et al. [9] have proposed this technique that is an extension of HEFT. In BDHEFT, they have considered both the time and cost under budget and deadline QoS constraints. BDHEFT is divided into two stages that are "Service level scheduling" and "Task level scheduling. They have considered five workflow applications and on the basis of two parameters that are "NSC" and "NSL" they have done the comparison of BDHEFT with BHEFT and concluded that BDHEFT creates better results than BHEFT in terms of makespan and cost under budget and deadline constraints. • MQMW Xu et al. [45] have offered a method that is MQMW to deal with more than one workflow at a time while satisfying all the QoS constraints. In this scheme, the tasks are organized in a specific order and the sorting is done on the basis of "minimum available service number", "least time and cost" and "minimum covariance". They have used this method to enhance the performance of scheduling and the results of MQMW and RANK_HYBD are compared and concluded that their method is effective in terms of execution time and cost. • DBD-CTO Verma et al. have proposed an algorithm in [46] to reduce the cost and time to execute the schedule and have also considered dynamic rescheduling. In DBD-CTO, the first and foremost aim is to find out the accessible services and ask for "QoS parameters of services for each task". After this step, they have started the workflow partitioning and computation of smallest completion time and cost of every task. Moving further, they have done the distribution of "user's overall deadline and budget" on the basis of some rules. At last, a specific resource is selected for the execution of task in such a way that the execution is finished within deadline and budget. It is demonstrated that the proposed algorithm helps in creating effective schedule in terms of deadline and budget. • QSMTS_IP Dogan et al. [47] have presented an algorithm QSMTS_IP to handle the issues regarding QoS constraints in scheduling and considered the viewpoints of both the users and system in terms of QoS constraints. At the end, they have concluded that their algorithm is efficient in providing requirements to more than one user at the same time. • FCFS, Random and Backfill Hamscher et al. [48] have discussed the different heuristic algorithms like FCFS, Random and Backfill. For evaluation of these algorithms, they have done simulation. In FCFS, the tasks are scheduled and executed in "order of their submission". Moreover, if at present, the machines are not vacant then scheduler should have to wait till the starting of job. In Random algorithm, the selection of subsequent job for scheduling is done on random basis, due to this, the scheduling is "non-deterministic". Apart from this, in random technique, there is no preference for jobs. However, Backfill algorithm is also considered as "outof-order version of FCFS" that aims to avoid needless idle time that is due to wide-jobs. Table 4 presents a comparative analysis of different heuristic algorithms that were used by the researchers to handle the problems regarding workflow scheduling also it presents a year-wise systematic review of various heuristic algorithms with their advantages and disadvantages which target RQ1 and RQ2. Also, it incorporates the sources of papers with their citations.

Meta-heuristic Algorithms
The Meta word means "beyond" or "higher level" and generally, the meta-algorithms perform better than simple heuristics, with the use of certain trade-off of randomization and local search. Here, the randomization provides good solutions to escape from local search, and therefore all meta-heuristic algorithms intend to be suitable for global optimization [31].
• PSO Pandey et al. [62] have considered PSO for run-time WFS to find out the global optimum solution of computational and communication costs. For optimized solutions two factors are utilized: one is the specific scheduling heuristic method, whereas other is the PSO used to get optimized results for "task-resource mapping". • RDPSO Wu et al. [63] have proposed a PSO-based algorithm known as RDPSO in which every solution is defined in pairs of task-service set. In this, Greedy Randomized Adaptive Research Procedure (GRASP) is used for initial optimized population of swarms. Then, a three-step procedure is followed to create new location of swarms. At first stage, particles having higher probability are selected from "gbest and pbest". In the next step, because of "discrete property" of scheduling, there are not that much optimized pairs of gbest to produce new location, due to this individuals will learn from its "previous location" and in third step, the tasks that are not mapped should select the resources from other optimized pairs. It is concluded that RDPSO outperforms PSO in terms of cost minimization. • PSOi Thanh et al. [64] have proposed an algorithm known as PSOi that is a new variant of PSO to solve workflow scheduling issue. PSOi includes some strategies that improve the optimal solutions by not getting stuck in local optima. It uses one new method known as "Inverse" for the movement of particles to a new space. Moreover, PSOi assists in updation of particle's location after every iteration.  [67] that focused resource provisioning while considering more than one objective like cost, makespan and utilization of resources and also discussed about the idea of "PARETO OPTIMALITY" in which from the group of solutions to multi-objective issue, the Pareto optimal set is "the set of solutions that are not dominated by any other solution in the whole group". The "Pareto-optimal set" gives permission to user for normalization of objective function values. In addition to this, MOGA works on "objective variables space" which means it determines the fitness of "allocation cost and scheduling cost" of resources by implying HEFT algorithm. They concluded that MOGA provides optimal solutions of all objectives. • RD reputation and LAGA Wang et al. [68] have proposed RD and LAGA to support reliable scheduling because it is a prominent issue in WFS. So, they have presented the "RD reputation" that depends on time and helps in evaluating the reliability of resources. RD includes failure rate for the reputation of resources at run-time. However, LAGA makes use of RD reputation to get feasible solutions of makespan and reliability by using one more heuristic mechanism of "Resource priority". • CGS Gharooni-fard et al. [69] have presented CGS that uses "chaotic variables" that spread out the solutions and explore in better way within the entire search space to deal with budget and deadline constraints in scheduling. Basic meaning of Chaos is "randomness created by simple deterministic systems". The first and foremost step in CGS is to utilize chaotic variables to create "individuals of subgenerations dispensed ergodically in defined area". This helps in circumventing the premature convergence of solutions. In next step, CGS uses converging features of GA to surmount randomness and generate global feasible solutions. • SLPSO Zuo et al. [70] have proposed a strategy based on PSO; however, PSO already has a benefit of "quick convergence". The proposed method includes different "velocity updating methods" that help to not get trapped in local optima and enhance the results. SLPSO incorporates some policies that are "adaptively adjusting parameters", "designing distinct population topologies", "make use of multi-population in standard PSO", "include bioinspired methods in basic PSO" and last one is "to combine PSO with some another adaptive schemes". By inculcating these steps, SLPSO creates efficient results within the user-specified QoS constraints. • ACO Liu et al. [71] have proposed a model known as "Service flow scheduling" and for optimization they have considered ACO. ACO is inspired by the foraging behaviour of ants. They have used ACS algorithm for their scheduling issues that consist QoS constraints like reliability, cost, response time and security. ACS mainly focuses on "heuristic information" that provides guidance to ants. • Improved GA Kumar et al. [72] have proposed an improved GA algorithm in which they have used the two most popular heuristic algorithms that are "Max-Min" and "Min-Min" to generate initial population. In "Max-Min", the jobs that are selected for scheduling are arranged on the basis of "maximum-time" and a job having higher value of time is mapped to one of the matching resources. However, in "Min-Min" algorithm, the prior-ity is given to that job which is having minimum running time. After this, there will be an updation in running time of all other jobs. Authors found that the improved GA is more effective in reducing makespan and also in utilization of resources than GA. • GA with Fuzzy theory Javanmardi et al. [73] have proposed a scheme of fuzzy theory that is used for the modification of GA and becomes helpful in minimizing the number of iterations for generating initial population. They have applied this concept of fuzzy theory mainly on two stages that are "crossover" and "fitness evaluation". This scheme is used to assign the resources on the basis of "resource ability" and the "length of jobs". They have shown that it enhances the solutions of cost and makespan. • CSO Bilgaiyan et al. [74] have discussed about CSO for finding optimal solution in terms of cost. Authors have proposed CSO-based algorithm that is encouraged by two types of cats' behaviours: "seeking mode in which cats do not move" and "tracing mode in which cats move towards next best locations with some velocity". By using some steps, algorithm generates optimal schedule for the execution of workflow in less iterations and concluded that proposed algorithm outperforms than PSO in terms of cost having better rate of convergence. • GA Singh et al. have proposed an algorithm in [75] known as "Budget constrained time minimization GA" that is based on GA that helps in reliable WFS by minimizing the failure rate. In basic GA, mainly three steps are followed that are: "Create initial population", "Selection to generate new individuals" and "Evaluation of fitness value". However, in the proposed strategy, GA comprises some more steps including these mentioned steps. Firstly, there is "Encoding of individuals" then, "Creation of initial population". Moving further, there is an "Evaluation" for objective function in addition to which, "selection procedure" is followed. After these stages, "Crossover" and "Mutation" is done before "Termination". Authors have compared the proposed algorithm with min-min and max-min algorithms and concluded that the proposed algorithm decreases the execution time and the scheduling is completed within the budget constraint. • PSO with VNS This technique is proposed by Netjinda et al. [76] that is the combination of 4 procedures: "initialization", "particle string update", "fitness calculation" and "solution selection". Prior to these procedures, there is a necessity to create "particle string" that focused on encoding of promising solutions. VNS is applied in solution selection phase to enhance the value of solutions. • S-CLPSO Chen et al. [77] have proposed this approach on the basis of PSO to handle the user-specified constraints and explained the Set-based PSO approach and how it is appropriate for WFS. In S-CLPSO algorithm, velocity and position are updated in each iteration. S-PSO technique is applied in S-CLPSO and it seems to be better choice for WFS issues because in S-PSO "service instances in cloud are considered as resource set"and with the aid of S-PSO it is effortless to "accelerate search". Thus, it is concluded that the results produced by S-CLPSO are very promising under tight constraints. • ABC Liang et al. [78] have presented two algorithms based on ABC with some proposed strategies and some rules that basically focused on finding the optimal solution of execution time when the performance ability of cloud VM's is low. The main idea behind ABC is that how group of bees work mutually to find out the food sources (solutions). They have considered more than one workflow and on applying both ABC-I and ABC-II, the results have demonstrated that the performance of ABC-II is more effective than ABC-I in terms of execution time. • Bat algorithm Kaur et al. [79] have presented an algorithm known as Bat algorithm that examined the issues related to workflow scheduling for different objectives such as makespan, cost and reliability. The complete working of bat algorithm is supported by "echolocation nature of virtual bats" that is implied to sense the range of solutions. They have compared the Bat algorithm with "basic randomized evolutionary algorithm" (BREA) and demonstrated that Bat algorithm is more effective in terms of specified budget and other defined QoS constraints. • PSO-ACO Dr. George [80] has projected a new algorithm that is the fusion of PSO and ACO. The proposed algorithm has focused on minimization of cost and time in which PSO is used for the "evaluation of fitness" and ACO finds out the "global optimal solutions". In starting, " initialization of population" is done and then there is an "iterative loop" in which different values are compared on the basis of objective function. After this, the steps are repeated by changing the "velocity and location of particles" till an entire schedule is generated. Moving further, ACO is applied with "global updation procedure" and "task rescheduling" is also handled by ACO as well. • PSO and TS Dr. Sridhar et al. [81] have projected a new algorithm that includes TS and PSO in which PSO is used to perform "global search" and TS performed "local search". The plan behind this hybrid approach is to enhance the solutions both globally and in confined space as well. Moreover, this assist in finding feasible solutions and also prevent the solutions to stuck in local optima. • GA-ACO LIU et al. [82] have planned an algorithm that is the combination of two meta-heuristic algorithms known as "genetic-ant colony" algorithm. Firstly, the benefits of GA is used for "global search" and after going through every step of GA, feasible solutions are created and then these solutions become initial population for ACO. In addition to this, they have utilized the ACO for better "convergence rate". The functioning of the proposed algorithm is explained in the paper with proper policies and plans. Also, Sathish and Reddy [83] have projected GA-ACO to schedule the workflow in grid environment to gratify all the user-specified constraints. Table 5 presents a comparative analysis of different metaheuristic algorithms that were used by the researchers to handle the problems regarding workflow scheduling also it presents a year-wise systematic review of various heuristic algorithms with their advantages and disadvantages which target RQ1 and RQ2 and the sources of papers with their citations.

Hybrid Algorithms
This category includes a blend of heuristic and meta-heuristic algorithms. A year-wise systematic analysis of different hybrid algorithms that have been proposed by the researchers so far (as per the authors' knowledge) for workflow scheduling is shown in Table 6 with their strengths and shortcomings which target RQ1 and RQ2. In addition, the sources of papers are included with their citations.
• List scheduling (LS) and GA Loukopoulos et al. [84] have presented an algorithm that includes GA with "MaxMin and MinMin" for the improvement in basic algorithms. They have exploited scheduling heuristics that are "LSbased" and "GA-based" where LS heuristics sort the tasks on the basis of weight function and make a schedule in accordance with their arrangement in sorted list. On the other hand, GA heuristics include both Simple GA (SGA) and Improved GA (IGA). In IGA, they have launched a new crossover scheme known as "node-crossover". Both LS and GA result in the collapsed makespan.
• GA with VNS Kardani-Moghaddam et al. [91] have offered an algorithm for the reduction in cost with the reasonable completion time by combining the exploration aptness of GA and the exploitation potential of VNS with the purpose to improve the solutions in the whole population. • BDLS and BGA Dogan and Ozguner [92] have presented "matching and scheduling algorithms" which focus on two objectives "scheduling length and failure probability". On every scheduling step, DLS selects the next task to schedule and the machine on which that task is to be implemented, by finding the ready task and machine pair that has the highest dynamic level. However, this algorithm does not trace the reliability of resources when matching and scheduling decisions are made. So, to NS not specified enhance DLS the "analogous incremental cost" is calculated when the "dynamic level of task-machine pair" is evaluated. This procedure helps in figuring out the failure probability of application. With DLS, SGA is also applied to generate better results. • LDD-LS and CDCGA Visheratin et al. [93] have planned a new hybrid algorithm for scheduling the workflow under user-specified QoS constraints. The main aim of LDD-LS is to make lines for workflow and analyze the computation time for each line. After which, the total deadline is allocated across levels of the workflow. However, CDCGA works on two different "heterogeneous populations". The sorted list of task identifiers is presented in one population in parallel with the computational resource indexes, whereas the sorted list of computational powers of resources is mentioned in the other population, concluding that the implementation of CDCGA is more effective than LDD-LS. • HSGA Delavar and Aryan [94] have projected an algorithm for the minimization of run-time of workflow tasks. HSGA generates initial population by the virtual list of resources and their updated properties. To create initial population, all the tasks are sorted by utilizing priority method on the basis of graph topology and then resources will be allocated by merging the characteristics of "Best-Fit" and "Round-Robin" algorithms. They have explained the "Best-Fit and Round-Robin" algorithm and have proved that HSGA provide results that are more efficient than other presented algorithms of this paper. • DWSGA Aryan and Delavar [95] have planned an algorithm that includes "Bi-Directional task prioritization" and "optimization of solutions". The main concern of DWSGA is to trim down the "GA operation iterations" by building up an optimized initial population in order to facilitate suitable workload distribution on resources. It also uses a particular mutation process that is very supportive in getting effective solutions. • RHDPSO Tao et al. [21] have presented a hybrid approach that is useful in avoiding "premature convergence and local optimum". They have recommended two methods: one is "discretization method" in which multi-QoS constraint workflow scheduling issue is resolved and the other is "random time sequence method" to disturb the double extremums of particles, as a result of which "premature convergence and local optimum" issue is resolved. This hybrid method outperforms the standard PSO algorithm.

Discussions
This section targets the principal findings of the systematic literature review. It begins with the discussion of key sub-areas followed by the historical distribution of conspicuous researches. Furthermore, the practical impacts of study are analyzed as well as the multi-disciplinary scope is conferred followed by the validity of present study.

Key Sub-areas
While writing this paper, many other survey papers such as [100][101][102]

QoS and Workflow Benchmarks
The literature has acknowledged that different workflow scheduling algorithms have been developed to address the challenges of different QoS constraints. However, there are no workflow and QoS standards as per the author's review, which can evaluate and compare the QoS constrained workflow scheduling algorithms. Therefore, setting up some benchmarks has become the need of the hour with the proliferation of workflow techniques in cloud computing [103].

Strengths of Literature Review
The importance of this literature review is that it provides a reasonable amount of information about many approaches used for workflow scheduling with their advantages and disadvantages shown in Tables of Sect. 4. Tables 4, 5 and 6, being the limelight of this paper, will help the researchers to

Number of papers
Year know about various workflow schemes and scheduling strategies. Moreover, we have shown that how much work is done in all the different schemes by considering the range of year from 2000 to 2018.

Limitations of Literature Review
After analyzing the data collected from this literature review related to workflow scheduling, we have observed that there are following limitations of this review: • We have not defined on what parameters, which approach performs better while considering different databases. • We have not covered all the QoS constraints such as security, load balancing, etc. • We have not defined the accuracy of any algorithm.

Historical Distribution
This subsection provides the result about the growth of specific studies done in the past many years. The relevant publications throughout the period between 2000 and 2018 are considered after performing QA, SSS and DEO, which are able to answer different RQs from Sect. 1 for answering the gaps in existing approaches (RQ1) to Sect. 6 for stating the future perception of the research (RQ5). The year-wise distribution of these papers is also shown in Fig. 6, and it is apparent that the proportion of research papers concerned with WFS is maximum in the year 2015. Pondering over, it has been acknowledged that more than half of the total existing researchers have preferred heuristic schemes for the scheduling of workflows in the context of cloud, whereas about one-fourth of the research sample involves the metaheuristic schemes as depicted in Fig. 7.

Analysis of Practical Impact
Though analyzing the effectiveness of existing researches has been one of the challenging tasks during this survey, yet the authors have made an attempt to scrutinize their practical impact by taking citations into account. To limit the data, Table 7 shows only top 10 cited researches.

Multi-disciplinary Applications
In the literature, it has been found that scope of the existing WFS schemes is not limited to cloud computing only, but software engineering [104], telecommunications [105,106], bioinformatics [107], economics and finance [108], scheduling [109], and cutting and packing [110] as well. Moreover, QoS constraints discussed in this paper have shown their relevance in different realms such as computer networking, optimization, etc. Clearly, the authors can precisely state the multi-disciplinary nature of QoS-based WFS algorithms mentioned in this article.

Research Validity
The authors have attempted to survey the existing literature cautiously. However, some primary studies have remained untouched because of the devised Search Strategy since different researchers use different synonyms related to their studies. Additionally, in order to avoid the biasness of study selection problem, the authors have reviewed the techniques thoroughly during DEO activity as well.

Conclusions and Future Work
Cloud computing has drawn voluminous attention from the researchers' community and the industry from the first light where one of the prime issues aspired by the researchers so far to be delved into is Workflow Scheduling (WFS). In this regard, the authors have attempted to present a systematic review of the existing literature related to WFS in Cloud Computing with an intention to spot the distinct trends of WFS and investigated the various aspects ranging from workflow types, QoS constraints, WFS schemes, as well as their categorization into heuristic, meta-heuristic and hybrid schemes, their practical impacts and their multi-disciplinary applications. Moreover, through in-depth analysis and interpretation of the collected data, they have obtained splendid findings along with the pros and cons of these techniques. Another point worth considering here is that it has been witnessed from other existing surveys of WFS that no one has considered all the key aspects with such meticulous information of different scheduling schemes, numerous QoS constraints, distinct scheduling strategies as well as types of optimizations, and due to this, authors have decided to present a survey in which anyone can get up-to-date knowledge of issues related to WFS. It has also been found that most of the researchers have preferred WorkflowSim over CloudSim simulator for scheduling workflow applications in cloud since WorkflowSim allows the modelling and simulation of the cloud environment, VMs, data centres, and cloudlets by taking into account only a single work load.
In previous researches, the makespan and cost are the only two objectives which have been focused upon by the researchers so far (as per author's survey). Therefore, the following are the promising future directions: • Work can be extended by considering objectives other than makespan and cost. • The fault tolerance, load balancing and security of workflows as well as cloud resources can be incorporated. • Pondering over, the catastrophe consequences of workflow failures on different cloud resources can be trimmed down by envisaging the failures perceptively with the aid of machine-learning approaches. • Last, but not the least, the work can also be extended by implementing up-to-the-minute optimization algorithms for developing optimal schedules for the purpose of WFS.
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecomm ons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.