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, mulix@mulix.org)
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, mulix@mulix.org)
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.
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
directions.
The agenda for my department’s seminar has been published. I got the worst slot, right before lunch 🙂 Everyone is welcome to attend!
(The Compiler and Architecture seminar looks pretty interesting too).
OSDC::Israel::2006 looks awesome. I’d like to give a talk but I don’t have a good subject in mind, considering how far I stray from the P languages these days. Any suggestions?
I’m traveling at the moment so it’s kinda hard to get real work done, but hey, it compiles, ship it!
I made it to the US. I woke up in the wee hours of the morning (ain’t jet lag lovely?) and have been surprisingly productive ever since, taking care of various odds and ends that have piled up in the last month.
My AMD64 machine at the office does not like the latest bunch of AMD64 changes (including the ZONE_DMA32 patches which have gone in a couple of days ago) and I gave up on debugging it remotely. I feel bad submitting patches when my main test machine is down, but Jon Mason verified that dma-mapping-ops-K4 works on both x366 and AMD64 and fixes a couple of buglets in -K3, so submitted that anyway.
Now to get ready for work.
And I’m off to the US for a week of pre-meetings, meetings, post-meetings, pub meetings and nice-to-meet-choo-meetings. See you on the other side!