Muli Ben-Yehuda's journal

November 29, 2005

Filed under: Uncategorized — Muli Ben-Yehuda @ 8:58 PM

Update – looks like we’ll have a “FOSS kernels and hypervisors” track at OSDC, so please submit those proposals!

(and please also send them to me directly,

The Xen Hypervisor and Its IO Subsystem

Filed under: Uncategorized — Muli Ben-Yehuda @ 8:49 PM

Here’s a proposed abstract for the talk I’ll be giving at the 2005 Systems and Storage Seminar. Comments appreciated!

The Xen hypervisor provides fast, secure, open-source virtualization that allows multiple operating system instances to run on a single physical machine. Xen supports modified guest operating systems using a technique known as para-virtualization, and unmodified guests using hardware virtualization support on the latest Intel VT enabled processors. Xen offers near native performance for guest operating systems, and supports live migration of guests between servers with typical application impact of less than 100ms.

This talk will have three parts: in the first part, I will discuss the origins, architecture and current status of the Xen hypervisor. In the second part, I will focus on Xen’s IO subsystem: the split driver architecture, driver domains and hardware access from multiple virtual machines. The third part will be dedicated to IOMMUs: both software mechanisms (Xen’s grant tables and Linux’s swiotlb) and hardware IOMMUs.

Running P on Bare Metal

Filed under: Uncategorized — Muli Ben-Yehuda @ 8:33 PM

I just submitted this proposal to OSDC::Israel::2006. I suppose I
better run off now and actually finish the work, in case they accept
it 馃檪

A P interpreter is an execution environment that P programs run
in. The program’s interactions with the external environment,
e.g. console, network IO or memory management, are done via the
interpreter. The interpeter, in turn, commonly runs in its own
execution environemnt as a process in a a general purpose operating
system. This layering of execution environments is on one hand
desirable, since general purpose OS’s are mighty convenient to work
in, but on the other hand can create a number of adverse effects. For
instance, it has been shown that garbage collection at the interpreter
level can significantly reduce performance due to pessimal
interactions with paging at the OS level.

It is desirable to remove the middle man and run the interpreter
directly on the hardware for optimal performance. At the same time, it
is also desirable to keep a general purpose OS around for ease of
use. How can we achieve both?

This presentation describes such a scheme, wherein the interpreter
runs on the bare metal under a hypervisor, and a general purpose OS
runs alongside it. We have implemented this scheme by porting the
movitz[1] lisp interpreter to run on bare metal under the Xen[2]
hypervisor. We will begin the presentation by making a compelling
argument for running P on bare metal; continue by surveying the work
required; and conclude with a discussion of future research



Blog at