One of the interesting bit of information coming out of IDF this week is that Intel is planning on making future x86 processors virtualizable. Since people have been asking for this since the days of Desqview/386, Intel doesn’t exactly get any promptness points for the announcement. Assuming that they doesn’t screw things up, the goal is to make it easier for future PCs to support multiple virtual servers, all running different OSes on the same hardware without needing complex pieces of software like VMWare. Mainframes have been doing this for decades, of course, and that’s one of the big selling points for running Linux on them–there have been demonstrated cases of people running over 40,000 virtual Linux servers on a single mainframe.
In typical Intel fashion, they’re giving it a obscurely trendy high-tech codename: “Vanderpool Technology.”
Presumably, Intel is aiming to use Linux as the “hypervisor” and then run some mix of Linux and Windows in virtual partitions. This meshes nicely with my “disposable virtual server” plans, so I can’t really wait to see exactly what they’re planning. I’m such a sucker for new toys.
If I remember correctly, the x86 is already mostly virtualizable; there are only a small handful of instructions that you can’t trap and can’t emulate easily. So, it shouldn’t be particularly difficult for Intel to add another CPU flag that’ll turn on traps for the remaining ops that need to be trapped. The problem is that only leaves us with a virtualized CPU; generating a complete virtual PC is a lot more work. I’m not sure what they’re planning on doing for a BIOS, storage, networking, graphics, and so on. Mainframes have spent a lot of time over the years designing hardware that works well in this sort of environment, but it’s a completely new area for PCs.
I’m not sure how this will mesh with User-mode Linux. UML is serving two purposes right now; it’s able to be used for (somewhat slow) virtual servers, but it’s also a version of the Linux kernel that’s easier to debug and upgrade then traditional Linux running natively on real hardware. I’m not sure how it’ll interact with better in-CPU virtualization.