Single cache memory pool?
Posted: Thu Dec 13, 2012 9:02 pm
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.
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.
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.