Message boards : Number crunching : Weird benchmarking results, or am I doing something wrong?
Author | Message |
---|---|
Anders Sjöqvist Send message Joined: 23 Feb 09 Posts: 8 Credit: 541,727 RAC: 0 |
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! |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,627,225 RAC: 11,586 |
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? 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... |
Mod.Sense Volunteer moderator Send message Joined: 22 Aug 06 Posts: 4018 Credit: 0 RAC: 0 |
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 |
Chilean Send message Joined: 16 Oct 05 Posts: 711 Credit: 26,694,507 RAC: 0 |
"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. |
Anders Sjöqvist Send message Joined: 23 Feb 09 Posts: 8 Credit: 541,727 RAC: 0 |
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. |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,627,225 RAC: 11,586 |
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... |
Chilean Send message Joined: 16 Oct 05 Posts: 711 Credit: 26,694,507 RAC: 0 |
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. |
dcdc Send message Joined: 3 Nov 05 Posts: 1831 Credit: 119,627,225 RAC: 11,586 |
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. 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. |
Anders Sjöqvist Send message Joined: 23 Feb 09 Posts: 8 Credit: 541,727 RAC: 0 |
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. |
Anders Sjöqvist Send message Joined: 23 Feb 09 Posts: 8 Credit: 541,727 RAC: 0 |
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. |
Message boards :
Number crunching :
Weird benchmarking results, or am I doing something wrong?
©2024 University of Washington
https://www.bakerlab.org