<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Optimal Workflow Scheduling In Cloud Computing Using AHP Based Multi Objective Black Hole Algorithm</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Fatemeh Ebadifard</string-name>
          <email>Ebadifard.fatemeh@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Seyed Morteza Babamir</string-name>
          <email>Babamir@kashanu.ac.ir</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer, University of Kashan</institution>
          ,
          <addr-line>Kashan</addr-line>
          ,
          <country country="IR">Iran</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Depertment of Computer, University of kashan</institution>
          ,
          <addr-line>Kashan</addr-line>
          ,
          <country country="IR">Iran</country>
        </aff>
      </contrib-group>
      <fpage>36</fpage>
      <lpage>42</lpage>
      <abstract>
        <p>- Cloud computing is one of the fields that has attracted a lot of attention in recent years. Task scheduling meaning the proper permutation of user requests on virtual machines is one of the most important challenges in the cloud environment due to the increase in virtual machines as well as the diversity of users with different service quality requirements and therefore task scheduling is a NP-hard problem. This becomes more complicated when quality of service objectives conflict with each other; therefore, service providers for the proper use of cloud environment capabilities require an optimal trade-off between the various objectives and in such cases heuristic algorithms can be used for optimal scheduling. To this end, we extended a recent heuristic algorithm called Black hole and considered dependency graph of workflow tasks. The proposed method combines the heuristic algorithm and decision-making method (AHP) to solve the multi-objective workflow scheduling problem on virtual machines. We converted the single-objective Black-hole algorithm into a multi-objective by using the AHP relationship, and then it is used to solve the scheduling problem. We have implemented our proposed method using the Workflowsim tool and have compared the results with multi-objective algorithms SPEA2 and NSGA2 based on the parameters of Makespan and cost and resource utilization using a balanced and unbalanced workflow.</p>
      </abstract>
      <kwd-group>
        <kwd>- Cloud Computing</kwd>
        <kwd>Workflow</kwd>
        <kwd>Scheduling</kwd>
        <kwd>Multi objective</kwd>
        <kwd>Decision-Making method</kwd>
        <kwd>AHP</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>INTRODUCTION
Workflow is a common model for modeling most scientific
programs which contains a number of tasks and data
dependencies between tasks. Since most tasks in applications are
a set of workflows; in recent years, extensive research has been
done on the workflow scheduling in the cloud environment.
Workflow scheduling on resources is to select the appropriate
virtual machine for a task, so that its related tasks are already
executed. This selection of resources and assignment of task on
them depends on the requirements of quality of service for
different users and since there are different permutation of
requests on virtual machines, task scheduling is a NP-hard
problem [1].</p>
      <p>A great related work has already been done on the workflow
scheduling problem in the cloud environment; in most classic
work, it is tried to reduce finish time, but in recent ways; in
addition to Makespan, there are other objectives, such as
resource utilization and cost for scheduling. And they seek to
provide an optimal permutation of requests on virtual machines,</p>
    </sec>
    <sec id="sec-2">
      <title>Copyright held by the author(s).</title>
      <p>in light of these objectives [2]. This problem is presented as
multi-objective scheduling, and there are different approaches to
solve it. One of these methods is the use of Pareto optimal
solutions. This solution allows users to have the best choices
from the set of appropriate solution and thus provide a set of
ultimate solutions that include optimal tradeoff between some of
the QoS objectives.</p>
      <p>In this paper we have expanded our previous work [3] which
is based on the black hole algorithm [4] and it is a heuristic
optimization method which can be used as an appropriate
solution to the scheduling problem due to its simple structure
and lack of dependence on external parameters and its high
performance.</p>
      <p>
        The extension is carried out in 2 aspects: (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) making our
previous work an AHP-based algorithm and using this feature to
select the optimal solutions. To this end, we apply combination
of multi-objective black hole approach and Decision-Making
method (AHP) [5] for workflow scheduling optimization. So,
we have been able to develop the domination relationship in the
multi-objective algorithm by using AHP method, as a result we
could choose better solution according to the preference of users
in the Pareto front.
(
        <xref ref-type="bibr" rid="ref2">2</xref>
        ) Presenting resource utilization objective to consider
provider’s preferences in selection of the best solution among
the optimal solutions. So that the proposed method can consider
the quality of service requirements for service provider and the
client simultaneously.
      </p>
      <p>Our main contributions can be summarized as follows:
