[sheepdog] [PATCH V4 2/2] collie: optimize 'collie vdi check' command

Yunkai Zhang yunkai.me at gmail.com
Mon Sep 3 13:25:24 CEST 2012


On Mon, Sep 3, 2012 at 6:59 PM, Liu Yuan <namei.unix at gmail.com> wrote:
> On 09/03/2012 06:52 PM, Yunkai Zhang wrote:
>> Yes we can do it in this way. But it's not so efficient:
>>
>> Collie should read the object, even if this object no belong to the
>> node in collie side, and send it to target nodes. It will make network
>> traffic increase rapidly in collie's machine.
>
> 1) data isn't always on the local node, for large enough cluster, data
> is supposed to be distributed on the cluster.

Agree, no problem.

>
> 2) it won't make traffic increase rapidly compared to your last patch,
> because the whole operation is one read + nr_copy writes, and it is the
> write take most of the traffic.

Do you understand this patch completely?

- Use gateway_read/gateway_write:
Collie should read each inconsistent object from remote nodes

- Use this patch:
Collie need not to read any inconsistent object, if it found that
object is inconsistent, local sheep will tell the target sheeps to
exchange object data each other.


A big cluster will benefit with this improvement.


>
> Further more, using read/write from collie also benefit us simpler code
> in sheep.
>
> Thanks,
> Yuan



-- 
Yunkai Zhang
Work at Taobao



More information about the sheepdog mailing list