[Libguestfs] parallelization
Daniel P. Berrange
berrange at redhat.com
Tue Feb 26 15:00:42 UTC 2013
On Tue, Feb 26, 2013 at 02:56:53PM +0000, Richard W.M. Jones wrote:
> On Tue, Feb 26, 2013 at 09:36:30AM -0500, Colin Walters wrote:
> > So Richard recently blogged about running many libguestfs mounts in
> > parallel.
> >
> > I actually want parallelization in the other way; I use guestmount to
> > access a disk image, and my program is multithreaded. It does
> > read/write and most especially calls to link() and fdatasync() from
> > threads.
> >
> > However, this all ends up being serialized, because the guestfsd
> > protocol is synchronous, and the daemon side is single-threaded.
> > Related to this, the qemu instance is always booted with only one
> > vCPU.
> >
> > Have there been any thoughts on fixing this?
>
> Yes. However it requires changes to the virtio-serial protocol or
> perhaps its entire replacement with VMware's vsock protocol (currently
> being discussed in upstream qemu). Without this, it's pretty clunky
> to open more than one connection from the library to the appliance.
That's if you need to open multiple connections though. Sounds like
in Colin's case he just has one multi-threaded app, in which case
all apps could just share one connection & have the RPC messages
multi-plexed as we do with libvirt. Of course still needs the daemon
to be multithreaded to get any benefit from that.
> It would also need guestfsd to become multi-threaded. That's not so
> much of a problem (although it's certainly a bit of work), but solving
> the protocol problem would have to be done first.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the Libguestfs
mailing list