Dynamic Memory Overhead

Suggestions around PrimoCache
Post Reply
generalmx
Level 2
Level 2
Posts: 5
Joined: Mon Dec 16, 2013 11:31 pm

Dynamic Memory Overhead

Post by generalmx »

This suggestion would work best if the L1 and L2 options were more separated: one could give a threshold for the overhead for L1 that could further be restricted by the total amount of memory available on Windows, which will restart the cache if a significant enough amount of memory is either available or unavailable, changing its block size. So if I give the range as "1GB - 4GB", and I currently have 5GB available, it'll start out with a blocksize + RAM cache size that's at least 4GB. But if my available memory on Windows gets too low, it'll automatically restart the cache with a higher block size, significantly reducing overhead, and freeing memory, but only if the overhead is around 1GB (otherwise, it'll just leave it to Windows to find memory to free). Here's the options I was thinking of:

- Min Overhead, Max Overhead
- Min Windows Memory Percent (default 10% or 500MB, where size overrides percent)
- Dropdown: Smallest Blocksize, Largest RAM Cache, Change both Blocksize and RAM Cache Size (default)
- Flush to disk (flushes current cache to disk to seed new cache, may not be useful for slow/small disks)

Romex makes great memory and storage applications (this one being their best yet! imho) so I'm sure they already have predictive algorithms to use here (if not, it doesn't really need to be very smart at all for what I'm thinking). I'd say this is type of feature is a much lower priority than having separate settings for L1 & L2, separate algorithms (focusing on IOPS optimizations), and separate settings per drive/volume.
Post Reply