Author

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

legendary
Activity: 1441
Merit: 1000
Live and enjoy experiments
try this:
-d0 -v -w128 -f35

You may still get between 5 - 8 % stales but that is the best I have been able to do after trying different values.
Trying it... thanks!
legendary
Activity: 1204
Merit: 1000
฿itcoin: Currency of Resistance!
forrestv, are you considering acting on any of these ideas?  What are you current thoughts on this?

I've though about it quite a bit Smiley I plan to start a second P2Pool once P2Pool reaches about 400GH/s, because only then will we have enough power to make splitting into two okay. The upcoming protocol change lets new P2Pools safely be created.

Any method of dynamically creating P2Pools runs the risk of hurting miners because a pool can't simply be terminated if the hash rate lowers, since the last day of shares that were mined won't be built on top of and won't get their fair reward.

I intend to move towards the high-difficulty p2pool backbone idea eventually, but that will obviously require a lot of thought and changes.

When you split P2Pool into two, for example, 400G into two of 200G, in fact we will still @ 400G, right?!
So, the variance of a 200G pool can hurt us, poor miners... I think... lol

Thanks!
Thiago
legendary
Activity: 2030
Merit: 1000
My money; Our Bitcoin.
I am getting close to 20% stale rate, here are the poclbm options I am using:
      poclbm.exe --user xxx --pass xxx --host 192.168.1.xxx --port 9332 -v -w128 -d0
Can anyone help me on options setting  high FPS target and intensity? Thanks in advance.


try this:
-d0 -v -w128 -f35

You may still get between 5 - 8 % stales but that is the best I have been able to do after trying different values.
legendary
Activity: 1441
Merit: 1000
Live and enjoy experiments
I am getting close to 20% stale rate, here are the poclbm options I am using:
      poclbm.exe --user xxx --pass xxx --host 192.168.1.xxx --port 9332 -v -w128 -d0
Can anyone help me on options setting  high FPS target and intensity? Thanks in advance.
donator
Activity: 1218
Merit: 1079
Gerald Davis
thanks for the help. just wondering why in guiminer i was getting 830mh/s but in cgminer i only get 750mh/s
Are you sure you didn't update the AMD SDK? This seems to be a pretty common thing for people to do.  The upgrade doesn't take effect until you reboot.

Also with caching bin files it may not take effect until you remove the pre-compiled binaries (at least that is how it works on cgminer).
hero member
Activity: 742
Merit: 500
thanks for the help. just wondering why in guiminer i was getting 830mh/s but in cgminer i only get 750mh/s
Are you sure you didn't update the AMD SDK? This seems to be a pretty common thing for people to do.  The upgrade doesn't take effect until you reboot.
hero member
Activity: 675
Merit: 514
There's been a fix for this in P2Pool git... I'll make a release now.
ok, thanks
hero member
Activity: 516
Merit: 643
I just updated from Bitcoin 0.6.0 rc1 to rc2.
I have no idea what this error could mean:
Code:
2012-03-01 19:28:47.838000 Initializing work...
2012-03-01 19:28:47.868000 > Error:
2012-03-01 19:28:47.869000 > Traceback (most recent call last):
...
2012-03-01 19:28:47.874000 >   File "D:\forrestv-p2pool-b839ff8\p2pool\main.py", line 171, in
2012-03-01 19:28:47.874000 >     height_cacher = deferral.DeferredCacher(defer.inlineCallbacks(lambda block_hash: defer.returnValue((yield bitcoind.rpc_getblock('%x' % (block_hash,)))['blockcount'])))
2012-03-01 19:28:47.875000 > exceptions.KeyError: 'blockcount'
With rc1 everything works fine.

There was a change in the results of the RPC "getblock" command. See https://github.com/bitcoin/bitcoin/commit/fc4f4c2e9a0f90a2fad9279f755d08b99b27796b . There's been a fix for this in P2Pool git... I'll make a release now.
full member
Activity: 182
Merit: 100
thanks for the help. just wondering why in guiminer i was getting 830mh/s but in cgminer i only get 750mh/s
donator
Activity: 1218
Merit: 1079
Gerald Davis
how do you set flags in cgminner? im used to using gui miner and switched from bitclockers to here

The easiest way is from the command line.
The more complex but fine tunning way is by config file.  Start cgminer up from command line using just -o (pool), -u (username), -p (pass) parameters.

Once cgminer loads press S for settings and then W for write config file.  You can leave it blank (it will make default named cgminer.conf).  Then open up the config file it will be set to defaults for your hardware and you can customize from there.  cgminer may make invalid config file entries for things like voltage, either delete those lines or set them to what you want.


Lots more info here:
https://raw.github.com/ckolivas/cgminer/master/README

For p2pool you want to lower intensity (I found 1 notch lower to be good start), queue = 1, and threads per gpu =1.
full member
Activity: 125
Merit: 100
how do you set flags in cgminner? im used to using gui miner and switched from bitclockers to here

All of cgminer's flags are detailed here:

https://bitcointalksearch.org/topic/official-cgminer-mining-software-thread-for-linuxwinosxmipsarmr-pi-4110-28402

Just keep in mind that for P2Pool it is recommended you use

-g 1     (for one thread per GPU)

and one lower intensity than usual.  I know you don't know what usual is since you just switched, but hopefully you can find recommended flags for your cards and adjust those a bit.
legendary
Activity: 1428
Merit: 1001
Okey Dokey Lokey
how do you set flags in cgminner? im used to using gui miner and switched from bitclockers to here
Their pretty much, Isnt anyflags, It picks the best ones right off the bat, Go into your CGminer folder and look for a .bin file, It's name will be that of your gpu, Heres my .bin
phatk110817Bartsbitalignv2w128long4.bin

Asyou can see, It says i have a barts, And that it's using vectors2 with bandwidth at 128, And "long4" Wich i do not understand.
These .bin files are Complied when cgminer is first run, To create new .bins, just take them out of the cgminer folder
full member
Activity: 182
Merit: 100
how do you set flags in cgminner? im used to using gui miner and switched from bitclockers to here
hero member
Activity: 675
Merit: 514
I just updated from Bitcoin 0.6.0 rc1 to rc2.
I have no idea what this error could mean:
Code:
2012-03-01 19:28:47.838000 Initializing work...
2012-03-01 19:28:47.868000 > Error:
2012-03-01 19:28:47.869000 > Traceback (most recent call last):
2012-03-01 19:28:47.869000 >   File "d:\python27\lib\site-packages\twisted\internet\defer.py", line 545, in _runCallbacks
2012-03-01 19:28:47.869000 >     current.result = callback(current.result, *args, **kw)
2012-03-01 19:28:47.869000 >   File "d:\python27\lib\site-packages\twisted\internet\defer.py", line 1095, in gotResult
2012-03-01 19:28:47.870000 >     _inlineCallbacks(r, g, deferred)
2012-03-01 19:28:47.870000 >   File "d:\python27\lib\site-packages\twisted\internet\defer.py", line 1037, in _inlineCallbacks
2012-03-01 19:28:47.870000 >     result = result.throwExceptionIntoGenerator(g)
2012-03-01 19:28:47.870000 >   File "d:\python27\lib\site-packages\twisted\python\failure.py", line 382, in throwExceptionIntoGenerator
2012-03-01 19:28:47.871000 >     return g.throw(self.type, self.value, self.tb)
2012-03-01 19:28:47.871000 > --- ---
2012-03-01 19:28:47.871000 >   File "D:\forrestv-p2pool-b839ff8\p2pool\util\deferral.py", line 30, in f
2012-03-01 19:28:47.872000 >     result = yield func(*args, **kwargs)
2012-03-01 19:28:47.872000 >   File "d:\python27\lib\site-packages\twisted\internet\defer.py", line 1037, in _inlineCallbacks
2012-03-01 19:28:47.872000 >     result = result.throwExceptionIntoGenerator(g)
2012-03-01 19:28:47.873000 >   File "d:\python27\lib\site-packages\twisted\python\failure.py", line 382, in throwExceptionIntoGenerator
2012-03-01 19:28:47.873000 >     return g.throw(self.type, self.value, self.tb)
2012-03-01 19:28:47.873000 >   File "D:\forrestv-p2pool-b839ff8\p2pool\util\deferral.py", line 147, in __call__
2012-03-01 19:28:47.873000 >     value = yield self.func(key)
2012-03-01 19:28:47.874000 >   File "d:\python27\lib\site-packages\twisted\internet\defer.py", line 1039, in _inlineCallbacks
2012-03-01 19:28:47.874000 >     result = g.send(result)
2012-03-01 19:28:47.874000 >   File "D:\forrestv-p2pool-b839ff8\p2pool\main.py", line 171, in
2012-03-01 19:28:47.874000 >     height_cacher = deferral.DeferredCacher(defer.inlineCallbacks(lambda block_hash: defer.returnValue((yield bitcoind.rpc_getblock('%x' % (block_hash,)))['blockcount'])))
2012-03-01 19:28:47.875000 > exceptions.KeyError: 'blockcount'
With rc1 everything works fine.
donator
Activity: 1218
Merit: 1079
Gerald Davis
Thanks for the help DnT!  That was the answer I was looking for, using P2p compared to PPS while intentionally hop in/out....

Intentionally leaving mid round or not in the long run any fair pool pays 100% PPS (no more no less minus fees, stales, and downtime).  PPS, PPLNS, DGM, SMPPS, ESMPPS, CPPSRB all pay the same expected value per share.

