Check out the new USENIX Web site.
2001 USENIX Annual Technical Conference, June 25-30, 2001, Boston, MA

Pp. 1–14 of the Proceedings

next up previous
Next: Introduction

Virtualizing I/O Devices on VMware Workstation's
Hosted Virtual Machine Monitor

Jeremy Sugerman, Ganesh Venkitachalam and Beng-Hong Lim
VMware, Inc.
3145 Porter Dr, Palo Alto, CA 94304


Virtual machines were developed by IBM in the 1960's to provide concurrent, interactive access to a mainframe computer. Each virtual machine is a replica of the underlying physical machine and users are given the illusion of running directly on the physical machine. Virtual machines also provide benefits like isolation and resource sharing, and the ability to run multiple flavors and configurations of operating systems. VMware$^{\sc tm}$Workstation brings such mainframe-class virtual machine technology to PC-based desktop and workstation computers.

This paper focuses on VMware Workstation's approach to virtualizing I/O devices. PCs have a staggering variety of hardware, and are usually pre-installed with an operating system. Instead of replacing the pre-installed OS, VMware Workstation uses it to host a user-level application (VMApp) component, as well as to schedule a privileged virtual machine monitor (VMM) component. The VMM directly provides high-performance CPU virtualization while the VMApp uses the host OS to virtualize I/O devices and shield the VMM from the variety of devices. A crucial question is whether virtualizing devices via such a hosted architecture can meet the performance required of high throughput, low latency devices.

To this end, this paper studies the virtualization and performance of an Ethernet adapter on VMware Workstation. Results indicate that with optimizations, VMware Workstation's hosted virtualization architecture can match native I/O throughput on standard PCs. Although a straightforward hosted implementation is CPU-limited due to virtualization overhead on a 733 MHz Pentium $^{\footnotesize\protect{\rm\ooalign{\hfil\raise.07ex\hbox{\sc r}\hfil\crcr\mathhexbox20D}}}$III system on a 100 Mb/s Ethernet, a series of optimizations targeted at reducing CPU utilization allows the system to match native network throughput. Further optimizations are discussed both within and outside a hosted architecture.

next up previous
Next: Introduction
Beng-Hong Lim 2001-05-01

This paper was originally published in the Proceedings of the 2001 USENIX Annual Technical Conference, June 25–30, 2001, Boston, Massachusetts, USA

Last changed: 29 May 2001 becca

Technical Program
USENIX '01 Home