Author

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

newbie
Activity: 37
Merit: 0
Starting up I used
Code:
sudo nice -n19 primecoind --daemon

Still not working for me.

Does nice use PATH lookup? I would have expected it would be up to you to tell it explicitly what to run.

Thus, for example, if primecoind is in the current directory, you'd normally do ./primecoind since path lookup does not normally look in current directory, but, using nice, I would think nice is looking in the current directory for primecoin since you didn't tell it for example to run /usr/local/bin/primecoind.

So make sure primecoind is where you are telling nice that it is...

primestart.sh
Code:
#!/bin/bash


PRIMECOIND=/usr/local/bin/primecoind
DATADIR=$HOME/.primecoin


nice ${PRIMECOIND} -datadir=$DATADIR -rescan -maxconnections=8 \
        -rpcuser=primeuser -rpcpassword=TopSecretPasswordForRPC \
        -gen=1 -daemon -rpcport=9912

Also, is 19 niceness really necessary? Doesn't the normal plain old nice, which defaults to niceness of 10, suffice? Are you sure you want CPU mining to have the lowest priority of all, behind all normal nice'd processes? It defaults to 10 to leave room for ridiculously low priority things to be given more niceness and to leave room for some things to be nice but not as nice as normal/default nicenss of 10...

Also, why the fuck do you run a coin daemon as root? Isn't it bad enough not running it as a user specially created for that coin so it has no access to other users stuff, without going and giving it root access to your machine, even IF you put it in a virtual machine all to itself? (aka WFT is sudo in there for?!?!?!)

-MarkM-


Easy there now, calm down.  I'm only just starting out on linux.

I was suggested by someone else to do "nice -n19" by someone else.  I'm trying to give it a lower priority since it's dropping my GPU mining hash rate from 700khps to 500khps.  I was told to use "nice" command instead of setgenerate true 7.

The normal steps I learned to do get primecoin going is:
Code:
git clone https://github.com/mikaelh2/primecoin
cd primecoin/src
make -f makefile.unix
mv primecoind /usr/local/bin
cd /usr/local/bin
primecoind --daemon
watch 'primecoind getmininginfo'

If I tried to do just "primecoind setgenerate true -1" instead of "primecoind --daemon", it says something about couldn't connect to server.

Now I'm trying to understand how to use the nice command.  Someone said to use it when I first start primecoind but that didn't do anything.

The sudo is there because when I tried just "nice primecoind --daemon", it gave me a permission error."
sr. member
Activity: 434
Merit: 250
Finally found a block!

First one since the 9th...before everything got crazy.

Got it with hp3 on an i5 machine.

I've been trying to get a build set up on DO, but I'm a complete noob with Linux and keep running into errors along the way. So....I've now installed Ubuntu in a virtual machine and trying to figure it out before wasting any more $$ trying to learn on VPS.

Sure wish this build was available on the 7th when I first started Prime. Of course, I also wish I had taken the time to learn Linux way before block rewards dropped to 12. Block rewards of 20 sure were nice while they lasted.

Thanks much for all of your work on this.

Ups, check private message :p
full member
Activity: 128
Merit: 100
Finally found a block!

First one since the 9th...before everything got crazy.

Got it with hp3 on an i5 machine.

I've been trying to get a build set up on DO, but I'm a complete noob with Linux and keep running into errors along the way. So....I've now installed Ubuntu in a virtual machine and trying to figure it out before wasting any more $$ trying to learn on VPS.

Sure wish this build was available on the 7th when I first started Prime. Of course, I also wish I had taken the time to learn Linux way before block rewards dropped to 12. Block rewards of 20 sure were nice while they lasted.

Thanks much for all of your work on this.
legendary
Activity: 1066
Merit: 1098
New version is out!

-hp4 mainly adds L1 and L2 cache optimizations. It removes the performance bottleneck with bigger sieve sizes. Thus it's possible to increase sieve size even further.

I also added a new alternative performance measurement. The client now calculates the number of probable prime chains of length 5 and prints them to debug.log. The printing frequency is also increased.

This version crashes at startup, or very shortly thereafter on my i7-3820.  I have used the other builds without incident as you have released them.



Nm, I was testing with a very large sievesize (10485760).  If I set it to a more sane value it works fine.
legendary
Activity: 2940
Merit: 1090
Starting up I used
Code:
sudo nice -n19 primecoind --daemon

