Axel Mertes wrote:Hi!
A few questions about your setup:
Presumeably you use NTFS, right?
Which block size did you use to format your drives and cache?
Yes, NTFS. I use the default 4KB blocks for the drives. I have the cache set to 256kb blocks. Potentially very wasteful, but mostly I read in large sequential files.
Axel Mertes wrote:Default has always been 4 KB most of time for NTFS. However, block size that small force PrimoCache to use a large amount of overhead for indexing the potential source disk and L1/L2 cache itself. As you are dealing mostly with really big data files, small block sizes make simply no sense at all and waste only RAM and overhead. In turn, if your cach is too large, you need to use larger block sizes otherwise PrimoCache may not be able to utlilize it due to RAM constraints. I had that scenario in my setup, and as I have to deal with larger files often too (film & video post production...), we have formatted everything using 64KB blocks. That reduced memory overhead by 64/4 = 16 times...
Thanks for the suggestion, that might indeed be very smart of me to do as well.
Axel Mertes wrote:I currently use a 2044 GByte SSD RAID0 as cache and consider swapping to NVMe RAID0 for higher bandwith reasons. 2044 GByte is the physical maximum cache size PrimoCache 2.x can address. We use only read cache, for security reasons, as a power outtage/crash could leave you with corrupt disks. The cache disk is used to cache several volumes (roughly 150 TByte in total). The cache size is about 1.5 to 2 times the size of the data we touch every day, ie. its very likely the all users will receive data from the cache, or after they first touched it - for the rest of the day and usually in the following days too. Unfortunately fresh written data is not automatically kept in the cache too, so it gets only loaded into cache after a read operation. That should be changed in PrimoCache 3.x and it would be a huge timesaver for us, as about 90% of our writes (rendered image data) will be read immediately afterwards...
I've got write cache setup. Are you saying that it might cause me to loose my newly written data, or an entire volume? I can risk my newly created data, but my entire volume is not something I want to risk losing.
Axel Mertes wrote:I have high hopes that PrimoCache 3 will introduce a lot of often requested features and may be able to even recover a write cache after a crash/reboot/power outtage. In that context it may hopefully be able to re-use a filled/populated SSD/NVMe cache without reloading/repopulating the data. That would make systems a lot faster after a reboot compared to now.
Maybe its worth to look into your block size settings and try optimizing. With the file sizes you have you should always use a large block size. While PrimoCache itself can use up to 512 KByte, NTFS can only be 64 KB max and ReFS is using 64 KB as default. So 64 KB seems to be the sweet spot for now.
Many thanks for the info. I think I will move to 64KB blocks for both the drives and the cache.