10 research outputs found

    Elastic Build System in a Hybrid Cloud Environment

    Get PDF
    Linux-based operating systems such as MeeGo consist of thousands of modular packages. Compiling source code and packaging software is an automated but computationally heavy task. Fast and cost-efficient software building is one of the requirements for rapid software development and testing. Meanwhile, the arrival of cloud services makes it easier to buy computing infrastructure and platforms over the Internet. The difference to earlier hosting services is the agility; services are accessible within minutes from the request and the customer only pays per use. This thesis examines how cloud services could be leveraged to ensure sufficient computing capacity for a software build system. The chosen system is Open Build Service, a centrally managed distributed build system capable of building packages for MeeGo among other distributions. As the load on a build cluster can vary greatly, a local infrastructure is difficult to provision efficiently, thus virtual machines from the cloud could be acquired temporarily to accommodate the fluctuating demand. Main issues are whether cloud could be utilized safely and whether it is time-efficient to transfer computational jobs to an outside service. A MeeGo-enabled instance of Open Build Service was first set up in-house, running a management server and a server for workers which build the packages. A virtual machine template for cloud workers was created. Virtual machines created from this template would start the worker program and connect to the management server through a secured tunnel. A service manager script was then implemented to monitor jobs and the usage of workers and to make decisions whether new machines from the cloud should be requested or idle ones terminated. This elasticity is automated and is capable of scaling up in a matter of minutes. The service manager also features cost optimizations implemented with a specific cloud service (Amazon Web Services) in mind. The latency between the in-house and the cloud did not prove to be insurmountable, but as each virtual machine from the cloud has a starting delay of three minutes, the system reacts fairly slowly to increasing demand. The main advantage of the cloud usage is the seemingly infinite number of machines available, ideal for building a large number of packages that can be built in parallel. Packages may need other packages during building, which inhibits the system from building all packages in parallel. Powerful workers are needed to quickly build larger bottleneck packages. Finding the balance between the number and performance of workers is one of the issues for future research. To ensure high availability, improvements should be made to the service manager and a separate virtual infrastructure manager should be used to utilize multiple cloud providers. In addition, mechanisms are needed to keep proprietary source code on in-house workers and to ensure that malicious code cannot be injected into the system via packages originating from open development communities. /Kir1

    Improving energy efficiency of virtualized datacenters

    Get PDF
    Nowadays, many organizations choose to increasingly implement the cloud computing approach. More specifically, as customers, these organizations are outsourcing the management of their physical infrastructure to data centers (or cloud computing platforms). Energy consumption is a primary concern for datacenter (DC) management. Its cost represents about 80% of the total cost of ownership and it is estimated that in 2020, the US DCs alone will spend about $13 billion on energy bills. Generally, the datacenter servers are manufactured in such a way that they achieve high energy efficiency at high utilizations. Thereby for a low cost per computation all datacenter servers should push the utilization as high as possible. In order to fight the historically low utilization, cloud computing adopted server virtualization. The latter allows a physical server to execute multiple virtual servers (called virtual machines) in an isolated way. With virtualization, the cloud provider can pack (consolidate) the entire set of virtual machines (VMs) on a small set of physical servers and thereby, reduce the number of active servers. Even so, the datacenter servers rarely reach utilizations higher than 50% which means that they operate with sets of longterm unused resources (called 'holes'). My first contribution is a cloud management system that dynamically splits/fusions VMs such that they can better fill the holes. This solution is effective only for elastic applications, i.e. applications that can be executed and reconfigured over an arbitrary number of VMs. However the datacenter resource fragmentation stems from a more fundamental problem. Over time, cloud applications demand more and more memory but the physical servers provide more an more CPU. In nowadays datacenters, the two resources are strongly coupled since they are bounded to a physical sever. My second contribution is a practical way to decouple the CPU-memory tuple that can simply be applied to a commodity server. Thereby, the two resources can vary independently, depending on their demand. My third and my forth contribution show a practical system which exploit the second contribution. The underutilization observed on physical servers is also true for virtual machines. It has been shown that VMs consume only a small fraction of the allocated resources because the cloud customers are not able to correctly estimate the resource amount necessary for their applications. My third contribution is a system that estimates the memory consumption (i.e. the working set size) of a VM, with low overhead and high accuracy. Thereby, we can now consolidate the VMs based on their working set size (not the booked memory). However, the drawback of this approach is the risk of memory starvation. If one or multiple VMs have an sharp increase in memory demand, the physical server may run out of memory. This event is undesirable because the cloud platform is unable to provide the client with the booked memory. My fourth contribution is a system that allows a VM to use remote memory provided by a different rack server. Thereby, in the case of a peak memory demand, my system allows the VM to allocate memory on a remote physical server

    On the design of a cost-efficient resource management framework for low latency applications

    Get PDF
    The ability to offer low latency communications is one of the critical design requirements for the upcoming 5G era. The current practice for achieving low latency is to overprovision network resources (e.g., bandwidth and computing resources). However, this approach is not cost-efficient, and cannot be applied in large-scale. To solve this, more cost-efficient resource management is required to dynamically and efficiently exploit network resources to guarantee low latencies. The advent of network virtualization provides novel opportunities in achieving cost-efficient low latency communications. It decouples network resources from physical machines through virtualization, and groups resources in the form of virtual machines (VMs). By doing so, network resources can be flexibly increased at any network locations through VM auto-scaling to alleviate network delays due to lack of resources. At the same time, the operational cost can be largely reduced by shutting down low-utilized VMs (e.g., energy saving). Also, network virtualization enables the emerging concept of mobile edge-computing, whereby VMs can be utilized to host low latency applications at the network edge to shorten communication latency. Despite these advantages provided by virtualization, a key challenge is the optimal resource management of different physical and virtual resources for low latency communications. This thesis addresses the challenge by deploying a novel cost-efficient resource management framework that aims to solve the cost-efficient design of 1) low latency communication infrastructures; 2) dynamic resource management for low latency applications; and 3) fault-tolerant resource management. Compared to the current practices, the proposed framework achieves 80% of deployment cost reduction for the design of low latency communication infrastructures; continuously saves up to 33% of operational cost through dynamic resource management while always achieving low latencies; and succeeds in providing fault tolerance to low latency communications with a guaranteed operational cost
    corecore