We are an undergraduate group of students. For our final year project, we are planning to implement a Virtual File System in XEN. In a paravirtualised environment, an Userspace Application makes a system call for access to a file, the domU’s kernel traps it and converts it to an appropriate block number. Now this block number is on the Virtual Hard Disk. The blktap mechanism is used for block I/O. It involves using XenBus and a daemon in user space of Dom0 which with help of libaio fires the request on Dom0 File System. The current scenario involves multiple translations for getting the actual physical address. Our project intends to reduce the number of translations required during the fetching or satisfying of the request. The DomU kernel doesn’t convert the FS request to block and passes on this to dom0 using a client-server mechanism. We intend to implement it using the 9P protocol.\ 1) The domU kernel’s filesystem component will be a client and the dom0 will be the server. 2) The domU’s kernel will send the file request to dom0 using the 9P protocol rather than converting it to appropriate block no. 3) The server in dom0 will authenticate the request, process it and send the appropriate replies. By having a virtual file system, the hypervisor will have a better understanding of what the guest domains are doing and hence this can help in taking intelligent decisions and thereby have better results in caching, de-duplication and snapshots. Any suggestions for our proposed project would be appreciated. -- Nupur Ghatnekar _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Thu, Sep 22, 2011 at 03:31:04PM +0530, Nupur Ghatnekar wrote:> We are an undergraduate group of students. For our final year project, we > are planning to implement a Virtual File System in XEN. > > > In a paravirtualised environment, an Userspace Application makes a system > call for access to a file, the domU’s kernel traps it and converts it to an > appropriate block number. Now this block number is on the Virtual Hard Disk. > The blktap mechanism is used for block I/O. It involves using XenBus and aThe blktap is deprecated for the upstream kernel - so it won''t help you much. You might be better of using the QEMU backends, like qcow or such.> daemon in user space of Dom0 which with help of libaio fires the request on > Dom0 File System. The current scenario involves multiple translations for > getting the actual physical address. > > > Our project intends to reduce the number of translations required during the > fetching or satisfying of the request. > > The DomU kernel doesn’t convert the FS request to block and passes on this > to dom0 using a client-server mechanism. > > > We intend to implement it using the 9P protocol.\ > > 1) The domU kernel’s filesystem component will be a client and the dom0 will > be the server. > > 2) The domU’s kernel will send the file request to dom0 using the 9P > protocol rather than converting it to appropriate block no. > > 3) The server in dom0 will authenticate the request, process it and send the > appropriate replies. > > > By having a virtual file system, the hypervisor will have a better > understanding of what the guest domains are doing and hence this can help in > taking intelligent decisions and thereby have better results in caching, > de-duplication and snapshots. > > Any suggestions for our proposed project would be appreciated. > -- > > Nupur Ghatnekar> _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Thu, 2011-09-22 at 11:01 +0100, Nupur Ghatnekar wrote:> We are an undergraduate group of students. For our final year project, > we are planning to implement a Virtual File System in XEN. > > > In a paravirtualised environment, an Userspace Application makes a > system call for access to a file, the domU’s kernel traps it and > converts it to an appropriate block number. Now this block number is > on the Virtual Hard Disk. The blktap mechanism is used for block I/O. > It involves using XenBus and a daemon in user space of Dom0 which with > help of libaio fires the request on Dom0 File System.Just for completeness actual I/O doesn''t go via XenBus but is instead sent as grant references over a shared ring.> The current scenario involves multiple translations for getting the > actual physical address. > > > Our project intends to reduce the number of translations required > during the fetching or satisfying of the request. > > The DomU kernel doesn’t convert the FS request to block and passes on > this to dom0 using a client-server mechanism. > > > We intend to implement it using the 9P protocol.\ > > 1) The domU kernel’s filesystem component will be a client and the > dom0 will be the server. > > 2) The domU’s kernel will send the file request to dom0 using the 9P > protocol rather than converting it to appropriate block no. > > 3) The server in dom0 will authenticate the request, process it and > send the appropriate replies. > > > By having a virtual file system, the hypervisor will have a better > understanding of what the guest domains are doing and hence this can > help in taking intelligent decisions and thereby have better results > in caching, de-duplication and snapshots. > > > > Any suggestions for our proposed project would be appreciated.There has been some work on a 9p driver for virtio recently (see the qemu list), combining that with the virtio-on-xen GSoC project would like a decent approach to implementing this. Ian.> -- > > Nupur Ghatnekar_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
We are planning to port the VirtFS implemented in the KVM land ( http://www.sciweavers.org/publications/virtfs-virtualization-aware-file-system-pass-through) to XEN land. The advantages are 1) sharing 2) security 3)reduced translations On Thu, Sep 22, 2011 at 5:17 PM, Ian Campbell <Ian.Campbell@citrix.com>wrote:> On Thu, 2011-09-22 at 11:01 +0100, Nupur Ghatnekar wrote: > > We are an undergraduate group of students. For our final year project, > > we are planning to implement a Virtual File System in XEN. > > > > > > In a paravirtualised environment, an Userspace Application makes a > > system call for access to a file, the domU’s kernel traps it and > > converts it to an appropriate block number. Now this block number is > > on the Virtual Hard Disk. The blktap mechanism is used for block I/O. > > It involves using XenBus and a daemon in user space of Dom0 which with > > help of libaio fires the request on Dom0 File System. > > Just for completeness actual I/O doesn''t go via XenBus but is instead > sent as grant references over a shared ring. > > > The current scenario involves multiple translations for getting the > > actual physical address. > > > > > > Our project intends to reduce the number of translations required > > during the fetching or satisfying of the request. > > > > The DomU kernel doesn’t convert the FS request to block and passes on > > this to dom0 using a client-server mechanism. > > > > > > We intend to implement it using the 9P protocol.\ > > > > 1) The domU kernel’s filesystem component will be a client and the > > dom0 will be the server. > > > > 2) The domU’s kernel will send the file request to dom0 using the 9P > > protocol rather than converting it to appropriate block no. > > > > 3) The server in dom0 will authenticate the request, process it and > > send the appropriate replies. > > > > > > By having a virtual file system, the hypervisor will have a better > > understanding of what the guest domains are doing and hence this can > > help in taking intelligent decisions and thereby have better results > > in caching, de-duplication and snapshots. > > > > > > > > Any suggestions for our proposed project would be appreciated. > > There has been some work on a 9p driver for virtio recently (see the > qemu list), combining that with the virtio-on-xen GSoC project would > like a decent approach to implementing this. > > Ian. > > > -- > > > > Nupur Ghatnekar > > >-- Nupur Ghatnekar _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
(please try not to top post) On Fri, 2011-09-30 at 03:57 +0100, Nupur Ghatnekar wrote:> We are planning to port the VirtFS implemented in the KVM land > ( http://www.sciweavers.org/publications/virtfs-virtualization-aware-file-system-pass-through) to XEN land. > > The advantages are > 1) sharing > 2) security > 3)reduced translationsIs this the same "virtfs" as is documented here http://wiki.qemu.org/Documentation/9psetup ? It certainly appears to be the same thing (the authors of the paper include a qemu maintainer). Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, Sep 30, 2011 at 1:00 PM, Ian Campbell <Ian.Campbell@citrix.com>wrote:> (please try not to top post) > > On Fri, 2011-09-30 at 03:57 +0100, Nupur Ghatnekar wrote: > > We are planning to port the VirtFS implemented in the KVM land > > ( > http://www.sciweavers.org/publications/virtfs-virtualization-aware-file-system-pass-through) > to XEN land. > > > > The advantages are > > 1) sharing > > 2) security > > 3)reduced translations > > Is this the same "virtfs" as is documented here > http://wiki.qemu.org/Documentation/9psetup ? It certainly appears to be > the same thing (the authors of the paper include a qemu maintainer). > > Ian. > > > >Yes, it is the same thing. Implemented in KVM. We are trying to do so in XEN. -- Nupur Ghatnekar _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, 2011-09-30 at 14:03 +0100, Nupur Ghatnekar wrote:> > > On Fri, Sep 30, 2011 at 1:00 PM, Ian Campbell > <Ian.Campbell@citrix.com> wrote: > > Is this the same "virtfs" as is documented here > http://wiki.qemu.org/Documentation/9psetup ? It certainly > appears to be the same thing (the authors of the paper include > a qemu maintainer).> Yes, it is the same thing. > Implemented in KVM. We are trying to do so in XEN.I think it is actually implemented using virtio rather than as part of KVM, isn''t it? For example I think it works for stand qemu guests, not just KVM. In which case building upon the virtio-on-xen GSoC project, as I initially suggested, seems like a better idea than actually porting it to Xen. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel