Wish: Automatically suspend BOINC on CPU Temp threshholds

Questions and Answers : Wish list : Wish: Automatically suspend BOINC on CPU Temp threshholds
Message board moderation

To post messages, you must log in.

AuthorMessage
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 198615 - Posted: 29 Nov 2005, 16:45:52 UTC

Running BOINC on my laptop and allowing it to use all unused CPU cycles causes my pc to get HOT! Even with the fans going all of the time.

I'd like to see BOINC have preferences to automatically suspend and resume processing based on the CPU temperature (for those PC's that can report temp back to a program). There would be two preferences: Suspend processing when CPU reaches <temp1>, and Resume processing when CPU reaches <temp2> (where <temp1> would be greater than <temp2>). (I'd probably use something like temp1=80 C, and temp2=35 C...)

I'm currently using the CPU limiter for Linux that's listed on the Add-Ons page, but this is really a hack, as my concern is CPU temperature, not CPU usage...

Carl
ID: 198615 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 198623 - Posted: 29 Nov 2005, 16:50:47 UTC
Last modified: 29 Nov 2005, 17:00:35 UTC

try thread master from here http://setiathome.berkeley.edu/download_network.php
i have concerns about the above, as the thermal stress would harm the processor

best case would be to have a smaller range of temp change, so the CPU isn't going thru such a big temp change with each cycle

if you want to lower the temp without lowering the usage, then you need better cooling, as the more a CPU does, the hotter it will get, basic physics principal of how CPU's work at the moment
ID: 198623 · Report as offensive
Profile Jord
Volunteer tester
Avatar

Send message
Joined: 9 Jun 99
Posts: 15184
Credit: 4,362,181
RAC: 3
Netherlands
Message 198627 - Posted: 29 Nov 2005, 16:54:49 UTC

I will only whisper this: CPU usage is CPU temperature.

Anyway, check your BIOS. I am sure your BIOS is able to tell you that your CPU is too hot, so at that time it throttles back everything. We have it for our desktops, so you surely must have it for your laptop, which runs hot earlier than a desktop.

Also make sure you don't take "laptop" literal. Make sure it's elevated off the desk or lap when running, so it can cool itself!
ID: 198627 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 198633 - Posted: 29 Nov 2005, 16:58:00 UTC - in response to Message 198627.  

Make sure it's elevated off the desk or lap when running, so it can cool itself!

This does actually help a lot, even raising it with a few pencils helps, i usually use something bigger thou, or put it on a wire-rack to allow lots of air underneath

even when doing something very insensive and time-sensitive like playing games, this makes all the difference, no more jitter when it can get enough air :)
ID: 198633 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 198704 - Posted: 29 Nov 2005, 18:29:14 UTC - in response to Message 198633.  

Thanks to all for the ideas, but...

...my laptop is pretty old, so I'm not sure it'll have the thermal guard in the BIOS, but I definately WILL check. I'm wondering how fast (if???) the CPU will cool down running constantly in the throttled-back mode.

...I'm running Linux, so threadmaster won't work. I did get, and I am using, the CPU Limiter listed in the Linux/Unix section, but I can only run at about 3% CPU without things getting pretty hot and the fan running all the time. I had SETI/classic [and fan!] running 24/7 up until about a month ago. I've already gone through more than a half dozen fans, and now that the PC is out of warranty, I'd rather not have to replace them every 6 months or so.

...using the CPU Limiter is only a GUESS as to what I'm trying to achieve. Having BOINC parameters to ensure I'll achieve what I hope to would be more comforting, if not more accurately addressing the problem.

Thanks again for the comments. I *really do* appreciate them. And, thanks Lee for the suggestion that the temp range is too big. I've seen bigger ranges on the laptop, but only rarely. I'll keep that in mind should this request ever get implemented.

Carl
ID: 198704 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 198716 - Posted: 29 Nov 2005, 18:39:20 UTC - in response to Message 198704.  
Last modified: 29 Nov 2005, 18:39:42 UTC

Thanks to all for the ideas, but...

