Ky Srinivasan
2008-Feb-20 23:31 UTC
[Xen-devel] Re: Supporting Enlightened Windows 2008 Server
>>> On Wed, Feb 20, 2008 at 3:31 PM, in message<20080220203139.GC11545@silverwood.ncultra.org>, "Mike D. Day" <ncmike@us.ibm.com> wrote:> On 19/02/08 15:11 - 0700, Ky Srinivasan wrote: >> During the spring Xen Summit in New York, I presented our work on hosting > Enlightened windows 2008 server on Xen based platforms. Now that Microsoft > has published their Hypervisor specification, we can release our code to the > community. The goal of this effort has been to host Enlightened windows 2008 > server as a guest on a Xen based platform. We have addressed this requirement > by : >> >> A) Leveraging the I/O framework in the Xen based platform. Appropriate PV > drivers will be loaded up in the guest to improve the I/O performance. >> >> B) Implement an adapter that implements the required Hyper- V functionality. >> >> We have implemented only a subset of Hyper- V functionality that is required > for enlightened windows 2008 guest today. However, we have the framework in > place to implement any additional functionality that the windows guests may > leverage going forward. The framework is extensible and one can easily > implement OS specific enlightenments. >> >> I am enclosing three patches that implement our adapter for your > consideration: >> >> 1) ns_tools.patch: Modifications to xen tools to support the the adapter >> 2) ns_xen_base.patch: Modifications to the base Xen code to support the > adapter >> 3) ns_xen_extension.patch: New code implementing the adapter >> >> These patches have been tested on a xen 3.2 based system (SLES10 SP2). > > Right now there is not an implementation to support an enlightened > windows guest, just a shim.The shim supports all the enlightenments the current windows 2008 server (scheduled to ship any day now) can leverage. The patches I have posted completely capture all the support required to host enlightened windows 2008 server. The pieces missing are (a) PV drivers for windows 2008 server and (b) Tools to generate the necessary config files. The shim can be turned on, on a per-domain basis. By adding the following line to the vm config file, the shim is enabled for the guest under question: extid=1 Our VM installation tools automatically generate this line when installing windows 2008 server. One could just as easily add this parameter to the config file manually.> > First question: Do you plan on implementing the full enlightened guest > support as GPL source (as you have done with the elementary shim), or > are you planning on loading a blob and initializing the hypercall > vector, a la the vmware VMI? Has Microsoft agreed to a source- based > GPL implementation of the hypercall layer?Our plan is to open source all of the shim (there will be no binary blob). What I have posted is the state of the shim today. Should Windows 2008 server use enlightenments not currently implemented (in a future release), we will implement those enlightenments as part of the shim that I have posted. From what I understand, Microsoft has released the hypervisor specification under a license that does not preclude open source (GPL) implementation of the specification.> > Second question: what do you believe the performance will be of an > enlightened guest running in the novell shim vs running on hyper- v?I do not have the comparison you want. We are in the process of doing a fairly comprehensive performance evaluation work, though. Based on some early benchmarking we did, we saw about a 10% performance improvement that was attributable to the shim. This was on a uniprocessor configuration. Our goal here is to reach parity with Hyper-V hosting enlightened windows 2008 server.> Have you implemented enough to do any profiling? Have you done any > profiling of a standard hvm guest with and without the intercepts in > place? It looks like no measurable impact, just curious.If the shim is not enabled, the overhead is very minimal.> > It doesn''t seem as though you can batch page table updates, or did I > miss something?page table updates are not part of the Hyper-V hypercall specification. Regards, K. Y _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel