qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Abel Gordon <ABELG@il.ibm.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	Avishay Traeger <AVISHAY@il.ibm.com>,
	Nadav Har'El <nyh@math.technion.ac.il>,
	qemu-devel <qemu-devel@nongnu.org>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	Eran Raichstein <ERANRA@il.ibm.com>,
	Muli Ben-Yehuda <mulix@mulix.org>,
	Loic Dachary <loic@dachary.org>,
	Paolo Bonzini <pbonzini@redhat.com>, Asias He <asias@redhat.com>,
	Razya Ladelsky <RAZYA@il.ibm.com>
Subject: Re: [Qemu-devel] Block I/O optimizations
Date: Mon, 4 Mar 2013 13:10:18 +0200	[thread overview]
Message-ID: <20130304111018.GB31974@redhat.com> (raw)
In-Reply-To: <OFEB8D9335.1E1D50F2-ONC2257B23.00318510-C2257B23.0034AF45@il.ibm.com>

On Sun, Mar 03, 2013 at 11:35:27AM +0200, Abel Gordon wrote:
> 
> 
> Stefan Hajnoczi <stefanha@gmail.com>  wrote on 01/03/2013 12:54:54 PM:
> 
> > On Thu, Feb 28, 2013 at 08:20:08PM +0200, Abel Gordon wrote:
> > > Stefan Hajnoczi <stefanha@gmail.com> wrote on 28/02/2013 04:43:04 PM:
> > > > I think extending and tuning the existing mechanisms is the way to
> go.
> > > > I don't see obvious advantages other than reducing context switches.
> > >
> > > Maybe it is worth checking...
> > > We did experiments using vhost-net and vhost-blk. We measured and
> compared
> > > the traditional model (kernel thread per VM/virtual device) to the
> > > shared-thread model with fine-grained I/O scheduling (single kernel
> thread
> > > used to serve multiple VMs). We noticed improvements up-to 2.5x
> > > in throughput and almost half the latency when running up-to 14 VMs.
> >
> > Can you post patches?
> 
> We will publish the code soon but note the patches are for vhost
> kernel back-end and not for the qemu user-space back-end.

Yes, this is one of the fields where the asynchronous interface
of vhost could be helpful, abstracting the threading model
away from the application.

The main challenge with sharing threads is handling things like cpu
limits and swap access. They normally send the current thread to sleep
and let another thread run, but if VMs share a thread, this becomes a
problem.  Could be solvable by detecting such conditions and moving
other VMs to per-VM threads, but I haven't seen such patches yet.


> > Also, I wonder if you have time to do a presentation/discussion session
> > so we can get the ball rolling and more people exposed to your approach.
> > There is a weekly QEMU Community Call which we can use as the forum.
> 
> Sure. I'll send you a separate email to schedule the
> presentation/discussion.
> 

  parent reply	other threads:[~2013-03-04 11:10 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <512270C4.3090401@dachary.org>
     [not found] ` <CAJSP0QWOzRLi=QPtS8uLR9_c1=M9ptjx+rd8fg2Mnj6tjXAOQA@mail.gmail.com>
     [not found]   ` <OFB9942FE4.54D170F3-ONC2257B1D.002BE3C8-C2257B1D.00306994@il.ibm.com>
     [not found]     ` <20130225125056.GB3202@stefanha-thinkpad.redhat.com>
     [not found]       ` <OFDEF91A17.56D72381-ONC2257B1D.0061DD03-C2257B1D.00671633@il.ibm.com>
     [not found]         ` <20130226164530.GF8662@stefanha-thinkpad.redhat.com>
     [not found]           ` <OF97530B15.2137222C-ONC2257B1F.004F1393-C2257B1F.0054C2F9@il.ibm.com>
     [not found]             ` <20130228144304.GC18389@stefanha-thinkpad.redhat.com>
     [not found]               ` <OF89B4E81E.00226F20-ONC2257B20.00574B6E-C2257B20.0064B893@il.ibm.com>
2013-03-01 10:54                 ` [Qemu-devel] Block I/O optimizations Stefan Hajnoczi
2013-03-03  9:35                   ` Abel Gordon
2013-03-04  8:45                     ` Stefan Hajnoczi
2013-03-04 11:10                     ` Michael S. Tsirkin [this message]
2013-04-04  8:36                     ` Abel Gordon
2013-04-04 13:08                       ` Anthony Liguori
2013-04-04 13:41                       ` Liu Yuan
2013-03-13 15:21   ` Stefan Hajnoczi
2013-03-29 13:33     ` Loic Dachary

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130304111018.GB31974@redhat.com \
    --to=mst@redhat.com \
    --cc=ABELG@il.ibm.com \
    --cc=AVISHAY@il.ibm.com \
    --cc=ERANRA@il.ibm.com \
    --cc=RAZYA@il.ibm.com \
    --cc=aliguori@us.ibm.com \
    --cc=asias@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=loic@dachary.org \
    --cc=mulix@mulix.org \
    --cc=nyh@math.technion.ac.il \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).