Font Size: a A A

Research On The Performance And Scalability Of Virtual Environments On Multicore

Posted on:2015-08-19Degree:DoctorType:Dissertation
Country:ChinaCandidate:X SongFull Text:PDF
GTID:1108330464455353Subject:Computer system architecture
Abstract/Summary:Request the full-text of this thesis
Cloud computing has been an appealing innovation of modern computing modes. With the advance of web and virtualization technologies, virtual cloud has been a new dimension to supply computing resources to a wide range of communities. As cloud providers (e.g., Amazon, Microsoft) manage virtual servers in certralized data centers and provide a on-demand computing model, it can significantly lower the cost of build-ing, maintaining and upgrading a computing infrastructure. Thus the cost of renting and maintaining computing resources is greatly reduced which is attractive to users from companies, organizations and even individuals all over the world.Meanwhile, multi-core and many-core systems are now commercially prevalence and steadily increasing their number of cores. Both Intel and AMD have released their 12-core CPUs into the market and AMD has announced their 16-core CPU. Along with the development of symmetric multiprocessing (SMP) technology, a single machine equipped with 80 cores is now avaliable. It thus is foreseeable that, in the near future, a single machine can equipped with hundreds of cores. Consequently, a single virtual machine (VM) will likely to manage a massive number of resources (e.g., CPU cores). Several cloud providers have now provides VMs equipped with 32 vCPUs. The in-creasing number of cores in a single VM has made the performance and scalability of many-core applications upon a VM more relevant to the efficiency of the virtualization layer.However, the study on the performance and scalability of the virtualization layer is still limited. Most research work focuses on a specific part of virtualization such as the performance of network or the performance of VM scheduling. There lacks a complete study covering most aspects of the virtualization layer as well as following improvments to improve the performance and scalability of existing virtual environments.This dissertation tries to take a comprehesive analysis of the performance and scal-ability of different parts of virtualization systems including the system virtualization software, the I/O virtualization system as well as the VM management software and proposes a practical and systematic solution to improve the performance and scalability of various aspects of currently virtualization systems from different levels.The main contents and contributions of this paper include the following aspects:1. We provide a detailed analysis of the performance and scalability of virtualization systems. We take our study on Xen virtualization system and KVM virtualization system to explore the performance and scalability of different parts of virtual-ization systems on multicore platforms. The result shows that the performance and scalability problems of these virtualization systems fall into three categories: 1) the problem of virtualization system software including the design and imple-mentation of system software stack as well as the VM scheduling scheme; 2) the problem of virtualizing hard drives and other peripherals; and 3) the problem of VM management softwares.2. In order to solve the performance and scalability problems of virtualization system software, we design and implement three systems:Cerberus+, iXen and vCPU-Bal.The Cerberus+system clusters multiple virtual machines (each VM will contains only one or two vCPUs) atop a VMM on a multicore platform and provides ap-plications with the traditional POSIX interface so that it can avoid the scalability problem of a signle VM with increasing number of cores while is still applicable to most applications. The evaluzation on an AMD 48-core machine shows that Cerberus+achieves up to 1.37X and 11.62X performance speedup compared to Xen-Linux system and it scales better than the Xen-Linux VM.IXen system takes various remedies to improve the scalability of the Xen virtu-alization systems by mitigating the contention on virtual time emulation, the idle time problem, the shared cached problem inside the Xen scheduler the instruction TLB miss problem. The evaluzation on an AMD 48-core machine shows that the performance improvement of iXen system or vanilla Xen ranges from 1.10X to 9.42X。VCPU-Bal try to solve the scalability problem caused by VM scheduling through dynamically adjusting the amount of vCPUs assigned to a guest VM to avoid hy-pervisor scheduling as m uch as possible. The evaluzation on an Intel 12-core machine shows that vCPU-Bal system can improve the performance of Xen sys-tem by 13.6% and the performance of KVM system by 25.5%3. We proprose VFlash the first storage I/O virtualization architecture that architects internal structures of flash-based SSD and SR-IOV for high-performance I/O vir-tualization using two FTLs (based on DFTL and FAST) as an example which can reduce the cost introduced by virtual disk emuation and explores the massive inter-nal parallelism inside an SSD. Performance evaluation using a modified FlashSim showed that VFlash incurred small performance overhead over devices in native environment while provide much better parallelism in multi-VM environment.4. We make a comprehensive analysis on the parallelization opportunities of live VM migration on two popular open-source VMMs (i.e., Xen and KVM) and observe that most operations of live VM migration can be parallelized by leveraging data parallelism and pipeline parallelism. Based on this observation, we design and implement a parallel live VM migration system, PMigrate system, on both Xen and KVM. Evaluation results shows that our working prototype on Xen and KVM accelerates the live VM migration ranging from 2.49X to 9.88X, and decreases the downtime ranging from 1.9X to 279.89X.
Keywords/Search Tags:Multicore, Virtnalization, Performance, Scalability
Request the full-text of this thesis
Related items