385 research outputs found

    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

    A Bag-of-Tasks Scheduler Tolerant to Temporal Failures in Clouds

    Full text link
    Cloud platforms have emerged as a prominent environment to execute high performance computing (HPC) applications providing on-demand resources as well as scalability. They usually offer different classes of Virtual Machines (VMs) which ensure different guarantees in terms of availability and volatility, provisioning the same resource through multiple pricing models. For instance, in Amazon EC2 cloud, the user pays per hour for on-demand VMs while spot VMs are unused instances available for lower price. Despite the monetary advantages, a spot VM can be terminated, stopped, or hibernated by EC2 at any moment. Using both hibernation-prone spot VMs (for cost sake) and on-demand VMs, we propose in this paper a static scheduling for HPC applications which are composed by independent tasks (bag-of-task) with deadline constraints. However, if a spot VM hibernates and it does not resume within a time which guarantees the application's deadline, a temporal failure takes place. Our scheduling, thus, aims at minimizing monetary costs of bag-of-tasks applications in EC2 cloud, respecting its deadline and avoiding temporal failures. To this end, our algorithm statically creates two scheduling maps: (i) the first one contains, for each task, its starting time and on which VM (i.e., an available spot or on-demand VM with the current lowest price) the task should execute; (ii) the second one contains, for each task allocated on a VM spot in the first map, its starting time and on which on-demand VM it should be executed to meet the application deadline in order to avoid temporal failures. The latter will be used whenever the hibernation period of a spot VM exceeds a time limit. Performance results from simulation with task execution traces, configuration of Amazon EC2 VM classes, and VMs market history confirms the effectiveness of our scheduling and that it tolerates temporal failures

    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

    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

    A biobjective model for resource provisioning in multi-cloud environments with capacity constraints

    Get PDF
    Private and public clouds are good means for getting on-demand intensive computing resources. In such a context, selecting the most appropriate clouds and virtual machines (VMs) is a complex task. From the user’s point of view, the challenge consists in efficiently managing cloud resources while integrating prices and performance criteria. This paper focuses on the problem of selecting the appropriate clouds and VMs to run bags-of-tasks (BoT): big sets of identical and independent tasks. More precisely, we define new mathematical optimization models to deal with the time of use of each VMs and to jointly integrate the execution makespan and the cost into the objective function through a bi-objective problem. In order to provide trade-off solutions to the problem, we propose a lexicographic approach. In addition, we introduce, in two different ways, capacity constraints or bounds on the number of VMs available in the clouds. A global limit on the number of VMs or resource constraints at each time period can be defined. Computational experiments are performed on a synthetic dataset. Sensitivity analysis highlights the effect of the resource limits on the minimum makespan, the effect of the deadline in the total operation cost, the impact of considering instantaneous capacity constraints instead of a global limit and the trade-off between the cost and the execution makespan

    Industry Simulation Gateway on a Scalable Cloud

    Get PDF
    Large scale simulation experimentation typically requires significant computational resources due to an excessive number of simulation runs and replications to be performed. The traditional approach to provide such computational power, both in academic research and industry/business applications, was to use computing clusters or desktop grid resources. However, such resources not only require upfront capital investment but also lack the flexibility and scalability that is required to serve a variable number of clients/users efficiently. This paper presents how SakerGrid, a commercial desktop grid based simulation platform and its associated science gateway have been extended towards a scalable cloud computing solution. The integration of SakerGrid with the MiCADO automated deployment and autoscaling framework supports the execution of multiple simulation experiments by dynamically allocating virtual machines in the cloud in order to complete the experiment by a user-defined deadline

    A comparison of resource allocation process in grid and cloud technologies

    Get PDF
    Grid Computing and Cloud Computing are two different technologies that have emerged to validate the long-held dream of computing as utilities which led to an important revolution in IT industry. These technologies came with several challenges in terms of middleware, programming model, resources management and business models. These challenges are seriously considered by Distributed System research. Resources allocation is a key challenge in both technologies as it causes the possible resource wastage and service degradation. This paper is addressing a comprehensive study of the resources allocation processes in both technologies. It provides the researchers with an in-depth understanding of all resources allocation related aspects and associative challenges, including: load balancing, performance, energy consumption, scheduling algorithms, resources consolidation and migration. The comparison also contributes an informal definition of the Cloud resource allocation process. Resources in the Cloud are being shared by all users in a time and space sharing manner, in contrast to dedicated resources that governed by a queuing system in Grid resource management. Cloud Resource allocation suffers from extra challenges abbreviated by achieving good load balancing and making right consolidation decision
    • 

    corecore