Option to write noncached data to L2 immediately

Suggestions around PrimoCache
Post Reply
lajby95
Level 1
Level 1
Posts: 4
Joined: Sat Dec 03, 2016 11:03 am

Option to write noncached data to L2 immediately

Post by lajby95 »

So I have been using this program for a week now. I have configured it to use L2 cache only, which I am using now to speed up a 1TB HDD using my 60GB SSD as cache. I like it so far. It really speeds up the OS. But there is a little problem.

So the problem is: even if I configure the cache task's Gather Interval to 1 second, the L2 storage gets populated only when the HDD has been idle for ~15-25 seconds, which is a huge delay. When the system boots up for the first time (L2 is empty), I have to wait around 5 minutes for Primocache to start populating the L2 cache, because up until that point, background programs and system services are still reading from the hard drive.

L1 cache works like this: if, for example, 512MB of data was read from HDD, it immediately gets written to L1.
L2 however works as described above. Even if I set Gather Interval to 1. But GI is an option regarding population interval of L2 when the system is busy. The logical behavior would be writing the noncached read data from HDD to SSD as soon as it was read, or with a very little delay. The SSD is a much faster storage than HDD after all, so there wouldn't be any decrease in performance if it worked like this.

I don't know if this is intended or not. I think with the GI set to 1, the system should write to the L2 much sooner than when the HDD has been idle for 15 seconds.
If the described behavior above is intended, could you maybe add an option to write data to L2 in the moment it is read from HDD, or at least make it more aggressive, so that Primocache won't wait until the system is idle to start writing to L2?

Thank you.
lajby95
Level 1
Level 1
Posts: 4
Joined: Sat Dec 03, 2016 11:03 am

Re: Option to write noncached data to L2 immediately

Post by lajby95 »

So it seems like the Gather Interval setting has no effect.
Also, the "Do not show success messages in operating cache tasks" in the program options window seems to have no effect too.

So maybe this is an issue where Primocache fails to save some settings correctly, but not all.

I've already tried to reinstall multiple times, even with different versions (2.4.0, 2.5.0, 2.6.0), now 2.7.0 is installed, and all versions I've tried produce this behavior.
User avatar
Support
Support Team
Support Team
Posts: 3627
Joined: Sun Dec 21, 2008 2:42 am

Re: Option to write noncached data to L2 immediately

Post by Support »

L2 population behavior is designed as you described except the Gather Interval. When you set GI to "FASTEST", does the value of "L2Storage Write" in the statistics list increase every second?

And in what operation you see the message box even you set to disable the success messages?
lajby95
Level 1
Level 1
Posts: 4
Joined: Sat Dec 03, 2016 11:03 am

Re: Option to write noncached data to L2 immediately

Post by lajby95 »

When the system boots with no data in L2, the "L2Storage Write" only goes up at ~0.1-5 megabytes/s. That's around 100MB in 30 seconds. When the system is fully idle for ~10 seconds, it starts going full speed. And even a momentary read from a random program switches it back to the "busy" mode. I think that is very slow. It shouldn't be that slow, only in extreme circumstances.
When I copy a file, it increases at ~5-20 MB/s, and ~10 seconds after it is done, it starts going full speed.

I think there should be a slider which sets the gather speed when busy.
Or a setting called "Instant Gather into L2Storage" or something like that, which makes it behave like L1 cache.

As for the confirmation message, I was talking about the message when you press the Start button in the New Cache Task Dialog. That always appeared even when I ticked the setting in Options. It's gone in 2.7.0 now.
Now I realize I misunderstood and the two tickboxes in the Options window refer to the Pause/Resume/Delete operations. So it actually was working perfectly all along.
User avatar
Support
Support Team
Support Team
Posts: 3627
Joined: Sun Dec 21, 2008 2:42 am

Re: Option to write noncached data to L2 immediately

Post by Support »

lajby95 wrote:And even a momentary read from a random program switches it back to the "busy" mode.
Can you give me the information of your Windows OS, motherboard, cpu, harddisks? PrimoCache is not designed to be so strict in the idle detection.
lajby95 wrote:When I copy a file, it increases at ~5-20 MB/s, and ~10 seconds after it is done, it starts going full speed.
This looks normal.
lajby95
Level 1
Level 1
Posts: 4
Joined: Sat Dec 03, 2016 11:03 am

Re: Option to write noncached data to L2 immediately

Post by lajby95 »

Windows 10 version 1607, build 14393.447 (Anniversary Update)
Motherboard: Asrock M3N78D
1 HDD, which is a Hitachi HDT721010SLA360

I made 3 NTFS partitions on the SSD:
  • 10GB for caching the Windows partition
  • ~34GB for caching the other 2 partitions on the HDD which are storage partitions
  • 12GB partition for pagefile

Image

Image

Cache Task #1:
Image

Cache Task #2:
Image

Is it a problem that I created 2 separate partitions which I later converted to cache partitions?
Would it be better if I converted all the ~44GB to one L2 partition, and then later selected how much of its total size would go to the cache tasks?
User avatar
Support
Support Team
Support Team
Posts: 3627
Joined: Sun Dec 21, 2008 2:42 am

Re: Option to write noncached data to L2 immediately

Post by Support »

It would be better you just use one partition for all cache tasks since one SSD partition can support 16 cache tasks. This might not be the cause of this problem, but you may try. Another thing you may check is the MSI mode, see
viewtopic.php?f=34&t=4172#p10337
https://support.microsoft.com/en-us/kb/3083595
Post Reply