A Functional Classification Based Inter-VM Communication Mechanism with Multi-core Platform

Conference Paper · January 2009with4 Reads
DOI: 10.1109/ICPADS.2009.57 · Source: DBLP
Conference: IEEE 15th International Conference on Parallel and Distributed Systems, ICPADS 2009, 8-11 December 2009, Shenzhen, China
Abstract
With the resurgence of virtualization technologies and the development of multi-core technologies, the combination of the two becomes a trend. Therefore, inter-VM communication becomes a key part in how to improve the performance of virtual machines (VMs) basing on multi-core platform. In this paper, we first analyze the characteristics of multi-core tasks and the properties of virtual machine environment, and then classify processor cores into two categories basing on their different functions. According to the classification, we design an inter-VM communication mechanism with multi-core platform. It discards the traditional communication path between VMs which needs to via a trusted VM, sets up communication channels between virtual CPUs in different VMs and uses shared memory space to implement high-throughput communication of inter-VM. Experiment results have proved the efficiency of them.
  • [Show abstract] [Hide abstract] ABSTRACT: The goal of Denali is to safely execute many independent, untrusted server applications on a single physical machine. This would enable any developer to inject a new service into third-party Internet infrastructure; for example, dynamic content generation code could be introduced into content-delivery networks or caching systems. We believe that virtual machine monitors (VMMs) are ideally suited to this application domain. A VMM provides strong isolation by default, since one virtual machine cannot directly name a resource in another. In addition, VMMs defer the implementation of high-level abstractions to guest OSs, which greatly simplifies the kernel and avoids "layer-below" attacks. The main challenge in using a VMM for this application domain is in scaling the number of concurrent virtual machines that can simultaneously execute on it.
    Article · Mar 2002 · ACM SIGOPS Operating Systems Review
  • [Show abstract] [Hide abstract] ABSTRACT: This paper presents the design and implementation of XenSocket, a UNIX-domain-socket-like construct for high-throughput in- terdomain (VM-to-VM) communication on the same system. The design of XenSocket replaces the Xen page-flipping mechanism with a static cir- cular memory buffer shared between two domains, wherein information is written by one domain and read asynchronously by the other domain. XenSocket draws on best-practice work in this field and avoids incurring the overhead of multiple hypercalls and memory page table updates by aggregating what were previously multiple operations on multiple net- work packets into one or more large operations on the shared buffer. While the reference implementation (and name) of XenSocket is written against the Xen virtual machine monitor, the principle behind XenSocket applies broadly across the field of virtual machines.
    Full-text · Conference Paper · Nov 2007 · ACM SIGOPS Operating Systems Review
  • [Show abstract] [Hide abstract] ABSTRACT: Virtualised systems have experienced a resurgence in popularity in recent years, particularly in supporting a large number of independent services on a single host. This paper describes our work designing and implement- ing Proper, a service running on the PlanetLab system, that allows other services to perform privileged opera- tions in a safe, controlled manner. We describe how implementing such a system in a traditional UNIX en- vironment is non-trivial, and discuss the practical use of Proper.
    Full-text · Conference Paper · Jan 2005 · ACM SIGOPS Operating Systems Review
  • [Show abstract] [Hide abstract] ABSTRACT: BEST PAPER AWARD In this paper, we propose and evaluate three techniques for optimizing network performance in the Xen virtualized environment. Our techniques retain the basic Xen architecture of locating device drivers in a privileged `driver' domain with access to I/O devices, and providing network access to unprivileged `guest' domains through virtualized network interfaces. First, we redefine the virtual network interfaces of guest domains to incorporate high-level network offfload features available in most modern network cards. We demonstrate the performance benefits of high-level offload functionality in the virtual interface, even when such functionality is not supported in the underlying physical interface. Second, we optimize the implementation of the data transfer path between guest and driver domains. The optimization avoids expensive data remapping operations on the transmit path, and replaces page remapping by data copying on the receive path. Finally, we provide support for guest operating systems to effectively utilize advanced virtual memory features such as superpages and global page mappings. The overall impact of these optimizations is an improvement in transmit performance of guest domains by a factor of 4.4. The receive performance of the driver domain is improved by 35% and reaches within 7% of native Linux performance. The receive performance in guest domains improves by 18%, but still trails the native Linux performance by 61%. We analyse the performance improvements in detail, and quantify the contribution of each optimization to the overall performance.
    Full-text · Article · May 2006 · ACM SIGOPS Operating Systems Review
  • [Show abstract] [Hide abstract] ABSTRACT: Virtual Machine (VM) environments (e.g., VMware and Xen) are experiencing a resurgence of interest for diverse uses including server consolidation and shared hosting. An application's performance in a virtual machine environment can differ markedly from its performance in a non-virtualized environment because of interactions with the underlying virtual machine monitor and other virtual machines. However, few tools are currently available to help debug performance problems in virtual machine environments.In this paper, we present Xenoprof, a system-wide statistical profiling toolkit implemented for the Xen virtual machine environment. The toolkit enables coordinated profiling of multiple VMs in a system to obtain the distribution of hardware events such as clock cycles and cache and TLB misses. The toolkit will facilitate a better understanding of performance characteristics of Xen's mechanisms allowing the community to optimize the Xen implementation.We use our toolkit to analyze performance overheads incurred by networking applications running in Xen VMs. We focus on networking applications since virtualizing network I/O devices is relatively expensive. Our experimental results quantify Xen's performance overheads for network I/O device virtualization in uni- and multi-processor systems. With certain Xen configurations, networking workloads in the Xen environment can suffer significant performance degradation. Our results identify the main sources of this overhead which should be the focus of Xen optimization efforts. We also show how our profiling toolkit was used to uncover and resolve performance bugs that we encountered in our experiments which caused unexpected application behavior.
    Full-text · Conference Paper · Jan 2005 · ACM SIGOPS Operating Systems Review
  • [Show abstract] [Hide abstract] ABSTRACT: Numerous systems have been designed which use virtualization to subdivide the ample resources of a modern computer. Some require specialized hardware, or cannot support commodity operating systems. Some target 100% binary compatibility at the expense of performance. Others sacrifice security or functionality for speed. Few offer resource isolation or performance guarantees; most provide only best-effort provisioning, risking denial of service. This paper presents Xen, an x86 virtual machine monitor which allows multiple commodity operating systems to share conventional hardware in a safe and resource managed fashion, but without sacrificing either performance or functionality. This is achieved by providing an idealized virtual machine abstraction to which operating systems such as Linux, BSD and Windows XP, can be ported with minimal effort. Our design is targeted at hosting up to 100 virtual machine instances simultaneously on a modern server. The virtualization approach taken by Xen is extremely efficient: we allow operating systems such as Linux and Windows XP to be hosted simultaneously for a negligible performance overhead - at most a few percent compared with the unvirtualized case. We considerably outperform competing commercial and freely available solutions in a range of microbenchmarks and system-wide tests.
    Article · Nov 2003
Show more