1: Presentation of the multi-objective Black hole algorithm using
the single-objective Black hole algorithm and Pareto optimizer
and applying it for the multi-objective workflow scheduling in
the cloud environment
2: Using the AHP technique in multi-objective domination
relationship and taking into account the preferences of users in
the solution of workflow scheduling
3: Targeted evaluation and analysis to illustrate the effective
combination of the black hole algorithm with AHP technique to
reduce Cost of resources and makespan and increase resource
utilization.</p>
      <p>We have used the WorkflowSim tool [6], which is an
extension of CloudSim [7] open source tool, to evaluate our
proposed method. We have developed the initial core of this tool
to provide our algorithm and then compared our proposed
method with previous Pareto-based algorithms such as SPEA2
[8], NSGA2 [9].</p>
      <p>The rest of the paper is comprised of the following sections:
Section 2 presents the related work of workflow scheduling. In
Section 3, the mathematical model of the workflow scheduling
problem and the details of the optimization objectives used have
been provided and in the fourth section, we first introduced the
single-objective black hole algorithm and the AHP technique
and then we present the details of the proposed AHP-based
multi-objective algorithm, in the fifth part, we have described
the details of the evaluation of the proposed method and
analyzed the results. Finally, in the final section, conclusions and
future work have been presented.</p>
      <p>II.</p>
      <p>RELATED WORK</p>
      <p>Many previous work have been done to solve the problem of
task scheduling for independent workload and workflow in the
cloud environment; since our proposed approach has been
provided for the workflow, we investigate the methods of
workload scheduling. There are different types of classification
for workflow scheduling methods; for example, static or
dynamic scheduling or other categorization based on
singleobjective or multi-objective workflow scheduling. In this
section, we examine the multi-objective workflow scheduling
methods. In multi-objective scheduling, several objective which
are often in contradictory have been considered as optimization
objectives and provide the optimal tradeoff of solutions.
Multiobjective scheduling methods are in the following categories:</p>
      <sec id="sec-2-1">
        <title>A. Aggregation approach</title>
        <p>One of the multi-objective scheduling methods is to convert
a multi-objective problem to a single objective which is done by
weighting objectives. In Li et al. [10], have converted the
multiobjective problem into a single objective by using the heuristic
method CCSH and have provided a scheduling method with cost
and Makespan reduction objectives. Dongarra et al. [11] have
proposed a scheduling method by using aggregation technique
to increase performance and reliability. They have provided
(RDLS) a reliable dynamic level scheduling algorithm based on
the DLS algorithm [12]. Dogan et al. [13] have improved their
method using genetic algorithm and BDLS scheduling method.</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Pareto based approach</title>
        <p>Unlike the previous method, in which only one definitive
solution is presented as the result of the algorithm. In these
methods, a set of non-dominated solutions is provided that
allows users to choose a solution based on their expected QoS.
Yu et al. [14] have used multi-objective evolutionary algorithms
(MOEAs) to solve the workflow scheduling problem. This
approach is aimed at reducing two conflicting objectives of cost
and runtime. In addition to these two purposes, they also
considered deadline and budget constraints in the algorithm and
therefore provided fitness functions corresponding to objectives
and constraints. The population-based algorithms SPEA2 and
NSGAII [8, 9] and local search-based algorithms MOEA, PAES
[15] have been provided for workflow scheduling based on
different objectives and constraints. Various scheduling
methods have been proposed for cost and Makespan reduction
using heuristic algorithms and Pareto optimization; such as
Udomkasemsub et al. [16] using ABC and WU [17] using the</p>
        <p>RDPSO algorithm. Most of the previous methods have only
considered two objectives of cost and makeapn reduction as
optimization objectives; Khalili et al. [18], in their proposed
method, in addition to Makespan and cost, also considered the
purpose of resource efficiency and using a gray wolf algorithm,
they have introduced a new Pareto-based multi-objective
scheduling method. In our proposed approach, in addition to
reducing the cost, Makespan that benefits of the users are
supplied; increased resource utilization for the benefit of service
providers has been considered. The difference of our work with
previous methods is to use the new Black Hole heuristic
algorithm, which is more efficient than other algorithms and
converting it to a multi-objective algorithm is done using the
Pareto optimizer. Also, in the proposed algorithm by combining
black hole algorithm with the decision-making method (AHP),
the QOS preferences are considered by the user during the
execution of the algorithm and this will reduce the search space
of the problem and choose the more optimal solutions with
increasing requests and the variety of virtual machines.</p>
        <p>III.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>PROBLEM FORMOULATION</title>
      <p>A set of tasks and edges for communication between
