Muli Ben-Yehuda's journal

February 18, 2007

Filed under: Uncategorized — Muli Ben-Yehuda @ 10:18 PM

Gaaarg, been sick. Yael caught a nasty bug at my sister’s wedding and passed it on to me and Orna. Better than the other way around!

Today’s paper is “Unmodified Device Driver Reuse and Improved System Dependability via Virtual Machines”, by Joshua LeVasseur, Volkmar Uhlig, Jan Stoess, and Stefan Gotz. The paper is a bit hard to decipher, but ultimately pretty interesting… it presents “Device Driver Operating Systems (DD/OS)” – “driver domains”, in Xen parlance – where the hardware drivers reside in virtual machines and “clients” connect to the driver domains through a “translation module” – the familiar Xen frontend/backend drivers scheme.

At first I was pretty excited to read this paper, as I thought it dealt with direct hardware access from *unmodified* fully operating systems (i.e., fully virtualized), which is something I’m very interested in. Once I continued reading however it became apparent that the authors make a distinction between unmodified drivers and unmodified operating systems, and limit their implementation and evaluation to the para-virtualized case, which is not as interesting.

Still, notable points:

– they presented a nice work-around for the case where no IOMMU is available (and thus no DMA remapping) – allocating DMA’able pages from a special pool of pages for which physical address is equal to the machine address, which may or may not be shared between driver domains.

– they present a nice hack for non-isolation-capable IOMMUs where the single IOMMU context is multiplexed between different driver domains. This has some implications related to PCI bus latencies – not every device will tolerate not being able to DMA for a prolonged period of time.

– the abstract claims “network performance within 3-8% of a native Linux system”, which is pretty amazing considering the numbers I’ve seen for Xen’s network performance. In the evaluation section we learn that *throughput* is within 3-8% of a native Linux system, but *CPU utilization* is 1.6 times to 2.22 times worse(!) than native. That makes a lot more sense…



  1. CPU utilization* is 1.6 times to 2.22 times worse(!) than native.
    That’s how Intel is going to get everyone to upgrade to 4+-core machines, right? 😉

    Comment by ephermata — February 18, 2007 @ 8:34 PM | Reply

    • Well, that and Windows Vista 🙂

      Comment by mulix — February 18, 2007 @ 9:09 PM | Reply

  2. You should read this…
    Hi Muli,
    As a Xen expert, you should read this:
    These guys gave me a multi-linux using L4 as hypervisor in january 2004 !

    Comment by Anonymous — February 19, 2007 @ 5:14 PM | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Create a free website or blog at

%d bloggers like this: