n00b-tip: Don't set up multiple workers unless you REALLY need them!

dderidex

Supreme [H]ardness
Joined
Oct 31, 2001
Messages
6,328
So I thought I was being clever, and set up a distinct worker for each of my GPUs in my system, with a batch file (distinct command prompt) to kick off each one.

It worked well! One GPU was plugging away at nearly 400 khash/s, the other around 300 khash/s, I check my numbers in the pool and it checks out for both GPUs (not QUITE as much as cudaminer was reporting, but pretty close for each), I look at my account TOTAL, and...600 khash/s?? WTF? 400 + 300 != 600.

Tinkering around with things figured out the problem. I'm guessing the pools (at least ltcrabbit, anyway) credit your account for the *distinct* hashes you work on, and they have deliver some overlap between workers (presumably for a sanity check on the results?).

When running two workers on the same system, I thus must have been getting some 'overlap' between them - duplicate work that wasn't credited to me twice.

That seems the most likely explanation, anyway? Can't seem to find any documentation that EXPLAINS that.

ANYWAY, changing from two batch files running...

Code:
cudaminer -d gtx680 -C 1 -i 0 -H 2 -l K8x32
...to one worker
Code:
cudaminer -d gtx750ti -i 0 -H 1 -l T5x24
...to a second worker

into:

Code:
cudaminer -d gtx680,gtx750ti -C 1 -i 0,0 -H 2,1 -l K8x32,T5x24
...all to a single worker

...got me the total I was looking for. Now, my account total was reporting the same 700 khash/s that made sense for a 300 khash/s worker + a 400 khash/s worker.

Maybe this is an ltcrabbit-pool issue, only, I dunno - but I thought the info might be helpful to others. On a single machine, definitely use only a single worker! Don't split it up!
 
Pools report based on the rate of shares accepted. It's rarely exact.
 
Pools report based on the rate of shares accepted. It's rarely exact.

Still, I'm 100% sure there is overlap between workers - at least in ltcrabbit. I was definitely getting 400 khash/s from one GPU (as reported on their site) and 300 khash/s from the other, which totaled 600 khash/s with none rejected, when using two workers.

Same exact configs, using one worker, and they reported 700 khash/s for me.
 
Still, I'm 100% sure there is overlap between workers - at least in ltcrabbit. I was definitely getting 400 khash/s from one GPU (as reported on their site) and 300 khash/s from the other, which totaled 600 khash/s with none rejected, when using two workers.

Same exact configs, using one worker, and they reported 700 khash/s for me.

Was this observed over a 24 hour period? I have yet to see any pool be spot on to what cgminer/bfgminer/cudaminer show as hashrate.
 
Well yes, this is obvious. That's how the blockchain work - it's a race to see who can hash out the block first. There's bound to be some overlap.

At the same time, the pool numbers and the miner's numbers rarely line up. cgminer often reports a solid 1.3MH/s for my 3x6950's... but often times a pool will report that I'm hashing anywhere from 300KH/s to 2.1MH/s with those very same cards.
 
I think what you experienced is just variance...

Anyway, I've found setting up multiple workers is a good thing if you are hashing with different card types since pools adjust the difficulty of shares for each. I seem to get less rejects this way. IE if you have a 750 Ti and 7970 I'd put those on different workers.
 
That all seems a little intense to me, I set up a worker for each rig/machine and that's worked out pretty well. Setting up one for every card just sounds like a config nightmare.
 
The stratum software actually keeps track of the jobs and it has nothing to do with your workers. Setup 1 or 100 it wont matter


<< Pool OP
 
I prefer to use only one worker per rig but am no expert on what the pros/cons are of creating separate workers.
 
Back
Top