requests is defined as workflow and in this workflow child
request is not allowed to be execute as long as the parent is not
executing. Figure 1 illustrates an example of a workflow in
which each node represents a task and edges are the connection
between tasks and the number above each edge shows the
estimated cost for data transfer between the corresponding tasks.
In the following, each of the objectives that we have used in the
workflow scheduling problem will be explained.</p>
      <p>t
0
0
1
2
t
1
t
2
t
3
3
1
1
2
4
t
4
t
5
t
6
0
1
2
t
7</p>
      <p>To formulate the problem we have denoted a set of tasks
Task = {t1, t2, ..., tn} where i {1, 2,..., n}. We have defined a
set of m virtual machines, VM = {VM1, VM2, ...., VMj}
interconnected by network where j {1, 2,..., m} . The tasks will
be processed on virtual machines. Completion time of task Ti on
virtual machine VMj are denoted as CTij respectively. Overall
task completion time is called makespan and is defined by Eq.
(3-1)
(3-1)</p>
      <p>n
Makespan  max  CT VM j  x
ti</p>
      <p>ij
1 jm i1
If the request ti is running on VMj, value of xij is equal to 1
otherwise is zero. Figure. 2 epitomizes a sample scheduling
makespan for 6 tasks and 3 VMs.</p>
      <p>For each virtual machine, resource utilization was defined
as the Eq.3-8. Where xij is equal to 1, if the request ti is executing
on VMj otherwise is zero.</p>
      <p>In cloud computing, computational cost for each customer is
calculated based on the timespan they use of resource at any
time. Total cost for each request include:</p>
      <sec id="sec-3-1">
        <title>B.1. Computational cost:</title>
        <p>This cost is calculated based on execution time of the request
ti on the VMj and cost per processing in VMj by Eq.3-2 and the
execution time of the request ti is calculated by Eq.3-3.</p>
        <p>
          (3-2) Cp (ti )  ETtiVMj  Cos tPer Pr occes sin ginVmj
(
          <xref ref-type="bibr" rid="ref3">3-3</xref>
          ) ETtVM j 
i
        </p>
        <p>MI(ti )</p>
        <sec id="sec-3-1-1">
          <title>MIPS(VM j )</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>B.2. Cost per storage:</title>
        <p>While MI (ti) is the number of instructions of request i and
MIPS (VMJ) is the number of million instructions that the
machine j executes per second.</p>
        <p>This cost is calculated based on the time that this task is
placed on the virtual machine and it is calculated according to
Eq.3-4.</p>
        <p>
          (
          <xref ref-type="bibr" rid="ref3 ref4">3-4</xref>
          ) Cs (ti )  (ETtiVMj  WTtVMj )  Cos tPerStoragInVMj
i
WTtVMj has been the waiting time of request ti on the virtual
i
machine VMj which has depended on the time for providing
required files from its parent and is calculated according to Eq.
3-5.
        </p>
        <p>
          (
          <xref ref-type="bibr" rid="ref3 ref4 ref5">3-5</xref>
          ) WTtiVMj  max input(ti )
        </p>
        <p>BW</p>
        <sec id="sec-3-2-1">
          <title>B.3. Cost per transfer:</title>
          <p>This costs is dependent on the cost that request ti should pay
for the transfer of files to their children which is calculated
according to Eq. 3-6.</p>
          <p>
            (
            <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6">3-6</xref>
            ) CT (ti )   Output(ti )  Cos tPerTransfer
          </p>
          <p>BW</p>
          <p>The total cost is calculated by Eq. 3-7. Cloud provider
calculates the cost of request ti based on the total cost presented
below.</p>
          <p>
            (
            <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6 ref7">3-7</xref>
            ) Ctotal (ti )  Cp (ti )  Cs (ti )  CT (ti )
n
 PTij
(
            <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6 ref7 ref8">3-8</xref>
            ) UtilizationVM j  i1
          </p>
          <p>Makespan
IV.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>PROPOSED METHOD</title>
      <p>Heuristic algorithms have been used effectively in most
optimization issues. Among them, the Black Hole heuristic
algorithms can provide more optimal solutions for workflow
scheduling problem in terms of its appropriate structure and
efficiency compared to the PSO and GA algorithms. In this
section, we have first introduced the standard black hole
algorithm and then, after expressing the AHP technique, we
present the details of the AHP-based multi-objective black hole
algorithm.</p>
      <sec id="sec-4-1">
        <title>A. Standard Black Hole Algorithm</title>
        <p>The black hole algorithm is a population-based heuristic
algorithm which was first presented by Mr. Hamtlou In the first
step, this algorithm generates an initial population from
candidate solutions (stars) randomly in a sample space. In the
workflow scheduling problem on virtual machines, each
solution is a permutation of requests on virtual machines. The
value of the fitness function is calculated for each star and the
star with the best value for the objective function is selected as
Black Hole. The black hole is capable of absorbing the stars that
have trapped it. After the black hole absorbs the stars around it,
the remaining stars move toward the black hole. The motion of
the stars towards the black hole is based on Eq. (4-1).
i  1, 2,..., N
(4-1)
xi (t 1)  xi (t)  rand  (xBH  xi (t))</p>
        <p>Where   is the position of the star i at time t and t + 1. xBH
is the position of the black hole in the search space and rand is a
random number in the range [0,1] and N is the number of stars
(candidate solutions).</p>
        <p>This evolution of solutions continues until the algorithm
termination condition is reached and at any stage, if a star has a
better fitness function than a black hole, then that star replaces
the black hole. The black hole algorithm can prevent being
trapped in the local optimal due to the elimination of the
available stars in the range of the best solution and selection the
alternate star randomly in search space. The radius of the
horizons in the black hole algorithm is calculated using Eq.
(42).
(4-2) R  fBH
n
 fi
i1</p>
        <p>Where fBH is the fitness of black holes and fi is the fitness
function of the star i and n is the number of stars. When the
distance between a star and a black hole is less than R, that star
is eliminated and a new star is created randomly in search space.
B. AHP decision making method</p>
        <p>AHP is a multi-criteria decision-making approach which can
be used to solve complex decision problems; it was presented by
Saaty [5] that has been established based on using a set of
pairwise comparisons. The main steps of Analytic Hierarchy
Process (AHP) includes making a hierarchy, Assign weight to
each metric, investigate the Consistency check of system and
ultimately decision-making (determine the priorities of options)
B.1: Making hierarchy:</p>
        <p>In the first step, the decision-making elements and the
relationships between them must be known in order to build
hierarchy. So the options that have an impact on decision making
are at the lowest level Thus objectives that have an impact on
decision making are considered at lower ranks and decision
making whole objective is considered at top of the hierarchy,
and finally decision-making options are placed in the lowest
level. In following an example for workflow scheduling problem
which QoS criteria includes Makespan, cost and resource
utilization, the hierarchy structure is shown in Figure. 3. In this
example Studied options are members of the Pareto front, which
indeed one of them should be selected.</p>
        <p>Purpose
Objective</p>
        <p>Pareto
optimal Set</p>
        <p>Optimal workflow</p>
        <p>scheduling
Make
span
S1</p>
        <p>S2</p>
        <p>Cost
…</p>
        <p>Resource
Utilization</p>
        <p>S10
B.2: Weight calculation:</p>
        <p>Objectives are compared with each other pairwise to
determine the relative priority of each metric (weight), this
Pairwise Comparison construct pairwise comparison matrix A.
For example, comparing the importance between the Makespan
of workflow and its cost indicates that which one has the higher
degree of impact in finding the optimal solution. Numbers 1 to
9 are usually used to pairwise comparison. 1 means the same
importance and 9 shows the highest degree of importance.
Pairwise comparison matrix is shown with  = (  ) × and is
as follows:
a11

A  a21
a31
a12
a22
a32
a13 </p>
        <p>
a23 
a33 
Where aii=1 and aij=
1
a ji</p>
        <p>And m is equal to the number of objectives that in this case
study is equal to the number of the optimization objectives
means 3.</p>
        <p>To calculate priority, we use the concepts of Normalization
and weighted average. As first the geometric mean of each row
has been calculated and then we do normalization. The values
obtained from calculations that make up the priority column are
called eigenvector (λ). Similarly, we perform priority
determination for Pareto optimal set for each criterion.
B.3: Consistency check:</p>
        <p>Consistency check is one of the advantages of AHP which
aims to testing coordination of the important degree between
each metric. The concept of consistency can be expressed as if
objective A is more important compared to B and objective B
is more important compared to the C, the consistency check is
established if the A is more important than C . The consistency
index (CI) is shown by Equation (4-3)</p>
        <p>CR 
(4-3) CI  max  m</p>
        <p>
          m 1
And consistency ratio is calculated by Equation (
          <xref ref-type="bibr" rid="ref4">4-4</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4-4</xref>
          ) CI
        </p>
        <p>RI</p>
        <p>
          In Equation (
          <xref ref-type="bibr" rid="ref4">4-4</xref>
          ) RI value is obtained from the random
consistency index table. If value of CR is CR&lt;0.1 consistency is
acceptable otherwise contents of Matrix A should be revised.
B.4. Decision making and selecting definitive solution:
        </p>
        <p>
          The final step of analytic hierarchy process includes
determining the importance of each decision-making option in
relation to the criteria and general purpose of desired problem.
The final weight of each option is calculated of sum of
multiplying the priority of objective in weight of options in
accordance with the Equation (
          <xref ref-type="bibr" rid="ref4 ref5">4-5</xref>
          )
        </p>
        <p>
          m
(
          <xref ref-type="bibr" rid="ref4 ref5">4-5</xref>
          ) Pi  Wi  Gi
        </p>
        <p>i1</p>
        <p>That Gi is weight of options and Wi is weight of the
objective. In this study we have considered the same weight for
options that those options are Pareto front in workflow
scheduling problem. Members who value of Pi are less than
other options are more appropriate than the rest of the members.
It should be noted, the inverter form of resource utilization has
been used because Makespan and cost should be minimized and
resource utilization should be maximize in the optimization of
the scheduling problem.</p>
        <p>C. AHP base multi objective black hole</p>
        <p>Pareto optimal set in heuristic multi-objective algorithms
often involves non-dominated solutions and an optimal tradeoff
between objectives. Users decide between the optimal solutions,
based on their preferences between objectives and choose the
right solution which includes permutations of requests on virtual
machines. In such cases, in order to choose the right solution
among the Pareto optimal set, we need to have a precise weight
of the objectives corresponding to user preferences. Without the
precise weight of the objectives, choosing the solution
proportional with the user's preferences is difficult. That's why
users after finding out the set of non-dominated solutions, use
AHP-like techniques to choose the optimal solution that suits the
user's preferences. We have also used the AHP technique in our
proposed method. The difference in our approach with previous
works is that we combine the AHP technique with heuristic
algorithm but in the previous methods [19], after finding Pareto
optimal set in the heuristic algorithm the AHP technique is used.
With increasing requests and the diversity of virtual machines,
the space of the problem increases and the number of solutions
in Pareto optimal set increases. As a result, the AHP technique
may not be able to differentiate between solutions [20].</p>
        <p>In this paper, we combine the AHP technique with the Black
Hole heuristic algorithm and, as a result, a new domination
relationship has been proposed that, in the proposed domination
relationship, the fitness value of a solution, in addition to the
solution strong in dominating other solutions, is selected based
on the amount of final weight of that solution obtained by the
AHP technique. The details of the proposed algorithm are
described in detail:</p>
        <p>
          We have used the Pareto-optimization method to convert the
BH algorithm to PBH algorithm and accordingly, for each star,
we have considered two fitness values of R, S. As for each star,
based on the number of stars in the archives and the population
that this star is dominate, the power of S is calculated. Then, in
the next step, we obtain the value of R for each star with respect
to Eq. (
          <xref ref-type="bibr" rid="ref4 ref5 ref6">4-6</xref>
          ). If a star exceeds the upper time boundary and the
upper boundary of the cost, then the power of R is given a very
large number.
        </p>
        <p>
          (
          <xref ref-type="bibr" rid="ref4 ref5 ref6">4-6</xref>
          ) R(i)  n (S j )
j1
jpa
j i
        </p>
        <p>In the above relation, j&gt;i is the symbol of the Pareto
domination and j dominate i.</p>
        <p>
          In fact, fitness R for a member is determined by the power
of its dominators in both the population and archive and the
lower R value for each star in Eq. (
          <xref ref-type="bibr" rid="ref4 ref5 ref6">4-6</xref>
          ), the greater fitness of the
