Author

Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool - page 737. (Read 2591916 times)

legendary
Activity: 2126
Merit: 1001
P2Pool release 0.10.3 signed tag: 0.10.3 UPGRADE REQUIRED before April 1st (BIP 16 date), March 27th for Litecoin

* New graph implementation (works on Windows!) with per-miner graphs. Go to http://127.0.0.1:9332/static/graphs.html once installed to view.

RELEASE NOTES: You have to go to http://127.0.0.1:9332/static/graphs.html , not http://127.0.0.1:9332/static to see graphs.

I am playing around with usernames (to change difficulty). Now the whole username (including the postfix /1000+1) is shown in the statistics, and whenever I change the postfix a new miner shows up in the stats.
WHen I delete the rrd stuff, the deprecated rrd graphs are cleaned.
How can I clean/reset the new graphs? I deleted most files in /data/bitcoin (or similar), no help. I had to reinstall p2pool, which starts the whole sharechain-load+verify again.

I would love to see the postfix ignored in the graphs altogether?

In the meantime, where is the data stored?

Ente
legendary
Activity: 2126
Merit: 1001
Sure, 1 share per hour is on the very low end. But with a block every 5 hours, it should already even out after a day?
(I am too lazy to write "on average after a long time" behind every number)

Anyway, with your numbers people might get a feeling for these things and decide for themselves what diff they feel comfortable with.

Remember avg can be deceptive.  1/6th to 6x the average isn't that rare.  So shooting for goal of 1 share per hour means you will have some hours with 6 shares and sometimes go 6 hours (oops missed an entire block = payout) without a single share.  That can be frustrating for some miners.

Uhm, even if you dont find a single share in one block, you get almost your full payout. Its the shares from last 24 hours which are counted. Maybe I just misunderstood your words ;-)

Ente
donator
Activity: 1218
Merit: 1079
Gerald Davis
Ha, sometimes I forget I'm on the small end of things =)
Total revenue is all that matters of course, but I'll probably stick with default for now.

Another way to look at it is the avg miner on p2pool is ~1.5GH/s. 

1.5GH/s @ 750 diff ~= 2.3 GH/s @ 1150 dif.  If you went > 1150 you would have more variance than the avg miner.

I really think higher difficulty is most useful for miners 4GH/s+.
full member
Activity: 125
Merit: 100
It depends on what you care about.

If you care about a single GPU always getting an even # of shares per hour then don't raise difficulty.  If all you care about it the TOTAL revenue per block then raising diff on all miners is the only thing that matters.

Honestly w/ 2.29 GH/s I am not sure I would raise difficulty and if I did it would be only a small amount.  Maybe to 1000?  Now 29 GH/s sure.

Ha, sometimes I forget I'm on the small end of things =)

Total revenue is all that matters of course, but I'll probably stick with default for now.
hero member
Activity: 910
Merit: 1000
Items flashing here available at btctrinkets.com
Im down with this, what would your recomended settings be for 1.7GS/s. Also I wouldnt mind a detailed howto on the setup, I browsed ~5 pages backwards in this thread and cant seem to find one.

Its all much easier than expected!
You dont have to change anything on your p2pool, you just change the miner's name:

Minername/sharedifficulty+localdifficulty

So for example:

Miner/1500+1

You set this on all miners. You can give different difficulty targets, but I dont see too much sense in this..

Miner01/1500+1
Miner02/1500+1
Miner03/1500+1

Maybe this is worth stating on the first page, and/or hinting in the help/wiki/etc?
Lets drop dat diff!

Ente
It would appear BAMT:s pools.conf dosent like this for some reason, propably the / or + sign is confusing it, could someone test and confirm ?
donator
Activity: 1218
Merit: 1079
Gerald Davis
It depends on what you care about.

If you care about a single GPU always getting an even # of shares per hour then don't raise difficulty.  If all you care about it the TOTAL revenue per block then raising diff on all miners is the only thing that matters.

