Weird benchmarking results, or am I doing something wrong?

Message boards : Number crunching : Weird benchmarking results, or am I doing something wrong?

To post messages, you must log in.

AuthorMessage
Anders Sjöqvist

Send message
Joined: 23 Feb 09
Posts: 8
Credit: 541,727
RAC: 0
Message 71859 - Posted: 22 Dec 2011, 14:49:40 UTC

I recently started running Rosetta@home on two computers (one of them stopped working, but that's beside the point). The older one has an AMD Athlon QI-46 processor running at 2.1GHz with one core. The benchmarking says "Measured floating point speed: 1922.96 million ops/sec" and "Measured integer speed: 8611.64 million ops/sec". The new one has an Intel Atom CPU D510 running at 1.66GHz. Sure, it's slower, but with two cores and hyper-threading I'd expect it to be somewhat quicker than the other. However, the benchmarking says "Measured floating point speed: 921.31 million ops/sec" and "Measured integer speed: 2260.48 million ops/sec". The older one is twice as fast at floating point calculations and almost four times as fast with integers. How can the new one be so slow?

Don't know if it matters, but BOINC admits to getting a lot of resources. It says "% of time BOINC client is running: 100 %" and "While BOINC running, % of time work is allowed: 99.9964 %". Here's what top says:
last pid:  3360;  load averages:  5.08,  4.97,  4.90              up 0+13:13:32  13:21:50
36 processes:  5 running, 31 sleeping
CPU:  0.0% user, 99.1% nice,  0.7% system,  0.2% interrupt,  0.0% idle
Mem: 1384M Active, 122M Inact, 357M Wired, 55M Cache, 213M Buf, 51M Free
Swap: 5003M Total, 10M Used, 4993M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 3080 boinc       1 155  i31   473M   381M CPU2    2 137:54 100.00% minirosetta_3.19_i6
 3104 boinc       1 155  i31   483M   391M RUN     0 127:55 100.00% minirosetta_3.19_i6
 3139 boinc       1 155  i31   467M   375M CPU3    3 106:34 100.00% minirosetta_3.19_i6
 3101 boinc       1 155  i31   465M   373M CPU1    1 128:34 99.56% minirosetta_3.19_i6
 3360 anders      1  20    0 16740K  2088K CPU0    3   0:00  0.10% top
 1417 boinc       1 155  i31 34460K  4504K select  2   2:46  0.00% boinc_client
 1374 root        1  20    0 12220K   768K select  2   0:13  0.00% powerd
 1367 root        1  20    0 22368K  1580K select  1   0:05  0.00% ntpd
 3081 boinc       1 155  i31   473M   381M nanslp  2   0:03  0.00% minirosetta_3.19_i6
 3102 boinc       1 155  i31   465M   373M nanslp  3   0:03  0.00% minirosetta_3.19_i6
 3105 boinc       1 155  i31   483M   391M nanslp  0   0:03  0.00% minirosetta_3.19_i6
 3140 boinc       1 155  i31   467M   375M nanslp  0   0:03  0.00% minirosetta_3.19_i6
 1451 root        1  20    0 20420K  1532K select  0   0:02  0.00% sendmail
 1461 root        1  20    0 14296K  1020K nanslp  2   0:00  0.00% cron
 1193 root        1  20    0 12220K   952K select  2   0:00  0.00% syslogd

I don't know what it means that "nice" uses up all the resources instead of "user" (I've googled it but didn't find an answer). Does it matter? Is there anything I can do to speed it up, or is there something that I've misunderstood?

Thanks!
ID: 71859 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1831
Credit: 119,523,428
RAC: 9,566
Message 71860 - Posted: 22 Dec 2011, 17:27:39 UTC - in response to Message 71859.  
Last modified: 22 Dec 2011, 17:30:21 UTC

I recently started running Rosetta@home on two computers (one of them stopped working, but that's beside the point). The older one has an AMD Athlon QI-46 processor running at 2.1GHz with one core. The benchmarking says "Measured floating point speed: 1922.96 million ops/sec" and "Measured integer speed: 8611.64 million ops/sec". The new one has an Intel Atom CPU D510 running at 1.66GHz. Sure, it's slower, but with two cores and hyper-threading I'd expect it to be somewhat quicker than the other. However, the benchmarking says "Measured floating point speed: 921.31 million ops/sec" and "Measured integer speed: 2260.48 million ops/sec". The older one is twice as fast at floating point calculations and almost four times as fast with integers. How can the new one be so slow?

Don't know if it matters, but BOINC admits to getting a lot of resources. It says "% of time BOINC client is running: 100 %" and "While BOINC running, % of time work is allowed: 99.9964 %". Here's what top says:
last pid:  3360;  load averages:  5.08,  4.97,  4.90              up 0+13:13:32  13:21:50
36 processes:  5 running, 31 sleeping
CPU:  0.0% user, 99.1% nice,  0.7% system,  0.2% interrupt,  0.0% idle
Mem: 1384M Active, 122M Inact, 357M Wired, 55M Cache, 213M Buf, 51M Free
Swap: 5003M Total, 10M Used, 4993M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
 3080 boinc       1 155  i31   473M   381M CPU2    2 137:54 100.00% minirosetta_3.19_i6
 3104 boinc       1 155  i31   483M   391M RUN     0 127:55 100.00% minirosetta_3.19_i6
 3139 boinc       1 155  i31   467M   375M CPU3    3 106:34 100.00% minirosetta_3.19_i6
 3101 boinc       1 155  i31   465M   373M CPU1    1 128:34 99.56% minirosetta_3.19_i6
 3360 anders      1  20    0 16740K  2088K CPU0    3   0:00  0.10% top
 1417 boinc       1 155  i31 34460K  4504K select  2   2:46  0.00% boinc_client
 1374 root        1  20    0 12220K   768K select  2   0:13  0.00% powerd
 1367 root        1  20    0 22368K  1580K select  1   0:05  0.00% ntpd
 3081 boinc       1 155  i31   473M   381M nanslp  2   0:03  0.00% minirosetta_3.19_i6
 3102 boinc       1 155  i31   465M   373M nanslp  3   0:03  0.00% minirosetta_3.19_i6
 3105 boinc       1 155  i31   483M   391M nanslp  0   0:03  0.00% minirosetta_3.19_i6
 3140 boinc       1 155  i31   467M   375M nanslp  0   0:03  0.00% minirosetta_3.19_i6
 1451 root        1  20    0 20420K  1532K select  0   0:02  0.00% sendmail
 1461 root        1  20    0 14296K  1020K nanslp  2   0:00  0.00% cron
 1193 root        1  20    0 12220K   952K select  2   0:00  0.00% syslogd

I don't know what it means that "nice" uses up all the resources instead of "user" (I've googled it but didn't find an answer). Does it matter? Is there anything I can do to speed it up, or is there something that I've misunderstood?

Thanks!


Hi Anders

Atom is designed for low power consumption for compute-light tasks (or at least FPU light tasks), so clock for clock the Athlon will be quicker. I'd also expect the higher clock on the Athlon to more than compensate for the hyperthreading when it comes to Rosetta, because while the hyperthreading allows better utilisation of Atom's core, it also means there are two threads fighting for the L2 cache. So, I'd expect your single core Athlon with a higher clock rate to be faster than a single core atom even with hyperthreading. More importantly though, Rosetta doesn't rely on the benchmarks for granting credit.

My understanding is that in Linux the different levels of 'nice' are the background tasks whereas 'user' is equivalent to normal priority in Windows. Basically, the higher the nice value, the lower the priority so BOINC tasks have a high nice value (although BOINC itself doesn't). I'm not sure where i31 comes from as nice runs from -20 to 19... is that data from your BSD machine?

[EDIT] Just noticed I mis-read - it's two cores with hyperthreading (so 4 threads) rather than 1 core, 2 threads. My guess is your two computers would get a similar RAC on Rosetta but would be interested to see...
ID: 71860 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Mod.Sense
Volunteer moderator

Send message
Joined: 22 Aug 06
Posts: 4018
Credit: 0
RAC: 0
Message 71866 - Posted: 23 Dec 2011, 15:11:27 UTC

In UNIX/Linus environments "nice" tasks are those that run at low priority. This is to help you get a feel for whether your CPU is a bottleneck to performance. If CPU is 100% busy... but there was time enough that 80% of it went to "nice" tasks, then it implies that if more normal priority tasks were running, there would be plenty of CPU to service them. So 100% busy does not always mean "maxed out".
Rosetta Moderator: Mod.Sense
ID: 71866 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Chilean
Avatar

Send message
Joined: 16 Oct 05
Posts: 711
Credit: 26,694,507
RAC: 0
Message 71867 - Posted: 23 Dec 2011, 17:46:28 UTC

"Nice" means low priority in Linux. I see it as a "nice" process, since it'll stop doing whatever it's doing when some other process needs CPU time because it's a "nice" process.

Forget those benchmarks, try seeing how they do RAC-wise. Probably, your atom might be able to pull a higher RAC than the Athlon, due to the higher core count. The benchmarks are pretty much useless under rosetta's credit-granting policy.
ID: 71867 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Anders Sjöqvist

Send message
Joined: 23 Feb 09
Posts: 8
Credit: 541,727
RAC: 0
Message 71883 - Posted: 25 Dec 2011, 13:46:54 UTC - in response to Message 71860.  

Thanks for your answers, guys!

My understanding is that in Linux the different levels of 'nice' are the background tasks whereas 'user' is equivalent to normal priority in Windows. Basically, the higher the nice value, the lower the priority so BOINC tasks have a high nice value (although BOINC itself doesn't). I'm not sure where i31 comes from as nice runs from -20 to 19... is that data from your BSD machine?


I was also confused by it, but yes, the data was from the BSD machine.

[EDIT] Just noticed I mis-read - it's two cores with hyperthreading (so 4 threads) rather than 1 core, 2 threads. My guess is your two computers would get a similar RAC on Rosetta but would be interested to see...


I don't know how to make the RAC comparable. The FreeBSD machine (with the Atom processor) right now has a RAC that's about four times as high, but then it's been running for about two days more.

The Athlon computer is one of my laptops, so I don't expect to run BOINC on it that much. I just wanted to compare the results, as I happened to read somewhere that Rosetta isn't supposed to work on FreeBSD. However, I just had to install the port and attach to the project, and that was it. My concern was thus that the program would be running in some emulation mode wasting 90% of the resources, or that there'd be some computation error.

I bought the new computer so that it could be a cheap and environmentally friendly server, running 24/7. I was considering running Rosetta if it could run given the current clock speed, instead of triggering an increase, but I don't know how to do that.
ID: 71883 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1831
Credit: 119,523,428
RAC: 9,566
Message 71887 - Posted: 25 Dec 2011, 23:55:08 UTC - in response to Message 71883.  
Last modified: 25 Dec 2011, 23:57:29 UTC

I don't know how to make the RAC comparable.

You can get a fairly good idea if you copy a page of valid results and paste them into your favorite spreadsheet program, and then for each record divide the granted credit by the cpu time (to give the credit per cpu-second), then multiply by 3600 x 24 to give RAC per core per day, then take the average of those values and multiply by the number of threads of Rosetta running...
ID: 71887 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile Chilean
Avatar

Send message
Joined: 16 Oct 05
Posts: 711
Credit: 26,694,507
RAC: 0
Message 71895 - Posted: 27 Dec 2011, 2:16:57 UTC - in response to Message 71883.  

I bought the new computer so that it could be a cheap and environmentally friendly server, running 24/7. I was considering running Rosetta if it could run given the current clock speed, instead of triggering an increase, but I don't know how to do that.


It is winter up north... you could save money by using the heater less?

I wonder how much more a PC uses when it steps up to a higher frequency.
ID: 71895 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Profile dcdc

Send message
Joined: 3 Nov 05
Posts: 1831
Credit: 119,523,428
RAC: 9,566
Message 71896 - Posted: 27 Dec 2011, 10:54:53 UTC - in response to Message 71895.  

I bought the new computer so that it could be a cheap and environmentally friendly server, running 24/7. I was considering running Rosetta if it could run given the current clock speed, instead of triggering an increase, but I don't know how to do that.


It is winter up north... you could save money by using the heater less?

I wonder how much more a PC uses when it steps up to a higher frequency.

The wattage of the CPU increases linearly with clock speed and with the square of voltage. There are other factors such as temperature but that gives a good indication.
ID: 71896 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Anders Sjöqvist

Send message
Joined: 23 Feb 09
Posts: 8
Credit: 541,727
RAC: 0
Message 71905 - Posted: 28 Dec 2011, 0:54:46 UTC - in response to Message 71887.  

You can get a fairly good idea if you copy a page of valid results and paste them into your favorite spreadsheet program, and then for each record divide the granted credit by the cpu time (to give the credit per cpu-second), then multiply by 3600 x 24 to give RAC per core per day, then take the average of those values and multiply by the number of threads of Rosetta running...


Thanks a lot! This calculation gives me a RAC approximation of 294 for the old Athlon with one core, and a total of 452 for the two cores with hyper-threading on my Atom. So the new one is a bit faster, but not that much.

Still, I can't really figure the credits. For task 472923334, I claimed 47 credits but was granted only 2.4, although the program ran for over 25000 seconds. There was apparently a SIGSEGV. Does that have anything to do with it? Is there something wrong with my computer?

Another example is work unit 429608498, where we were two computers to do the work. I claimed 42 credits but was granted only 11.7, while the other one was granted 43. How come?

This is what makes me nervous. I'm afraid that something's wrong with my setup.
ID: 71905 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote
Anders Sjöqvist

Send message
Joined: 23 Feb 09
Posts: 8
Credit: 541,727
RAC: 0
Message 71906 - Posted: 28 Dec 2011, 1:02:15 UTC - in response to Message 71895.  

It is winter up north... you could save money by using the heater less?


Heh, maybe. But firstly, yesterday (Tuesday) we had a maximum of 11 °C (52 °F), which I don't consider too cold. Secondly, I'm going away tomorrow morning and will be away for a couple of weeks. I don't need additional heating when I'm away. Thirdly, heating is included in my rent, but not electricity. :)

I wonder how much more a PC uses when it steps up to a higher frequency.


Some guy measured and wrote about it in the FreeBSD forum. I got the impression that I should optimally run the CPU at about half of the maximum speed.
ID: 71906 · Rating: 0 · rate: Rate + / Rate - Report as offensive    Reply Quote

Message boards : Number crunching : Weird benchmarking results, or am I doing something wrong?



©2024 University of Washington
https://www.bakerlab.org