5 research outputs found

    Scheduling independent stochastic tasks under deadline and budget constraints

    Get PDF
    International audienceThis paper discusses scheduling strategies for the problem of maximizing the expected number of tasks that can be executed on a cloud platform within a given budget and under a deadline constraint. The execution times of tasks follow IID probability laws. The main questions are how many processors to enroll and whether and when to interrupt tasks that have been executing for some time. We provide complexity results and an asymptotically optimal strategy for the problem instance with discrete probability distributions and without deadline. We extend the latter strategy for the general case with continuous distributions and a deadline and we design an efficient heuristic which is shown to outperform standard approaches when running simulations for a variety of useful distribution laws

    A survey and taxonomy of resource optimisation for executing Bag-of-Task applications on public clouds

    Get PDF
    Cloud computing has been widely adopted due to the flexibility in resource provisioning and on-demand pricing models. Entire clusters of Virtual Machines (VMs) can be dynamically provisioned to meet the computational demands of users. However, from a user’s perspective, it is still challenging to utilise cloud resources efficiently. This is because an overwhelmingly wide variety of resource types with different prices and significant performance variations are available. This paper presents a survey and taxonomy of existing research in optimising the execution of Bag-of-Task applications on cloud resources. A BoT application consists of multiple independent tasks, each of which can be executed by a VM in any order; these applications are widely used by both the scientific communities and commercial organisations. The objectives of this survey are as follows: (i) to provide the reader with a concise understanding of existing research on optimising the execution of BoT applications on the cloud, (ii) to define a taxonomy that categorises current frameworks to compare and contrast them, and (iii) to present current trends and future research directions in the area.PostprintPeer reviewe

    Stochastic tail-phase optimization for bag-of-tasks execution in clouds

    No full text
    Abstract—Elastic applications like bags of tasks benefit greatly from Infrastructure as a Service (IaaS) clouds that let users allocate compute resources on demand, charging based on reserved time intervals. Users, however, still need guidance for mapping their applications onto multiple IaaS offerings, both minimizing execution time and respecting budget limitations. For budgetcontrolled execution of bags of tasks, we built BaTS, a scheduler that estimates possible budget and makespan combinations using a tiny task sample, and then executes a bag within the user’s budget constraints. Previous work has shown the efficacy of this approach. There remains, however, the risk of outlier tasks causing the execution to exceed the predicted makespan. In this work, we present a stochastic optimization of the tail phase for BaTS ’ execution. The main idea is to use the otherwise idling machines up until the end of their (already paidfor) allocation time. Using the task completion time information acquired during the execution, BaTS decides which tasks to replicate onto idle machines in the tail phase, reducing the makespan and improving the tolerance to outlier tasks. Our evaluation results show that this effect is robust w.r.t. the quality of runtime predictions and is the strongest with more expensive schedules in which many fast machines are available. Index Terms—Scheduling, Budget, Task Replication I

    A Framework for Approximate Optimization of BoT Application Deployment in Hybrid Cloud Environment

    Get PDF
    We adopt a systematic approach to investigate the efficiency of near-optimal deployment of large-scale CPU-intensive Bag-of-Task applications running on cloud resources with the non-proportional cost to performance ratios. Our analytical solutions perform in both known and unknown running time of the given application. It tries to optimize users' utility by choosing the most desirable tradeoff between the make-span and the total incurred expense. We propose a schema to provide a near-optimal deployment of BoT application regarding users' preferences. Our approach is to provide user with a set of Pareto-optimal solutions, and then she may select one of the possible scheduling points based on her internal utility function. Our framework can cope with uncertainty in the tasks' execution time using two methods, too. First, an estimation method based on a Monte Carlo sampling called AA algorithm is presented. It uses the minimum possible number of sampling to predict the average task running time. Second, assuming that we have access to some code analyzer, code profiling or estimation tools, a hybrid method to evaluate the accuracy of each estimation tool in certain interval times for improving resource allocation decision has been presented. We propose approximate deployment strategies that run on hybrid cloud. In essence, proposed strategies first determine either an estimated or an exact optimal schema based on the information provided from users' side and environmental parameters. Then, we exploit dynamic methods to assign tasks to resources to reach an optimal schema as close as possible by using two methods. A fast yet simple method based on First Fit Decreasing algorithm, and a more complex approach based on the approximation solution of the transformed problem into a subset sum problem. Extensive experiment results conducted on a hybrid cloud platform confirm that our framework can deliver a near optimal solution respecting user's utility function

    Optimising the usage of cloud resources for execution bag-of-tasks applications

    Get PDF
    Cloud computing has been widely adopted by many organisations, due to its flexibility in resource provisioning and on-demand pricing models. Entire clusters of machines can now be dynamically provisioned to meet the computational demands of users. By moving operations to the cloud, users hope to reduce the costs of building and maintaining a computational cluster without sacrificing the quality of service. However, cloud computing has presented challenges in scheduling and managing the usage of resources, which users of more traditional resource pooling models, such as grid and clusters, have never encountered before. Firstly, the costs associated with resource usage changes dynamically, and is based on the type and duration of resources used; this prevents users from greedily acquiring as many resources as possible due to the associated costs. Secondly, the cloud computing marketplace offers an assortment of on-demand resources with a wide range of performance capabilities. Given the variety of resources, this makes it difficult for users to construct a cluster which is suitable for their applications. As a result, it is challenging for users to ensure the desired quality of service while running applications on the cloud. The research in this thesis focuses on optimising the usage of cloud computing resources. We propose approaches for scheduling the execution of applications on to the cloud, such that the desired performance is met whilst the incurred monetary cost is minimised. Furthermore, this thesis presents a set of mechanisms which manages the execution at runtime, in order to detect and handle unexpected events with undesirable consequences, such as the violation of quality of service, or cost overheads. Using both simulated and real world experiments, we validate the feasibility of the proposed research by executing applications on the cloud with low costs without sacrificing performance. The key result is that it is possible to optimise the usage of cloud resources for user applications by using the research reported in this thesis
    corecore