[Sheepdog] [PATCH 2/2] object cache: introduce async flush

MORITA Kazutaka morita.kazutaka at gmail.com
Thu Apr 5 17:09:55 CEST 2012


At Wed, 04 Apr 2012 01:19:10 +0800,
Liu Yuan wrote:
> 
> On 04/04/2012 01:00 AM, MORITA Kazutaka wrote:
> > At Mon,  2 Apr 2012 16:21:11 +0800,
> > Liu Yuan wrote:
> >>
> >> From: Liu Yuan <tailai.ly at taobao.com>
> >>
> >> We async flush dirty object as default to achieve the best performance.
> >> If users prefer strong consistency over performance, users can launch
> >> sheep with -S or --sync option.
> >>
> >> We need async flush because:
> >> 	1) some APP are responsive time sensitive, the writeback of dirty bits in
> >> 	the guest will mostly hurt RT because guest need to await its completion.
> >> 	This is a considerably long operation in the sheep cluster.
> >> 	2) some APP are just memory and CPU intensive, has little of concern of disk
> >> 	data. (For e.g, just use disk to store logs of APP)
> >> 	3) People simply prefer performance over consistency.
> > 
> > Sheepdog is a block device storage.  This kind of feature must NOT be
> > default.  In addition, we had better show a warning about a risk of
> > reading old data, which could cause a filesystem corruption, when
> > users enable this feature.
> > 
> 
> Okay, I'll submit a patch to make it optional.
> 
> But in which way we'll risk to read stale data? Guests always try to read objects from
> cache with cache enabled, IMO.

If the gateway node fails, the flushed data would be lost.

Thanks,

Kazutaka



More information about the sheepdog mailing list