...my laptop is pretty old, so I'm not sure it'll have the thermal guard in the BIOS, but I definately WILL check. I'm wondering how fast (if???) the CPU will cool down running constantly in the throttled-back mode.

...I'm running Linux, so threadmaster won't work. I did get, and I am using, the CPU Limiter listed in the Linux/Unix section, but I can only run at about 3% CPU without things getting pretty hot and the fan running all the time. I had SETI/classic [and fan!] running 24/7 up until about a month ago. I've already gone through more than a half dozen fans, and now that the PC is out of warranty, I'd rather not have to replace them every 6 months or so.

...using the CPU Limiter is only a GUESS as to what I'm trying to achieve. Having BOINC parameters to ensure I'll achieve what I hope to would be more comforting, if not more accurately addressing the problem.

Thanks again for the comments. I *really do* appreciate them. And, thanks Lee for the suggestion that the temp range is too big. I've seen bigger ranges on the laptop, but only rarely. I'll keep that in mind should this request ever get implemented.

Carl


you could try only allowing boinc to work at night in you general prefs and putting your laptop somewhere cold prehaps?
ID: 198716 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 198757 - Posted: 29 Nov 2005, 19:19:15 UTC - in response to Message 198716.  


you could try only allowing boinc to work at night in you general prefs and putting your laptop somewhere cold prehaps?


Thanks, Lee, for the EXTREME efforts to help me get around this problem, but I don't think my wife would like me putting my laptop in the freezer every night! Besides, all that melted ice cream wouldn't be too good for the pc!! <ROTFLOL!>

Thinking about it, it probably wouldn't be too difficult of a hack to modify the CPU Limiter to base it's suspend/resume signals on CPU temperature instead of % CPU. Perhaps I'll give it a go...

...but I'd still like to see the parameters in BOINC...

Thanks again,

Carl
ID: 198757 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 198766 - Posted: 29 Nov 2005, 19:38:27 UTC - in response to Message 198757.  

Thanks, Lee, for the EXTREME efforts to help me get around this problem, but I don't think my wife would like me putting my laptop in the freezer every night! Besides, all that melted ice cream wouldn't be too good for the pc!! <ROTFLOL!>

You're welcome :)
I wasn't thinking of somewhere really cold like freeer, maybe a basement, or a porch prehaps? basically somewhere that would keep it cooler than it would be in the house

Thinking about it, it probably wouldn't be too difficult of a hack to modify the CPU Limiter to base it's suspend/resume signals on CPU temperature instead of % CPU. Perhaps I'll give it a go...

...but I'd still like to see the parameters in BOINC...

Thanks again,

Carl


I agree, it would be nice to see, i've made a few "would be nice if..." suggestions myself, but i know the programers are rather busy at present

regarding the problem at hand, i believe i'm out of suggestions :p
so far my programming skills only go as far as HTML
post back if you have any sucess yourself, i know a few friends that would like to join the boinc scene, but as they only have laptops (uni students) they'd rather not, because they'd just get too hot, so this is of interest to myself as well as others with laptops
ID: 198766 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 198849 - Posted: 29 Nov 2005, 21:22:06 UTC - in response to Message 198766.  

I was only kiddin' with the freezer thing <VBG>...

I'm looking at the source for CPU Limiter, and I think adding the temp limits to that might not be that big of a deal. Right now, though, I'm kinda limited to using the i8kutils functioning for getting CPU temp (mainly because I have that source as well, and my laptop is a Dell, which uses an i8k, and because I have no clue how other PCs might report CPU temp back in Linux). If (when) I get it working, I'll pass the source back to the CPU Limiter author for his consideration...

Carl
ID: 198849 · Report as offensive
Profile efa
Avatar

Send message
Joined: 26 Mar 00
Posts: 233
Credit: 494,221
RAC: 0
Italy
Message 198867 - Posted: 29 Nov 2005, 21:40:13 UTC

I want boinc stop crunching when I open the windows, or buy some milk.
;-))

ID: 198867 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 198995 - Posted: 30 Nov 2005, 0:48:49 UTC - in response to Message 198849.  

