Highlighted
BadProduct1
1 Copper

Do SyncIQ writes end up in a caching layer?

Jump to solution

I believe it's all in the title!

My setup is X410s + 2SSDs per node + L3 Cache enabled.

My understanding is NFS writes will be cached no matter what because they are buffered/coalesced, and later pushed to L3. This way the next read will avoid to hit the spinning disks.

But then, would a write from a SyncIQ policy run also end up in the cache? My gut feeling is it wouldn't.

The distinction here is quite important for our use pattern (occasionally reading from a SyncIQ replica).

Cheers,

Labels (1)
0 Kudos
1 Solution

Accepted Solutions
AdamFox
2 Iron

Re: Do SyncIQ writes end up in a caching layer?

Jump to solution

Yes, I mean that SIQ writes look like any other write to the filesystem.  SIQ hands off the write to the filesystem layer just like any other protocol.  This will mostly affect the L2 cache on the target but should have less of an effect on L3 from a data caching perspective unless you do random reads from those data blocks while they are in L2 in which case putting those blocks in L3 is probably a good idea anyway.

3 Replies
AdamFox
2 Iron

Re: Do SyncIQ writes end up in a caching layer?

Jump to solution

Short answer: Yes

Keep in mind that not every data block in L2 goes to L3.  OneFS looks for things that it finds "interesting" which in this case tends to be small random access.  Big sequential accessed blocks will most likely skip L3 and just get ejected from L2 when their time has come.  This is to prioritize L3 for metadata reads as well as take advantage of the fact that SSDs get the biggest bang for the buck on small random I/O.  The system watches and sees how the data is accessed while in cache and decides at ejection time. 

Of course, the shorter the time from when the data is written to when it is read, the better chance you'll get an L2 hit anyway.

BadProduct1
1 Copper

Re: Do SyncIQ writes end up in a caching layer?

Jump to solution

Hey AdamFox,

Thank you for your answer. Does that mean SyncIQ writes (so, on the target) will go through the same logic as regular writes?

I am asking because it would make sense to not cache a block stream only supposed to be used in case of a disaster.

0 Kudos
AdamFox
2 Iron

Re: Do SyncIQ writes end up in a caching layer?

Jump to solution

Yes, I mean that SIQ writes look like any other write to the filesystem.  SIQ hands off the write to the filesystem layer just like any other protocol.  This will mostly affect the L2 cache on the target but should have less of an effect on L3 from a data caching perspective unless you do random reads from those data blocks while they are in L2 in which case putting those blocks in L3 is probably a good idea anyway.