10 research outputs found

    Maximizing hypervisor scalability using minimal virtual machines

    Get PDF
    The smallest instance offered by Amazon EC2 comes with 615MB memory and a 7.9GB disk image. While small by today's standards, embedded web servers with memory footprints well under 100kB, indicate that there is much to be saved. In this work we investigate how large VM-populations the open Stack hyper visor can be made to sustain, by tuning it for scalability and minimizing virtual machine images. Request-driven Qemu images of 512 byte are written in assembly, and more than 110 000 such instances are successfully booted on a 48 core host, before memory is exhausted. Other factors are shown to dramatically improve scalability, to the point where 10 000 virtual machines consume no more than 2.06% of the hyper visor CPU

    Tuning adaptive computations for the performance improvement of applications in JEE server

    Get PDF
    With the increasing use of autonomic computing technologies, a Java Enterprise Edition (JEE) application server is implemented with more and more adaptive computations for self-managing the Middleware as well as its hosted applications. However, these adaptive computations consume resources such as CPU and memory, and can interfere with the normal business processing of applications at runtime due to resource competition, especially when the whole system is under heavy load. Tuning these adaptive computations from the perspective of resource management becomes necessary. In this article, we propose a tuning model for adaptive computations. Based on the model, tuning is carried out dynamically by upgrading or degrading the autonomic level of an adaptive computation so as to control its resource consumption. We implement the RSpring tuner and use it to optimize autonomic JEE servers such as PkuAS and JOnAS. RSpring is evaluated on ECperf and RUBiS benchmark applications. The results show that it can effectively improve the application performance by 13.6 % in PkuAS and 19.2 % in JOnAS with the same amount of resources. ? 2012 The Brazilian Computer Society.EI02143-158

    Optimizing Cloud-Service Performance: Efficient Resource Provisioning Via Optimal Workload Allocation

    Get PDF
    Cloud computing is being widely accepted and utilized in the business world. From the perspective of businesses utilizing the cloud, it is critical to meet their customers\u27 requirements by achieving service-level-objectives. Hence, the ability to accurately characterize and optimize cloud-service performance is of great importance. In this dissertation, a stochastic multi-tenant framework is proposed to model the service of customer requests in a cloud infrastructure composed of heterogeneous virtual machines (VMs). The proposed framework addresses the critical concepts and characteristics in the cloud, including virtualization, multi-tenancy, heterogeneity of VMs, VM isolation for the purpose of security and/or performance guarantee and the stochastic response time of a customer request. Two cloud-service performance metrics are mathematically characterized, namely the percentile of the stochastic response time and the mean of the stochastic response time of a customer request. Based upon the proposed multi-tenant framework, a workload-allocation algorithm, termed max-min-cloud algorithm, is then devised to optimize the performance of the cloud service. A rigorous optimality proof of the max-min-cloud algorithm is given when the stochastic response time of a customer request assumed exponentially distributed. Furthermore, extensive Monte-Carlo simulations are conducted to validate the optimality of the max-min-cloud algorithm by comparing with other two workload-allocation algorithms under various scenarios. Next, the resource provisioning problem in the cloud is studied in light of the max-min-cloud algorithm. In particular, an efficient resource-provisioning strategy, termed the MPC strategy, is proposed for serving dynamically arriving customer requests. The efficacy of the MPC strategy is verified through two practical cases when the arrival of the customer requests is predictable and unpredictable, respectively. As an extension of the max-min-cloud algorithm, we further devise the max-load-first algorithm to deal with the VM placement problem in the cloud. MC simulation results show that the max-load-first VM-placement algorithm outperforms the other two heuristic algorithms in terms of reducing the mean of stochastic completion time of a group of arbitrary customers\u27 requests. Simulation results also provide insight on how the initial loads of servers affect the performance of the cloud system. In summary, the findings in this dissertation work can be of great benefit to both service providers (namely business owners) and cloud providers. For business owners, the max-min-cloud workload-allocation algorithm and the MPC resource-provisioning strategy together can be used help them build a better understanding of how much virtual resources in the cloud they may need to meet customers\u27 expectations subject to cost constraints. For cloud providers, the max-load-first VM-placement algorithm can be used to optimize the computational performance of the service by appropriately utilizing the physical machines and efficiently placing the VMs in their cloud infrastructures

    Managing High-Availability and Elasticity in a Cluster Environment

    Get PDF
    Cloud computing is becoming popular in the computing industry. Elasticity and availability are two features often associated with cloud computing. Elasticity is defined as the automatic provisioning of resources when needed and de-provisioning of resources when they are not needed. Cloud computing offers the users the option of only paying for what they use and guarantees the availability of virtual infrastructure (i.e. virtual machines). The existing cloud solutions handle both elasticity and availability at the virtual infrastructure level through the manipulation, restart, addition and removal of virtual machines (VMs) as required. These solutions equate the application and its workload to the VMs that run the application. High-availability applications are typically composed of redundant resources, and recover from failures through failover mostly managed by a middleware. For such applications, handling elasticity at the virtual infrastructure level through the addition and removal of VMs is not enough, as the availability management in application level will not make use of additional resources. This requires new solutions that manage both elasticity and availability in application level. In this thesis, we provide a solution to manage the elasticity and availability of applications based on a standard middleware defined by the Service Availability Forum (SA Forum). Our solution manages application level elasticity through the manipulation of the application configuration used by the middleware to ensure service availability. For this purpose we introduce a third party, ‘Elasticity Engine’ (EE), that manipulates the application configuration used by the SA Forum middleware when a workload changes. This in turn triggers the SA Forum middleware to change the workload distribution in the system while ensuring service availability. We explore the SA Forum middleware configuration attributes that play a role in elasticity management, the constraints applicable to them, as well as their impact on the load distribution. We propose an overall architecture for availability and elasticity management for an SA Forum system. We design the EE architecture and behavior through a set of strategies for elasticity. The proposed EE has been implemented and tested

    A Profile-Based Approach to Just-in-Time Scalability for Cloud Applications

    No full text
    corecore