star because that star is dominated by stars that have less power.
In the next step the final weight of each star obtained according
to the user's objectives and preferences for each objective, which
is achieved using the AHP technique. Then the members of the
archives and population set are arranged in ascending order
based on its R value and stars with the same R value are arranged
by AHP weight and star with larger AHP weight is selected.
Therefore The members of population and archive sets are
primarily arranged based on R, and secondly, based on AHP
weight.
        </p>
        <p>The star that has the lowest R amongst all stars in the
population and archives is considered as the Black Hole star and
then the position of the stars in the initial population is updated
according to the position of the black hole. In the next step, equal
to the number of members in the archive, members are selected
from the top of the arranged list and transferred to the archive
set. This cycle of procedures is repeated until the achievement
of finish conditions. Non-dominated solutions obtained from
solving the multi-objective optimization problem (archives) are
often referred to as Pareto fronts. None of the Pareto front
solutions are superior to the other and depending on the
circumstances, one can consider each as the optimal decision.
Algorithm 1 depicts the pseudocode of the AHP Base Multi
objective Black hole algorithm.</p>
        <p>Algorithm1: AHP base multi objective black hole algorithm pseudo
code
1. Create an initial population of star randomly and an empty archive
2. While (t&lt; Max number of iterations)
3. Calculate the fitness function for all stars based on Eq.3-1, 3-7, 3-8
4. Calculate Pareto based fitness function according to Eq.4-6
5. Calculate final weight of each star by using the AHP technique.
6. Copy top ten non-dominated stars in population to the archive which has
the smallest R value and the highest AHP weight value
7. Select the star with the best Pareto base fitness function from the archive
(Black hole)
8. For each star
9. Update the position of current star according to Eq.4-1
10. Calculate fitness of Pareto according to Eq. 4-6
11. Calculate the distance between each star and the black hole according
to the 4-2
12. If(R&lt; distance)
13. Remove star and create a random star in search space
14. End while</p>
        <p>To evaluate the proposed methods we have used Open
source, WorkflowSim tools, then we have compared our
simulation results of the proposed method with known
radiationoptimizer-based algorithms SPEA2 [8] and NSGA2 [9].</p>
        <p>For evaluation the proposed method we have used a real
workflow library presented by Bahraini et al. [21]. We have used
balanced (Ligo) and unbalanced workload (Montage) to
evaluate the proposed method. Figure.4 shows a small sample of
these two workflows.</p>
        <p>We have used a data center consists of twenty hosts and 60
virtual machine. Host specification are according to Table 1 and
characteristics of virtual machine are presented in Table 2. The
input parameters for algorithms PBHO, NSGA2 and SPEA2 are
also given in Table 3.</p>
        <p>We repeated our experiments ten times and then reported the
average data for three factors Makespan, Cost, and resource
utilization for two workloads of montage and Ligo in sizes small,
medium and large. We have used the decision-making method
AHP to weigh the objectives that are used in the proposed
multiobjective algorithm. If the importance of each objective to be
considered as following, then matrix A will be as follows:
The importance of Makespan in comparison with resource
utilization: 5,
The importance of Cost in comparison with Makespan: 3,
The importance of Cost in comparison with resource utilization:
8.</p>
        <p>Makespan 1 13 5
A  Cos t 3 1 8</p>
        <sec id="sec-4-1-1">
          <title>THroughput 1 1 </title>
          <p> 1
5 8 
TABLE 1 HOSTS' TECHNICAL SPECIFICATIONS</p>
          <p>Number of
processing</p>
          <p>Cores</p>
          <p>Processing
speed
(MIPS)</p>
          <p>Weight of Objectives is obtained as w = (0.2718, 0.6612,
0.0670) and the value of CR = 0.04 &lt;0.1, and therefore
compatibility is acceptable. Table 4 shows the values of the
Makespan, resource utilization and cost for the Spea2, NSGA2,
and Black hole algorithms. Compared with the most existing
methods, our approaches which apply AHP on calculating the
dominance relation in Black hole are able to meet user’s
preferences better. Figure 5 shows optimal Pareto front obtained
from AHP base multi objective black hole.</p>
          <p>As it is clear from the results in Table 4-a and 4-b, the
amount of cost in all the workloads in all sizes in AHP base multi
objective black hole algorithm is more than other algorithms.
Considering that the importance of cost for the user is more than
other objectives, the proposed method chooses solutions with
the lowest cost.</p>
          <p>Figure. 5. Pareto front of AHP base multi objective black hole</p>
          <p>CONCLUSION AND FUTURE WORKS</p>
          <p>Task scheduling is one of the most important challenges for
cloud providers and users. In this paper, we present a
multiobjective workflow scheduling method by using the Black hole
algorithm. Our proposed method, on the one hand, by reducing
Makespan and cost supplies the benefit of users and on the other
hand, by increasing resource utilization, considers the benefits
of service providers simultaneously. In the proposed method, the
Black Hole algorithm has been combined with the concept of
AHP and the AHP Base Multi objective Black hole has been
provided using Pareto optimizer. Since in cloud environments
different users require different QoS requirement, in our
proposed method, the AHP decision-making technique has been
used in Pareto domination relationship, so that user preferences
are taken into consideration in choosing the optimal solution at
any stage and as a result, by increasing the search space of the
problem, we can find a better Pareto optimal set.</p>
          <p>In the future, we plan to consider more objectives and
examine the effectiveness of this technique for the many
objective problems. We can also use the proposed method for
dynamic workflow scheduling.
available
visited:</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Ebadifard</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Babamir</surname>
          </string-name>
          ,
          <article-title>"A PSO-based task scheduling algorithm improved using a load-balancing technique for the cloud computing environment,"</article-title>
          <source>Concurrency and Computation: Practice and Experience</source>
          , pp.
          <fpage>e4368</fpage>
          -
          <lpage>n</lpage>
          /a, Art. no.
          <issue>e4368</issue>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhu</surname>
          </string-name>
          , G. Zhang,
          <string-name>
            <given-names>M.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <article-title>"Evolutionary Multi-Objective Workflow Scheduling in Cloud,"</article-title>
          <source>IEEE Transactions on Parallel and Distributed Systems</source>
          , vol.
          <volume>27</volume>
          , no.
          <issue>5</issue>
          , pp.
          <fpage>1344</fpage>
          -
          <lpage>1357</lpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Ebadifard</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Babamir</surname>
          </string-name>
          ,
          <article-title>"Optimizing multi objective based workflow scheduling in cloud computing using black hole algorithm,"</article-title>
          <source>in 2017 3th International Conference on Web Research (ICWR)</source>
          ,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Abdolreza</given-names>
            <surname>Hatamlou</surname>
          </string-name>
          ,
          <article-title>"Black hole: A new heuristic optimization approach for data clustering"</article-title>
          ,
          <source>Information Sciences, journal homepage:</source>
          www.elsevier.com/locate/ins,
          <year>2013</year>
          . Pp.
          <volume>175</volume>
          -
          <fpage>184</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>T. L.</given-names>
            <surname>Saaty</surname>
          </string-name>
          ,
          <article-title>"Decision making with the analytic hierarchy process,"</article-title>
          <source>International Journal of Services Sciences, InderScience</source>
          , vol.
          <volume>1</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>83</fpage>
          -
          <lpage>98</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>W.</given-names>
            <surname>Chen</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Deelman</surname>
          </string-name>
          ,
          <article-title>"Workflowsim: A toolkit for simulating scientific workflows in distributed environments,"</article-title>
          <source>IEEE International Conference on EScience (e-Science)</source>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R. N.</given-names>
            <surname>Calheiros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ranjan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Beloglazov</surname>
          </string-name>
          ,
          <string-name>
            <surname>C. A. De Rose</surname>
            , and
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Buyya</surname>
          </string-name>
          ,
          <article-title>"CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms,"</article-title>
          <source>Software: Practice and Experience</source>
          , vol.
          <volume>41</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>23</fpage>
          -
          <lpage>50</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Zitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Laumanns</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Thiele</surname>
          </string-name>
          ,
          <article-title>"SPEA2: Improving the strength Pareto evolutionary algorithm,"</article-title>
          <source>Technical Report 103</source>
          ,
          <string-name>
            <surname>Gloriastrasse</surname>
            <given-names>35</given-names>
          </string-name>
          , CH-8092
          <string-name>
            <surname>Zurich</surname>
          </string-name>
          , Switzerland,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <given-names>K.</given-names>
            <surname>Deb</surname>
          </string-name>
          ;
          <string-name>
            <given-names>A.</given-names>
            <surname>Pratap</surname>
          </string-name>
          ; S. Agarwal ; T. Meyarivan, “
          <article-title>A fast and elitist multiobjective genetic algorithm: NSGA-II”</article-title>
          ,
          <source>IEEE Transactions on Evolutionary Computation ( Volume: 6</source>
          , Issue: 2,
          <year>Apr 2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Su</surname>
          </string-name>
          , X. Cheng,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Huang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <article-title>"Cost-Conscious Scheduling for Large Graph Processing in the Cloud,"</article-title>
          <source>in 2011 IEEE International Conference on High Performance Computing and Communications</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>808</fpage>
          -
          <lpage>813</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J. J.</given-names>
            <surname>Dongarra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jeannot</surname>
          </string-name>
          , E. Saule, and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Shi</surname>
          </string-name>
          ,
          <article-title>"Bi-objective scheduling algorithms for optimizing makespan and reliability on heterogeneous systems," presented at the Proceedings of the nineteenth annual ACM symposium on Parallel algorithms</article-title>
          and architectures, San Diego, California, USA,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>G. C.</given-names>
            <surname>Sih</surname>
          </string-name>
          and
          <string-name>
            <given-names>E. A.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>"A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures,"</article-title>
          <source>IEEE Transactions on Parallel and Distributed Systems</source>
          , vol.
          <volume>4</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>175</fpage>
          -
          <lpage>187</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Doğan</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Özgüner</surname>
          </string-name>
          ,
          <article-title>"Biobjective Scheduling Algorithms for Execution Time-Reliability Trade-off in Heterogeneous Computing Systems*,"</article-title>
          <source>The Computer Journal</source>
          , vol.
          <volume>48</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>300</fpage>
          -
          <lpage>314</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Yu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kirley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          ,
          <article-title>"Multi-objective planning for workflow execution on Grids," presented at the</article-title>
          <source>Proceedings of the 8th IEEE/ACM International Conference on Grid Computing</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Knowles</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Corne</surname>
          </string-name>
          ,
          <article-title>"The Pareto archived evolution strategy: a new baseline algorithm for Pareto multiobjective optimisation," in Proceedings of the 1999 Congress on Evolutionary Computation-CEC99 (Cat</article-title>
          .
          <source>No. 99TH8406)</source>
          ,
          <year>1999</year>
          , vol.
          <volume>1</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>105</lpage>
          Vol.
          <volume>1</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>O.</given-names>
            <surname>Udomkasemsub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Li</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Achalakul</surname>
          </string-name>
          ,
          <article-title>"A multiple-objective workflow scheduling framework for cloud data analytics,"</article-title>
          <source>in 2012 Ninth International Conference on Computer Science and Software Engineering (JCSSE)</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>391</fpage>
          -
          <lpage>398</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Gu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>X.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <article-title>"A Revised Discrete Particle Swarm Optimization for Cloud Workflow Scheduling,"</article-title>
          <source>in 2010 International Conference on Computational Intelligence and Security</source>
          ,
          <year>2010</year>
          , pp.
          <fpage>184</fpage>
          -
          <lpage>188</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>A.</given-names>
            <surname>Khalili</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Babamir</surname>
          </string-name>
          ,
          <article-title>" Optimal Scheduling workflows in Cloud Computing Environment Using Pareto based Grey Wolf Optimizer" In Concurrency and Computation: Practice and Experience</article-title>
          , http://mc.manuscriptcentral.com/cpe,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Dastjerdi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Buyya</surname>
          </string-name>
          , “
          <article-title>Compatibility-aware Cloud Service Composition Under Fuzzy Preferences of Users,”</article-title>
          <source>IEEE Transactions on Cloud Computing</source>
          , vol.
          <volume>2</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>L.</given-names>
            <surname>Liu</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <article-title>"Multi-objective Optimization Model with AHP Decision making for Cloud Service Composition,"</article-title>
          <source>KSII Transactions on Internet &amp;Information Systems</source>
          , vol.
          <volume>9</volume>
          , no.
          <issue>9</issue>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>Bharathi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chervenak</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deelman</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mehta</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>M.H.</given-names>
          </string-name>
          <article-title>and</article-title>
          <string-name>
            <surname>Vahi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ''Characterization of scientific workflows'',
          <source>The 3rd Workshop on Workflowsim Support of Large Scale Science</source>
          , Austin, TX, USA, pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Pegasus</given-names>
            <surname>Workflow Management System</surname>
          </string-name>
          , at:http://pegasus.isi.edu/workflow_gallery/index.php (
          <year>Last 2017</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>