Pages:
Author

Topic: [XPM] [ANN] Primecoin High Performance | HP14 released! - page 10. (Read 397655 times)

sr. member
Activity: 406
Merit: 250
member
Activity: 70
Merit: 10
legendary
Activity: 1092
Merit: 1000
Here's my fix for the issue with shared wallets I discovered earlier:
https://github.com/mikaelh2/primecoin/commit/a1c3f5854e9970d2f9f13ff75601dc7c87bf83c3

You can get it to compile on CentOS but it's a bit more tricky than before. You need to have a newer version of boost installed. Then you need to tell the compiler where you installed the newer boost. By default it goes into /usr/local. Then you need to modify the makefile like this:

Official binaries will be coming soon. I want to see if I can downgrade my glibc version first somehow. If I can get the glibc version down to 2.12, the binaries should work on CentOS.
Thanks, got it compiled on centos 6.4, both x86 and x64. Full boost1.5 installation was required

Code:
wget http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download
tar xfvz boost_1_55_0.tar.gz >/dev/null
cd boost*
./bootstrap.sh
./b2 install
This will take good 10 minutes to compile on a decent processor.
Once completed compile hp11 from github
Code:
git clone --recursive https://github.com/mikaelh2/primecoin/
cd primecoin/src
cp makefile.unix makefile.my
sed -i -e 's/$(OPENSSL_INCLUDE_PATH))/$(OPENSSL_INCLUDE_PATH) \/usr\/local\/include)/' makefile.my
sed -i -e 's/$(OPENSSL_LIB_PATH))/$(OPENSSL_LIB_PATH) \/usr\/local\/lib)/' makefile.my
sed -i -e 's/$(LDHARDENING) $(LDFLAGS)/$(LDHARDENING) -Wl,-rpath,\/usr\/local\/lib $(LDFLAGS)/' makefile.my
make -f makefile.my

Anyone got it compiled on Windows ?
sr. member
Activity: 301
Merit: 250
Here's my fix for the issue with shared wallets I discovered earlier:
https://github.com/mikaelh2/primecoin/commit/a1c3f5854e9970d2f9f13ff75601dc7c87bf83c3

Basically this should help people who are running lots of miners using the same shared wallet. My fix is to initialize the extra nonce value using the current value of a nanosecond-precision clock. That should give a unique value on every machine. Boost.Chrono is now required for compiling and I have updated the makefiles to reflect that.

Thanks!! Someone please compile x86 and x64 builds.

Edit: unable to compile on centos 6.4 x64 :
ain.cpp: In function ‘void BitcoinMiner(CWallet*)’:
main.cpp:4578: error: ‘boost::chrono’ has not been declared
main.cpp:4578: error: expected ‘;’ before ‘time_now’
main.cpp:4579: error: ‘boost::chrono’ has not been declared

boost_1_55_0 compiled successfully.

You can get it to compile on CentOS but it's a bit more tricky than before. You need to have a newer version of boost installed. Then you need to tell the compiler where you installed the newer boost. By default it goes into /usr/local. Then you need to modify the makefile like this:
Code:
cp makefile.unix makefile.my
sed -i -e 's/$(OPENSSL_INCLUDE_PATH))/$(OPENSSL_INCLUDE_PATH) \/usr\/local\/include)/' makefile.my
sed -i -e 's/$(OPENSSL_LIB_PATH))/$(OPENSSL_LIB_PATH) \/usr\/local\/lib)/' makefile.my
sed -i -e 's/$(LDHARDENING) $(LDFLAGS)/$(LDHARDENING) -Wl,-rpath,\/usr\/local\/lib $(LDFLAGS)/' makefile.my

And then you type 'make -f makefile.my' to compile.

Official binaries will be coming soon. I want to see if I can downgrade my glibc version first somehow. If I can get the glibc version down to 2.12, the binaries should work on CentOS.
legendary
Activity: 1092
Merit: 1000
Here's my fix for the issue with shared wallets I discovered earlier:
https://github.com/mikaelh2/primecoin/commit/a1c3f5854e9970d2f9f13ff75601dc7c87bf83c3

Basically this should help people who are running lots of miners using the same shared wallet. My fix is to initialize the extra nonce value using the current value of a nanosecond-precision clock. That should give a unique value on every machine. Boost.Chrono is now required for compiling and I have updated the makefiles to reflect that.

Thanks!! Someone please compile x86 and x64 builds.

Edit: unable to compile on centos 6.4 x64 :
ain.cpp: In function ‘void BitcoinMiner(CWallet*)’:
main.cpp:4578: error: ‘boost::chrono’ has not been declared
main.cpp:4578: error: expected ‘;’ before ‘time_now’
main.cpp:4579: error: ‘boost::chrono’ has not been declared

boost_1_55_0 compiled successfully.
hero member
Activity: 812
Merit: 1000
Here's my fix for the issue with shared wallets I discovered earlier:
https://github.com/mikaelh2/primecoin/commit/a1c3f5854e9970d2f9f13ff75601dc7c87bf83c3

Basically this should help people who are running lots of miners using the same shared wallet. My fix is to initialize the extra nonce value using the current value of a nanosecond-precision clock. That should give a unique value on every machine. Boost.Chrono is now required for compiling and I have updated the makefiles to reflect that.

Thanks a lot!
sr. member
Activity: 301
Merit: 250
Here's my fix for the issue with shared wallets I discovered earlier:
https://github.com/mikaelh2/primecoin/commit/a1c3f5854e9970d2f9f13ff75601dc7c87bf83c3

Basically this should help people who are running lots of miners using the same shared wallet. My fix is to initialize the extra nonce value using the current value of a nanosecond-precision clock. That should give a unique value on every machine. Boost.Chrono is now required for compiling and I have updated the makefiles to reflect that.
sr. member
Activity: 291
Merit: 250

I think i got the Rdebourbon's 4.0F2  working on Windows, where can i get the source to compile on linux ?

These are my stats solomining :
══════════════════════════════════════════════════════════════════════════════
12/25/13-14:21:41 - New Block: 329378 - Diff: 10.171724 / 10.171724
Best/Max diff: [ 0.000000 / 0.000000 ]
 6ch/h:     0.00 - 0 [ 0 / 0 / 0 ]
MNPS:670.52   PPS:13348        WPS:42.246   ACC:315
Current Primorial: 43 - Sieve Size: 1024000 - Prime Count: 25000
New Primes Count: 27500
══════════════════════════════════════════════════════════════════════════════

and HP11 :
[root@CentOS-64-64-minimal ~]# primecoind getmininginfo
{
    "blocks" : 329379,
    "chainspermin" : 4,
    "chainsperday" : 0.07622015,
    "currentblocksize" : 13776,
    "currentblocktx" : 15,
    "difficulty" : 10.17098707,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "primespersec" : 2411,
    "pooledtx" : 15,
    "sieveextensions" : 9,
    "sievepercentage" : 10,
    "sievesize" : 1000000,
    "testnet" : false
}


Which miner is doing better ?

Rdebourbon didn't released his code, so it's only for windows. You may run with wine under Linux. There is no good way to compare the 2 miners except running on a big server farm for a couple of days and see the outcome. In our miner an acceptable way to estimate the number of 10ch/day is to calculate it form 8ch/h and 9ch/h. The factor used to be 10x but I'm not sure it's still true with 10ch.  I'm also using Rde4.0f2 and my own build in solo mode on 3-4 computers and  time to time I get a block.
hero member
Activity: 516
Merit: 500
CAT.EX Exchange
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...

I'm not sure if I'm going to have the time to develop a standalone miner. Right now I have no plans for it. Hopefully someone will step up and make one.


The reason that I don't do solo mining is because I don't know if the miner are working properly easily. So far from the display only finding a block does the miner display something. It can take days (now weeks) before I realize something is wrong. To check I have to run a script checking the 5ch/hour number hasn't changed to soemthing funny. I assume the 5-ch/hour number in the debug.log is a robust indicator of 10-ch/hr, which I am not sure about.
Is it possible to make an option so that if the miner finds a 8ch, which is more often, print out a line in the console or command line?
legendary
Activity: 1092
Merit: 1000
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...

I'm not sure if I'm going to have the time to develop a standalone miner. Right now I have no plans for it. Hopefully someone will step up and make one.
Anyway thank you for your work.

