[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC] XenGT - An Mediated Graphics Passthrough Solution from Intel



> From: Konrad Rzeszutek Wilk [mailto:konrad.wilk@xxxxxxxxxx]
> Sent: Tuesday, September 10, 2013 3:28 AM
> 
> On Mon, Sep 09, 2013 at 12:46:23PM +0000, Shan, Haitao wrote:
> > Hi, Xen Experts,
> >
> > This email is aimed at a first time disclosure of project XenGT, which is
> > a Graphics virtualization solution based on Xen.
> >
> >
> >
> > As you can see, requirements for GPU to be sharable among virtual machines
> > have been constantly rising. The targeted usage model might be
> > accelerating tasks ranging from gaming, video playback, fancy GUIs,
> > high-performance computing (GPU-based). This trend is observed on both
> > client and cloud. Efficient GPU virtualization is required to address the
> > increasing demands.
> >
> >
> > We have developed XenGT - a prototype based on a mediated passthrough
> > architecture. We support running a native graphics driver in multiple VMs
> > to achieve high performance. A specific mediator owns the scheduling and
> > sharing hardware resources among all the virtual machines. By saying
> > mediated pass-through, we actually divide graphics resource to two
> > categories: performance critical and others. We partition performance
> > critical resources for VM's direct access like pass-through, while save
> > and restore others.
> >
> >
> >
> > XenGT implements the mediator in dom0, called vgt driver. This avoids
> > adding complex device knowledge to Xen, and also permits a more flexible
> > release model. In the meantime, we want to have a unified architecture to
> > mediate all the VMs, including dom0. Thus, We developed a ³deprivileged²
> > dom0 mode, which essentially trapped Dom0's access to selected resources
> > (graphics resources in XenGT case) and forwarded to vgt driver (which is
> > also in Dom0) for processing.
> 
> But could be in another domain itself - an device driver domain right?

definitely. it's just way how it works today. :-)

Thanks
Kevin

> >
> >
> > Performance critical resources are:
> > - Part of the global virtual memory space
> > - VM¹s own per-process virtual memory spaces
> > - VM¹s own allocated command buffers (actually in graphics memory)
> >
> >
> > Others are:
> > - MMIO/PIO
> > - PCI configuration registers
> > - GTT tables
> > - Submission of queued GPU commands
> >
> > Right now, we support 4 accelerated VMs: Dom0 + 3 HVM DomUs. We've
> > conducted verifications based on Ubuntu 12.04 and 13.04. Tests conducted
> > in VM include but are not limited to 3D gaming, media playbacks, 2D
> > accelerations.
> >
> > We believe the architecture itself can be general so that different GPUs
> > can all use this mediated passthrough concept. However, we only developed
> > codes based on Intel 4th Core Processor with integrated Graphics. Note
> > that we don't require VT-d to run our solution.
> >
> > If you have interests in trying, you can refer to the attached setup
> > guide, which provides step-to-step details on building/configuring/running
> > XenGT.
> >
> > Source code is made available at github:
> > Xen: https://github.com/01org/XenGT-Preview-xen.git
> > Linux: https://github.com/01org/XenGT-Preview-kernel.git
> > Qemu: https://github.com/01org/XenGT-Preview-qemu.git
> 
> Yeey! Awesome! Thank you for sharing that.
> 
> >
> > Any comments are welcome!
> >
> >
> > Special note: We are making this code available to general public since we
> > take community's involvement and feedbacks seriously. However, while we've
> > tested our solution with various workloads, the code is only at pre-alpha
> > stage. Hangs might happen, so please don't try it on the system that
> > hosting critical data for you.
> >
> > Shan Haitao
> >
> 
> 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@xxxxxxxxxxxxx
> > http://lists.xen.org/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.