p2pool is no different in this respect.
hero member
Activity: 742
Merit: 503
Yet, I am not sold on hopping with P2P cause I have little hashes (2 GH) and I hop out before completed P2P share and thus get no credit?  I might not understand how it all works.

Hoppers like control and cutting edge tech, P2pool is all that but I don't know how to compare P2p shared against 1/difficulty that I use for non-p2pools.  And if I stop mining for 30-90 minutes, do I pickup on the P2p share where I left off or do I have to start a new share?  Anyone clear up my confusion?


There is no such thing as "progress" toward any share or block.  In the long run you will earn shares at the same rate.  You might hop in provide half the work required ON AVERAGE for a share and get a share (or two, or ten), and you may also hop in and get no shares.

In the LONG RUN yuor # of shares thus your compensation will be the same regardless of if you mine intermitently, intentionally hop in/out, or mine continually 24/7/365.

You can't work toward a share (any share in any pool) because there is no progress.  You either find a share or you don't.  Each hash is completely independent and the prior "chances" have no effect on the odds of finding a hash. 
There is no penalty to hopping PPLNS pools and p2p is no exception. 

It is "hop proof" in that you can never get greater than 100% PPS expected value.  You can't steal revenue from other miners (like you do in the Prop pools you hop) as each miner is paid fairly for the work they complete.


Thanks for the help DnT!  That was the answer I was looking for, using P2p compared to PPS while intentionally hop in/out....  Also, did you know I turned P4man to the darkside?  Anywho, thanks again... 
sr. member
Activity: 378
Merit: 250
Why is it so damn hot in here?
Over 300Gh/s now!   Grin
full member
Activity: 121
Merit: 100
Hmm, getting the same here with Litecoin, though it seems to not be quite as frequently as it was before upgrading.
member
Activity: 60
Merit: 10
Updated to latest Version but still getting weird errors sometimes :

[qouote]

2012-02-29 20:09:28.633938 RECV shares 0100a80100000066e30ead841d6283dbeb9fb65407effc8c5de7f5e77434b4543405ddd5e000419 10b0477a3e69488325b1e2311e959e3f95a1b39df3aed2df1bebeb3d0768340d8774e4ff192001d 358502809e70b847507b6d5a1a32b2897c35503c19...
2012-02-29 20:09:28.634282 > Traceback (most recent call last):
2012-02-29 20:09:28.634320 >   File "/usr/lib/python2.6/dist-packages/twisted/internet/selectreactor.py", line 146, in _doReadOrWrite
2012-02-29 20:09:28.634347 >     why = getattr(selectable, method)()
2012-02-29 20:09:28.634372 >   File "/usr/lib/python2.6/dist-packages/twisted/internet/tcp.py", line 460, in doRead
2012-02-29 20:09:28.634397 >     return self.protocol.dataReceived(data)
2012-02-29 20:09:28.634421 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/p2p.py", line 55, in new_dataReceived
2012-02-29 20:09:28.634445 >     old_dataReceived(data)
2012-02-29 20:09:28.634469 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/util/datachunker.py", line 40, in _DataChunker
2012-02-29 20:09:28.634494 >     wants = receiver.send(buf.get(wants))
2012-02-29 20:09:28.634518 > --- ---
2012-02-29 20:09:28.634541 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/bitcoin/p2p.py", line 53, in dataReceiver
2012-02-29 20:09:28.634566 >     self.packetReceived(command, type_.unpack(payload))
2012-02-29 20:09:28.634590 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/p2p.py", line 68, in packetReceived
2012-02-29 20:09:28.634614 >     bitcoin_p2p.BaseProtocol.packetReceived(self, command, payload2)
2012-02-29 20:09:28.634638 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/bitcoin/p2p.py", line 66, in packetReceived
2012-02-29 20:09:28.634663 >     handler(**payload2)
2012-02-29 20:09:28.634686 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/p2p.py", line 199, in handle_shares
2012-02-29 20:09:28.634711 >     self.node.handle_shares([p2pool_data.Share.from_share(share, self.node.net, self) for share in shares], self)
2012-02-29 20:09:28.634736 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/data.py", line 124, in from_share
2012-02-29 20:09:28.634761 >     res = cls(net, peer, **share1a_type.unpack(share['contents']))
2012-02-29 20:09:28.634785 >   File "/home/grom/ltc/p2pool_clean/p2pool/p2pool/data.py", line 166, in __init__
2012-02-29 20:09:28.634809 >     raise ValueError('old share an hour after switch time')
2012-02-29 20:09:28.634833 > exceptions.ValueError: old share an hour after switch time
[/quote]


mining Ltc on p2pool
Jump to: