Pages:
Author

Topic: Suggestion for how to choose a pool difficulty for miners. - page 2. (Read 69360 times)

JBT
full member
Activity: 165
Merit: 100
if my rate is 370MH i should set my diff to like below 100? or am i reading this wrong?
hero member
Activity: 490
Merit: 501
Too bad cgminer doesn't show average shares per minute (hint hint).

My rule of thumb is - if a minute's worth of shares fit in the terminal display, I'm okay.

what if you resize your display? Roll Eyes
hero member
Activity: 481
Merit: 500
Too bad cgminer doesn't show average shares per minute (hint hint).

My rule of thumb is - if a minute's worth of shares fit in the terminal display, I'm okay.
full member
Activity: 175
Merit: 100
Great thread guys, this helps a lot.  Thanks!
donator
Activity: 2058
Merit: 1007
Poor impulse control.


Currently getting 35-40 shares per hour on Diff 128 , to average 25 SPH what should I set the difficulty to ?.



A share return rate of 20 needs a diff of 1 per 1.432GH/s if setting a fixed difficulty.
A share return rate of 25 needs a diff of 1 per 1.79GH/s if setting a minimum difficulty.


I didn't think I could make the advice any simpler than that?

No, I don't think it's possible to make it any simpler. Maybe he doesn't know his hashrate? Wink

In that case set difficulty to around 35/25*128 to 40/25*128

Edit Hey! Where'd he go?

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/


Currently getting 35-40 shares per hour on Diff 128 , to average 25 SPH what should I set the difficulty to ?.



A share return rate of 20 needs a diff of 1 per 1.432GH/s if setting a fixed difficulty.
A share return rate of 25 needs a diff of 1 per 1.79GH/s if setting a minimum difficulty.


I didn't think I could make the advice any simpler than that?
donator
Activity: 2058
Merit: 1007
Poor impulse control.
I really like your idea, Con. You and eleuthria have both come up with a much simpler way to allow miners to choose a share submission difficulty than big tables of data. Whether a miner chooses the the values you suggest, or goes for the difficulty = ghps to ghps/2 ( I know it's not that exactly, but I wanted to make clear that eleuthria's method includes your values), miners will experience minimal daily variance.

It made me think about an approximation that would allow miners to select SPM based on the amount of daily variation in hashrate they want to experience. It's a bit more complicated than either of your suggestions but might be suitable for miners who want a bit more control.

Code:
SPM = 1/(19 * v)^2

where:
SPM = shares per minute
v = percentage variation from mean, ie +/- 0.01 = +/- 1%

If you want to choose difficulty rather than SPM, here's another approximation:

Code:
d = H*(71 * v)^2

where:
d = share difficulty
H = hashrate in Ghps
v = percentage variation from mean, ie +/- 0.01 = +/- 1%

The results are approximate but reasonably close, and the percentage range is within a 95% confidence interval. The results are less accurate after about +/- 20%, but less than this they are very close to the actual values.

Some examples:
* If you want +/- 1% then SPM = 1/(19 * 0.01)^2 = 27.7 and if your hashrate is 10Ghps then choose d = 10*(71 * 0.01)^2
* If you have a hashrate of 250 Ghps and you're happy with a daily variation in hashrate of +/- 5%, then SPM = 1/(19 * 0.05)^2 = 1.108 and choose d = 250*(71 * 0.05)^2 = 3150.


I know they're not as simple or clean as either of your suggestions, but hard as I try I just can't do simple Wink  As I say it might be useful for experienced miners who know how much daily variation they can take. If I was mining again I'd be ok with a daily variation in hashrate of +/- 2 or 3%.

What do you guys think? Too complicated? Might be ok to use in some kind of website app though.

Edit Also, thanks for explaining things so well. Regardless of how a miner wants to set their difficulty, if they read your post they'll have a nicely intuitive understanding of what changing difficulty actually does.

-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
I posted a similar guideline in Slush's thread when somebody was asking.  My rule of thumb for miners has always been:

Minimum Diffulcty = Closest power of 2 (rounded down) to your GH/s.  1-2 = 1.  2-4 = 2.  4-8 = 4.  8-16 = 8, etc.

