TL;DR: This paper presents a system that uses virtualization technology to allocate data center resources dynamically based on application demands and support green computing by optimizing the number of servers in use and develops a set of heuristics that prevent overload in the system effectively while saving energy used.
Abstract: Cloud computing allows business customers to scale up and down their resource usage based on needs. Many of the touted gains in the cloud model come from resource multiplexing through virtualization technology. In this paper, we present a system that uses virtualization technology to allocate data center resources dynamically based on application demands and support green computing by optimizing the number of servers in use. We introduce the concept of "skewness” to measure the unevenness in the multidimensional resource utilization of a server. By minimizing skewness, we can combine different types of workloads nicely and improve the overall utilization of server resources. We develop a set of heuristics that prevent overload in the system effectively while saving energy used. Trace driven simulation and experiment results demonstrate that our algorithm achieves good performance.
TL;DR: An algorithm named honey bee behavior inspired load balancing (HBB-LB) is proposed, which aims to achieve well balanced load across virtual machines for maximizing the throughput and compared with existing load balancing and scheduling algorithms.
Abstract: Scheduling of tasks in cloud computing is an NP-hard optimization problem. Load balancing of non-preemptive independent tasks on virtual machines (VMs) is an important aspect of task scheduling in clouds. Whenever certain VMs are overloaded and remaining VMs are under loaded with tasks for processing, the load has to be balanced to achieve optimal machine utilization. In this paper, we propose an algorithm named honey bee behavior inspired load balancing (HBB-LB), which aims to achieve well balanced load across virtual machines for maximizing the throughput. The proposed algorithm also balances the priorities of tasks on the machines in such a way that the amount of waiting time of the tasks in the queue is minimal. We have compared the proposed algorithm with existing load balancing and scheduling algorithms. The experimental results show that the algorithm is effective when compared with existing algorithms. Our approach illustrates that there is a significant improvement in average execution time and reduction in waiting time of tasks on queue.
TL;DR: The proposed multi-objective ant colony system algorithm to efficiently obtain a set of non-dominated solutions (the Pareto set) that simultaneously minimize total resource wastage and power consumption is proposed.
TL;DR: This work conducted a number of experiments in order to perform an in-depth performance evaluation of container-based virtualization for HPC, and compared them with Xen, which is a representative of the traditional hypervisor-basedvirtualization systems used today.
Abstract: The use of virtualization technologies in high performance computing (HPC) environments has traditionally been avoided due to their inherent performance overhead. However, with the rise of container-based virtualization implementations, such as Linux VServer, OpenVZ and Linux Containers (LXC), it is possible to obtain a very low overhead leading to near-native performance. In this work, we conducted a number of experiments in order to perform an in-depth performance evaluation of container-based virtualization for HPC. We also evaluated the trade-off between performance and isolation in container-based virtualization systems and compared them with Xen, which is a representative of the traditional hypervisor-based virtualization systems used today.
TL;DR: This paper shows that an adversary can implement a generic side channel attack against the memory management system to deduce information about the privileged address space layout and can successfully circumvent kernel space ASLR on current operating systems.
Abstract: Due to the prevalence of control-flow hijacking attacks, a wide variety of defense methods to protect both user space and kernel space code have been developed in the past years. A few examples that have received widespread adoption include stack canaries, non-executable memory, and Address Space Layout Randomization (ASLR). When implemented correctly (i.e., a given system fully supports these protection methods and no information leak exists), the attack surface is significantly reduced and typical exploitation strategies are severely thwarted. All modern desktop and server operating systems support these techniques and ASLR has also been added to different mobile operating systems recently. In this paper, we study the limitations of kernel space ASLR against a local attacker with restricted privileges. We show that an adversary can implement a generic side channel attack against the memory management system to deduce information about the privileged address space layout. Our approach is based on the intrinsic property that the different caches are shared resources on computer systems. We introduce three implementations of our methodology and show that our attacks are feasible on four different x86-based CPUs (both 32- and 64-bit architectures) and also applicable to virtual machines. As a result, we can successfully circumvent kernel space ASLR on current operating systems. Furthermore, we also discuss mitigation strategies against our attacks, and propose and implement a defense solution with negligible performance overhead.
TL;DR: This work constructs application-oblivious models for the cost prediction by using learned knowledge about the workloads at the hypervisor (also called VMM) level and evaluates the models using five representative workloads on a Xen virtualized environment.
Abstract: Live migration of virtual machine (VM) provides a significant benefit for virtual server mobility without disrupting service. It is widely used for system management in virtualized data centers. However, migration costs may vary significantly for different workloads due to the variety of VM configurations and workload characteristics. To take into account the migration overhead in migration decision-making, we investigate design methodologies to quantitatively predict the migration performance and energy consumption. We thoroughly analyze the key parameters that affect the migration cost from theory to practice. We construct application-oblivious models for the cost prediction by using learned knowledge about the workloads at the hypervisor (also called VMM) level. This should be the first kind of work to estimate VM live migration cost in terms of both performance and energy in a quantitative approach. We evaluate the models using five representative workloads on a Xen virtualized environment. Experimental results show that the refined model yields higher than 90% prediction accuracy in comparison with measured cost. Model-guided decisions can significantly reduce the migration cost by more than 72.9% at an energy saving of 73.6%.
TL;DR: This article proposes to integrate cloud computing into vehicular networks such that the vehicles can share computation resources, storage resources, and bandwidth resources and study cloud resource allocation and virtual machine migration for effective resource management.
Abstract: In the era of the Internet of Things, all components in intelligent transportation systems will be connected to improve transport safety, relieve traffic congestion, reduce air pollution, and enhance the comfort of driving. The vision of all vehicles connected poses a significant challenge to the collection and storage of large amounts of traffic-related data. In this article, we propose to integrate cloud computing into vehicular networks such that the vehicles can share computation resources, storage resources, and bandwidth resources. The proposed architecture includes a vehicular cloud, a roadside cloud, and a central cloud. Then we study cloud resource allocation and virtual machine migration for effective resource management in this cloud-based vehicular network. A game-theoretical approach is presented to optimally allocate cloud resources. Virtual machine migration due to vehicle mobility is solved based on a resource reservation scheme.
TL;DR: This work describes a new approach to virtual machine (VM) construction that amortizes much of the effort in initial construction by allowing new languages to be implemented with modest additional effort, and suggests that high performance is attainable while preserving a modular and layered architecture.
Abstract: Building high-performance virtual machines is a complex and expensive undertaking; many popular languages still have low-performance implementations. We describe a new approach to virtual machine (VM) construction that amortizes much of the effort in initial construction by allowing new languages to be implemented with modest additional effort. The approach relies on abstract syntax tree (AST) interpretation where a node can rewrite itself to a more specialized or more general node, together with an optimizing compiler that exploits the structure of the interpreter. The compiler uses speculative assumptions and deoptimization in order to produce efficient machine code. Our initial experience suggests that high performance is attainable while preserving a modular and layered architecture, and that new high-performance language implementations can be obtained by writing little more than a stylized interpreter.
TL;DR: DeepDive successfully addresses several important challenges, including the lack of performance information from applications, and the large overhead of detailed interference analysis, by transparently identifying and managing performance interference between virtual machines co-located on the same physical machine in Infrastructure-as-a-Service cloud environments.
Abstract: We describe the design and implementation of Deep-Dive, a system for transparently identifying and managing performance interference between virtual machines (VMs) co-located on the same physical machine in Infrastructure-as-a-Service cloud environments. DeepDive successfully addresses several important challenges, including the lack of performance information from applications, and the large overhead of detailed interference analysis. We first show that it is possible to use easily-obtainable, low-level metrics to clearly discern when interference is occurring and what resource is causing it. Next, using realistic workloads, we show that DeepDive quickly learns about interference across co-located VMs. Finally, we show DeepDive's ability to deal efficiently with interference when it is detected, by using a low-overhead approach to identifying a VM placement that alleviates interference.
TL;DR: This work attempts to establish formal measurements for under and over provisioning of virtualized resources in cloud infrastructures, specifically for SaaS platform deployments and proposes a resource allocation model to deploy SAAS applications over cloud computing platforms by taking into account their multi-tenancy, thus creating a cost-effective scalable environment.
TL;DR: In this paper, a generic side channel attack against the memory management system to deduce information about the privileged address space layout is proposed, based on the intrinsic property that the different caches are shared resources on computer systems.
Abstract: Due to the prevalence of control-flow hijacking attacks, a wide variety of defense methods to protect both user space and kernel space code have been developed in the past years. A few examples that have received widespread adoption include stack canaries, non-executable memory, and Address Space Layout Randomization (ASLR). When implemented correctly (i.e., a given system fully supports these protection methods and no information leak exists), the attack surface is significantly reduced and typical exploitation strategies are severely thwarted. All modern desktop and server operating systems support these techniques and ASLR has also been added to different mobile operating systems recently. In this paper, we study the limitations of kernel space ASLR against a local attacker with restricted privileges. We show that an adversary can implement a generic side channel attack against the memory management system to deduce information about the privileged address space layout. Our approach is based on the intrinsic property that the different caches are shared resources on computer systems. We introduce three implementations of our methodology and show that our attacks are feasible on four different x86-based CPUs (both 32- and 64-bit architectures) and also applicable to virtual machines. As a result, we can successfully circumvent kernel space ASLR on current operating systems. Furthermore, we also discuss mitigation strategies against our attacks, and propose and implement a defense solution with negligible performance overhead.
TL;DR: The basic idea of VMPlanner is to optimize both virtual machine placement and traffic flow routing so as to turn off as many unneeded network elements as possible for power saving in the virtualization-based data centers.
TL;DR: Düppel includes defenses for time-shared caches such as per-core L1 and L2 caches that effectively obfuscates timing signals available to an attacker VM via these caches and incurs modest performance overheads.
Abstract: This paper presents the design, implementation and evaluation of a system called Duppel that enables a tenant virtual machine to defend itself from cache-based side-channel attacks in public clouds. Duppel includes defenses for time-shared caches such as per-core L1 and L2 caches. Experiments in the lab and on public clouds show that Duppel effectively obfuscates timing signals available to an attacker VM via these caches and incurs modest performance overheads (at most 7% and usually much less) in the common case of no side-channel attacks. Moreover, Duppel requires no changes to hypervisors or support from cloud operators.
TL;DR: In this paper, a mechanism is provided in a data processing system for performing a system upgrade, which identifies a plurality of upgrade phases and generates a pre-upgrade snapshot of each of the one or more virtual machines.
Abstract: A mechanism is provided in a data processing system for performing a system upgrade. Responsive to receiving selection of one or more virtual machines to upgrade with an upgrade package, the mechanism identifies a plurality of upgrade phases. The mechanism configures the plurality of upgrade phases and generates a pre-upgrade snapshot of each of the one or more virtual machines. The mechanism performs each upgrade phase in the plurality of upgrade phases to form an upgraded virtual machine and performs one or more upgrade validation tests on the upgraded virtual machine. Responsive to the one or more upgrade validation tests succeeding, the mechanism reverts back to the pre-upgrade snapshot.
TL;DR: The security considerations and some associated methodologies by which security breaches can occur are explained, recommendations for how virtualized environments can best be protected are offered, and a set of generalized recommendations that can be applied to achieve secure virtualized implementations are offered.
Abstract: Although system virtualization is not a new paradigm, the way in which it is used in modern system architectures provides a powerful platform for system building, the advantages of which have only been realized in recent years, as a result of the rapid deployment of commodity hardware and software systems. In principle, virtualization involves the use of an encapsulating software layer (Hypervisor or Virtual Machine Monitor) which surrounds or underlies an operating system and provides the same inputs, outputs, and behavior that would be expected from an actual physical device. This abstraction means that an ideal Virtual Machine Monitor provides an environment to the software equivalent to the host system, but which is decoupled from the hardware state. Because a virtual machine is not dependent on the state of the physical hardware, multiple virtual machines may be installed on a single set of hardware. The decoupling of physical and logical states gives virtualization inherent security benefits. However, the design, implementation, and deployment of virtualization technology have also opened up novel threats and security issues which, while not particular to system virtualization, take on new forms in relation to it. Reverse engineering becomes easier due to introspection capabilities, as encryption keys, security algorithms, low-level protection, intrusion detection, or antidebugging measures can become more easily compromised. Furthermore, associated technologies such as virtual routing and networking can create challenging issues for security, intrusion control, and associated forensic processes. We explain the security considerations and some associated methodologies by which security breaches can occur, and offer recommendations for how virtualized environments can best be protected. Finally, we offer a set of generalized recommendations that can be applied to achieve secure virtualized implementations.
TL;DR: Based on an analysis of the virtual machine resource usage data and the resource capacity data of virtualization servers and other physical resources in the cloud computing environment, each virtual machine may be matched to one of a plurality of VMs as discussed by the authors.
Abstract: Virtual machines, virtualization servers, and other physical resources in a cloud computing environment may be dynamically configured based on the resource usage data for the virtual machines and resource capacity data for the physical resources in the cloud system. Based on an analysis of the virtual machine resource usage data and the resource capacity data of the virtualization servers and other physical resources in the cloud computing environment, each virtual machine may be matched to one of a plurality of virtualization servers, and the resources of the virtualization servers and other physical resources in the cloud may be reallocated and reconfigured to provide additional usage capacity to the virtual machines.
TL;DR: In this article, a self-organizing and adaptive approach for the consolidation of VMs on two resources, namely, CPU and RAM, is presented, which makes the approach very simple to implement.
Abstract: Power efficiency is one of the main issues that will drive the design of data centers, especially of those devoted to provide Cloud computing services. In virtualized data centers, consolidation of Virtual Machines (VMs) on the minimum number of physical servers has been recognized as a very efficient approach, as this allows unloaded servers to be switched off or used to accommodate more load, which is clearly a cheaper alternative to buy more resources. The consolidation problem must be solved on multiple dimensions, since in modern data centers CPU is not the only critical resource: depending on the characteristics of the workload other resources, for example, RAM and bandwidth, can become the bottleneck. The problem is so complex that centralized and deterministic solutions are practically useless in large data centers with hundreds or thousands of servers. This paper presents ecoCloud, a self-organizing and adaptive approach for the consolidation of VMs on two resources, namely CPU and RAM. Decisions on the assignment and migration of VMs are driven by probabilistic processes and are based exclusively on local information, which makes the approach very simple to implement. Both a fluid-like mathematical model and experiments on a real data center show that the approach rapidly consolidates the workload, and CPU-bound and RAM-bound VMs are balanced, so that both resources are exploited efficiently.
TL;DR: In this paper, a market scheduler matches bids with available processes and coordinates the transfer of load from the selling device to the buying device to optimize the performance of the cloud system as a whole.
Abstract: A cloud computing system management system including a plurality of computing devices configured to host virtual machine instances, each computing device in the plurality of computing devices including a local agent that continuously evaluates the observed load relative to a utility maximization function. If observed load is higher than a calculated optimal level, individual loading processes are offered for “sale” via a market scheduler. If observed load is lower than a calculated optimal level, then available capacity is offered as a bid via the market scheduler. The market scheduler matches bids with available processes and coordinates the transfer of load from the selling device to the buying device. The offered prices and utility maximization functions can be employed to optimize the performance of the cloud system as a whole.
TL;DR: In this paper, the authors propose a method in which detects a change for a virtual machine in a virtual server of a virtual network infrastructure, determines whether a virtual security appliance is configured in the virtual server, and sends a request to create the virtual security appliances in the VM.
Abstract: A method in an embodiment includes detecting a change for a virtual machine in a virtual server of a virtual network infrastructure, determining whether a virtual security appliance is configured in the virtual server, and sending a request to create the virtual security appliance in the virtual server. The method further includes allowing the virtual machine to initiate when the virtual security appliance is created in the virtual machine. The virtual security appliance performs security inspections on network packets sent from the virtual machine. In more specific embodiments, the method further includes creating an intercept mechanism in the virtual server to intercept the network packets from the virtual machine. In further embodiments, one or more security policies identify one or more virtual security appliances to process the network packets from the virtual machine.
TL;DR: Experimental results on the real workload traces from more than a thousand Planet Lab VMs show that the proposed technique can significantly reduce the energy consumption and SLA violation rates.
Abstract: Virtualization is a vital technology of cloud computing which enables the partition of a physical host into several Virtual Machines (VMs). The number of active hosts can be reduced according to the resources requirements using live migration in order to minimize the power consumption in this technology. However, the Service Level Agreement (SLA) is essential for maintaining reliable quality of service between data centers and their users in the cloud environment. Therefore, reduction of the SLA violation level and power costs are considered as two objectives in this paper. We present a CPU usage prediction method based on the linear regression technique. The proposed approach approximates the short-time future CPU utilization based on the history of usage in each host. It is employed in the live migration process to predict over-loaded and under-loaded hosts. When a host becomes over-loaded, some VMs migrate to other hosts to avoid SLA violation. Moreover, first all VMs migrate from a host while it becomes under-loaded. Then, the host switches to the sleep mode for reducing power consumption. Experimental results on the real workload traces from more than a thousand Planet Lab VMs show that the proposed technique can significantly reduce the energy consumption and SLA violation rates.
TL;DR: In this article, a virtual machine instance provides a first virtual operating environment while the second VM instance is adapted to share the resources allocated to the first VM instance, which is further adapted to allocate additional resources upon conducting Copy-On Write operation.
Abstract: According to one embodiment, a computerized method comprises operations of instantiating a first virtual machine instance and a second virtual machine instance to run concurrently with the first virtual machine instance. The first virtual machine instance provides a first virtual operating environment while the second virtual machine instance is adapted to share the resources allocated to the first virtual machine instance. The second virtual machine instance is further adapted to allocate additional resources upon conducting a Copy-On Write operation.
TL;DR: In this article, a virtualized computer system provides fault tolerant operation of a primary virtual machine by storing a snapshot of the primary VM and a log file containing non-deterministic events occurring in the instruction stream of the VM.
Abstract: A virtualized computer system provides fault tolerant operation of a primary virtual machine. In one embodiment, this system includes a backup computer system that stores a snapshot of the primary virtual machine and a log file containing non-deterministic events occurring in the instruction stream of the primary virtual machine. The primary virtual machine periodically updates the snapshot and the log file. Upon a failure of the primary virtual machine, the backup computer can instantiate a failover backup virtual machine by consuming the stored snapshot and log file.
TL;DR: In this paper, the authors use virtual machines that, in a controlled and monitored environment, permit content, when loaded and executed, to open ports when those ports are not the authorized ones used for communications by known programs installed on the computer, an instruction backdoor is discovered.
Abstract: Techniques for detecting malicious attacks may monitor activities during execution of content (e.g., network downloads and email) to identify an instruction backdoor on a computer. An instruction backdoor is malware that opens a port for listening for instructions from a remote server. Such instructions may trigger activation of malicious activity. These techniques employ virtual machines that, in a controlled and monitored environment, permit content, when loaded and executed, to open ports. When those ports are not the authorized ones used for communications by known programs installed on the computer, an instruction backdoor is discovered.
TL;DR: In this paper, an electronic device comprises a memory to store information and a processor that is adapted to receive information associated with content such as network traffic, to process the stored information and to conduct operations on the content.
Abstract: According to one embodiment, an electronic device comprises a memory to store information and a processor. The processor is adapted to receive information associated with content such as network traffic, to process the stored information and to conduct operations on the content. These operations may comprise determining, by a virtual machine processed by the processor, an occurrence of an event during malware analysis of an object associated with the content, and dynamically altering a virtual machine instrumentation of the virtual machine based on information associated with the event.
TL;DR: In this paper, an exception monitoring module is proposed to detect security policy violation exception occurring as a result of a malicious program execution in a process virtual machine. But the exception monitoring mechanism is limited to a set of program instructions.
Abstract: Protection against a malicious set of program instructions (e.g., a malicious program) executable by a process virtual machine. The program instructions of process virtual machine are augmented to establish an exception monitoring module within the process virtual machine. When the process virtual machine executes a subject set of program instructions, the exception monitoring module detects a security policy violation exception occurring as a result. In response thereto, the exception monitoring module gathers context information representing circumstances surrounding the occurrence of the exception, and provides the context information for analysis of a presence of malicious code. The exception monitoring module determines, based on a result of the analysis, whether to permit further execution of the subject set of program instructions by the process virtual machine.
TL;DR: In this article, the authors present an apparatus comprising a host component which comprises a virtual switch associated with a virtual machine (VM), in communication with a routing component which is connected to a network and comprises a network address.
Abstract: In an embodiment, the disclosure includes an apparatus comprising a host component which comprises a virtual switch associated with a virtual machine (VM). The host component is in communication with a routing component which is connected to a network and comprises a network address. The VM sends a communication packet to the virtual switch. The communications packet comprises address information comprising a virtual destination address. The virtual switch replaces the virtual destination address of the communications packet with the network address of the routing component. The disclosure also includes a network comprising a plurality of host components each comprising a virtual switch. The host components are connected to a common routing component. A first virtual switch is designated to respond to address requests and all non-designated virtual switches are configured not to respond to address requests.
TL;DR: In this article, an efficient position-dependent multibody dynamic model of a machine tool is developed based on reduced model substructural synthesis, which can be used for efficient simulation of structural dynamics, stability assessment, and interactions of the CNC and cutting process with the machine tool structure in a virtual environment.
Abstract: Machine tool's productivity is a function of the dynamic response between the spindle nose and table, which varies as a function of drive positions within the machine work volume. The position-dependent structural dynamics results in varying stability of the machine. This paper presents a computationally efficient methodology to evaluate and improve dynamic performance of a machine tool at the design stage. An efficient position-dependent multibody dynamic model of a machine tool is developed based on reduced model substructural synthesis. The experimentally validated reduced machine model simulates position-dependent behavior with significantly less computational effort than commonly used full order Finite Element models. The proposed modeling strategy is used to identify weak components of an experimental machine, which limit the productivity due to chatter. The identified weak machine component is modified and the complete dynamics are rapidly analyzed by virtually re-assembling the machine using reduced order models. Optimal design modifications are shown to increase productivity by ∼25%. The proposed method can be used for efficient simulation of structural dynamics, stability assessment as well as interactions of the CNC and cutting process with the machine tool structure in a virtual environment.
TL;DR: In this article, techniques for managing communications between multiple computing nodes, such as computing nodes that are separated by one or more physical networks, are described, where the techniques may be used to provide a virtual network.
Abstract: Techniques are described for managing communications between multiple computing nodes, such as computing nodes that are separated by one or more physical networks. In some situations, the techniques may be used to provide a virtual network between multiple computing nodes that are separated by one or more intermediate physical networks, such as from the edge of the one or more intermediate physical networks by modifying communications that enter and/or leave the intermediate physical networks. In some situations, the computing nodes may include virtual machine nodes hosted on one or more physical computing machines or systems, such as by or on behalf of one or more users (e.g., users of a program execution service). The managing of the communications may include determining whether communications sent to managed computing nodes are authorized, and providing the communications to the computing nodes only if they are determined to be authorized.
TL;DR: XMHF includes a core that provides functionality common to many hypervisor-based security architectures and supports extensions that augment the core with additional security or functional properties while preserving the fundamental hypervisor security property of memory integrity.
Abstract: We present the design, implementation, and verification of XMHF- an eXtensible and Modular Hypervisor Framework. XMHF is designed to achieve three goals -- modular extensibility, automated verification, and high performance. XMHF includes a core that provides functionality common to many hypervisor-based security architectures and supports extensions that augment the core with additional security or functional properties while preserving the fundamental hypervisor security property of memory integrity (i.e., ensuring that the hypervisor's memory is not modified by software running at a lower privilege level). We verify the memory integrity of the XMHF core -- 6018 lines of code -- using a combination of automated and manual techniques. The model checker CBMC automatically verifies 5208 lines of C code in about 80 seconds using less than 2GB of RAM. We manually audit the remaining 422 lines of C code and 388 lines of assembly language code that are stable and unlikely to change as development proceeds. Our experiments indicate that XMHF's performance is comparable to popular high-performance general-purpose hypervisors for the single guest that it supports.
TL;DR: In this paper, a system comprises one or more counters; comparison logic; and one or many hardware processors communicatively coupled to the counters and the comparison logic, where the counters are configured to monitor a delay caused by events conducted during processing of the content and identify the content as including malware if the delay exceed a first time period.
Abstract: According to one embodiment, a system comprises one or more counters; comparison logic; and one or more hardware processors communicatively coupled to the one or more counters and the comparison logic. The one or more hardware processors are configured to instantiate one or more virtual machines that are adapted to analyze received content, where the one or more virtual machines are configured to monitor a delay caused by one or more events conducted during processing of the content and identify the content as including malware if the delay exceed a first time period.