Honestly w/ 2.29 GH/s I am not sure I would raise difficulty and if I did it would be only a small amount.  Maybe to 1000?  Now 29 GH/s sure.
full member
Activity: 125
Merit: 100
Hmmm, I seem to have pretty long stretches of bad luck sometimes, and I only get three shares an hour as it is.

So, I change all of my miners to the new difficulty I want to use, even the slower ones? 

I keep thinking that in some way my 200Mhs desktop miner will be affected by this much more than my 1.1Gh/s rig.  Someone reassure me I'm wrong and I'd be willing to bump it up a bit to something like 2 an hour.

donator
Activity: 1218
Merit: 1079
Gerald Davis

Lets see.. Right now, we can expect a found block (whole p2pool network finds a bitcoin block) every 5 hours.
To not have any significant impact on payout, you should constantly find several shares in every round. So if you set the difficulty so that you find around 5 shares in 5 hours, you wont have much additional variance by the amount of shares you find..
Which would mean: 5 shares every 5 hours, or one share every 60 mins, which calculates to:

http://www.alloscomp.com/bitcoin/old_calculator.php

<1Gh/s --> default difficulty
1Gh/s --> difficulty 1000
2Gh/s --> difficulty 2000
etc

Which would give you a share every 71 mins.
Which would give you 4 to 5 shares every block.

Easy rule of thumb, one thousand for every gigahash.
For us who actually understand the system with variance and all, this seems reasonable?

You could of course set it smaller or to default. But the actual variance you then see wouldnt go down a lot, since then the variance of the block-finding is a lot larger than the variance by share-finding.
And, also, it all is better comparable and nicer with a constant 1000 or 2000 difficulty instead of the default variable and ever changing difficulty ;-)

Ente

1 share per hour is a steep target.  I wouldn't want to do that myself nor would I expect anyone else to do so.

Maybe something more like
Goal 5 shares per hour.  Difficulty Target:  170 * GH/s
Goal 4 shares per hour.  Difficulty Target:  210 * GH/s
Goal 3 shares per hour.  Difficulty Target:  280 * GH/s
Goal 2 shares per hour.  Difficulty Target:  420 * GH/s
Goal 1 shares per hour.  Difficulty Target:  840 * GH/s

>5 shares per hour should be pretty low variance (most of your variances come from block time so helping network get larger is beneficial)
1 share per hour is going to be pretty hard variance.

Miners can pick a target that gives them a variance they can stomach.  Everyone's treshold is different.  Remember avg can be deceptive.  1/6th to 6x the average isn't that rare in the short term (say over 100 shares).  So shooting for goal of 1 share per hour means you will have some hours with 6 shares and sometimes go 6 hours (oops missed an entire block = payout) without a single share.  That can be frustrating for some miners. (Total brain fart.  p2pool is PPLNS so you don't need a share during a block to be paid for the block just 1 valid share in the share chain)



I will ask Meni for some better analysis (nobody knows this stuff better than him) but hopefully this provides some insight.

I was running only 1000 as my target but looking at the numbers I am going to try running at a goal of 4 shares per hour.  At 12GH/s that gives me a target difficulty of 210*12 = 2500.
legendary
Activity: 2126
Merit: 1001
Im down with this, what would your recomended settings be for 1.7GS/s. Also I wouldnt mind a detailed howto on the setup, I browsed ~5 pages backwards in this thread and cant seem to find one.

Its all much easier than expected!
You dont have to change anything on your p2pool, you just change the miner's name:

Minername/sharedifficulty+localdifficulty

So for example:

Miner/1500+1

You set this on all miners. You can give different difficulty targets, but I dont see too much sense in this..

Miner01/1500+1
Miner02/1500+1
Miner03/1500+1

Maybe this is worth stating on the first page, and/or hinting in the help/wiki/etc?
Lets drop dat diff!

Ente
legendary
Activity: 2126
Merit: 1001

Lets see.. Right now, we can expect a found block (whole p2pool network finds a bitcoin block) every 5 hours.
To not have any significant impact on payout, you should constantly find several shares in every round. So if you set the difficulty so that you find around 5 shares in 5 hours, you wont have much additional variance by the amount of shares you find..
Which would mean: 5 shares every 5 hours, or one share every 60 mins, which calculates to:

http://www.alloscomp.com/bitcoin/old_calculator.php

<1Gh/s --> default difficulty
1Gh/s --> difficulty 1000
2Gh/s --> difficulty 2000
etc

Which would give you a share every 71 mins.
Which would give you 4 to 5 shares every block.

Easy rule of thumb, one thousand for every gigahash.
For us who actually understand the system with variance and all, this seems reasonable?

You could of course set it smaller or to default. But the actual variance you then see wouldnt go down a lot, since then the variance of the block-finding is a lot larger than the variance by share-finding.
And, also, it all is better comparable and nicer with a constant 1000 or 2000 difficulty instead of the default variable and ever changing difficulty ;-)

Ente
hero member
Activity: 910
Merit: 1000
Items flashing here available at btctrinkets.com
Yeah I have it set to /1000+1 also.  With 12GH/s I don't realize notice the higher share variance.  Hopefully that gives some breathing room for smaller miners.  I am not sure if that is a stat that can be tracked.  % of hash power using higher share diff or maybe more useful is "diff per GH stat".  i.e right now network is 749 diff for 348  = 2.15 diff/GH.  Lets see if we can get that below 2!

If it can be tracked and charted we can encourage more people to help out.

Im down with this, what would your recomended settings be for 1.7GS/s. Also I wouldnt mind a detailed howto on the setup, I browsed ~5 pages backwards in this thread and cant seem to find one.
full member
Activity: 125
Merit: 100
Yeah I have it set to /1000+1 also.  With 12GH/s I don't realize notice the higher share variance.  Hopefully that gives some breathing room for smaller miners.  I am not sure if that is a stat that can be tracked.  % of hash power using higher share diff or maybe more useful is "diff per GH stat".  i.e right now network is 749 diff for 348  = 2.15 diff/GH.  Lets see if we can get that below 2!

If it can be tracked and charted we can encourage more people to help out.

Is there a recommended setting for a certain hashrate?

I have a total of 2.5GH/s, but some of the individual cards are only 200Mh/s.  If I understand it correctly, that shouldn't really matter since they are all looking together, but some clarification here would be nice. 

Also, does P2Pool then keep track of shares in decimal points, or am I just off on how that part works as well?
donator
Activity: 1218
Merit: 1079
Gerald Davis
Yeah I have it set to /1000+1 also.  With 12GH/s I don't notice the higher share variance.  Hopefully that gives some breathing room for smaller miners.  I am not sure if that is a stat that can be tracked; % of hash power using higher share diff or maybe more useful is "diff per GH stat".  i.e right now network is 749 diff for 348  = 2.15 diff/GH.  Lets see if we can get that below 2!

If it can be tracked and charted we can encourage more people to help out.
member
Activity: 66
Merit: 10

I invite everyone who isnt afraid of a bit more variance to make his difficulty a bit higher, receive more per share, and reduce the difficulty for the fearsome! ;-)

Ente

Ente, I'm one of the small miners (~700MH/s) and I appreciate you doing this.  Variance is pretty tough for me, but I understand the whole thing so I'm sticking with it.  But, if we want P2Pool to grow, others won't be as willing to put up with the variance.
legendary
Activity: 2126
Merit: 1001
Thank you a ton, DnT!
I now have one incoming connection, that surely is you, thank you!
So at least my setup isnt faulty, I guess..

Aah, now I get it, with the local difficulty! I will now set it to /1000+1 here.

I invite everyone who isnt afraid of a bit more variance to make his difficulty a bit higher, receive more per share, and reduce the difficulty for the fearsome! ;-)

Ente
donator
Activity: 1218
Merit: 1079
Gerald Davis
Yes, with a username like "x/1024+16" it should show up similar to this:

I still dont get it, sorry folks..
So I have to tell every miner which difficulty it targets. Like for example 1000 instead of the 700ish now.
That difficulty is simply the miner's name.
How do I set a miner's name of "Miner" and a difficulty of "1000"? What does that "x" and "16" mean in that example above?

Username should be in this format.
[username]/[target diff]+[local diff]

username = "name" of worker.
target diff = p2pool difficulty.  must be higher than current min p2pool difficult.  if used by larger miners helps reduce variance (by lower min p2pool diff) of smaller miners.
local diff = difficulty of shares as seen by the miner.  if not used p2pool uses a dynamic difficulty to keep shares / sec low.


Examples:
user             = creates worker with username user and uses dynamic min difficulty for both p2pool shares and local shares.
user/1000     = creates worker with username user and tells it to use difficulty 1000 shares for p2pool
user/200       = the 200 is ignored.  As of the time of writing min difficulty is 650 thus 650 will still be used.
user/1000+1  = creates worker w/ username "user".  p2pool diff shares = 1000, local diff = 1
donator
Activity: 1218
Merit: 1079
Gerald Davis
High deads indicate that stales are bad before p2pool has a chance to relay them.

If you are using cgminer ensure:
threads per gpu = 1
queue = 1
intensity = 1 lower than normal (I use 9 on 5970 for normal pools & 8 on p2pool)

When you say dedicated is p2pool on a mining rig?  I have found better luck putting p2pool & bitcoind on the same machine with no miners.

I will try to connect to you, I need to upgrade p2pool anyways.  It looks like the port it open.

On edit:  looks like p2pool didn't connect to your node.  No idea why.  Added connection to command line.  It started up without error acquired 10 outbound connections but your node isn't one of them.
legendary
Activity: 2126
Merit: 1001
Its been several days now with open port and 24h with new version running, I still have zero incoming connections (and the 10 outbound). What do?
The (24h dynamic) IP is 93.218.231.154, if someone would be so nice to try to connect?

Code:
 --p2pool-node 93.218.231.154:9333

Why am I still trying this?
My orphans and stales seem to be too high:

Quote
2012-03-23 15:53:31.776997 P2Pool: 17337 shares in chain (17341 verified/17341 total) Peers: 10 (0 incoming)
2012-03-23 15:53:31.777265  Local: 4416MH/s in last 10.0 minutes Local dead on arrival: ~8.9% (6-12%) Expected time to share: 9.9 minutes
2012-03-23 15:53:31.777347  Shares: 122 (10 orphan, 4 dead) Stale rate: ~11.5% (6-18%) Efficiency: ~97.3% (90-103%) Current payout: 0.6973 BTC
2012-03-23 15:53:31.777450  Pool: 330GH/s Stale rate: 9.0% Expected time to block: 5.4 hours

The p2pool node is dedicated, debian, has a ping latency of around 45ms.
The new graphs seem to indicate all workers behave fine.

Should I simply accept these stales as "normal"?

Ente
sr. member
Activity: 604
Merit: 250
Any pointers on how to install Pygame and PIL on ubuntu/debian, or is that just for Windows, and I should just keep using /graphs/?
I think (I may be mistaken) that Pygame and PIL are for a GUI on the server itself (Linux).
It's not required for graphs.

[Edit]: So, is efficiency published publicly?

Yes, it is in the "efficiency_if_miner_perfect": 1.1111111111111112 variable.

Example: http://p2pool.hopto.org:9332/local_stats
hero member
Activity: 742
Merit: 500
To see what you installed and when:
ls -ort /var/lib/dpkg/info/*.list | grep -i python

Nice. I remembered correctly.

Code:
-rw-r--r-- 1 root  465 Feb 10 19:11 /var/lib/dpkg/info/python-argparse.list
-rw-r--r-- 1 root 9.0K Feb 11 09:31 /var/lib/dpkg/info/python-pygame.list
-rw-r--r-- 1 root  23K Feb 11 09:31 /var/lib/dpkg/info/python-numpy.list
-rw-r--r-- 1 root  14K Feb 11 09:31 /var/lib/dpkg/info/python-imaging.list
-rw-r--r-- 1 root  55K Feb 11 09:37 /var/lib/dpkg/info/python-scipy.list
-rw-r--r-- 1 root  627 Feb 11 09:54 /var/lib/dpkg/info/python-rrdtool.list
Jump to: