FOSDEM '08 is a free and non-commercial event organised by the community, for the community. Its goal is to provide Free and Open Source developers a place to meet.

   

Interview: Ian Pratt

Ian Pratt, founder of XenSource, will give a talk about Xen.

Contents

What do you hope to accomplish with your FOSDEM talk?

Hopefully I'll encourage a few folk to start using Xen, or take advantage of new features they might not have heard about before. Even better would be to get folk to join the Xen development team. I have also learnt about great ideas for new features from questions in previous talks.

So you had a nice time previously at FOSDEM?

Absolutely. It was great to actually meet some of the folk I've only ever conversed with by email or seen as names in changelogs. There was lots of fun stuff going on at FOSDEM, particularly the demos.

Last time, XenSource was not yet acquired by Citrix. What were the reasons to consider this sale?

I think we were doing pretty well as XenSource, but one of the challenges we faced is that it takes time to build a 'sales channel' to distribute software. Citrix already have a great sales channel, so the acquisition provided a great opportunity to take Xen to the mass-market.

What kind of open-source commitment do you expect from Citrix?

Citrix have been great in supporting the open source side of things, funding folk to work full-time on open source Xen, and also funding a full time Xen programme manager. The management understand the importance of a strong Xen community and the need for the project's independence from Citrix's own Xen products.

The change was always going to make some members of the community nervous (just like when we originally formed XenSource), but it's the same group of people and we intend to carry on just as before. One difference is that we now have 'xen.org' to provide a clear independent identity for the Xen project, and also the Xen Advisory Board to help govern the project.

How does Xen's future look on Windows platforms?

Lots of people use Xen to run Windows VMs -- after all, Windows arguably needs virtualization more than Unix OSes. I reckon that something like over 80% of the VMs running on XenServer are Windows.

Since Microsoft has agreed to make public the paravirtualization API supported by Windows Server 2008 (Longhorn) we're in the process of adding support to 'shim' this API to the Xen one. We expect to do a better job of virtualizing Longhorn than Microsoft's Hyper-V.

Running software on virtualized hardware is becoming more common. Doesn't this imply that traditional operating systems have failed at their core responsibilities: isolation, security and hardware abstraction?

Kind of. It's certainly the case that the 'best practice' that most enterprises use in deploying applications is to have one application installed per OS instance. Many application vendors will only support their application when it's the only thing installed, due to problems of configuration and performance interaction etc. This leads to the 'server sprawl' that many enterprises are experiencing, and hence banking on virtualization to solve.

The problem is that an OS provides a very high-level and broad interface to applications, and the application state is deeply entwined inside the OS. Providing strong isolation, both spatially (for security), and temporally (for performance) is tough for a conventional OS.

It is possible to build OSes that are designed from the ground-up to do this (see the Nemesis work at the University of Cambridge), but it's tough to do this while retaining the application APIs (Posix, Win32) that everyone uses. Without applications, no one is going to use your OS.

We started the Xen project after realizing that we weren't going to convince the world to use Nemesis, but we could provide many of the same benefits by building a hypervisor that runs beneath traditional OS instances.

So is trend is going towards 'everyting virtualized'?

Absolutely! The combination of OS paravirtualization and 'virtualization friendly' CPUs and IO devices means that the overhead of virtualization is getting smaller all the time. We're also seeing hypervisors becoming embedded into server hardware, booting from flash -- Xen is going to be a factory installed option on the majority of servers sold in 2008! I think in a couple of years time you wouldn't dream of running an OS on bare metal ever again.

What's the difference between Xen and similar kernel virtualization systems?

The hypervisor is the most privileged and trusted code in the whole system. You want it to be as secure and fast as possible. Xen is purpose-built to be a hypervisor. It contains just that which is necessary, and pushes functions that don't need to run at such high privilege into 'domains' (e.g. most device drivers).

Other approaches that try and add virtual machine monitor support to conventional OS kernels just don't provide the same security and reliability benefits. By not being purpose built they miss out on a whole lot of performance optimizations too.

Are you still involved in the acadmic world?

I still have PhD research students at the University of Cambridge Computer Laboratory, which is definitely the fun part of being an academic. I haven't done much teaching in a while other than the odd guest lecture.