Re: Freeze problems when using primocache
Posted: Tue Sep 27, 2016 8:52 am
The situation for caching would change a lot with a true READ-AHEAD-CACHE. If you defragment your cached volumes regularly (which I highly recommend), then your data should be layed out as sequential files. Enabling a READ-AHEAD-CACHE would mean that we trigger PrimoCache to read a custom number of blocks BEYOND the last requested block. That will fill those additional blocks into the READ CACHE before they are actually requested, changing the overall performance of the system.
I am doing film and video production professionally and I see to many apps out there not being abled to handle preloading/caching. And instead of telling each individual developer/vendor how to improve their caching, I might be able to solve the problem with a READ-AHEAD-CACHE option in PrimoCache. We had long threads about this and I hope the support has noticed that feature wish, especially because its fairly simple do implement:
Say block 1000 from disk is requested. PrimoCache will look if the block is cached and return it if its cached. Plus, it will check if the next "n" blocks are in the cache as well (1001, 1002, ..., 1000+n). If not, it will start loading them (sequentially). So in a best case scenario it will pull "n" blocks on the first read operation, and then only the last "n-th" block on subsequential reads. That will lead to a situation where all requested blocks can be expected to be in the READ CACHE while playing back media. Of course, it will waste "n" cache blocks for a while after the playback ending. As in video editing you mostly do repetitive tasks like playing back again and again, it will strongly improve system behavior for the better.
Even on straight video playback this might be helpful with some players (not every player is good on preloading/caching).
However, it will not help npelov with his playback issue of video playing from a cached drive overwriting other caches. As inquiring mind already pointed out, the data should then be stored on a different volume or you have dedicated caches per volume (instead of a shared cache task, which makes a difference).
File-aware caching is technically something that Windows is doing by its own. However, it does not move the data to an SSD once the free RAM for caching is filled, though its like if PrimoCache had only L1 RAM cache. Using BranchedCache feature of Windows is a bit of what you are aiming for, but its not designed to work in local networks nor on an individual machine. So, yes, file-aware caching would be a neat thing, but its a COMPLETELY diffenent kind of software in the end than PrimoCache, which is a block level cache software. In fact, PrimoCache can cache any block level storage device on Windows. If you have a Mac HFS+ or Linux Ext2/3/4 partition and the appropriate Windows drivers installed, PrimoCache will even cache those.
I am doing film and video production professionally and I see to many apps out there not being abled to handle preloading/caching. And instead of telling each individual developer/vendor how to improve their caching, I might be able to solve the problem with a READ-AHEAD-CACHE option in PrimoCache. We had long threads about this and I hope the support has noticed that feature wish, especially because its fairly simple do implement:
Say block 1000 from disk is requested. PrimoCache will look if the block is cached and return it if its cached. Plus, it will check if the next "n" blocks are in the cache as well (1001, 1002, ..., 1000+n). If not, it will start loading them (sequentially). So in a best case scenario it will pull "n" blocks on the first read operation, and then only the last "n-th" block on subsequential reads. That will lead to a situation where all requested blocks can be expected to be in the READ CACHE while playing back media. Of course, it will waste "n" cache blocks for a while after the playback ending. As in video editing you mostly do repetitive tasks like playing back again and again, it will strongly improve system behavior for the better.
Even on straight video playback this might be helpful with some players (not every player is good on preloading/caching).
However, it will not help npelov with his playback issue of video playing from a cached drive overwriting other caches. As inquiring mind already pointed out, the data should then be stored on a different volume or you have dedicated caches per volume (instead of a shared cache task, which makes a difference).
File-aware caching is technically something that Windows is doing by its own. However, it does not move the data to an SSD once the free RAM for caching is filled, though its like if PrimoCache had only L1 RAM cache. Using BranchedCache feature of Windows is a bit of what you are aiming for, but its not designed to work in local networks nor on an individual machine. So, yes, file-aware caching would be a neat thing, but its a COMPLETELY diffenent kind of software in the end than PrimoCache, which is a block level cache software. In fact, PrimoCache can cache any block level storage device on Windows. If you have a Mac HFS+ or Linux Ext2/3/4 partition and the appropriate Windows drivers installed, PrimoCache will even cache those.