Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go »
No member browsing this thread
Thread Status: Active
Total posts in this thread: 9
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 622 times and has 8 replies
Dotsch
Advanced Cruncher
Joined: Feb 12, 2006
Post Count: 100
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
CPU Throtteling does not work

I have the problem, that CPU throtteling on macos with the newest ARP WUs not work.
The tasks uses 100% CPU and ignore any setting for the CPU throtteling.
[Jul 29, 2025 5:57:41 PM]   Link   Report threatening or abusive post: please login first  Go to top 
catchercradle
Senior Cruncher
England
Joined: Jan 16, 2009
Post Count: 167
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Not a Mac user here but Linux. My understanding is that CPU throttling reduces CPU life by the constant heating and cooling. I prefer to control temperatures by limiting the number of cores in use.
[Jul 29, 2025 7:57:04 PM]   Link   Report threatening or abusive post: please login first  Go to top 
alanb1951
Veteran Cruncher
Joined: Jan 20, 2006
Post Count: 1317
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Another Linux user here, but the reasons for not using "%age of CPU time" as a throttle are good across Darwin, Linux and Windows :-)

Catchercradle has a point, although I believe the BOINC folks are trying to revise the throttling mechanism (presumably to stagger the throttling across cores?). Perhaps the Darwin version simply can't do throttling any longer... However, one important unwelcome side-effect of that throttling method was tasks freezing (MCM1 here, and I know of MilkyWay users having similar issues), so that's another reason not to use it!

If I want to throttle one of my systems I can do it by forcibly capping CPU frequencies, but I don't know whether that's an option on Darwin or not. (I'm usually doing that to keep systems running below some power limit without tinkering in the BIOS, not because of noise or temperature!) I also use app_config.xml files and the maximum CPUs client option to control BOINC behaviour...

There are other reasons (beside managing temperature or noise) why limiting the number of CPU threads used by BOINC might be a good idea, including managing throughput (too many ARP1 tasks at once results in them becoming obviously memory-bound as they have substantial levels of L2 cache misses on AMD/Intel systems, meaning L3 cache gets exercised a lot. Given that ARP1 depends on reasonably prompt turn-around of tasks, it may be better to run a smaller number of tasks a fair bit quicker; finding the balance might take some time, but it's worth it...

Users who never ran Microbiome Immunity Project (which hammered memory harder than ARP1) won't have experienced the crazy situation that arose with that application; the more tasks one ran, the cooler the CPU ran because the tasks rapidly became truly memory-bound! Some MilkyWay users remark that they like the project because the CPU(s) stay cooler (I wonder why...), and the much larger, more complex, weather models of CPDN also tend to be memory-bound, but as they are expected to run for days anyway...

Cheers - Al.
----------------------------------------
[Edit 1 times, last edit by alanb1951 at Jul 29, 2025 10:48:28 PM]
[Jul 29, 2025 10:44:28 PM]   Link   Report threatening or abusive post: please login first  Go to top 
TonyEllis
Senior Cruncher
Australia
Joined: Jul 9, 2008
Post Count: 286
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Those running Linux who think they will be saving CPU life by running less cores to reduce constant heating and cooling hoping the remaining cores will run at 100% might want to investigate further. I have observed on Fedora, Ubuntu, Debian, Raspberrypi OS and Armbian the following. Linux constantly moves boinc WUs between cores if there are less WUS than CPUS. Hence if you are not running all cores with WUs at 100%, they will be running an average of less than 100% with the subsequent heating and cooling.

You can visually see this on Linux by installing a GUI CPU activity monitor such as gkrellm. Set number of boinc WUs running to less than your core count and ensure you ave nothing else running sufficient to use all all the spare CPU capacity. You will see constant movement of WU work load between the cores i.e. the cores running at 100% is changing over time. I read, and have not verified, that Linux does this to attempt to keep the *average* CPU temperatures similar.

Even if you run less WUs than cores and set affinity for boinc, then the unused core(s) for boinc will still heat and cool depending on the amount of housekeeping, io etc to be accomplised.

If you want to run the cores at 100% to minimise heating and cooling running ARP then set the number of APR running simultaneously suitable for your memory etc and fill the rest of the cores with other work such as MCM. Set WUS to run at 100%. Then, as mentioned above by alanb1951, reduce the CPU frequency to an appropriate level to facilitate a suitable running temperature. If you run program that automatically changes frequency to maintain a near constant temperature so much the better.

An example of near constant temperature https://grassmere-productions.no-ip.biz/26/cputemp-year.png
Changes in frequency over that period https://grassmere-productions.no-ip.biz/26/cpufreq-year.png
Blue line is room temp for that system https://grassmere-productions.no-ip.biz/26/room_temp-year.png

CPUs are one of the most reliable parts of a system. Those that have lost a CPU, other than manufacturing defect, have usually abused them in some way or another either inadvertently or by choice. Usual suspects are overclocking with risky voltage increases, too hot from poor thermal contact, fan failure, poor enclosure cooling system, water leaks or mechanical faults such as bending from over-tight fan mounting or bent pins. Heating and cooling during use is not a problem,. Heating and cooling from being being powered on for a few hours, then powered off for a few hours would be more of an issue if heating and cooling was in fact a CPU life problem.
----------------------------------------
[Jul 30, 2025 4:24:40 AM]   Link   Report threatening or abusive post: please login first  Go to top 
catchercradle
Senior Cruncher
England
Joined: Jan 16, 2009
Post Count: 167
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Not too worried about temperature here as I think heat is dissipated quickly enough with only 12 out of 16 cores crunching. Running fewer cores temp never goes above what I feel happy with whereas with throttling it goes above what I would like and then drops back down. You may be right about the swapping between cores having the same effect though. I will do more reading on this.

It will be interesting to see what happens with the soon to be released 4 core tasks from CPDN which peak at 26GB RAM usage. I don't know how these are for cache memory though the older Met Office models for CPDN do have the issue that running too many slows things down.
[Jul 30, 2025 5:53:01 AM]   Link   Report threatening or abusive post: please login first  Go to top 
alanb1951
Veteran Cruncher
Joined: Jan 20, 2006
Post Count: 1317
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Tony, thanks for a nice, measured, post!

For what it's worth, I find that with 75% of CPU threads allocated to BOINC on my three Ryzen systems the temperature doesn't seem to leap around too much, so I'm more bothered about the performance degradation...

I'm aware of the excessive core-swapping of Linux (which seems to have got worse with more recent kernels); the last time I checked, on Ubuntu the default settings a BOINC client uses result in tasks being regarded as both low priority (via the 'nice' value') and not heavily compute-based (so it would tend to assume no real need to try to keep an application on the same CPU!). Bye-bye TLBs, cache contents, et cetera...

I suspect there are affinity techniques that could be brought into play, but unless the BOINC client organizes them itself I'm not going there, as it would need to be done at a process (per CPU) level, not just an application name to group of CPUs, and I'm fairly sure I'd not be able to get that right by myself (I'm a long time retired!).

