Suspending Computation - CPU usage is too high

Started by tlsi2000, March 15, 2010, 11:13:45 AM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

tlsi2000

On updating to the latest (.44) version of BT with the latest Boinc 6.10.36 I am seeing a symptom of performing some BT operations.

I will sometimes suspend a couple of tasks to get a few more running, or to prioritize some in the queue.

What I see happening now that was not happening before is that the Boinc will hit the configured Boinc Preference: "While processor usage is less than ____"
I have had this at 25%, and previously have had no occurrence of the symptom.

What happens is that all of the tasks will go into an 'automatic suspended' mode with a status of 'waiting to start; suspended' (or the like) and the message window will record a "Suspending Computation - CPU usage is too high".  This will clear up and go back to normal withing 10-20 seconds (I use slow refresh rate).

Setting the Boinc Preference higher (like 50% seems to affect the symptom little, as it easily goes into this mode.
Setting it to 0 ('no restriction') fixes the symptom, but then this completely removes the automatic suspension that I do want to have when I am performing other processing on the computer.

What seems to be happening is since BT is not considered an official 'Boinc Process', and is being considered a foreign (ie: normal user computer process) and thus Boinc is automatically suspending all of its processing when BT does some things that take a moment of two to complete.

Maybe Boinc can be either be told that BT is a friendly process and not to be considered foreign, or BT can temporarily set the preference to the max while it is doing some processing that may take a bit of time and reset it back when done.

Just a thought.
Thanks.




fred

Quote from: tlsi2000 on March 15, 2010, 11:13:45 AM
On updating to the latest (.44) version of BT with the latest Boinc 6.10.36 I am seeing a symptom of performing some BT operations.

I will sometimes suspend a couple of tasks to get a few more running, or to prioritize some in the queue.

What I see happening now that was not happening before is that the Boinc will hit the configured Boinc Preference: "While processor usage is less than ____"
I have had this at 25%, and previously have had no occurrence of the symptom.

What happens is that all of the tasks will go into an 'automatic suspended' mode with a status of 'waiting to start; suspended' (or the like) and the message window will record a "Suspending Computation - CPU usage is too high".  This will clear up and go back to normal withing 10-20 seconds (I use slow refresh rate).

Setting the Boinc Preference higher (like 50% seems to affect the symptom little, as it easily goes into this mode.
Setting it to 0 ('no restriction') fixes the symptom, but then this completely removes the automatic suspension that I do want to have when I am performing other processing on the computer.

What seems to be happening is since BT is not considered an official 'Boinc Process', and is being considered a foreign (ie: normal user computer process) and thus Boinc is automatically suspending all of its processing when BT does some things that take a moment of two to complete.

Maybe Boinc can be either be told that BT is a friendly process and not to be considered foreign, or BT can temporarily set the preference to the max while it is doing some processing that may take a bit of time and reset it back when done.
I put in a request, let's see if they can solve this problem. This feature is a bit over aggressive.

jjwhalen

#2
[edit]I just read Fred's reply as I was drafting this, but I'll post my musings anyway.[/edit]

I saw this exact issue a week or so ago when I was running BOINC 6.10.36 on my hosts.  I ended up setting the threshhold to 90%, which seemed to eliminate the majority of these interruptions.  I also ended up removing 6.10.36 and reverting to 6.10.18 (without this feature) not because of this but because I found the release far too unstable (it is after all, beta software), especially the 64bit version.  I also notice that 6.10.37 is out as of last Friday (also still in beta).  I've downloaded it but haven't tried it yet.  I'm currently working a Challenge on PrimeGrid, and don't want to gum up the works with a (likely) unstable client ;D  But it's possible they're still tinkering with this function.

I'm not sure what the BOINC crew are really trying to accomplish with this feature...hopefully that will be explained in the ReleaseNotes when the official release comes out.  It seems to duplicate functionality that should be managed by the OS ???  In any case, IMHO it's unlikely they will make concessions to the presence of a 3rd party client manager...open source or not.  But I always try to remember that running a beta (BM) against a beta (BOINC client, in this case) from two different sources, can cause strange things to happen.  And may not be a fair test of either.

One question: are you running both BOINCManager & BoincTasks at the same time?  BM is notorious for stealing CPU cycles, on the order of 15%, even when minimized ;)

Best wishes.


fred

#3
Quote from: jjwhalen on March 15, 2010, 10:30:57 PM
[edit]I just read Fred's reply as I was drafting this, but I'll post my musings anyway.[/edit]

I saw this exact issue a week or so ago when I was running BOINC 6.10.36 on my hosts.  I ended up setting the threshhold to 90%, which seemed to eliminate the majority of these interruptions.  I also ended up removing 6.10.36 and reverting to 6.10.18 (without this feature) not because of this but because I found the release far too unstable (it is after all, beta software), especially the 64bit version.  I also notice that 6.10.37 is out as of last Friday (also still in beta).  I've downloaded it but haven't tried it yet.  I'm currently working a Challenge on PrimeGrid, and don't want to gum up the works with a (likely) unstable client ;D  But it's possible they're still tinkering with this function.

I'm not sure what the BOINC crew are really trying to accomplish with this feature...hopefully that will be explained in the ReleaseNotes when the official release comes out.  It seems to duplicate functionality that should be managed by the OS ???  In any case, IMHO it's unlikely they will make concessions to the presence of a 3rd party client manager...open source or not.  But I always try to remember that running a beta (BM) against a beta (BOINC client, in this case) from two different sources, can cause strange things to happen.  And may not be a fair test of either.

One question: are you running both BOINCManager & BoincTasks at the same time?  BM is notorious for stealing CPU cycles, on the order of 15%, even when minimized ;)

Best wishes.
Try renaming the BoincTasks(64).exe  to boinctasks(64).exe. Boinc searches for the string boinc (case sensitive?) and excludes these programs.
So BoincTasks may not be excluded, but boinctasks may be excluded.

fred

A reply from David (BOINC Project director, architect, and developer):

OK.  I'll change it to check for Boinc as well as boinc
This will take effect in the next client release.

jjwhalen

#5
Quote from: fred on March 15, 2010, 11:23:31 PM
--SNIP--

Try renaming the BoincTasks(64).exe  to boinctasks(64).exe. Boinc searches for the string boinc (case sensitive?) and excludes these programs.
So BoincTasks may not be excluded, but boinctasks may be excluded.

Neat trick, which I accomplished after the usual gloom/doom whining from User Activity Control.  I'll see how well it works tomorrow (after the PrimeGrid challenge is over) with BOINC 6.10.37.  Will future BT (post 0.45) release packages have the .exe name in lowercase?

Best wishes.


tlsi2000

To all...

Thank you for the response on this.  I am a (s)low user of the Boinc systems, but appearently I stepped into a configuration that is of some concern to a number of users.

I will update and reconfigure as I can.

Thanks again.

fred

Quote from: jjwhalen on March 15, 2010, 11:49:09 PM
Quote from: fred on March 15, 2010, 11:23:31 PM
--SNIP--

Try renaming the BoincTasks(64).exe  to boinctasks(64).exe. Boinc searches for the string boinc (case sensitive?) and excludes these programs.
So BoincTasks may not be excluded, but boinctasks may be excluded.

Neat trick, which I accomplished after the usual gloom/doom whining from User Activity Control.  I'll see how well it works tomorrow (after the PrimeGrid challenge is over) with BOINC 6.10.37.  Will future BT (post 0.45) release packages have the .exe name in lowercase?

Best wishes.
The next BOINC release should correct this.
But I will see what I can do in my own installation.

jjwhalen

#8
Quote from: fred on March 17, 2010, 04:21:21 PM
--SNIP--
The next BOINC release should correct this.
But I will see what I can do in my own installation.
As advertised, I updated to BOINC 6.10.37 on all hosts after the PrimeGrid challenge was completed.  On the host running BoincTasks, with the renamed boinctasks64.exe, & the CPU suspension threshold at the default 25%, I saw little if any change in the number of suspensions while "managing" local & remote hosts via BT.  Ditto with the threshold at 50%.  For now I've returned the threshold to 90% (as previously with 6.10.36); again that seems to have set the bar high enough.  But at that level what's the point ???

I'm still trying to see the advantage of using this function of the new BOINC client (as opposed to just letting Windows' multitasking parcel out CPU cycles as it was designed to do).  But I'm willing to concede that the BOINC team must've had some reason to spend the time & resources developing it.  Maybe it's paving the way for some future enhancement?

Best wishes.


fred

Quote from: jjwhalen on March 17, 2010, 09:06:47 PM
Quote from: fred on March 17, 2010, 04:21:21 PM
--SNIP--
The next BOINC release should correct this.
But I will see what I can do in my own installation.
As advertised, I updated to BOINC 6.10.37 on all hosts after the PrimeGrid challenge was completed.  On the host running BoincTasks, with the renamed boinctasks64.exe, & the CPU suspension threshold at the default 25%, I saw little if any change in the number of suspensions while "managing" local & remote hosts via BT.  Ditto with the threshold at 50%.  For now I've returned the threshold to 90% (as previously with 6.10.36); again that seems to have set the bar high enough.  But at that level what's the point ???

I'm still trying to see the advantage of using this function of the new BOINC client (as opposed to just letting Windows' multitasking parcel out CPU cycles as it was designed to do).  But I'm willing to concede that the BOINC team must've had some reason to spend the time & resources developing it.  Maybe it's paving the way for some future enhancement?

Best wishes.
Normally Windows will do this quite nicely.
As this is a new BOINC function they may refine it after the user input they will get.
Maybe a post on the BOINC forum will clarify this.