CPU% - 2 things I don't understand

Started by Meck, September 27, 2015, 07:32:29 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Meck

Hello,

please see the screenshot attached. I'm wondering about

1. how the total CPU% can be more than 100% and
2. how suspended tasks can have CPU% at all.

Is there anybody outthere who can give me an answer?

Thanks in advance.

fred

Quote from: Meck on September 27, 2015, 07:32:29 PM
1. how the total CPU% can be more than 100% and
2. how suspended tasks can have CPU% at all.
1) It can't, but some projects are sloppy and they manage to do so. BoincTasks should limit to 100% unless you override it.
Basically it's the wall clock time compared the the CPU run time.
2) It is stored, so you can actually see what's going on. Both clocks stop at the suspend moment, so the value is correct even when suspended.

Meck

Thank you Fred.

Were you able to view my screenshot? Under "Attachments and other options" I couldn't find an option to attach a file, so I tried the "insert image" button and copied my local path in between the "" tags.
I suppose that was not the right way ;-) and I couldn't view the picture in the message.

fred

Quote from: Meck on September 29, 2015, 07:17:18 PM
I suppose that was not the right way ;-) and I couldn't view the picture in the message.
No not the right way, someone else will not be able to see a picture on your computer, that won't work.

Meck

Quote from: fred on September 30, 2015, 06:21:16 AM
Quote from: Meck on September 29, 2015, 07:17:18 PM
I suppose that was not the right way ;-) and I couldn't view the picture in the message.
No not the right way, someone else will not be able to see a picture on your computer, that won't work.
Of course, but what would be the right way then? Whereto and how in this boardsoftware do I upload my attachment and link to?

BobCat13

Quote from: fred on September 29, 2015, 04:25:48 PM
BoincTasks should limit to 100% unless you override it.
How can this override be accomplished?  On multithreaded apps, I would like to see the exact percentage, i.e. 190% for an app using 2 cpus instead of being capped at 100%.

fred

Quote from: BobCat13 on February 15, 2016, 01:10:36 AM
Quote from: fred on September 29, 2015, 04:25:48 PM
BoincTasks should limit to 100% unless you override it.
How can this override be accomplished?  On multithreaded apps, I would like to see the exact percentage, i.e. 190% for an app using 2 cpus instead of being capped at 100%.
C:\Program Files\eFMer\BoincTasks\examples read the config.xml comment.
The config.xml should contain.
<config>
   <options>
      <no_cleanup>   1</no_cleanup>
   </options>
</config>

no_cleanup set to 1 should do the trick.

BobCat13

Quote from: fred on February 15, 2016, 01:24:34 AM
C:\Program Files\eFMer\BoincTasks\examples read the config.xml comment.
The config.xml should contain.
<config>
   <options>
      <no_cleanup>   1</no_cleanup>
   </options>
</config>

no_cleanup set to 1 should do the trick.
Thanks, set that to 1 and restarted BoincTasks but CPU% is still capped at 100.

Here is the log:
14 February 2016 - 21:44:53 BoincTasks version: 1.69
14 February 2016 - 21:44:53 Language ---- User: 1033 (ENU), System: 1033 (ENU), Selected: 0 () Used: 1033 (ENU)
14 February 2016 - 21:44:54 config.xml ---- no_cleanup
14 February 2016 - 21:44:54 Maximum number of computers: Unlimited
14 February 2016 - 21:44:54 Computers ---- Green , IP: localhost
14 February 2016 - 21:44:54 Computers ---- Blue , IP: 192.x.x.x
14 February 2016 - 21:44:54 Computers ---- Orange , IP: 192.x.x.x
14 February 2016 - 21:45:07 Connect ---- Connected to: Host: Orange, IP: 192.x.x.x, Port: 31416, BOINC Version: 7.6.23
14 February 2016 - 21:45:07 Connect ---- Connected to: Host: Green, IP: localhost, Port: 31416, BOINC Version: 7.6.22
14 February 2016 - 21:45:07 Connect ---- Connected to: Host: Blue, IP: 192.x.x.x, Port: 31416, BOINC Version: 7.4.41

And here are the columns shown in the Tasks tab for the multithreaded task:
Computer: Blue
Project: Cosmology@Home
Application: 1.02 planck_param_sims (vbox64_mt)
Task Name: planck_param_sims_2_2250_379_0
Elapsed Time: 00:12:46 (00:24:52)
Progress %: 10.600
Time Left: 00:41:12
Deadline: 2-20-2016 5:38:55 PM
Status: Running
Checkpoint: [1] 00:04:38
CPU %: 100.000   

fred

Quote from: BobCat13 on February 15, 2016, 03:00:18 AM
Thanks, set that to 1 and restarted BoincTasks but CPU% is still capped at 100.
OK I see what you mean, but can you actually see that 2 cores are used.
What does the BOINC manager report.

BobCat13

Quote from: fred on February 15, 2016, 03:12:53 AM
Quote from: BobCat13 on February 15, 2016, 03:00:18 AM
Thanks, set that to 1 and restarted BoincTasks but CPU% is still capped at 100.
OK I see what you mean, but can you actually see that 2 cores are used.
What does the BOINC manager report.
BOINC Manager reports the task is using 2 cpus as does BoincTasks if I enable the Use column.  I was just hoping to see the exact percentage of CPU time/Elapsed time to make it easier when testing to see if it is more efficient to run these tasks with 2 cores, 3 cores, or 4 cores on a quad core machine.

fred

Quote from: BobCat13 on February 15, 2016, 03:28:06 AM
BOINC Manager reports the task is using 2 cpus as does BoincTasks if I enable the Use column.  I was just hoping to see the exact percentage of CPU time/Elapsed time to make it easier when testing to see if it is more efficient to run these tasks with 2 cores, 3 cores, or 4 cores on a quad core machine.
What complicates things is the virtual box, it cause additional overhead and makes it difficult to run a benchmark test.
I would say running more than 1 CPU will not make things more efficient, it will only run the task faster.
So 4 tasks on 4 cores is generally more efficient than 1 task on 4 cores.

If the programmers of the task did a good job the CPU % should reflect the efficiency, but this may be hard to implement in a virtual box.
Normally it's simply counting the time (clock cycles) the task runs and compare it with the time the CPU runs. 100%  would be almost impossible to achieve, so if it says 100% it may simply output a default value.