Well, that didn't take too long :-)

I've hacked CPU Limiter to use i8k to get the CPU temp, and pause/resume setiathome based on parameters to the program. It seems to be working pretty well, but more testing really should be done. I should also make it a bit more generic/user friendly before I make it public...

Lee, do you have any suggestions as to temperatures to use to minimize any heat stress, and still get a good CPU utilization percentage? I'm currently running with suspend at 70 C, and resume at 60 C, which gives me about 33% utilization (running about 30 seconds, suspended about a minute). I'm no thermodynamics guru, so I'm guessing that your concern was the frequent up and down in temp in a relatively wide range. Does this seem suitable? Thanks in advance for any input here...

Carl
ID: 198995 · Report as offensive
Hans Dorn
Volunteer developer
Volunteer tester
Avatar

Send message
Joined: 3 Apr 99
Posts: 2262
Credit: 26,448,570
RAC: 0
Germany
Message 199001 - Posted: 30 Nov 2005, 0:59:17 UTC - in response to Message 198995.  

Well, that didn't take too long :-)

I've hacked CPU Limiter to use i8k to get the CPU temp, and pause/resume setiathome based on parameters to the program. It seems to be working pretty well, but more testing really should be done. I should also make it a bit more generic/user friendly before I make it public...

Lee, do you have any suggestions as to temperatures to use to minimize any heat stress, and still get a good CPU utilization percentage? I'm currently running with suspend at 70 C, and resume at 60 C, which gives me about 33% utilization (running about 30 seconds, suspended about a minute). I'm no thermodynamics guru, so I'm guessing that your concern was the frequent up and down in temp in a relatively wide range. Does this seem suitable? Thanks in advance for any input here...

Carl


Hi Carl,

you could try to lower your FSB clock if your BIOS allows this. This should cool things down,
but will make all your apps work slower.

Regards Hans
ID: 199001 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 199202 - Posted: 30 Nov 2005, 6:03:30 UTC - in response to Message 198995.  
Last modified: 30 Nov 2005, 6:16:16 UTC

Lee, do you have any suggestions as to temperatures to use to minimize any heat stress

unfortunetly it's more of an "educated estimate" thing, it also depends on the temp of your cpu at idle and full load, for example the computer i happen to be using at present is a Xeon work station, which will sit at about 47 C when idle, but if i run a workunit on every processor it'll get up to about 65/70. Each CPU is different, and it also depends on the cooling, ambient temp etc... i could go on

a range of 10 degrees seems good, but obviously the tighter the better, 5 degrres should be fine, but set the upper and lower limits depending on how much you want your CPU doing, if you want it doing more, set them higher obviously, it's the range that matters, not the absolute temperature
It might be worth experimenting with very tight ranges, say 1 degree to see what happens, because ideally, you don't want any variance, ideally it should be constant

the problem is not with absolute temperature, eg 50 vs. 60 (as long as you don't exceed the limits for the actual chip), but more with the rate, and range of temp change. Better things are, in order of importance; smaller range of change, less frequent change (freqency matters more as the range of change becomes larger, if it's only a small range of change then frequency of change is almost irrelevent), and slower rate of change

an anergy: imagine a strobe light in a dark room, when the strobe is flashing slowly there's a clear difference between light and dark, and the time between change is quite long (ok a strobe changes pretty quickly, but a CPU will take time to cool/heat, so it's not a perfect comparison), if you increase the "strobe rate" the amout of time in any one state becomes shorter, the "rate of change" is faster, you eventually get to a point where the strobe is going fast enough that the room no longer has clear distinction between light and dark, it's "dimly lit" at a seemingly constant level, this is basically what you want to achieve, a more constant temperature/utilisation hence setting the values closer is better

an example: hard drives; if the computer is switched on and off say daily, the hard drive will die a lot quicker than if left on all the time (with sufficient cooling) as hard drives are very sensitive to temp change (they have to work so precisely in such a small space).
This effect of thermal stress can be seen on older motherboards, where you might be able to "wiggle" the chips a bit, this is due to the constant expanding and contracting of the materials, which is the essence of thermal stress

in short, the actual values to use, depend on your CPU and how hot you want it, or what % utilisation you want, but just don't have a range of something like 20-30 degrees of change, 5-10 would be better

right, that's enough theory for today, time for recess :) lol

any questions just shout
ID: 199202 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 199359 - Posted: 30 Nov 2005, 13:27:10 UTC - in response to Message 199202.  

Wow! Thanks a lot for the lesson in thermodynamics! Lee, I really appreciate the time you have taken to help me with this.

My goal with this is to get the highest utilization without frying my laptop, and without needing a new fan every 6 months or so. It's currently running at about 33% BOINC, which isn't too bad.

When sitting idle, the CPU is somewhere around 35 to 40 C. I've seen it go as high as over 90 C when I had SETI/classic running and the fan had a problem. I found that when I (nearly) burnt myself putting the thing on my lap! Obviously, I don't want it running up there all the time...

I'm currently running BOINC using the temp range 60 to 70 C. I chose this range so that the CPU can cool reasonably quickly just from the environment (i.e., fan off most of the time). As I've said, it takes about 30 seconds for it to go from 60 to 70, and about a minute to cool back down to 60. Since it heats up so quickly, I don't think I want to narrow the range too much more, unless this temp cycling is doing harm. Maybe I'll play with a 65 to 70 range, or there abouts.

I'll post my changes to the CPU Limiter later today (most likely).

Thanks again for the help.

Carl

P.S. Trying to be helpful, I think you mis-used the word "anergy". I think you wanted to use "analogy". According to my Random House Dictionary, anergy (which I had to look up) is a "lack of immunity to an antigen"; analogy is a "partial similarity between like features of two things on which a comparison may be based".

P.P.S. I've learned three things already today, and I've only been awake a little over an hour. It's gonna be a great day! (The three things: A bit of thermodynamics, a new word (anergy), and a bit about the Channel Islands.)
ID: 199359 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 199946 - Posted: 1 Dec 2005, 6:53:37 UTC - in response to Message 199359.  
Last modified: 1 Dec 2005, 6:58:49 UTC

Wow! Thanks a lot for the lesson in thermodynamics! Lee, I really appreciate the time you have taken to help me with this.

you're quite welcome, but maybe i did go a little overboard lol

My goal with this is to get the highest utilization without frying my laptop, and without needing a new fan every 6 months or so. It's currently running at about 33% BOINC, which isn't too bad.

When sitting idle, the CPU is somewhere around 35 to 40 C. I've seen it go as high as over 90 C when I had SETI/classic running and the fan had a problem. I found that when I (nearly) burnt myself putting the thing on my lap! Obviously, I don't want it running up there all the time...

I'm not sure if you noticed, but i avoided suggesting any absolute temps, this has to be something of a trial-and-error effort on your part, balencing crunching power with temperature, i was merely suggesting that you might want a smaller range to reduce the effects of thermal stress and so make your CPU last a bit longer, basically keep increasing the temp (by moving the range up or down the "temp scale") until you consider it to be "too hot" then lower it a bit back a bit to allow for some variance, like a hot day for example.

I'm currently running BOINC using the temp range 60 to 70 C. I chose this range so that the CPU can cool reasonably quickly just from the environment (i.e., fan off most of the time). As I've said, it takes about 30 seconds for it to go from 60 to 70, and about a minute to cool back down to 60. Since it heats up so quickly, I don't think I want to narrow the range too much more, unless this temp cycling is doing harm. Maybe I'll play with a 65 to 70 range, or there abouts.

if it's changing that quickly i would suggest a smaller range so that it doesn't heat/cool quite so often, the bottom line is, the bigger the range, the more thermal stress (which will cause damange over time, i've seen it kill hard drives in about 6 months), having a smaller range isn't "bad" in any way, and if your CPU changes temp that quick i would recommend 5 degrees at most, if not less as switching more often will do just that, switch more often, and maintain a more constant temperature, which is better, especially if you're going to publish/submit the code for others to use.

P.S. Trying to be helpful, I think you mis-used the word "anergy". I think you wanted to use "analogy". According to my Random House Dictionary, anergy (which I had to look up) is a "lack of immunity to an antigen"; analogy is a "partial similarity between like features of two things on which a comparison may be based".

so i did, sorry, i spell phonetically (how it sounds), i ment to use "analogy"

P.P.S. I've learned three things already today, and I've only been awake a little over an hour. It's gonna be a great day! (The three things: A bit of thermodynamics, a new word (anergy), and a bit about the Channel Islands.)

sounds like you've been a busy bunny,
a bit more about the Channel Isles for you; Jersey's a nice place to visit, but don't come live here, i'll just say "polotics" lol
ID: 199946 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 200397 - Posted: 1 Dec 2005, 20:33:11 UTC - in response to Message 199946.  

Again, thanks a lot for the education, Lee!

I've kind of settled on letting the temperature range from 65 to 70 C, with boinc further being limited to 25% CPU. (I added the temp check to the existing utilization check in cpulimit, so you can limit on both. I'll publish the changes to cpulimit soon....) This gives a cooling time of about a minute, and a heat-up time of about a minute and a quarter. Over 10 minute intervals, this give something around 20% CPU utilization, which is reasonable. I may move the range up a bit, and narrow it, but I wonder if it's worth the time and effort.

Thanks again for the help,

Carl
ID: 200397 · Report as offensive
Profile Lee Carre
Volunteer tester

Send message
Joined: 21 Apr 00
Posts: 1459
Credit: 58,485
RAC: 0
Channel Islands
Message 201336 - Posted: 2 Dec 2005, 19:39:40 UTC - in response to Message 200397.  

Again, thanks a lot for the education, Lee!

I've kind of settled on letting the temperature range from 65 to 70 C, with boinc further being limited to 25% CPU. (I added the temp check to the existing utilization check in cpulimit, so you can limit on both. I'll publish the changes to cpulimit soon....) This gives a cooling time of about a minute, and a heat-up time of about a minute and a quarter. Over 10 minute intervals, this give something around 20% CPU utilization, which is reasonable. I may move the range up a bit, and narrow it, but I wonder if it's worth the time and effort.

Thanks again for the help,

Carl

and again you're welcome ;)

as for range, i'm no programmer, so i don't know the hastles involved with coding something like this, but 5 degrees should be fine.
The only thing is where the range lies, as this will determine you're overall CPU utilisation
sounds like you've made a very useful mod for a good app there :)
ID: 201336 · Report as offensive
Carl Sopchak

Send message
Joined: 26 Jul 00
Posts: 14
Credit: 2,021,808
RAC: 0
United States
Message 455312 - Posted: 11 Nov 2006, 18:43:06 UTC - in response to Message 201336.  

Well, it's be almost a year since I started this thread, and about 11 months since I implemented the changes to cpulimit to add CPU temperature to the limiting code. I've been running it on my laptop since, and must say it works quite well.

I have asked Angelo, a.k.a. marlonx80, to add my changes to his cpulimit web page so that others could use it (more than once), which he seemed agreeable to, but apparently he hasn't got around to it yet... (Not intended to be a slam on Angelo - I'm sure he has plenty of things to do with his time...)

So, here's a URL that you can use to get my changes:

http://home.twcny.rr.com/setiatease/cpulimit-1.1c.tar.gz

This is a "tarball" which includes my revised cpulimit-1.1c source, a diff file showing the changes from the 1.1 version, Makefiles for compiling either version, as well as a ChangeLog and README explaining how it all works.

I should state that this requires that your linux have a file called i8k in the /proc file system which reports the CPU temperature when read. My Dell laptop does... If your PC uses another method of reporting the CPU temp, it should be fairly easy to hack the C program to use any other method.

I hope someone finds this useful...

Carl


ID: 455312 · Report as offensive

Questions and Answers : Wish list : Wish: Automatically suspend BOINC on CPU Temp threshholds


 
©2024 University of California
 
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.