Smarter distribution of work
Opened this issue · 0 comments
guilhermelawless commented
Some enhancements I've been thinking about, with comments and questions for each point:
- Track the distribution of response times for each client. One question is how to keep this history when a client disconnects, because they are only identified by account (other clients can use it) and their IP (which can change). This relates to the next point...
- Rank the clients by their response times. Newly connected clients should be treated as "low rank".
- When sending out work, give it to enough clients such that the expected time is X (example: 1 second for urgent work, 30 seconds for precache work). This will also change with the Dynamic PoW
- Send a message to precache clients when work is no longer needed as it has been completed by another client. This is only needed for clients that usually take a long time to do work. Consider not increasing the work count by 1, maybe by 0.5 in this case, or a new column "incomplete work" which is also rewarded?
Point 4 would need a rework of https://github.com/jamescoxon/nano_distributed_pow_client