Still not working for me.

Does nice use PATH lookup? I would have expected it would be up to you to tell it explicitly what to run.

Thus, for example, if primecoind is in the current directory, you'd normally do ./primecoind since path lookup does not normally look in current directory, but, using nice, I would think nice is looking in the current directory for primecoin since you didn't tell it for example to run /usr/local/bin/primecoind.

So make sure primecoind is where you are telling nice that it is...

primestart.sh
Code:
#!/bin/bash


PRIMECOIND=/usr/local/bin/primecoind
DATADIR=$HOME/.primecoin


nice ${PRIMECOIND} -datadir=$DATADIR -rescan -maxconnections=8 \
        -rpcuser=primeuser -rpcpassword=TopSecretPasswordForRPC \
        -gen=1 -daemon -rpcport=9912

Also, is 19 niceness really necessary? Doesn't the normal plain old nice, which defaults to niceness of 10, suffice? Are you sure you want CPU mining to have the lowest priority of all, behind all normal nice'd processes? It defaults to 10 to leave room for ridiculously low priority things to be given more niceness and to leave room for some things to be nice but not as nice as normal/default nicenss of 10...

Also, why the fuck do you run a coin daemon as root? Isn't it bad enough not running it as a user specially created for that coin so it has no access to other users stuff, without going and giving it root access to your machine, even IF you put it in a virtual machine all to itself? (aka WFT is sudo in there for?!?!?!)

-MarkM-
hero member
Activity: 820
Merit: 1000
-hp4 mainly adds L1 and L2 cache optimizations. It removes the performance bottleneck with bigger sieve sizes. Thus it's possible to increase sieve size even further.

I also added a new alternative performance measurement. The client now calculates the number of probable prime chains of length 5 and prints them to debug.log. The printing frequency is also increased.
Hi Mikael, I'm still seeing some reduction in PPS rate with increased sievesize, though not nearly as pronounced as earlier versions.  Good job!  With that in mind, what's the best way to test for the optimal sievesize vs PPS?  Is it best to use the testnet and, if so, is it fair to use the new metric in debug.log or should I go by number of blocks found?
sr. member
Activity: 291
Merit: 250
New version is out!

-hp4 mainly adds L1 and L2 cache optimizations. It removes the performance bottleneck with bigger sieve sizes. Thus it's possible to increase sieve size even further.

I also added a new alternative performance measurement. The client now calculates the number of probable prime chains of length 5 and prints them to debug.log. The printing frequency is also increased.

Thank you very much.
I can report about 10% PPS improvement with this build. Let's see what the alternative measurements gives us. In general your builds works fine for me with pretty good results (about 10 blocks today with all the computers I could use in my office and home). Some tip is on the way.
newbie
Activity: 37
Merit: 0
Now I'm looking into this "nice" command which is difficult to google by the way.
man nice.


Quote
I set:
Code:
sudo nice -n -20 primecoind setgenerate true -1

And I'm still taking a 200khps hit on my GPU mining.  It did improve by 50khps over the old way.
That's normal, because this does not do anything.
What you need is to nice the main process, i.e. when you start primecoind, do "nice primecoind".

Code:
nice -n19 ./primecoind

Also, you were using -20 which is very wrong - it gives the process the most priority (thankfully you did not apply it to the right process, your system would explode).


I couldn't figure out how to turn off my primecoind service so I just rebooted it again.

Starting up I used
Code:
sudo nice -n19 primecoind --daemon

Still not working for me.
sr. member
Activity: 350
Merit: 250
Digital Ocean is very good with the low-tier instance. I have 40 instance 2-core.
The solo-core is better but with limited droplet you have to make a choice.
Of course, solo-core is the way to go. But even with my 30 server limit the power would make me less than the 30 8-cores I'm "overpaying" for.

Digital Ocean is very good with the low-tier instance. I have 40 instance 2-core.
The solo-core is better but with limited droplet you have to make a choice.
Did you request more droplet from them?
See above. I am increasing my limits daily, however.
legendary
Activity: 1066
Merit: 1098
New version is out!

-hp4 mainly adds L1 and L2 cache optimizations. It removes the performance bottleneck with bigger sieve sizes. Thus it's possible to increase sieve size even further.

I also added a new alternative performance measurement. The client now calculates the number of probable prime chains of length 5 and prints them to debug.log. The printing frequency is also increased.

This version crashes at startup, or very shortly thereafter on my i7-3820.  I have used the other builds without incident as you have released them.

member
Activity: 182
Merit: 10
Is this good?

{
"blocks" : 48935,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"primespersec" : 2453,
"pooledtx" : 0,
"testnet" : false
}

With Intel Core 2 Quad Q9400

i3 3225 Ivy Bridge 3.4 GHz =

{
"blocks" : 49030,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"primespersec" : 2277,
"pooledtx" : 0,
"testnet" : false
}


so yeah. You're doing just fine...  Tongue
full member
Activity: 224
Merit: 100
Digital Ocean is very good with the low-tier instance. I have 40 instance 2-core.
The solo-core is better but with limited droplet you have to make a choice.
Did you request more droplet from them?
newbie
Activity: 37
Merit: 0
I understand that.  It kills my GPU mining when I use all cores.  But I think you missed something in my post.  I'm getting 5k PPS on 7 cores in the windows client but only 1k PPS in the Linux one.

Look up the "nice" command.

Any CPU mining, whether built in to a coin or using minerd aka cpuminer or whatever, use "nice coind" or "nice minerd", it runs at lower priority so does not seem to impact GPU mining nor FPGA mining nor ASIC mining yet still gets to use most of the cores most of the time.

-MarkM-


For debug purpose, I've shut down my GPU mining and tried all cores.  I still only get about 1200PPS in linux vm but I'm getting 6000 in Windows.

I was chitchatting with someone else and he said his Linux PPS got halved when he switched to this client too.

Which Linux distribution are you using? I suspect some distributions might not be supplying a properly optimized version of GMP. I may eventually start releasing my own Linux binaries.

Ubuntu 12.04

Looks like Ubuntu 12.04 comes with GMP version 5.0.2. That's from Aug 2011. It may fail to recognize newer CPUs. In that case, it won't choose the optimal code path.

I think I had it updated already.  Then I tried removing it and reinstalled it, still no go.  It wasn't till I restarted the vm client that my pps numbers came to be what it should've been.
sr. member
Activity: 392
Merit: 250
Digital Ocean is very good with the low-tier instance. I have 40 instance 2-core.
The solo-core is better but with limited droplet you have to make a choice.
legendary
Activity: 2632
Merit: 1040
Is this good?

{
"blocks" : 48935,
"currentblocksize" : 1000,
"currentblocktx" : 0,
"errors" : "",
"generate" : true,
"genproclimit" : -1,
"primespersec" : 2453,
"pooledtx" : 0,
"testnet" : false
}

With Intel Core 2 Quad Q9400
sr. member
Activity: 350
Merit: 250
Is there a consensus on the best VPS provider yet? I'm averaging 180k PPS on 30 8-cores via DigitalOcean. I know there are other VPS providers out there, but anything as convenient as them? I can deploy an entire cluster in under 20 minutes from scratch and destroy them all in under 5.
member
Activity: 81
Merit: 10
I've had two crashes using this high performance miner.   Shocked

The crash states:

Quote

Assertion failed!

Program: C:\Users\xxx
xxx\xxx\xxx\primecoin-qt.exe
File: src/checkqueue.h, Line 167

Expression: pqueue->nTotal==pqueue->nIdle

Anyone else had this error/crash?



On another note, I'm about ready to give up on Primecoin...I started at the beginning and mined 9 blocks the first day using 3 machines.  Then mined 6 the next day, 3 the day after that, 1 more the next day, but I haven't mined a single block since even with the 3 CPUs running 24/7.   Cry

sr. member
Activity: 520
Merit: 253
555
I'm a bit confused.

The primes we are finding are huge, what purpose does the up-to-2,000,000 or so prime sieve serve?

Seconded. I'm guessing it's because the primality test used here is not absolute, it only tests for probable primality. One way to do this is trial division by smaller primes.
sr. member
Activity: 301
Merit: 250
New version is out!

-hp4 mainly adds L1 and L2 cache optimizations. It removes the performance bottleneck with bigger sieve sizes. Thus it's possible to increase sieve size even further.

I also added a new alternative performance measurement. The client now calculates the number of probable prime chains of length 5 and prints them to debug.log. The printing frequency is also increased.
sr. member
Activity: 350
Merit: 250
Is there
a) A primecoin-qt app for Android. Or at least something that can show when a block is mined via an application?
b) A PrimeCoin wallet app for Android yet?
Jump to: