Feature proposal: allocating level1 cache in VRAM

Suggestions around PrimoCache
Post Reply
Jehu
Level 1
Level 1
Posts: 4
Joined: Thu May 10, 2018 12:48 pm

Feature proposal: allocating level1 cache in VRAM

Post by Jehu »

Greetings,
I'm looking for different options of setting up my home server, and have 2 best options so far, Primo cache for Windows option, and OpenZFS for Linux option. When it comes to speed, looks like its all about cache. I came across this post discussing the use of VRAM on board of graphic cards for RAM disk: http://www.tomshardware.co.uk/answers/i ... #r13082155. Because it is indeed x10-20 times faster than RAM, I think it should be seriously considered as an option. Would it be possible to develop dedicated AMD/nVidia drivers for GPU to fully utilize its memory for caching purposes, and integrate this into Primo Cache as an option of using VRAM as level1 cache? Many outdated video cards have very fast memory on board, 2-3Gb in most cases, why not use it?
User avatar
Support
Support Team
Support Team
Posts: 3623
Joined: Sun Dec 21, 2008 2:42 am

Re: Feature proposal: allocating level1 cache in VRAM

Post by Support »

Thanks for the suggestion!
This will be a very complicated task and it also needs to test many graphic cards, while the output is limited. I don't think our company will approve this task...
Jehu
Level 1
Level 1
Posts: 4
Joined: Thu May 10, 2018 12:48 pm

Re: Feature proposal: allocating level1 cache in VRAM

Post by Jehu »

I understand. It might make sense to support only selected models for server version, but it could make a big difference in speed.
User avatar
Jaga
Contributor
Contributor
Posts: 692
Joined: Sat Jan 25, 2014 1:11 am

Re: Feature proposal: allocating level1 cache in VRAM

Post by Jaga »

Might be possible using the driver's API to do just Nvidia and ATI, mainstream type cards for enthusiasts (which are the ones with the most vRAM in them anyway). That way you only have to maintain compatibility with the driver(s), and not individual cards.
Hodor
Level 2
Level 2
Posts: 7
Joined: Mon Mar 19, 2018 2:24 am

Re: Feature proposal: allocating level1 cache in VRAM

Post by Hodor »

VRAM wouldn't be very practical as a disk cache. While VRAM itself is very fast then it's still always connected to the rest of the system via a slow PCIe connection. This interconnect is much slower than system RAM at just 16GB/sec for PCIe v3.0.

Conversely, modern DDR4-2666 has a bandwidth of 43GB/sec and old DDR3-1600 has a bandwidth of 26GB/sec.
Jehu
Level 1
Level 1
Posts: 4
Joined: Thu May 10, 2018 12:48 pm

Re: Feature proposal: allocating level1 cache in VRAM

Post by Jehu »

Hodor wrote:VRAM wouldn't be very practical as a disk cache. While VRAM itself is very fast then it's still always connected to the rest of the system via a slow PCIe connection. This interconnect is much slower than system RAM at just 16GB/sec for PCIe v3.0.

Conversely, modern DDR4-2666 has a bandwidth of 43GB/sec and old DDR3-1600 has a bandwidth of 26GB/sec.
Good point. No sense to use VRAM then, until PCIe ports will have a lot higher bandwidth.
User avatar
Jaga
Contributor
Contributor
Posts: 692
Joined: Sat Jan 25, 2014 1:11 am

Re: Feature proposal: allocating level1 cache in VRAM

Post by Jaga »

However, even at that speed it is still faster than a SSD as a L2 cache. And if you can't add more RAM to increase the L1 size, it would be good to have as an in-between cache (a L1.1 cache?). Slower than system RAM, faster than a drive.
vanex
Level 1
Level 1
Posts: 2
Joined: Thu Jun 14, 2018 8:10 pm

Re: Feature proposal: allocating level1 cache in VRAM

Post by vanex »

Hi,
maybe using OpenCL ? all recent video cards supports it, or CUDA for nvidia's.
FalkH
Level 3
Level 3
Posts: 17
Joined: Sun Oct 16, 2016 9:27 am

Re: Feature proposal: allocating level1 cache in VRAM

Post by FalkH »

I don't see an useful scenario for this. Nowaday (affordable) graphic cards are equipped with 4-8GB memory. Let's assume you could use 7GB even with 48GB/s. Which calculation task other than simple copy could an cpu core do to these 7GB data?
You will just move to another bottleneck for ... longer bars in a benchmark?
As I said, I don' get what you try to achieve, please explain more detailed.

There are good reasons for the fast memory connection in graphic cards. Their gpu can make use of by massive parallel calculation, not really an strong point for cpu processing.
Post Reply