| Summary: | Cloud computing has emerged as an efficient environment to execute scientific
workflows. In a cloud computing, users can rent Virtual Machines (VMs) to execute
their computational tasks. Additionally, users are charged based on a number of
resources they rent using pay-per-use cost model. In such case, determining the right
number of resources to rent is a challenging task. Over-renting increases the execution
cost, where, under-renting results in increasing the execution time. To address this
problem, this work focuses on maximization the utilization of resources. By improving
the utilization of the resource, this study aims to improve the execution time and cost,
since the utilization of the resources influences the execution time and cost. This
research considers two variations concerning this problem thet can be denoted as single
workflow scheduling and multiple workflows scheduling. In single workflow
scheduling problem, the input is considered to be single workflow with a set of available
resources. Whereby in multiple workflows scheduling problem, the input is assumed to
be multiple workflow submitted by several users with a set of available resources. The
single workflow scheduling problem is addressed by proposing the Level-Based
Clustering (LBC) algorithm. By considering each level of tasks as a single object
(cluster), this algorithm aims to establish a relationship between the execution
requirement for each cluster, and the number of resources that must be used to execute
the entire workflow. To address the multiple workflow scheduling problem, establishing
a fair division of the resources between the users (input workflows) is considered as part
of the objective function. A modified version of this algorithm termed as LBC-Multiple
(LBCM) is presented. In the LBCM algorithm, a number of resources assigned to each
workflow depends on the computational requirement for these workflows. This is
established by a time-slot mechanism that determines the largest acceptable execution
time for each workflow level tasks. The LBC algorithm performance is compared
against three well-known algorithms from the literature, and the result shows that the
LBC algorithm achieves 50%, 25%, 50% on average improvement in term of cost,
makespan and the number of resources used, respectively. In addition, in most
situations, the LBCM achieves 20% on average improvement compared to the LBC
algorithm. The proposed algorithms take into consideration of the structure of ~he
workflows and the computation requirement of the tasks during the distrfbution of the
resources. The LBCM extends the LBC algorithm by virtual connecting the input
workflows. The results show that on average the LBC algorithm reduces the number of
used resources by 50%, and this underlines the efficacy of the LBC algorithm in terms
of resource utilization. In addition, in most cases, the LBCM algorithm achieves 20%
improvement compared the sequential execution strategy, and this contributes toward
improving the utilization of the resources.
|