GpuRamDrive: GPU VRAM as RAMdisk: Game changer!?

Suggestions around PrimoCache
Logic
Level 3
Level 3
Posts: 15
Joined: Mon Oct 29, 2018 2:12 pm

Re: GpuRamDrive: GPU VRAM as RAMdisk: Game changer!?

Post by Logic »

cichy45 & InquiringMind

You guys are missing the point! 🙂
Let me explain:

Windows will auto use any spare DRAM as a file aware read cache, regardless of whether you have PrimoCache installed or not.
(That's assuming your system drive is a HDD, or that you have edited the registry to force the said read caching)
ie:
~all your DRAM is used (dynamically) anyway.
What is NOT used as extra/spare RAM is any spare GPU VRAM...

So, with GpuRamDrive you can add a lower (slower) tier of disk caching, to further speed up I/O, in much the same way PrimoCache normally uses a SSD...
but no SSD reqd = wider customer base for Romex...

Ideally, said cache would also be dynamic, decreasing as the GPUs VRAM is required for graphics.
InquiringMind
Level SS
Level SS
Posts: 419
Joined: Wed Oct 06, 2010 11:10 pm

Re: GpuRamDrive: GPU VRAM as RAMdisk: Game changer!?

Post by InquiringMind »

Logic wrote: Wed Jun 09, 2021 11:21 am...Windows will auto use any spare DRAM as a file aware read cache, regardless of whether you have PrimoCache installed or not...~all your DRAM is used (dynamically) anyway.
What is NOT used as extra/spare RAM is any spare GPU VRAM...
This is actually a bad thing because:
  1. it results in multiple levels of caching which then can mean the same data being stored multiple times and multiple checks to determine if a particular item has been cached or not;
  2. Windows' file cache takes primacy over PrimoCache - initially both will start empty and fill up with identical copies of disk data. However since Windows' file cache gets checked first, the disk reads it satisfies will not be seen by PrimoCache and PrimoCache will flush its copy of this data out, resulting (eventually) in Windows' cache holding the most frequently requested data and PrimoCache the next most frequent. That is, until an application needs a large amount of memory which is then taken from Windows' file cache - this then results in the most frequently accessed data no longer being cached until it is read again and stored by PrimoCache.
If there was a way to disable Windows' own file caching, then it would be of measurable benefit to Romex to use it but unfortunately it is integrated into the NTFS filesystem and extremely non-trivial to bypass.
Logic wrote: Wed Jun 09, 2021 11:21 am...So, with GpuRamDrive you can add a lower (slower) tier of disk caching, to further speed up I/O, in much the same way PrimoCache normally uses a SSD...
This would add a third level of caching (with the results above) but with the added complications of a slower speed (so PrimoCache would have to figure out which cached data was less important in order to relegate it to GPU RAM), less capacity and, if a static size, potentially crippling performance for games which, if out of GPU RAM, would try to use system RAM instead. Since it is only gamers that are likely to *have* GPUs with large amounts of RAM, the loss of performance here is likely to be far more significant than any gain on disk speeds.

Comparing this feature with PrimoCache's L2 caching is also missing the point. L2's plus point is that it is limited by SSD size rather than RAM size so can be an order of magnitude larger, and since it is non-volatile it poses less risk of data loss than L1.
Logic wrote: Wed Jun 09, 2021 11:21 amIdeally, said cache would also be dynamic, decreasing as the GPUs VRAM is required for graphics.
That would avoid the game-crippling performance issue, but then you'd have poorer cache performance since a dynamic cache would be harder to index/search than a static one and cached data would be lost after running any GPU-intensive game.
Post Reply