Page 1 of 1

Single cache memory pool?

Posted: Thu Dec 13, 2012 9:02 pm
by RickH
First, just want to say that I love FancyCache, and I'm ready to buy the day it's officially released. I had a problem with an app that was constantly pounding on my SSD, wearing it out by continuously writing and deleting tmp files. I set up FancyCache with 5 minute deferred writes (stable system with a good UPS and auto-shutdown software), and now thanks to the beautiful TRIM support feature it soaks up and eliminates all those tmp file writes from ever actually being written to the SSD, saving over 90% of the previous GB written per day. 8-)

Now for my feature suggestion. I'm currently caching 2 drives with 1.5GB RAM each. Since each drive has a single partition, I guess it doesn't matter whether I use the volume or drive version of FancyCache. But instead of locking each drive to using 1.5GB, wouldn't it be more effective to have a single 3GB cache pool that's shared between both drives together? That way the amount of cache used by each drive would automatically adjust according to usage, using the same LFU/LRU algorithms currently used to decide which blocks of each drive to keep in cache now. So if I spend a few hours using D: heavily, it gets to take up more cache blocks for that time, and then later when I'm using C: heavily, the balance can shift back the other way, instead of each being somewhat starved while the other separate cache pool sits idle.

More generally, I guess I'm suggesting that the config app allow setting the cache size and parameters first, and then assigning a list of drives/volumes to cache with that single memory pool, instead of the current method of first selecting the drive/volume, and then setting up a cache just for that drive/volume alone. Maybe to keep it flexible and avoid changing the current UI too much, you could continue setting up the cache for a drive/volume as it does now, but add a way to also assign additional drives/volumes to share that same cache; e.g. set up caching for drive C: like it does now, but then have an optional setting for "share cache with..." and also attach drive D: to it (and then disable activating a separate cache for D:).

Anyway, thanks again for the great app, and please get it released so you can take my money. :)

Re: Single cache memory pool?

Posted: Fri Dec 14, 2012 12:11 am
by Manny
+1 to this feature

P.S. it could be more safe if you create RAM drive, for those tmp files, or at least move them to separate partition, then your main data storage will be in safe without deffer writes enabled.

Re: Single cache memory pool?

Posted: Fri Dec 14, 2012 3:28 am
by Support
Well, actually this feature is being implemented. I think it will come out in the next version.

Re: Single cache memory pool?

Posted: Fri Dec 14, 2012 5:15 am
by RickH
Awesome news, thanks!

@Manny: Actually, a RAM drive was the first thing I tried, but I ran into a couple of major problems. The app with the issues uses the Windows system temp directory, set by the TEMP system environment variable, so I had to set that to be on the RAM drive. Which meant that a lot of other apps were then also now putting their tmp files on the RAM drive too, and some of them can sometimes create really big tmp files for a while, especially if they run at the same time, meaning the RAM drive had to be really big to be safe. Windows and most apps don't handle having the tmp files directory run out of space very well and things crash if it does.

Also, some apps use the system tmp files directory to store files during software updates that require rebooting... and then Windows freaks out when it tries to install them after the reboot, but before the RAM drive has been created and reloaded from disk. A VisualStudio update like that crashed the system and corrupted my C: drive while it was at it, and I had to restore from backup. Luckily I have good automatic incremental backups, so I only lost a few hours of changes. To avoid problems I had to be paranoid about every software update and temporarily switch the tmps directory back to a real drive, reboot, install the update, reboot, switch the tmps back to the RAM drive again, and. Re. Boot. Way too much hassle.

FancyCache is a much cleaner and easier solution; no directory size limit issues, no reboot issues, just run once and no need to mess with it again, plus a general speed up for other disk access as a bonus. And I'm not worried about the deferred writes, I have a stable system and a good UPS that can run things for 10-15 minutes. Power glitches here almost never last more than a few seconds, and if the power did stay out, the system will just shut itself down gracefully if the battery gets low.

Re: Single cache memory pool?

Posted: Wed Dec 26, 2012 9:23 am
by shintsu
Great! i wanted to request this feature also since i have 8 HD's in my system and its not really feasible to enable all the disks at this moment.