What's new

Are SSD's necessary if you load ALL samples in RAM - raising preload buffer to max

maestro2be

Active Member
Hello all,

I was curious, if your going to simply raise the preload buffer in your VI Software players to the point where it forces a complete load of all instruments into RAM, is there any benefit or need still for it to be an SSD other than the speed increase of getting it from HD to RAM? Does the system still need nonstop read time to your sample drive for something?

Thanks!
 

JohnG

Senior Member
A very well-known composer in the Ancient Days of Yore used to use something called a "RAM Drive" to do this -- sort of. He loaded everything without streaming.

Today, there is no reason to do that, thanks to SSDs. Less money and less brain damage.
 
OP
M

maestro2be

Active Member
Hi John,

Thanks for the reply. So in my case, I have a 13GB RAM template in VE Pro that finally hit a wall and had pops and clicks (even at 2048 buffer setting in soundcard). All of these samples spread on 4 enterprise Samsung server grade NVME SSD drives. One for brass, strings, percussion/choirs and woodwinds. All running on a 4 processor, 16 core each server (64 cores), 256GB RAM.

I turned up the preload buffer to max, loaded all samples into RAM and is now 50GB and there is no pops and clicks.

Since I have all these resources available I thought I might as well use them and now just wondering if my SSD's are even doing anything during VI playback. Seems like there are actually times when the faster reading from RAM will out perform streaming from even the fastest drives money can buy.
 

Robo Rivard

Senior Member
My instrument preload buffer size is set to 102.00 kb. My samples are on SSD. Is it an average setting?... Everything runs pretty smoothly.
 

JohnG

Senior Member
Seems like there are actually times when the faster reading from RAM will out perform streaming from even the fastest drives money can buy.
RAM is going to be faster, yes. So in your case, if you are only running 13 GB and you have 256 -- go nuts! Seems you've exhumed a good approach from the Dark Times Before SSD, whether your realised it or not.

I don't even like to think how big my template is.

Have fun!

John
 
OP
M

maestro2be

Active Member
Thanks John.

Anyone know, when using Crystal Disk which test is the one that most closely represents what VI Pro, Synchron Player and Kontakt use?

I also still don't know if that means it is or isn't even using my SSD's after it loads so much into RAM.

Thanks!
 

tommalm

