Scalable I/O Virtualization via Self-Virtualizing Devices

msra(2006)

引用 24|浏览35
暂无评分
摘要
The virtualization of I/O devices is an integral part of system virtualization. This includes both virtualizing the physical devices and managing them across multiple guest virtual machines (VMs) or domains running on top of a virtual machine monitor (VMM) or hypervisor (HV). This paper presents the notion of self-virtualizing devices, where for higher end, 'smart' I/O devices, selected virtualization functionality is o†oaded onto the devices themselves. In particular, a self-virtualizing device is aware of being used in a virtualized environment and implements the virtual device abstraction on the device itself. It also presents an interface to the HV to manage these virtual devices. Using this virtual device abstraction, a guest domain can interact with the physical device with minimal HV involvement. The outcomes are reduced I/O virtualization costs caused by the HV (and additional software components required to virtualize the device) and improved scalability for device interactions with guest domains. The prototype self-virtualizing device described in this paper leverages the multi-core nature of mod- ern computer architectures. It uses the IXP2400 network processor with multiple internal specialized communication cores to implement a self-virtualizing network interface attached to a x86 based host ma- chine. The device is used in conjunction with the Xen hypervisor and provides virtual network interfaces (VIFs) to the guest domains. Initial results demonstrate that the performance of such a self-virtualizing network interface exceeds that of network interfaces virtualized in software by the HV and its driver domain(s); for a single guest domain, » 50% improvements in latency is obtained. Further, device per- formance scales well with increasing the number of guest domains, in part because the self-virtualizing network device reduces system resource utilization by the driver domain and the HV. Additional insights from the design and implementation of self-virtualizing devices concern the device-side functionality ap- propriate for efiective virtualization and issues concerning the e-cient interaction of HV- or domain-based activities with such devices, e.g. in future heterogenous multi-core systems.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要