Tuesday, January 31, 2006

OpenSparc Hypervisor Specification

As I mentioned here below, Sun is adding hardware virtualization assistance to future Sparc processors. This is deeply weird, because the only two sparc operating systems anybody cares about (Solaris and Linux) are already open source, and hence amenable to paravirt techniques. Given Sun's apparent commitment to Xen, I continue to regard the use of hardware virtualization assistance as a head-scratcher.

Well, now Sun has their own hypervisor API spec, not obviously related to the Xen API. Does this make for yet another competing hypervisor API in the just-getting-started Xen vs. VMware's VMIM fracas? Some sort of hedge on the part of Sun, just in case the Xen romance doesn't pan out? I wonder.

Edit: John Johnson very nicely points out that I'm being an idiot in the comments. Thanks!


Blogger John Johnson said...

A couple points:

I don't see the contradiction in using both para-virtualization and HW assistance techniques. For example, SPARC only has 2 privilege modes, so adding a hypervisor by moving the OS down a privilege level would've required the OS run in the same privilege mode as its applications. The changes to accomplish that task are a lot larger than the changes needed to make the OS run on a higher privileged hypervisor, so changing the HW to add another privilege mode made the implementation a lot simpler.

There is no intention of using this SPARC API to compete with Xen or VMware's x86 APIs. All three APIs reflect their underlying HW architecture - as does IBM's POWER API. For exaple, the SPARC API never mentions page tables. This is fine on SPARC, since the HW does not have a page table walker. I imagine making an x86 machine work without page tables would be difficult.

11:32 AM  
Blogger Keith Adams said...

Thanks, John. I guess I'm showing my x86 blinders, where I'm used to dealing with a profusion of privilege levels. I can see how porting a kernel to a monolithic user-level that it must share with applications would be a headache, or at least introduce some unfortunate overheads to kernel/user boundary crossings.

11:50 AM  
Blogger John Johnson said...

No problem.

Note there is a user-mode Linux project here if you would like to see what that would entail.

The T1 hyper-privileged spec will appear on the OpenSparc site in the next few weeks.

1:40 PM  

Post a Comment

<< Home