This keeps your SPM between 15 and 30 (based on how close you are to the next cutoff).  This happens to be right in line with what almost every pool currently uses for vardiff.
Yes I saw and since the question comes up at regular intervals I thought I'd post a comprehensive explanation as to why and avoid repeating the discussion over and over.
legendary
Activity: 1750
Merit: 1007
I posted a similar guideline in Slush's thread when somebody was asking.  My rule of thumb for miners has always been:

Minimum Diffulcty = Closest power of 2 (rounded down) to your GH/s.  1-2 = 1.  2-4 = 2.  4-8 = 4.  8-16 = 8, etc.

This keeps your SPM between 15 and 30 (based on how close you are to the next cutoff).  This happens to be right in line with what almost every pool currently uses for vardiff.
vip
Activity: 980
Merit: 1001
nice work
cheers ckolivas Smiley
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
So taking it from the other perspective, I believe the pools should by now be forcing a minimum difficulty to prevent an effective DoS from a high hashrate miner. I would suggest they choose the higher value in my range, i.e. 25 shares per minute. The higher value also allows some leeway for the fact that calculating miner hashrate from share return rate is inherently inaccurate. The cyclical problem also exists that the lower the target the pool sets, the less accurately it will predict the miner's hashrate.

TL/DR:
Pools should force a minimum difficulty of miner hashrate in GH / 1.8
-ck
legendary
Activity: 4088
Merit: 1631
Ruu \o/
Most pools are moving to a variable difficulty or minimum variable difficulty setting to avoid the bandwidth flood that occurs with ASIC hardware, but a lot offer the option of setting a fixed target or the minimum yourself per worker. There is an endless stream of questions on almost every separate pool's thread on what difficulty they should set if setting it manually. Note that you CANNOT EARN MORE by tweaking the difficulty.

So to make it easier, I'm going to give you a mathematically suggested strategy - this is all my opinion based on the maths though since there is no one true answer.

Setting the difficulty low for your hardware risks causing floods of bandwidth problems for both the miner and the pool operators.
Setting the difficulty high for your hardware causes no potential for communication problems, but the higher the difficulty, the more variance your payouts will see (i.e. your pay will fluctuate more) but it will average out to the same pay over time.
No bitcoin mining hardware device currently in existence uses the diff internally - they all mine at diff 1 and the mining software filters out results below what your pool has set it to so it makes no difference what hardware you use as to what diff you mine at.

i.e. only hashrate matters.

So we definitely don't want the difficulty too low, but what should we use as the cut off for how high to set the diff?

Organofcorti did a wonderful analysis of this last year:
http://organofcorti.blogspot.com/2012/10/71-variable-pool-difficulty.html

There is no magic endpoint to choose since the graph of share return rate versus variance is a curve - however - above a certain share return rate, 1% variance is small enough that it is much less than the pool's own luck's variance, and unless you were mining PPS there's a good chance you wouldn't be able to distinguish the difference on any one day. You also need a much bigger jump in share return rate before you can get below that 1% variance.

So my suggestion is to aim for a share return rate no higher than the highest difficulty that keeps you at 1% variance if you are setting a "minimum difficulty" or perhaps the value that keeps you under 1.2% for a fixed difficulty. This can be worked out easily if you know your hashrate without even testing it.

So our target is a diff that returns 20-25 shares per minute.
Every 71.6MH/s returns one share per minute - therefore every GH/s returns about 14 shares per minute.

A share return rate of 20 needs a diff of 1 per 1.432GH/s if setting a fixed difficulty.
A share return rate of 25 needs a diff of 1 per 1.79GH/s if setting a minimum difficulty.

Most pools are allowing you to set a fixed diff, so let's keep this final recommendation as simple as possible, and aim for 20 shares per minute. That's a diff of 1 per 1.432GH/s. The accuracy of this maths is not that important since the final endpoint is arbitrary anyway so we can knock off a few significant digits off our final recommendation.

TL:DR
Set your diff to your worker's hashrate in GH / 1.4
Pages:
Jump to: