Dynamic Cache Size

Suggestions around PrimoCache
Post Reply
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Dynamic Cache Size

Post by RobF99 »

I don't use your RamDisk but I see from the features that it has the ability to do a dynamic sizing based upon available free memory. Why can this not be done with PrimoCache? It would be an ideal implementation of L1 since you are not redundantly caching data with Windows cache and L1 Cache. I have a 32 Gb system and I like to use 16 Gb for L1 cache but I always have about 10 Gb in Windows cache so it seems to be doubly caching the same data. A dynamic cache size would resolve this. Maybe you can have an option like in Photoshop where the user can allocate the maximum amount of RAM usage and PrimoCache could dynamically resize its L1 cache depending upon other needs of the OS and give up some of the L1 cache if the OS asks for more memory for programs.

This would make it PERFECT!
User avatar
Support
Support Team
Support Team
Posts: 3623
Joined: Sun Dec 21, 2008 2:42 am

Re: Dynamic Cache Size

Post by Support »

We did consider this before. However, it's quite complicated to be implemented into current program code. Besides the performance will not be the best with dynamic cache size. We'll do more study on this feature when we have time.
Thanks.
RobF99
Level 8
Level 8
Posts: 130
Joined: Fri Sep 19, 2014 5:14 am

Re: Dynamic Cache Size

Post by RobF99 »

Ok, but it would be the perfect scenario for a user but then if performance suffers then it wouldn't I suppose. :-)
onurccn
Level 1
Level 1
Posts: 1
Joined: Tue Oct 04, 2022 10:00 pm

Re: Dynamic Cache Size

Post by onurccn »

Kind of late to the conversation but this would really improve general system performance on low memory installations. Hoping you guys would consider adding this feature to the roadmap.
Thanks
tverweij
Level 6
Level 6
Posts: 74
Joined: Thu May 10, 2018 9:27 am

Re: Dynamic Cache Size

Post by tverweij »

I work with a system where the available memory for caching is between 128 and 384 Gb (HyperV dynamic memory).
The available memory is not changing fast - but is changing.
Because I cannot change the size of the L1 cache without flushing it, I am stuck on the 128 Gb L1, wasting 256 Gb in a lot of cases.

To implement this this properly (prevent swapping), a minimum of free memory should be supplied by the Primocache user - this memory won't be used by primo cache and will be available for growing memory usage - as soon as the amount of free memory changes, primo chache can resize its cache (grow or shrink).

Further - I have 3 cache tasks on 3 volumes. Each of these tasks should have an option to grow and shrink (or not), and the growing and shrinking should be based on their initial size.
vlbastos
Level 4
Level 4
Posts: 21
Joined: Sat Jul 16, 2022 10:32 pm

Re: Dynamic Cache Size

Post by vlbastos »

This would be nice. My laptop has 16GB, so I would set a minimum of 2GB and a maximum of 8GB. That could be pretty cool, along with the Free Cache on Written option turned on for defer-write, in a read+write cache scenario. Discard colder blocks, free RAM as system starts demanding more... Seems complicated to have a fast way to know WHEN to free this RAM, sounds like there would be a lag or latency in that. But it's also true that a lot of RAM sits unused most of the time, and that unused RAM could be put to good use with this.
Post Reply