Virtualization Services: Accelerated I/O Support in Multi-Core Systems

Thumbnail Image
Raj, Himanshu
Schwan, Karsten
Associated Organizations
Supplementary to
Virtualization services permit I/O subsystems and peripheral devices to be virtualized by placing select functionality on specialized cores and/or on cores situated ‘closer’ to devices. The approach is used to implement self-virtualized I/O (SVIO), which off-loads certain virtualization functionality onto the cores available on the I/O device, accelerating I/O functions, efficiently using key performance-limiting resources in multicore systems, i.e., memory and I/O bandwidth, and exploiting the parallelism inherent in multi-core architectures. This paper evaluates a concrete instance of self-virtualized I/O, a selfvirtualized network interface (SV-NIC), targeting the high end NICs used in datacenters. Experimental evaluations of the SVNIC in a prototyping environment using an IXP2400-based ethernet board show high scalability in terms of the numbers of virtual interfaces (VIFs) offered to guests, and up to ~77% improvements in throughput and ~53% reductions in latency, compared to the current standard virtualized device implementations on hypervisor-based platforms. Beyond such performance advantages, the generality of virtualization services and their use for implementing enhancements to standard services are demonstrated with a storage service that provides location transparent access to block devices for guest VMs, and with enhancements to a network service that provide per-VM, prioritybased servicing of virtual network devices.
Date Issued
Resource Type
Resource Subtype
Technical Report
Rights Statement
Rights URI