Friday, June 16, 2006


I was asked to be on a panel at VEE'06 on Virtualization which something I like to do once in a while. First, it's just nice to be asked and second it can be fun and interesting when you get to meet smart people with similar interests. The is often the upside of being able to drink beer afterwards with some of the smartest people on the planet so it's all good.

The guidance from the moderator on the details of the topic of the panel was purposely thin and no definition of virtualization was given which suprisingly worked out really well as the panel was well represented by people who do or have done various language virtual machines (me, Dave Tartidi, Christopher Vick) and those who work on hardware virtual machines (like Xen (Leendert van Doorn) and VMWare (Pratap Subrahmanyam)).

So even though it seems like we're a widely different group, in fact turns out we're all in the "level of indirection" business which is a way of saying we're inserting ourselves in between the user code and the hardware or between user and the operating system for some perceived benefit (safety, isolation, security or ego).

One issue mentioned by a member of the audience was the increasing number of levels of indirection inserted with virtual execution of the operating systems, device drives and additional language VMs on top. The panel was sympathetic however clearly felt indirections were worth it... you know should be ok cause we know what were doing :). Personally, my view is that many of the language virtual machine functions (garbage collection or JIT) will migrate into the operating system and allow for more performance and the reduction of levels of indirection. You can see this clearly in what microsoft is doing, perhaps the CLR is not "part of the OS" or maybe it is but the direction is clear, the OS will eventually be all managed code and the benefit will be increased security and reliability.

My favourite comment however came from David Tarditi who said the opportinity here in the virtualization community is to try and solve problems by changing the problem. So, instead of assuming you have a processor which can do only the same old same old, you invent a new processor, architecture, or compute model which simplies your problem and you simulate with a virtualized environment. Finally, a researcher who thinks researchers should be doing "crazy" research instead of tacking in another 2% on the latest spec benchmarks. I agree, the sky is the limit, all you have to do is reach ...


Post a Comment

<< Home