Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

avoid hash rate drop during dev pool mining #2387

Merged
merged 1 commit into from
Mar 30, 2019

Conversation

psychocrypt
Copy link
Collaborator

Since the dev pool is sometimes using another POW than the user pool the
hash date can strongly increase or decrease.
In a case of a hash rate drop a monitoring software could trigger a
wrong miner restart.

  • use the hash rate calculated during the user pool mining to
    interpulate the number of hashes during the dev pool mining so that the
    statistics stay constant.

Since the dev pool is sometimes using another POW than the user pool the
hash date can strongly increase or decrease.
In a case of a hash rate drop a monitoring software could trigger a
wrong miner restart.

- use the hash rate calculated during the user pool mining to
interpulate the number of hashes during the dev pool mining so that the
statistics stay constant.
@Spudz76
Copy link
Contributor

Spudz76 commented Mar 30, 2019

Why not just have a totally separate set of stat buckets for each pool and switch which set is pushed or read from depending on what pool is active. Smoothing/caulking just hides the problem where just keeping the data separate to begin with is more sensible. Plus once donate phase is over the stats should jump back to exactly what they were before the detour, not be skewed by unrelated events.

@psychocrypt
Copy link
Collaborator Author

psychocrypt commented Mar 30, 2019 via email

@fireice-uk fireice-uk merged commit 41cdbaf into fireice-uk:dev Mar 30, 2019
@Spudz76
Copy link
Contributor

Spudz76 commented Mar 30, 2019

Meta miner will kill off xmr-stak anyway as soon as it doesn't see traffic through its proxy?

@Spudz76
Copy link
Contributor

Spudz76 commented Mar 30, 2019

Also it doesn't even read the output except for the speed collection phases. Normal operation only watches the work it has passed in via proxy and makes a rate from that (its own).

@psychocrypt
Copy link
Collaborator Author

psychocrypt commented Mar 30, 2019 via email

@Spudz76
Copy link
Contributor

Spudz76 commented Mar 30, 2019

Then it should just repeat whatever the last known user pool data was (freeze time but still replay the report) then simply continue after donate phase (and subtract all time used for connect and donate and reconnect from total-time for stats).

Meta-miner is set by default at 300s for no traffic so it may just wait for resume. But if xmr-stak hangs up the user pool socket it will assume failure and kill immediately. So having both sockets open (simulcast) instead of full jumping (channel switch) would work and also solve whatever that other complaint was about the couple seconds of wasted time for the connection. Bring up the donate pool connection async, and then jump off the user pool @ accepted event directly onto the other job (already connected logged in and got a dev job assignment) with ms lag time then hop back (and hangup dev pool, but never hangup user pool).

And say I'm mining pico @ 2200H/s and have my proxy-supervisor (not meta-miner) set to kill if it drops below 2000H/s ... then dev pool kicks in doing some slow ass algo @ 200H/s - bam killed. Unless you replay the original rates until real mining continues (no smoothing, so no rate dip)

@psychocrypt psychocrypt mentioned this pull request Apr 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants