High performance and scalable I/O virtualization via self-virtualized devices
Proceedings of the 16th international symposium on High performance distributed computing
RiceNIC: a reconfigurable network interface for experimental research and education
Proceedings of the 2007 workshop on Experimental computer science
Scheduling I/O in virtual machine monitors
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Network Virtualization: Breaking the Performance Barrier
Queue - Virtualization
Virtual machine aware communication libraries for high performance computing
Proceedings of the 2007 ACM/IEEE conference on Supercomputing
Virtualizing the data plane through source code merging
Proceedings of the ACM workshop on Programmable routers for extensible services of tomorrow
Protection strategies for direct access to virtualized I/O devices
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Bridging the gap between software and hardware techniques for I/O virtualization
ATC'08 USENIX 2008 Annual Technical Conference on Annual Technical Conference
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Achieving 10 Gb/s using safe and transparent network interface virtualization
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
The hybrid scheduling framework for virtual machine systems
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
BitVisor: a thin hypervisor for enforcing i/o device security
Proceedings of the 2009 ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Virtualization polling engine (VPE): using dedicated CPU cores to accelerate I/O virtualization
Proceedings of the 23rd international conference on Supercomputing
Resource Allocation Using Virtual Clusters
CCGRID '09 Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid
Proceedings of the 3rd International Conference on Principles, Systems and Applications of IP Telecommunications
Investigating virtual passthrough I/O on commodity devices
ACM SIGOPS Operating Systems Review
Supporting soft real-time tasks in the xen hypervisor
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Task-aware based co-scheduling for virtual machine system
Proceedings of the 2010 ACM Symposium on Applied Computing
On the DMA mapping problem in direct device assignment
Proceedings of the 3rd Annual Haifa Experimental Systems Conference
Resource allocation algorithms for virtualized service hosting platforms
Journal of Parallel and Distributed Computing
Towards virtual passthrough I/O on commodity devices
WIOV'08 Proceedings of the First conference on I/O virtualization
Scalable I/O - a well-architected way to do scalable, secure and virtualized I/O
WIOV'08 Proceedings of the First conference on I/O virtualization
Standardized but flexible I/O for self-virtualizing devices
WIOV'08 Proceedings of the First conference on I/O virtualization
Redesigning xen's memory sharing mechanism for safe and efficient I/O virtualization
WIOV'10 Proceedings of the 2nd conference on I/O virtualization
A network interface card architecture for I/O virtualization in embedded systems
WIOV'10 Proceedings of the 2nd conference on I/O virtualization
sNICh: efficient last hop networking in the data center
Proceedings of the 6th ACM/IEEE Symposium on Architectures for Networking and Communications Systems
The turtles project: design and implementation of nested virtualization
OSDI'10 Proceedings of the 9th USENIX conference on Operating systems design and implementation
Evaluating Xen-based virtual routers performance
International Journal of Communication Networks and Distributed Systems
SplitX: split guest/hypervisor execution on multi-core
WIOV'11 Proceedings of the 3rd conference on I/O virtualization
VAMOS: virtualization aware middleware
WIOV'11 Proceedings of the 3rd conference on I/O virtualization
vIOMMU: efficient IOMMU emulation
USENIXATC'11 Proceedings of the 2011 USENIX conference on USENIX annual technical conference
NetLord: a scalable multi-tenant network architecture for virtualized datacenters
Proceedings of the ACM SIGCOMM 2011 conference
An adaptive management mechanism for resource scheduling in multiple virtual machine system
ATC'11 Proceedings of the 8th international conference on Autonomic and trusted computing
Design and architectures for dependable embedded systems
CODES+ISSS '11 Proceedings of the seventh IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
DriverGuard: a fine-grained protection on I/O flows
ESORICS'11 Proceedings of the 16th European conference on Research in computer security
Agent-based thermal management using real-time I/O communication relocation for 3D many-cores
PATMOS'11 Proceedings of the 21st international conference on Integrated circuit and system design: power and timing modeling, optimization, and simulation
vPF_RING: towards wire-speed network monitoring using virtual machines
Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference
Packet aggregation based network I/O virtualization for cloud computing
Computer Communications
Providing safe, user space access to fast, solid state disks
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
ELI: bare-metal performance for I/O virtualization
ASPLOS XVII Proceedings of the seventeenth international conference on Architectural Support for Programming Languages and Operating Systems
VNET/P: bridging the cloud and high performance computing through fast overlay networking
Proceedings of the 21st international symposium on High-Performance Parallel and Distributed Computing
Reliable device sharing mechanisms for Dual-OS embedded trusted computing
TRUST'12 Proceedings of the 5th international conference on Trust and Trustworthy Computing
vBalance: using interrupt load balance to improve I/O performance for SMP virtual machines
Proceedings of the Third ACM Symposium on Cloud Computing
Self-virtualized CAN controller for multi-core processors in real-time applications
ARCS'13 Proceedings of the 26th international conference on Architecture of Computing Systems
An experimental study of cascading performance interference in a virtualized environment
ACM SIGMETRICS Performance Evaluation Review
SoNIC: precise realtime software access and control of wired networks
nsdi'13 Proceedings of the 10th USENIX conference on Networked Systems Design and Implementation
Cloudoscopy: services discovery and topology mapping
Proceedings of the 2013 ACM workshop on Cloud computing security workshop
Hyper-switch: a scalable software virtual switching architecture
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
Efficient and scalable paravirtual I/O system
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
I/o paravirtualization at the device file boundary
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
DMVL: An I/O bandwidth dynamic allocation method for virtual networks
Journal of Network and Computer Applications
Hi-index | 0.03 |
This paper presents hardware and software mechanisms to enable concurrent direct network access (CDNA) by operating systems running within a virtual machine monitor. In a conventional virtual machine monitor, each operating system running within a virtual machine must access the network through a software-virtualized network interface. These virtual network interfaces are multiplexed in software onto a physical network interface, incurring significant performance formance overheads. The CDNA architecture improves networking efficiency and performance by dividing the tasks of traffic multiplexing, interrupt delivery, and memory protection between hardware and software in a novel way. The virtual machine monitor delivers interrupts and provides protection between virtual machines, while the network interface performs multiplexing of the network data. In effect, the CDNA architecture provides the abstraction that each virtual machine is connected directly to its own network interface. Through the use of CDNA, many of the bottlenecks imposed by software multiplexing can be eliminated without sacrificing protection, producing substantial efficiency improvements.