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

PoW Client Compute and Resend Work based on network load #1336

Closed
rkeene opened this issue Oct 29, 2018 · 5 comments

Comments

@rkeene
Copy link
Contributor

commented Oct 29, 2018

Follow up to #1298

Update the work computation system on the node to increase and resend blocks with greater work based on the current network load and the likelyhood that the block will be processed. This may be exposed to the user as an RPC knob.

@rkeene rkeene added the enhancement label Oct 29, 2018

@rkeene rkeene added this to the V19.0 milestone Oct 29, 2018

@rkeene

This comment has been minimized.

Copy link
Contributor Author

commented Jan 22, 2019

  1. OpenCL + Work Peers
  2. Track Locally Generated Blocks from Generation to Confirmation, resubmit if not confirmed in some epsilon

@argakiig argakiig self-assigned this Feb 12, 2019

@argakiig

This comment has been minimized.

Copy link
Collaborator

commented Feb 12, 2019

  • calculate median active_transaction difficulty
  • calculate work generation based on max(threshold, median active_transaction difficulty)
  • determine when to re-generate work for local low work transactions
@guilhermelawless

This comment has been minimized.

Copy link
Contributor

commented Feb 14, 2019

How will the cutoff point be decided for the node using the pre-computed work vs. computing new work with higher difficulty?

I'm thinking tracking other percentiles apart from the median might help in that decision.

@argakiig argakiig added this to CP0 in V19 Feb 15, 2019

@argakiig argakiig moved this from CP0 to CP1 in V19 Feb 15, 2019

@zhyatt

This comment has been minimized.

Copy link
Collaborator

commented Feb 19, 2019

@guilhermelawless Do you mean if a node has pre-computed work handy which is below the current median difficulty value, how will we decide whether to attempt using it vs. dumping it and computing a new higher value?

@guilhermelawless

This comment has been minimized.

Copy link
Contributor

commented Feb 19, 2019

Exactly that, which is why I suggested tracking other percentiles.

Example to start the discussion. If the median difficulty has risen by 70% above the current precomputed work, should the node compute new work or not? Well, if we go check the 75th percentile difficulty and it is actually below our current work value, then it might not make sense to.

Just an idea to start the discussion. It doesn't look like something that will matter much, but incorrect tuning of parameters could lead to greedy nodes that are competing against each other in the event of a very high tx throughput.

@zhyatt zhyatt moved this from CP1 (2019-03-13) to CP2 (2019-03-27) in V19 Mar 25, 2019

@zhyatt zhyatt moved this from CP2 (2019-03-27) to CP3 (2019-04-10) in V19 Mar 28, 2019

@argakiig argakiig closed this Apr 23, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.