Comments (18)
You have a limit of two jobs per tmp dir. Since your tmp dir stagger limit of four is greater than that, it won't do anything.
Side note, when filing this issue were you not provided with a template to fill out as shown below?
from plotman.
You have a limit of two jobs per tmp dir. Since your tmp dir stagger limit of four is greater than that, it won't do anything.
Side note, when filing this issue were you not provided with a template to fill out as shown below?
tmpdir_stagger_phase_major: 4
tmpdir_stagger_phase_minor: 1
# Optional: default is 1
tmpdir_stagger_phase_limit: 2
# Don't run more than this many jobs at a time on a single temp dir.
# Increase for staggered plotting by chia, leave at 1 for madmax sequential plotting
tmpdir_max_jobs: 2
# Don't run more than this many jobs at a time in total.
# Increase for staggered plotting by chia, leave at 1 for madmax sequential plotting
global_max_jobs: 8
still not work with 4:0, 4:1.. etc..
from plotman.
You still have the phase limit set the same as the overall limit. tmpdir_max_jobs
means that any individual tmpdir can have a maximum of 2 jobs in any phase. tmpdir_stagger_phase_limit
says that any individual tmpdir can have a maximum of 2 jobs in phases less than 4:1. Configuring the phase limit like that doesn't provide any further restriction.
Your bug report seems to claim that plotman is not enforcing the tmpdir_stagger_phase_limit
. You have it set to a limit of 2 with phase 4:1. Do you have more than 2 jobs in a phase less than 4:1 on a single tmpdir? If so, share however it is that you see that.
from plotman.
You still have the phase limit set the same as the overall limit.
tmpdir_max_jobs
means that any individual tmpdir can have a maximum of 2 jobs in any phase.tmpdir_stagger_phase_limit
says that any individual tmpdir can have a maximum of 2 jobs in phases less than 4:1. Configuring the phase limit like that doesn't provide any further restriction.Your bug report seems to claim that plotman is not enforcing the
tmpdir_stagger_phase_limit
. You have it set to a limit of 2 with phase 4:1. Do you have more than 2 jobs in a phase less than 4:1 on a single tmpdir? If so, share however it is that you see that.
Okay, what I need to DO to have only 4 jobs before they get into 4:1 phase and start 4 more after old one's start transferring to dst? I do have only 4 plotting nvme's
from plotman.
Do you want one job in a phase less than 4:1 on each disk? Also, why do you want to align all of the plots rather than letting them be staggered?
from plotman.
Do you want one job in a phase less than 4:1 on each disk? Also, why do you want to align all of the plots rather than letting them be staggered?
- Yes, and after the plot in disk reach 4:1 start a new one without waiting for completion of the previous.
- Bcz I got more plots per day when running 4 madmax plots in parallel with 12 threads per one.
from plotman.
- If you want one plot per disk in a phase less than 4:1 then set the phase limit to 1.
- "in parallel" and "aligned" are not the same thing. What is better about 4x plots started every 40 minutes than 1x started every 10 minutes? At this point with madMAx I have both my plotters set with a phase 1 stagger since even with
--rmulti2
I can't get CPU usage maxed out outside of phase 1. Though, I also have my 4x tmp drives raid0 on the system with multiple.
from plotman.
- If you want one plot per disk in a phase less than 4:1 then set the phase limit to 1.
- "in parallel" and "aligned" are not the same thing. What is better about 4x plots started every 40 minutes than 1x started every 10 minutes? At this point with madMAx I have both my plotters set with a phase 1 stagger since even with
--rmulti2
I can't get CPU usage maxed out outside of phase 1. Though, I also have my 4x tmp drives raid0 on the system with multiple.
4 plots in parallel with 3200 sec max plot job length, 3200/4=800+/-100, when I'm running 1 job I take about 1100-1200 secs so with 256 buckets and without multiplier, so.....
from plotman.
Again, I am not suggesting you run only a single job. I'm only questioning why you want all four to start at the same time rather than staggered. Why start 4x every 40 minutes rather than 1x every 10 minutes? The stagger just avoids aligning resource usage peaks and valleys in an effort to make smoother continuous 100% usage.
Here's my monitoring dashboard in case a visualization helps. I always have about 3x running but I only start one at a time. The left side is a dual Xeon v0 and the right is an i5 NUC.
from plotman.
Again, I am not suggesting you run only a single job. I'm only questioning why you want all four to start at the same time rather than staggered. Why start 4x every 40 minutes rather than 1x every 10 minutes? The stagger just avoids aligning resource usage peaks and valleys in an effort to make smoother continuous 100% usage.
Here's my monitoring dashboard in case a visualization helps. I always have about 3x running but I only start one at a time. The left side is a dual Xeon v0 and the right is an i5 NUC.
This make no sense, there will be anyway an "natural" staggering when some plots in 4th stage and some new just starting, so in long run there will be only 1-3 actively running when last will be in 4 phase.
from plotman.
I'm not sure what is "natural" about plotman launching plots, but alrighty. Did the question you were asking get a workable answer here?
from plotman.
I'm not sure what is "natural" about plotman launching plots, but alrighty. Did the question you were asking get a workable answer here?
nope.
from plotman.
I need to have only 4 plots in stage <4 and up to 8 in stage >=4 spread between 4 nvmes
from plotman.
There is no globally applied phase limit. There is a per tmpdir phase limit which is what I addressed above.
- If you want one plot per disk in a phase less than 4:1 then set the phase limit to 1.
I think perhaps instead of "up to 8 in stage >= 4" you mean "up to 8 total"? It seems unlikely that you would need to allow twice as many in stage >=4 than in stages <4. Also, it seems there wouldn't be any such limit needed anyways mostly. But, if we go with "up to 8 total", you can achieve that either via global_max_jobs: 8
or tmpdir_max_jobs: 2
depending on your intent. You seem fairly focused on the tmp drives so I'm guessing the latter would be more representative of your intent. Though, all limits must be satisfied so global_max
must still be at least the number of total jobs you want to limit to regardless of phase and tmpdir.
from plotman.
There is no globally applied phase limit. There is a per tmpdir phase limit which is what I addressed above.
- If you want one plot per disk in a phase less than 4:1 then set the phase limit to 1.
I think perhaps instead of "up to 8 in stage >= 4" you mean "up to 8 total"? It seems unlikely that you would need to allow twice as many in stage >=4 than in stages <4. Also, it seems there wouldn't be any such limit needed anyways mostly. But, if we go with "up to 8 total", you can achieve that either via
global_max_jobs: 8
ortmpdir_max_jobs: 2
depending on your intent. You seem fairly focused on the tmp drives so I'm guessing the latter would be more representative of your intent. Though, all limits must be satisfied soglobal_max
must still be at least the number of total jobs you want to limit to regardless of phase and tmpdir.
I mean not more than 4 TOTAL in stage <4 and new job start only while there <4 jobs in stage <4 SO
max total 8
but only 4 in stages 1-3
from plotman.
You can limit to one process in a phase less than 4 on each of your individual tmp drives. That is four total processes in a phase less than 4. There is no feature to phase limit globally, independent of any tmp dir. But, I thought you wanted one process in phase < 4 on each tmp drive so it seems like that should be ok for you.
from plotman.
You can limit to one process in a phase less than 4 on each of your individual tmp drives. That is four total processes in a phase less than 4. There is no feature to phase limit globally, independent of any tmp dir. But, I thought you wanted one process in phase < 4 on each tmp drive so it seems like that should be ok for you.
Okay, yes, now what variables do I need to change to get the result? I'm getting overwhelmed with that stuff atm
from plotman.
From the config presently listed in the OP, I set tmpdir_stagger_phase_limit: 1
.
logging:
plots: /root/.chia/plotman/logs
user_interface:
use_stty_size: False
commands:
interactive:
autostart_plotting: False
autostart_archiving: False
directories:
tmp:
- /plotting01
- /plotting02
- /plotting03
- /plotting04
dst:
- /plots
- /plots01
- /plots02
scheduling:
tmpdir_stagger_phase_major: 4
tmpdir_stagger_phase_minor: 1
tmpdir_stagger_phase_limit: 1
tmpdir_max_jobs: 2
global_max_jobs: 8
global_stagger_m: 1
polling_time_s: 20
type: madmax
chia:
k: 32
e: False
n_threads: 2
n_buckets: 128
job_buffer: 3389
madmax:
n_threads: 12
n_buckets: 256
n_buckets3: 256
n_rmulti2: 1
Personally, I would set the global_stagger_m:
to a bit less than a quarter of the time it takes a plot to get to phase 4. This is an iterative process since each change can affect how long the plots take. Basically, approximately evenly stagger the four "really calculating stuff" plots. This helps to smooth out the overall resource usage (CPU, bus usage to RAM and disk, etc) across the plots. In my experience with madMAx it doesn't really want to actually use full cpu in phases other than 1, even if you specify --rmulti2 2
. Certainly this could vary per computer. But, if that's the case for you and you align all four of your parallel plots then you end up with them all battling for cpu in phase 1 and when they all hit phase 2 at about the same time you have cores sitting idle. If you instead always have a plot in phase one and others in phases 2 and 3 then you would always be able to fully utilize your cpu.
Yes, staggering introduces a ramp-up period where you aren't using your full resources. If you are doing 10 plots then this matters, but at that scale tuning plotman like we are going through here doesn't matter. If you are going to leave the system plotting for days and weeks, then an hour of ramp up or such is irrelevant compared to maximizing overall throughput.
from plotman.
Related Issues (20)
- archive rsyncd on host1 and local_rsync on host2 write to the same HD (mounted on host2) HOT 7
- Plotman interactive not showing active plots
- Allow Randomization of Archive Drive Destinations HOT 3
- Configuration file does not show by default the pool_contract_address HOT 1
- Plotman v0.5 on mac osx creates new plot every 20 secs HOT 10
- how to create new plots
- log file stops at [P4] Writing C2 table . madmax HOT 2
- Increasing archive throughput HOT 13
- Fixed secondary temp -2 folder is inflexible tbh HOT 8
- allow passing of k setting with madmax HOT 4
- M1 Mac Mini, fresh install errors HOT 2
- finding unused dst dirs fails because of trailing slash "/" mismatch HOT 1
- v0.5.2 breaks with config file used in v0.5.1 HOT 4
- Plotman (k33) keeps making plots for a -d storage disk that's already full - it even reports it as full! HOT 1
- ParserError first time running plotman HOT 1
- Install fails when upgrading to chia 1.3, Debian 11, Python 3.9 HOT 6
- archiving issue HOT 1
- Error in resources/target_definitions.yaml - rsyncd - transfer_script HOT 6
- archiving does not pick up compressed plots HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plotman.