At Mon, 22 Oct 2012 16:46:35 +0900,
MORITA Kazutaka wrote:
> 
> At Mon, 22 Oct 2012 15:35:46 +0800,
> Liu Yuan wrote:
> > 
> > On 10/22/2012 02:50 PM, Liu Yuan wrote:
> > > On 10/22/2012 02:43 PM, MORITA Kazutaka wrote:
> > >> I think of trying it, but I wish more users would test it too.
> > > 
> > > I have tested it on my laptop and get the similar result.
> > > 
> > > What I am only concerned is that if pthread signal & wakeup use a signal
> > > wakeup queue instead of multi-queues, the wakeup itself would be huge
> > > bottleneck. I'll try to figure it out what pthread signal use. For
> > > pthread_create, which use clone() sys call that scale well on SMP machine.
> > > 
> > 
> > pthread signal use Futex, it might not be a scaling problem. But the new
> > queue_work() are serialized by a mutex (cond_mutex), so probably your
> > patch set won't perform as well as single IO source against heavy
> > multiple IO sources, which is the normal use case?
> 
> Processing parallel I/O is more common.  I'll try to do the benchmark
> and improve this patch if it doesn't show a good performance.

I tested multiple I/Os with a single machine, but my patch still
showed a better performance.  I ran the following command, which can
cause 500 I/O requests at the same time:

  $. /script/vditest test -w -B 4096 -a

The current implementation shows about 3600 IOPS, and my patch does
about 3900 IOPS.  I'll try more tests, but my patch looks better for
now.

Thanks,

Kazutaka
-- 
sheepdog mailing list
[email protected]
http://lists.wpkg.org/mailman/listinfo/sheepdog

Reply via email to