Font Size: a A A

Hardware-Aided USB Device Virtualization Framework Research

Posted on:2012-02-25Degree:MasterType:Thesis
Country:ChinaCandidate:Y C HeFull Text:PDF
GTID:2178330338484233Subject:Software engineering
Abstract/Summary:PDF Full Text Request
System virtualization has being popular in both the academic and industry community in recent years. By adding a virtual machine monitor(VMM) between operating system and hardware, it can manage and run multiple guest OSes on a single machine. Every guest OS think it occupy all the hardware resources, just like the process think it occupy the CPU and 4G memory space in 32-bit system. Through virtualization technology, the system can supervise, isolate, and schedule every virtual machine, improve system security and utility rate of hardware resources. Meanwhile, system virtualization technology can support dynamic system migration, snapshot, clone on-line efficiently. All these features and advantages can be applied in server consolidation, workload banlance, disaster backup and recovery to achieve high efficiency, usability and security.I/O virtualization is an important part in system virtualization. Different Input/Output devices, vendors, types and versions mean different drivers. The variaty become a bottleneck when virtualization technology puts into use. And the added layer of VMM make the signal and data transfer from hardware to process longer and more complex. So the performance is terribly bad. In the academic community, Xen use Para-Virtualization technology. The driver in non-priviliged VM is front-end. It request I/O operation but can not handle it directly for security. The driver in priviliged VM is back-end. It accesses the I/O device and handle the I/O request, and transfer the result to front-end. This front-end and back-end model can provide the security and keep good performance of VM. But this method need to revise the kernel of OS. It leads to a lot of work. And it has to keep revising once the OS upgraded. And in another hot VMM, KVM, it uses QEMU to simulate the I/O devices. The QEMU simulates all I/O devices for every VM. So the VM accesses the device models in QEMU, not the physical devices directly. QEMU invokes the syscalls that VMM provided, and then transfer the result to device model. Then the VM can operate the device model and get the result. This method will lead to longer transfer path, redundant copy and context switch. The guest OS don't need to change, but the performance is very bad.New technology with hardware support can solve these problems. At first, VT-x in intel product introduce root mode and non-root mode into the CPU's execution mode except user mode and kernel mode. Therefore, sensitive instructions of I/O operations can be intercepted easily, and then use trap-simulation method to remedy the virtualization holes of X86 Architecture. Secondly, the EPT technology can easily convert the virtual address of guest OS to physical address of host OS. Finally, the VT-d technology bring in DMA remapping and I/O page table, making the data transfer easier between application and I/O device. Use these hardware supported technology, a well-designed I/O virtualization framework can solve the problems above. It can assign I/O devices to virtual machine with good performace. And the guest OS don't need to be changed.This study concentrates on the latest virtualization technology. It discusses this area by implementing a USB virtualization framework in KVM virtual machine on the basis of Intel VT and VT-d technolgy. In this framework, USB device is logouted from the host OS and assigned to virtual machine. Thus, the VM can access the USB devices with good performance. It makes the virtualization of USB devices more efficient than QEMU emulation without revise the guest OS like Para-Virtualization. It can attribute to the popularity of system virtualization, provides reference for hardware-aided I/O virtualization and virtual machine's design and implementation.The main innovation and meanings of this work are: 1)It researched the framework of main open-source virtual machine monitor and hardware supported technology in virtualization, such as KVM, VT and VT-d. 2)It researched the device driver framework and virtualization frameword of USB device. 3)It pplied hardware supported technology to USB device virtualization and implemented USB device virtualization with high performance. 4)It researched new features of USB3.0.
Keywords/Search Tags:System virtualization, I/O virtualization, VT-d, KVM, USB device
PDF Full Text Request
Related items