Member
Maestro, you need to check your setup...There should be no need to load everything into ram (although ofcourse you could as you're running a tiny template).

Are you running a huge amount of effects? Incredible dense orchestration? What CPU are you using? What soundcard? Which OS? Have you checked your power settings? Is your software set to use multiprocessing with an appropriate number of threads?

And btw, turning your preload buffer to the max does not mean that you load everything into ram, just a larger portion of the sample. For loading a whole instrument into ram you would have to change the sampler mode - turn off disk streaming.
 
Last edited:

EvilDragon

KSP Wizard
I see no reason why would anyone do this when we have these very fast SSDs which can very easily deal with the lowest DFD buffer size...
 

tommalm

Member
Exactly - There should be NO reason to do this. Just to be clear; I am NOT recommending him to turn off disk streaming...just pointing out that a high buffer still means that your storage media will have to do some work.
 
OP
M

maestro2be

Active Member
Maestro, you need to check your setup...There should be no need to load everything into ram (although ofcourse you could as you're running a tiny template).

Are you running a huge amount of effects? Incredible dense orchestration? What CPU are you using? What soundcard? Which OS? Have you checked your power settings? Is your software set to use multiprocessing with an appropriate number of threads?

And btw, turning your preload buffer to the max does not mean that you load everything into ram, just a larger portion of the sample. For loading a whole instrument into ram you would have to change the sampler mode - turn off disk streaming.
I am running a SPATv3 instance per instrument which does indeed take a tremendous amount of CPU. I have an RME soundcard on the DAW, nothing on the slave except VE Pro. I am using 4 x 16 core opteron 6272's. Server 2016 OS. Power settings are disabled completely in bios and in OS.

Inside of VE Pro I have each instance set for 8 cores per instance. I have tried Kontakt instances from multiprocessor turned off all the way to using 16 cores per instance and see no difference in any of them running in VE Pro.

Synchron player and Kontakt - I am not using "Stereo mixes". I am using individual microphones to create my own tailored sound. In Synchron this is 8 microphones. In Spitfire Audio, I use whatever amount they offer but typically the CTAO setup.

How do I tell Kontakt to completely turn off disk streaming?

Thanks
 
OP
M

maestro2be

Active Member
I see no reason why would anyone do this when we have these very fast SSDs which can very easily deal with the lowest DFD buffer size...
Well given that I have so many cores that operate at much lower clock speeds than good processors today, I find I can get significantly more performance putting them all into RAM. When I stream them all from disk (or most) it really hits the CPU. It drops significantly putting them all into RAM.

I am strongly leaning towards a new machine once the final benchmarks come out for the new AMD vs the current intel 9900 series. I can replace this enormous beast for a fraction of what it used to cost. The nice thing about it would be the lowered buffer settings I could run at as well.
 
OP
M

maestro2be

Active Member
I want to add, ever since making the simple change of letting all/most load into memory I just realized not only can I play the entire 24 VE Pro instance project with 110 tracks without any pops or crackles, low CPU usage in my DAW and "medium" CPU on my slave, but I am actually able to play this song at 64 samples buffer on my RME soundcard with zero pops or clicks. CPU is so low on my DAW and slave.

Keep in mind that I was popping and crackling at 2048 buffer before making the change to try to eliminate DFD streaming. I changed it from 2048 to 1024 and it worked. Lowered it to 512, then 256, then 128 and a whopping 64 and it still plays perfectly. VE Pro shows a total latency of 128 because I have the x2 buffer setting on the VE Pro instances. I do however have some Kontakt instances running right inside of Studio One that are working flawlessly at the 64 buffer.

What is interesting to me is, my CPU usage actually went down tremendously on my Slave when I lowered the buffer. My DAW went up from 23% to 40% running the project at 64 samples buffer. I find it interesting that this lowering of buffer so tremendously reduced my overall CPU on my slave. That just seems so counter intuitive. My horns and strings sections were playing at 80-90% CPU and now are at 20-30% when full orchestra is going.

None the less I am loving the change and will continue to run all my samples in RAM. I suggest anyone else hitting limits, if you have the RAM for it, try to just use it and see if it gives you the tremendous boost it gave me.
 
OP
M

maestro2be

Active Member
I see no reason why would anyone do this when we have these very fast SSDs which can very easily deal with the lowest DFD buffer size...
I guess my results give you your first reason. I was also on your side of the fence until these results came in.
 

EvilDragon

KSP Wizard
Well given that I have so many cores that operate at much lower clock speeds than good processors today, I find I can get significantly more performance putting them all into RAM. When I stream them all from disk (or most) it really hits the CPU. It drops significantly putting them all into RAM.
And you tried using Kontakt's multicore feature, too?
 
OP
M

maestro2be

Active Member
And you tried using Kontakt's multicore feature, too?
I sure did. I tried turning on multicore and tried 2, 3, 4 etc. all the way to the max to see if it helped and none of the settings helped so I just turned it back off.

I also tried 6.00kb all the way up to 240.0kb memory settings. So far the best one for my system is the 240.0k. I assume that's because it seems to be forcing more into RAM than the lower numbers do.

I am just hoping at this point to figure out how to make all my VI Software apps to just load 100% into RAM.
 

azeteg

Active Member
Thanks John.

Anyone know, when using Crystal Disk which test is the one that most closely represents what VI Pro, Synchron Player and Kontakt use?

I also still don't know if that means it is or isn't even using my SSD's after it loads so much into RAM.

Thanks!
I added disk performance measurement to the Synchron Player a while back. This measures 64k random reads at QD1, T1. In reality, there might be a bit higher QD and more reading threads, depending on your settings.

In an upcoming Synchron Player version there is also a special optimization applied for Intels Optane drives, which bypasses some of the OS layers for disk read ahead and caching.
 

azeteg

Active Member
What you also really have to watch out for - is using a streaming buffer size smaller than 2048 samples. This guarantees clicks and pops if your host calls the plugin with a sample buffer size of 2048.
 
OP
M

maestro2be

Active Member
What you also really have to watch out for - is using a streaming buffer size smaller than 2048 samples. This guarantees clicks and pops if your host calls the plugin with a sample buffer size of 2048.
I am starting to think while yes, loading it all into RAM obviously has tremendous benefits and I will just continue to use this method since I have so much of it, that there is some other underlying issue as they mentioned above. It could be my PCIe controller card, it's driver and the additional latency it adds for the CPU versus the RAM Bus.

There are so many aspects to the entire chain between DAW, slave, drives, etc. that I just feel that I have almost somehow luckily hit an amazing sweet spot for my system that I have never hit before. I already have enterprise grade Samsung NVME drives so the drives themselves are not the issue. I have 4 of them and they all perform the same level.

Not to mention that while yes, I have 64 physical cores in my slave, due to the slower clock speed (and everyone seems to agree that higher clock speeds per core is better) that loading everything into RAM's additional speed boost is helping my slower core speeds (just a theory).

I am super happy right now with this performance! In 4-5 years of using it, I have never had such incredible performance (never tried to do full RAM loads ever before)!
 
Top Bottom