Configuration ploter

Greetings, I have an amd ryzen threadripper 3990x, 64 cores and 128 threads, x2 SSD Micron 9300 max, 256 gb ddr4, os windows 10 pro, 10 gb ethernet.

I have in parallel, I use a micron in temp1 and a ramdisk and another equal plotter with a micron in temp1 and a ramdisk

I do tests and I do not spend 26 minutes per plot, I would like to do it in parallel, how it is done and what do you suggest about the configuration in madmaxie.

My best results were with the following configuration: Number of Threads: 16 Number of Buckets P1: 2 ^ 8 (256) Number of Buckets P3 + P4: 2 ^ 8 (256) 2 in parallel every 40 minutes.

any recommendation welcome, to improve

Why use low thread count if you have a threadripper?
use 32 instead I would say for each plot. (or use -K 2 switch to increase the threads after phase 1 )

In any case 26 minutes is not very good time for this system I think
One thing is that ramdisk in Windows is almost always much slower than Linux, you might want to try Ubuntu.

1 Like

It’s my understanding that the -K flag only affects the number of threads for Phase 2 (and does so as a multiplier).

I agree with Voodoo. You’ve got 128 threads available, is your CPU utilization maxed out running two 16-thread jobs?

Have you tried different bucket values? Increasing the number of buckets to 512 (or even beyond if your rig likes it) will reduce the amount of RAM required for each thread by half, therefore you can run more threads on what RAM you have left over after allocating for your ramdisk.

1 Like

Well, I tried 512 and the plot was slower, nut tried.

Did you increase your threads when you ran 512 buckets? Because that’s what it allows you to do – when you’re limited on system RAM from a ramdisk, increasing the buckets makes plotting use less RAM per thread, allowing you to run more threads.

Just cause it seemed to me that your main limitation is RAM, not threads. You’ve got plenty of unused threads but you don’t have enough system RAM for all of them + OS overhead. More buckets = more threads with RAM being equal.

Definitely, I think my limitation is the RAM, more than I am using windows, which consumes more than 10 gb of ram.

I have tried many configurations in parallel, so far this one of 16 + 256, it has been the best, if I scale more than 2 in parallel it stops

Just for fun and a comparison you might give this a try (n=10 or similar just to do a few):

MM#1 > -n 10 -r 32 -u 256 -v 256 -t {Micron 9300 #1} -2 {Micron 9300 #2} -K 2 -d {wherever) -G true
MM#2 > -n 10 -r 32 -u 256 -v 256 -t {Micron 9300 #2} -2 {Micron 9300 #1} -K 2 -d {wherever) -G true

OR

MM#1 > -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 #1} -2 {Micron 9300 #2} -K 2 -d {wherever) -G true
MM#2 > -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 #1} -2 {Micron 9300 #2} -K 2 -d {wherever) -G true
MM#3 > -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 #2} -2 {Micron 9300 #1} -K 2 -d {wherever) -G true
MM#4 > -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 #2} -2 {Micron 9300 #1} -K 2 -d {wherever) -G true

Beyond that I have found much, much better parallelism between MM instances (on my ThreadRipper) modifying and fixing process priority & core affinity settings. That is, start (either two or four) Powershell processes (depending on which above is used), then go to details in task mgr and give ‘high’ priority to all these PS instances.

Next allocate the correct number of cores with affinity (either 32 different cores to each of 2 instances or 16 different cores to each of 4 instances). Last, of course, setup each MM PS command string in its respective PS instance before (pretty much) starting them all off consecutively. Or you might stagger them by say letting (1 or 2 depending) finish Phase 1 before starting the other 1 or 2.

I realize you will not be utilizing your RAM to the fullest or even close, but it will show you how much, if any, RAMdisk is actually helping. Furthermore, you will be able to run 2 or 4 instances without regard to running out of memory, as you will have far more than necessary without fiddling around to get it ‘just right’ so as not to use too much, such as when RAM disk takes up most of what you have.

