Hello,
My PC is: Ryzen 3900X (12 cores, 24 threads), 2 m.2 SSD Gen3 with 2TB each, 64GB RAM
I am preparing to start a futureproof plotting which means:
start plotting when pools support is available
keeping the plots for a minimum 10 years with no re-plotting needed
To do this, it is clear, that you must plot with K=33. But i can not find here many info how to utilize my PC resources at max with K=33 plots.
Here are below my settings:
1.Plot Size
|name|final size|temp space|
|k=33|224.2 GB|559.4 GB|
2. Choose number of plots:7 (to fully utilize the 4TB SSDs)
3. Plot in parallel - yes
4. Deley before next plot starts: 90 minutes (here the purpose is NOT to have all 7 plots running at stage one at the same time, as this requires more processor threads).
5. RAM max usage - 8000mib (7400 is giving me as a default data)
6. Number of threads: 4 (the default is 2; here the idea is that 4 threads are beneficial only during plotting Stage 1, but as i am starting the plotting with 90min difference, i suppose i should not have a problem)
7. Number of buckets: 128 (default value)
8. Queue Name: defauls
9. Select temp directory: SSD1
10. Select second temp directory: SSD2
11. Select final directory: My external HDD is 28TB
Please advice is this a good choice to start my testing?
I produce 3 K33s every 17.5 hours on my refurbished Optiplex 7020 i5. 32GB RAM. 2TB NVMe for plotting and 2TB SSD as secondary plotting drive. OS and page file lives on its own 512GB SSD. Plotting to USB 3.0 - 4x8TB drive arrays.
Everything looks good with your settings but I question the delay.
Depending on your cpu and setup, delay is either all important or not important at all (even detrimental).
Peeps with high end machines can complete phase 1 for one plot in 15 (or less) to 90 minutes. They also have concerns about bottlenecks on the plotting drive. If you can finish phase 1 in 15 minutes, then you set your next plot to start just after so as to avoid the above problems.
Peeps like myself on mid range plotters take over ten hours to complete Phase 1. My plotting drive is gently used as it easily keeps up with my slow CPU and has no bottleneck concerns.
There is no way I can avoid stacking Phases 1s and I do not really need to anyways. I set my delay at 10 minutes. Setting it any higher just slows my total production time.
I would suggest that you run a single plot and find out your time for phase 1 completion from the log. If your completion is under 90 minutes, then set your delay 10 minutes longer than Phase 1 completion took.
If your Phase 1 completion is over 90 minutes then just set your delay to ten minutes. Total added time stacks and you can work the math.
I’ve no exp with k33, but why not use 2 threads per and no delay, seems to be fine with k32.
Or 10 / 15 min delay to write to hdd, surely that’s your bottleneck.
Yes, it does seem I had my figures out for possible Phase 1 completions times … now that I review I see that I relied on bad sources trying to prove to me why I needed delay.
You need a lot of processing power to need to worry about delay.
I’ll stick with my ten minutes as being appropriate for most. At least give it time to complete the first table.
General guideline to start, then optimize from there:
calc max parallel plots your system can handle by:
max plots: divide threads, ram, tmp disk by 2, 4, 256 and take lowest
you want to put your CPU to work, phase 1 is multithreaded:
use 1 thread for other phases (1 thread per phase), 1 for OS stuff, remainder should be in phase 1…
turns out that 4 threads * plots in phase 1 by above formula works best for most configs
There is definite improvement with 4 threads over 2 in almost all cpu/thread setups. The critical element is how many can run in parallel with your plotting space and cpu power.
Setting thread count to 4 is fairly common. I noticed the improvement the first K32 plot I ran with 4 threads. I tried 8 threads, and that slowed me down. I even tried 1 thread and then 2 and then 4 when I switched to K33s. 4 threads consistently performs best.
Chia devs have stated that it’s not a priority right now to optimize and they know it’s not very well optimized right now.
Also please note this repo squeezes as much as possible out of a single plot, by utilizing all available resources… while with official plotter we need to do parallel plotting and mess around to figure out how to max out resource usage…
This means the repo can’t do parallel plotting, as all resources are already allocated with the single plot.
You do … you use 100s and 1000s of threads at a time. Many processes share threads.
Setting your thread count is about resource management. It does not dedicate your threads to one task. It allows the process to use (share) more threads.
Running 7 plots in parallel using 4 threads each does not mean you need 28 threads. Theoretically, your machine could do this with as few as 4 threads.
because only phase 1 is multithreaded, you want to stagger plots (don’t start them at the same time) and manage how many will be in phase 1.
that’s why there are plot managers, like plotman, harry plotter, swar
where you put in the config, how many plots can be in phase 1… and this number is correlated to threads available.
My compliments on your knowledge and sharing of it. I agree with just about everything you have said and have learned a thing or two.
My one issue is that this only applies to high end setups. Once your processing power drops below a certain point the issues that high-end plotters are dealing with do not exist. Any delay over ten minutes is counter-productive for ghetto to mid-range plotting rigs.
OK.Thanks a lot. Here is my SWAR settings. Please advice if they are suitable for my mashine:
global
max_concurrent: 6
max_for_phase_1: 5
minimum_minutes_between_jobs: 20
jobs