[Feature request] Separation of L1 and L2 write policies

Suggestions around PrimoCache
Post Reply
Hodor
Level 2
Level 2
Posts: 7
Joined: Mon Mar 19, 2018 2:24 am

[Feature request] Separation of L1 and L2 write policies

Post by Hodor »

Hey all,

I'm loving the program but one suggestion I want to make is that L1 and L2 be allowed to have separate write policies. The use case that I'm considering is that I have an 8GB L1 write cache in addition to having a 480GB SSD set to cache both reads/writes. I normally want the L1 cache to handle most of the writes and to do so I have it set to 'Free Cache on Written' to ensure that it's mostly free for any new writes that don't hit the SSD. This, however, runs counter to L2 writes which I would like to not free its cache on being written because that simply causes more disk thrashing as the previously cached data needs to be rewritten to L2 on being read. Put simpler, I'd like to see L1 cache get freed on writes while L2 cache does not.

I know this seems a bit trivial but it is something that can have an effect in those cases where the system needs to write large amounts of data. I often need to write 100GB+ to disk and having most of that happen in fast L1 cache does make a fair bit of difference. But, given the total size of the data set, then I would also like to have any writes written to SSD to stay there without being marked as 'free' and thereby overwritten.

Is this something that might be possible in a future release?
User avatar
Support
Support Team
Support Team
Posts: 3623
Joined: Sun Dec 21, 2008 2:42 am

Re: [Feature request] Separation of L1 and L2 write policies

Post by Support »

"Free Cache on Written" doesn't work like what you thought. It doesn't affect the defer-writing whether this option is checked or not. PrimoCache always will utilize all available memory which is not occupied by unwritten (or "dirty") data to caching incoming write-data. This option mostly affects the read-back hitrate when Windows/applications want to read back these flushed write data. If this option is checked, flushed write-data will be first to be discarded when cache is full, thus other cached data, especially cached read data will not be easily discarded.
In summary, in your case, you may just leave this option unchecked.
Post Reply