You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Apr 24, 2022. It is now read-only.
When it gets new work the farm calls setWork for each
GPU’s miners.
For an nvidia GPU miner, setWork:
- Sets a flag for the miner to stop. The miner will not
acknowledge this flag till it completes its current
calculation pass, on average half of one hash
calculation’s time.
- Wait for the miner to stop (blocks).
- Reset the miner with new work.
This has performance and cost consequences. Since the
farm calls setWork sequentially over all miners, a miner
will not be stopped and informed of new work, till the
previous has completed the reset. It also means that
because of this, the laer a miner restarts the more
likely to provide a stale share working on old work
instead of getting started new work.
To mittigate this we break up the setWork process in
two parts: setWork and waitReady.
setWork
- Sets a flag for the miner to stop.
waitReady
- Wait for the miner to stop (blocks).
- Reset the miner with new work.
With this partitioning we can now restart the GPUs in
parallel by first iterating over miners with setWork
(which can’t block), then doing a second pass calling
waitReady.
Actual measuments - Ubuntu - 4X1060 - time from start
of farm setWork to completion of last GPU reset):
- Sequential GPU resets – avg. farm setWork time 180-200ms.
(yes, it’s that slow!!!)
- Parallel GPU resets – avg. farm setWork time 70-90ms.
These are averages since, at least for nvidia, switch
time is highly dependent on when new work arrives during
a hash calculation, so it fluctuates a lot per job.
1 commit comments
DDDanny commentedon Jan 21, 2018
running rc6 since 2 hours using nanopool (frequent job updates) - average 5minute calculated hashrate [ethminer calc intervall 10s] has increased by approx 2 mh/s (148 -> 150) - (operating 4x gtx 1070 and 1x gtx 1060)
👍