[sheepdog] [PATCH v2 05/10] work: try to create worker threads in worker_thread_request_done

Joseph Glanville joseph at cloudscaling.com
Tue May 14 06:50:29 CEST 2013


I guess that is because your patches already improve the performance
so much by other means (bw savings by hashing etc) that the extra
workers don't make a difference.

On a slightly related note are the hashes for readonly objects saved?
It would make sense to store them in the metadata for the objects so
they don't need to be recomputed after the first time.

Joseph.

On Mon, May 13, 2013 at 9:18 PM, MORITA Kazutaka
<morita.kazutaka at lab.ntt.co.jp> wrote:
> At Tue, 14 May 2013 12:33:55 +0900,
> MORITA Kazutaka wrote:
>>
>> At Tue, 14 May 2013 11:18:12 +0800,
>> Liu Yuan wrote:
>> >
>> > On 05/13/2013 11:11 PM, MORITA Kazutaka wrote:
>> > > Currently, even if the number of nodes is increased, the dynamic work
>> > > queue doesn't create worker threads until new work is added to the
>> > > queue.  This tries to create threads just after the work queue detect
>> > > that the cluster is expanded.
>> >
>> > Why expanding at queue_work() isn't enough? Nodes are rarely added, so
>> > most of the time, expanding at queue_work() works fine. It looks much
>> > cleaner if we can reduce expanding call to one.
>>
>> The reason I added this patch is that 'collie vdi check' calls all the
>> queue_work() before setting nr_nodes in work_queue_request_done(), so
>> there is no chance to extend the number of worker threads.  Maybe,
>> initializing nr_nodes in init_work_queue() is much better than this
>> patch.
>
> After removing this patch, I got much better performace.
> Now 'collie vdi check' works 75 times faster than the current master
> on 16 nodes sheepdog cluster.
>
> Thanks,
>
> Kazutaka
> --
> sheepdog mailing list
> sheepdog at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog



More information about the sheepdog mailing list