Again, thanks for the post!

Cheers - Al.
----------------------------------------
[Edit 2 times, last edit by alanb1951 at Jul 30, 2025 6:04:45 AM]
[Jul 30, 2025 5:53:01 AM]   Link   Report threatening or abusive post: please login first  Go to top 
TonyEllis
Senior Cruncher
Australia
Joined: Jul 9, 2008
Post Count: 286
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Thanks Alan. Retired myself 12 years ago aged 70.

I should have mentioned that I have no idea what happens with Windows. I believe in Windows advanced Power Management there might be some means of frequency control. Maybe the same core swapping takes place in Windows. Don't run Windows 11, nor have a machine capable of such without hacking the install.

Do own an old IBM T410 laptop lying around some place with Version 10 and an old version of gkrellm that ran on Windows to test CPU activity if the Window Task Manger is not good enough. However, the results might or might not be relevant to Windows 11, so not really interested in finding out. Interest in Windows died with retirement as it was mandatory at work on a supplied laptop. Maybe someone running Windows 11 can investigate.

catchercradle You mention "throttling". What is the actual mechanism used to throttle. Anything that is so slow to produce a noticeable change in temperature over time seems very inefficient. Likely it doesn't react quick enough to temperature changes. Or is it some type of fixed on - off ratio behaviour not modified by temperature at all, or too long a time constant.
----------------------------------------
[Jul 30, 2025 6:52:39 AM]   Link   Report threatening or abusive post: please login first  Go to top 
Dotsch
Advanced Cruncher
Joined: Feb 12, 2006
Post Count: 100
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

The throtteling is implemented via the BOINC API, which is included in the BOINC science app. The BOINC client thortteling by time slices between 100 an 0 to got f.e. 50%.


For a laptop user it is a shop stopper when the laptop overheats or fans running at 100%.
[Jul 30, 2025 6:58:33 AM]   Link   Report threatening or abusive post: please login first  Go to top 
TonyEllis
Senior Cruncher
Australia
Joined: Jul 9, 2008
Post Count: 286
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: CPU Throtteling does not work

Thanks Dotsch - never seen this API. Seems like it's for Windows only. A quick search on the web found only a Windows manual for TThrottle. Can find no mention of it in any of the Linux boinc documentation.
----------------------------------------
[Jul 30, 2025 7:52:50 AM]   Link   Report threatening or abusive post: please login first  Go to top 
[ Jump to Last Post ]
Post new Thread