Hi,
Regarding to  standalone miner check out my Github repository at https://github.com/hg5fm/jhPrimeminer
This one originally was written for ypool.org but now supports both getwork and getblocktemplate for solo mining.
Rdebourbon's 4.0F2 from https://mega.co.nz/#F!SMdjBZjA!ft7TBVIedEg820_3GFzEAQ is a more optimized version especially for solo mining supports getblocktemplate.
For linux  there is Tandyuk's  port from https://github.com/tandyuk/jhPrimeminer/tree/mumu-v8 . This one only works with getwork protocol so  the latest (original, non HP) primecoind is required to work with it.

I think i got the Rdebourbon's 4.0F2  working on Windows, where can i get the source to compile on linux ?

These are my stats solomining :
══════════════════════════════════════════════════════════════════════════════
12/25/13-14:21:41 - New Block: 329378 - Diff: 10.171724 / 10.171724
Best/Max diff: [ 0.000000 / 0.000000 ]
 6ch/h:     0.00 - 0 [ 0 / 0 / 0 ]
MNPS:670.52   PPS:13348        WPS:42.246   ACC:315
Current Primorial: 43 - Sieve Size: 1024000 - Prime Count: 25000
New Primes Count: 27500
══════════════════════════════════════════════════════════════════════════════

and HP11 :
[root@CentOS-64-64-minimal ~]# primecoind getmininginfo
{
    "blocks" : 329379,
    "chainspermin" : 4,
    "chainsperday" : 0.07622015,
    "currentblocksize" : 13776,
    "currentblocktx" : 15,
    "difficulty" : 10.17098707,
    "errors" : "",
    "generate" : true,
    "genproclimit" : -1,
    "primespersec" : 2411,
    "pooledtx" : 15,
    "sieveextensions" : 9,
    "sievepercentage" : 10,
    "sievesize" : 1000000,
    "testnet" : false
}


Which miner is doing better ?
sr. member
Activity: 291
Merit: 250
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...

I'm not sure if I'm going to have the time to develop a standalone miner. Right now I have no plans for it. Hopefully someone will step up and make one.
Anyway thank you for your work.

Hi,
Regarding to  standalone miner check out my Github repository at https://github.com/hg5fm/jhPrimeminer
This one originally was written for ypool.org but now supports both getwork and getblocktemplate for solo mining.
Rdebourbon's 4.0F2 from https://mega.co.nz/#F!SMdjBZjA!ft7TBVIedEg820_3GFzEAQ is a more optimized version especially for solo mining supports getblocktemplate.
For linux  there is Tandyuk's  port from https://github.com/tandyuk/jhPrimeminer/tree/mumu-v8 . This one only works with getwork protocol so  the latest (original, non HP) primecoind is required to work with it.
Hix
legendary
Activity: 1971
Merit: 1036
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...

I'm not sure if I'm going to have the time to develop a standalone miner. Right now I have no plans for it. Hopefully someone will step up and make one.
Anyway thank you for your work.
sr. member
Activity: 301
Merit: 250
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...

I'm not sure if I'm going to have the time to develop a standalone miner. Right now I have no plans for it. Hopefully someone will step up and make one.
sr. member
Activity: 301
Merit: 250
I looked at the code a bit and I spotted a potential issue with shared wallet mining. The issue is that N mining threads are probably using the first N keys available in the wallet. If multiple machines are using the same wallet, they may be trying to solve the same block if the timestamp and the extra nonce are the same. I can write a fix for that but it's unlikely to help you since you're using separate wallets.

Please fix this issue in the next version or provide a patch, i know of many miners using the same wallet+hp11. As a quick fix, would it help if time is changed on servers mining with the same wallet - eg one set at UTC +1 and the other at UTC+2 ?

Playing around with the system time will likely cause more problems. There's even a warning message if it seems to be off by too much.

So you actually should check that all your servers have the correct time.
Hix
legendary
Activity: 1971
Merit: 1036
mikaelh
Have any plans to build standalone miner for Solo(getwork or getblocktemplate)? Xolo promise make it, but... only promise...
 
sr. member
Activity: 301
Merit: 250
any plans for osx and android wallet?

website is also in serious need of an update

I don't have a Mac computer, so there will be no OS X builds in the near future.

There are some other OS X builds in the wild:
http://www.peercointalk.org/index.php?topic=343.0

No plans for an Android wallet currently.
sr. member
Activity: 301
Merit: 250
We use separate wallets + they were all generated using -keypool=5000 , so each can hold up to 5000 transactions. Now the important part :
Just before i switched back to XMP mining i came accross a post about haveged!: https://bitcointalksearch.org/topic/m.2899987

I killed it on all servers, started mining, and in less than one hour 1 block found. Now how does that explain found blocks before 22. Dec - well i do recall killing haveged manually on all servers on several occasions so
it most probably was not running on all servers. What i do know for sure is that all servers were rebooted on 22. Dec and several times after, chkconfig shows haveged as on so it started automatically.

I think the positive/negative experiences with haveged are merely coincidences. Haveged should only be generating some additional entropy, which isn't used by the mining process. Entropy is only used by the OpenSSL library for specific tasks (e.g. generating new keypairs).

Regarding conectivity, if wallet loses all connections, wouldnt it be trying to reconnect indefinitely, using peers.dat file ? I've had machines lose conectivity for hours and reconnect just fine.

Yes, the wallet will keep trying to reconnect to nodes stored in peers.dat. There should normally be at least hundreds of addresses in that file.
sr. member
Activity: 308
Merit: 251
Giga
any plans for osx and android wallet?

website is also in serious need of an update
legendary
Activity: 1092
Merit: 1000
I looked at the code a bit and I spotted a potential issue with shared wallet mining. The issue is that N mining threads are probably using the first N keys available in the wallet. If multiple machines are using the same wallet, they may be trying to solve the same block if the timestamp and the extra nonce are the same. I can write a fix for that but it's unlikely to help you since you're using separate wallets.

Please fix this issue in the next version or provide a patch, i know of many miners using the same wallet+hp11. As a quick fix, would it help if time is changed on servers mining with the same wallet - eg one set at UTC +1 and the other at UTC+2 ?
legendary
Activity: 1092
Merit: 1000
Hello mikaelh, i have checked debug.log on all servers, no errors. They are not using the same wallet.dat file. Haveged package is installed on all instances to ensure entropy/no duplicate work. They are all synced with the network. If sieve options are not causing the issue the only thing i have not done is recreate peers.dat file to get a fresh list of nodes on every server. Would it be better to point all mining servers to one under my control, with a -connect= flag in the config or leave node selection default ?

I have switched them all to mining litecoin since my last post but will soon switch them back. Let me know If there is anything else you'd like me to test.

If every miner is using a separate wallet, then you shouldn't have issues with running out of pre-generated keys. If your wallets are encrypted, then you may run out of keys because the wallet needs to be unlocked before new keys can be generated.

Connectivity is also important because mining will stop if the wallet loses all connections. Using the -connect parameter is probably a bad idea because it introduces a single point of failure. If your central node crashes, then all the slave nodes lose connectivity. You should use -addnode if you want to have a central node.

I looked at the code a bit and I spotted a potential issue with shared wallet mining. The issue is that N mining threads are probably using the first N keys available in the wallet. If multiple machines are using the same wallet, they may be trying to solve the same block if the timestamp and the extra nonce are the same. I can write a fix for that but it's unlikely to help you since you're using separate wallets.

That's all the ideas I have currently.

We use separate wallets + they were all generated using -keypool=5000 , so each can hold up to 5000 transactions. Now the important part :
Just before i switched back to XMP mining i came accross a post about haveged!: https://bitcointalksearch.org/topic/m.2899987

I killed it on all servers, started mining, and in less than one hour 1 block found. Now how does that explain found blocks before 22. Dec - well i do recall killing haveged manually on all servers on several occasions so
it most probably was not running on all servers. What i do know for sure is that all servers were rebooted on 22. Dec and several times after, chkconfig shows haveged as on so it started automatically.

I will post an update tomorrow.

Regarding conectivity, if wallet loses all connections, wouldnt it be trying to reconnect indefinitely, using peers.dat file ? I've had machines lose conectivity for hours and reconnect just fine.










Pages:
Jump to: