A new resource-aware approach to improve schedule workflows in cloud computing environment - Tawfiq Ahmad Alarawashdeh
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