Writing more data to L2 than the size of the whole L2

Found a bug? Report here
Post Reply
npelov
Level 5
Level 5
Posts: 55
Joined: Thu Jun 30, 2016 3:01 pm

Writing more data to L2 than the size of the whole L2

Post by npelov »

PrimoCache version:2.7.0
Cache Settings:
Task 1 - SSD-C:
6GB L1cache read only
4 kb block
prefetch enabled

task 2: SSD-D:, HDD-E:
4 GB L1 cache read only
20 GB L2 on the SSD
16kb block

Task 3 - HDD-T: (used for system temp folders)
512 BM read/write cache with 300s deffer write


Windows OS:
Windows 7 Pro x64

Hardware Information (CPU/Motherboard/Memory/Harddisks):
CPU Intel i7, Intel DH67GD MB, 24GB, 400 GB SSD + 1 TB HDD

Description:

I started copying 200 GB data from E: to external HDD (backup). When 10 GB were copied I realized that cache is writing to SSD and I paused the cache on E:. However the writing didn't stop. When the 200 were copied there were about 20 GB written on L2 (IDLE ONLY policy). The problem is that writing didn't stop. it reached 150 GB before I realize that it's writing all the data that I copied and reboot to stop that madness.

The problems are:
1. at the point where 200 GB were read from E: there were about 20-30 GB written on L2. After this time no more data is read from E:, so primo cache knew that there were 170 GB more to write to the 20 GB L2 cache. It's pointless to write the full 170 GB when there is not enough space on the 20 GB L2 partition. The write should be optimized that no more than xxx GB (the size of all L2) has to be written to L2 at any time. If there is 100 GB pending and 20 GB L2 the most "important" 20 GB should be chosen to be written to L2. Even if there is no method to assess the importance of data - then the latest 20 gb should be chosen.

2. Pausing the cache does not stop writing to L2 cache and it should.

3. Not long ago I reported that I'm having problems with huge one-time read files that are being cached on L2 (and probably on L1), discarding useful cache. These are: watching movies, making backups of huge amounts of data and other similar. I had a promise that this problem is being working on, but that was a long time ago. These one time big reads should only reach cache if there free cache space.
3a. A partial solution to this problem would be to make primocache FileSystem-aware and to be able to exclude directories and/or files from being cached.
3b. Keep in mind that some people won't like if that reading the data doesn't put it into cache immediately. If this is developed then it should be an option selectable per cache task.


I would be grateful if you fix these problems. With these exceptions PrimoCache does a great job.
User avatar
Support
Support Team
Support Team
Posts: 3627
Joined: Sun Dec 21, 2008 2:42 am

Re: Writing more data to L2 than the size of the whole L2

Post by Support »

Thank you very much for your feedback!
We already noticed all of these problems, especially the problem #1 and #2. I think they'll be fixed or improved in the coming 3.0 version.
npelov
Level 5
Level 5
Posts: 55
Joined: Thu Jun 30, 2016 3:01 pm

Re: Writing more data to L2 than the size of the whole L2

Post by npelov »

Thank you!
Post Reply