[Documentation] The tmpdir_stagger_phase_ options are very hard to understand
See original GitHub issueI had been trying a lot of things with tmpdir_stagger_phase_
before finally understanding them thanks to @jkbecker in chat . In my case, they allow me to do what I want, but I had no idea they did.
There’s a few reasons why they are confusing to me:
- The documentation and the tool itself uses
:
to separate major minor, but the comment just saysbefore tmpdir_stagger_phase_major tmpdir_stagger_phase_minor is less
which is confusing. - They are based around “tmpdir”, but i my case I have a single temp dir, and I am really only thinking about avoiding overloading my CPU, so it wasn’t intuitive that it could do what I want (why is phase limit per tmpdir?)
- The default of 1 seems very conservative, perhaps this is because it makes sense for people with many temp drives, but for people like me with a single temp drive, wouldn’t something like 4 here be a better default?
- the
tmpdir_stagger_phase_major
tmpdir_stagger_phase_minor
are defined as the start of the next point beyond the limited window, this is a bit strange to wrap ones head around. EG if i want to limit what’s in phase 1, I set it to 2:1. Perfectly fine once I understand it, but didn’t lead to an intuitive reading. - The monitored/limited window always starts with 0:0 (because plotman can’t predict when a job will enter a non 0:0 window start) but that isn’t really clear
- Given the way the major phases work (that they are intensive in different ways), is there any legitimate reason to tune the
phase_minor
here? Minor is always just the table. I feel like the inclusion of it makes it seem more complex and harder to understand - I feel like the other options in the scheduling section are more intuitive and important, perhaps they come first, and this optional phase staggering is commented out and only used by people who wrap their head around it.
tmpdir_stagger_phase_limit
is marked as optional, buttmpdir_stagger_phase_x
are not, which makes me think they work independently?
I think that in the long run the option names could be changed, or the whole stagger limit by phase window could be reconsidered, (for instance simply a phase_1_max_jobs option would be so clear), I think updating the comments in the default yaml file will help a lot. To kickstart the discussion I’ve quickly come up with the following draft.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:3
- Comments:26 (9 by maintainers)
Top Results From Across the Web
No results found
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Perhaps a better term might be _phase pair _ (or at least that’s how I think of it). From https://github.com/Chia-Network/chia-blockchain/wiki/Beginners-Guide - There are 4 phases that does operations in 7 tables
A table (phase) pair is Phase (major) and Step (minor).