Lastly, saving off to disk will be faster if you have 2 or 4 to write to individually, but in the end it doesn’t matter much, as it’s such a minor load on your SSDs and/or your CPUs during that transfer.

The issue is that I have 2x ramdisk for -2, as a way to avoid wear and tear on the ssd, even lose a bit of speed

I have:
x2 ramdisk 110gb
x2 Micron 9300 6.4tb
amd ryzen threadripper 3990x, 64 cores and 128 threads
DDR4 256 GB (-220 GB RAMDISK)

They think I can do 4 in parallel

M # 1> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 1} -2 {RAMDISK # 1} -K 2 -d {wherever) -G true
MM # 2> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 1} -2 {RAMDISK # 1} -K 2 -d {wherever) -G true
MM # 3> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 2} -2 {RAMDISK # 2} -K 2 -d {wherever) -G true
MM # 4> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 2} -2 {RAMDISK # 2} -K 2 -d {wherever) -G true

Right now plotting with this:

M # 1> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 1} -2 {RAMDISK # 1} -K 1 -d {wherever) -G true

MM # 2> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 2} -2 {RAMDISK # 2} -K 1 -d {wherever) -G true

I’m on almost 8 tb a day with these two in parallel

6.4TB 9300 Max has a 3 Drive Writes per day rating, so 9.6TB/day and 37.3 PB endurance or 37,300 TB. That’s very generous amongst SSDs, and @1.3TB/plot more than a few plots, like over 28,000 plots! And you have two, and endurance is generally way understated. Don’t think you have much to worry about in this lifetime :rofl:

I’m doing over 6 tb in one day on exactly 1/4 your cores and two MM instances, so you potentially have plenty of room to improve. Maybe using the RAMdisk isn’t so great as you imagine, just perhaps?? I only use two lowly consumer 1tb SSDs & 1 2TB SSD all PCI-e 4.0, no RAMdisk at all. Nothing hardware compared to your setup.

But your SSDs, your workstation, your choice, no pressure, I was just offering something to try re: “any recommendation welcome, to improve” :slightly_smiling_face:. My thought is experimenting and trying all alternatives is what makes this all so much fun. Enjoy whatever works for you!

Grateful for your guidance, believe me I’ll try, if I do that configuration d x4 micron 9300, it would be two in phase 1 and the other 2 in the other phase, right?

That will work, but doubtful you’d have problems even with all in phase together with those fine SSDs. And note: the “-G true” parameter switches SSDs between -t and -2 after each plot to even wear. Just try one way and then the other to see if any difference.

1 Like

I am clear from the above, I have an intel optane DC 4800X ssd (disconnected), do you understand that it could:

MM # 1> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 1} -2 {Micron 9300 # 2} -K 2 -d {wherever) -G true
MM # 2> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 1} -2 {Micron 9300 # 2} -K 2 -d {wherever) -G true
MM # 3> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 2} -2 {Micron 9300 # 1} -K 2 -d {wherever) -G true
MM # 4> -n 10 -r 16 -u 256 -v 256 -t {Micron 9300 # 2} -2 {Micron 9300 # 1} -K 2 -d {wherever) -G true
Adding
MM # 5> -n 10 -r 16 -u 256 -v 256 -t {Intel optane DC 4800X # 3} -2 {RAMDISK # 1} -K 2 -d {wherever) -G true

Taking into account the RAM consumed by the other four plots

No, you’ve used all your cores (64) in the first 4 instances. You want to keep -u to total only cores available. You’ll see that i.e., a 16 thread instances ( -u 16) will use up to 32 threads in phase 2, and even some in other phases beyond 16 occasionally.

Just keep in mind over spec’ing threads will slow everything down, to the determent of plot speed.

You could replace one of your 9300s if the 4800x is big enough to handle 4 instances going simultaneously. or do some on the 4800x and some on the 9300.