Intel Optane

Anyone have experience with using optane with RC?

My idea is to use it for virtual memory, not as a drive accelerator, as I already have a high end ssd. Like a cheaper ram upgrade. Any input guys? Thoughts?

Source for idea

https://youtu.be/cwy4ujt0qHM?t=1m15s

Hi Steven,

interesting thought. Never heard of this before - how pricy is it?

I should think if it can be hooked into the OS as “normal” RAM, then it should work…

Or do you mean in terms of performance?

I already bought it and am testing.
https://www.amazon.com/gp/aw/d/B06XSXX3NS
You can use it in 2 different ways.
First like a regular nvme SSD, and you assign the page file to the drive. The advantage is super low latency and random reads and writes are just as fast as sequential. I also intend to test assigning RC cache to the drive. This method will work for an system.
Second as a drive accelerator. Think of those hybrid drives that are part SSD and part mechanical. Of course you could accelerate an ssd, but the difference probably wouldn’t be that much.
From the little testing I have done, when I hit analyse on a massive set of pictures that have previously been cached ( the only time I ran out of ram ) with optaine used as virtual memory (by assigning whole drive in Windows) my CPU stays fed and maintains much closer to %100 usage. Before I could see the usage drop as I waited for ram to interacted with virtual memory.
Right now the only info I have it’s that it is better, but I still want to test how much and in what way.

A proper data set would help. I think I need to reduce the ram in the system so I can use a smaller data set for faster turn around in between tests. Aligning 1200 42mp on a data set that is not shot perfectly does not give the same approximate alignment results. As I don’t know the effect on processing time by the CPU for different alignment results, I would like to eliminate this variable.

Hi Steven,

from what I’ve heard the gain in speed from having the cache on a ssd instead of a hdd is measurable, however the gain from tweaking ssd or moving to a faster one negligible. But using it as a memory extension would allow RC to use more memory and therefore be able to calculate larger models.

The whole premise is while my NVMe ssd can read sequentially 1.4 gigabytes/sec and write about 500 megabytes/sec, when the load is random it drops to 200 Megabytes read and 100 megabytes write and latency drops from 3ms to 400ms. While optane sequentially read is 1.3 GB/s and write is 450MB/s, when random it only drops to 1.2 GB/s and 425 MB/s and lantency from 3ms stays 3ms. So large files that are that are read front to back like tiffs the performance is dropped a little, but smaller files like the RC cache or files that are read in small pieces out of order like the page file will see significant improvement. 

I intend to test which is the more drastic improvement 

  1. the pagefile method

  2. assigning the cache to the drive

  3. letting the software from intel accelerate what it thinks is important ( I assume will be a mix of both )

As I only have a 32 GB module, I will have to tune a data set to either over flow the ram that amount for one test, or  keep the cache smaller than that amount, dependent on what benchmark I’m running. I also intend to let it go above the 32 GB and overflow to my ssd and mechanical drive to simulate a real world load. I assume that the more overflow the less of an impact it will have…ie it will shave 45mins off alignment. If alignment takes a week then 45mins is not enough to worry about, but if it takes normally 2hrs, 45mins is a significant amount of time.

I also think letting the software decide what to accelerate, might be a good way to speed up those models that you have to massage into alignment. (when you have multiple runs on the same data trying to align multiple components)  Edit: ( because the software “sees” you accessing these files often it accelerates the relevant files. It will depend on how the software is tuned to decide what is “often”

I expect these results to also give a good idea of how the 480GB and 960GB model might be good or bad buys for the professionals with bigger budgets.

These are using Optane as an accelerator to a mechanical drive that has 120MB sequential read and 1.2MB rand read. Take note of the latency (response time). I can only think these results would be better if I was to use it stand alone. Unfortunately I can not test today as I am remoted into my work PC from home ( I’m on holiday in the US ). Any changes would require a restart and I wouldn’t be able to login again.

Looking forward to the results!  :slight_smile:

However, benchmark numbers is one thing and how it shows up in processing times another.

Also, in theory, RC is not supposed to make use of virtual memory. At least that’s what DEVs keep saying. There seems to have been a bug introduced recently that overflows into virtual memory, but that is causing problems…

Yeah, I saw the post about virtual memory, but after a couple of years of using this software and closely monitoring how my hardware is being used, I can see most definitely it is during alignment, texturing and probably a couple of other places too. The only places from what I understand about the software that RAM (after a reasonable amount) no longer matters is in depth maps.

Hmm, so you seem to know it from own observation. Always better, that…

I do also sometimes have my doubts, that it does not use it at all. But as long as everythign works…

So here are the raw results

https://docs.google.com/spreadsheets/d/12IcYfNLF6szGXG2qcaJFregFYY6SoaFbznerD0THl1E/edit?usp=sharing

Summary Optane is slower than RAM but way cheaper. Optane is the best option for small reads and writes for virtual memory and RC cash. 

Source files used for benchmarking and other relevant files.
https://drive.google.com/drive/folders/1pGddO42K-Lx8PiAjt-iX32l3xlA7fpij?usp=sharing

Give a day or 2 to upload. Slow internet :frowning:

 

 

https://support.capturingreality.com/hc/en-us/community/posts/360014963011-Huge-scene-reconstruction

About virtual memory