CPU throttling: How does it work with multiple cores and/or threads?

Message boards : BOINC client : CPU throttling: How does it work with multiple cores and/or threads?
Message board moderation

To post messages, you must log in.

AuthorMessage
zombie67
Avatar

Send message
Joined: 14 Feb 06
Posts: 139
United States
Message 10721 - Posted: 6 Jun 2007, 4:00:03 UTC

If I understand correctly, CPU Throttling works by suspending CPU usage a percentage of the time. The wiki says "It you specify 50%, BOINC will compute only every other second. This reduces the heat output and energy usage of your CPU chip."

How does this work with multi-core and/or multi-thread CPUs? Do they turn off/on in unison? Alternate evenly? At random?
Reno, NV
Team: SETI.USA
ID: 10721 · Report as offensive
Profile KSMarksPsych
Avatar

Send message
Joined: 30 Oct 05
Posts: 1239
United States
Message 10729 - Posted: 6 Jun 2007, 11:09:17 UTC

Off the top of my head, I think it was in unison on a Pentium D the last time I checked. But that was somewhere in the early 5.9.x range when I last had that machine as it went back to school with my brother. But if you give me some time, I can check it today on the laptop and see what happens.
Kathryn :o)
ID: 10729 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10743 - Posted: 6 Jun 2007, 17:34:36 UTC - in response to Message 10742.  

Why not talk to the Threadmaster author and see if that logic can be adopted.

Because Threadmaster is ONLY for Windows. It uses a CPU throttling API build in in Windows (the same one that uses the System Idle Time).

It cannot be adopted for Linux or the Mac, or any of the other OSes people port it to. This can.
ID: 10743 · Report as offensive
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15477
Netherlands
Message 10753 - Posted: 6 Jun 2007, 22:10:55 UTC - in response to Message 10751.  
Last modified: 11 Jun 2007, 10:58:55 UTC

Because Threadmaster is ONLY for Windows. It uses a CPU throttling API build in in Windows (the same one that uses the System Idle Time).

It cannot be adopted for Linux or the Mac, or any of the other OSes people port it to. This can.


That i expected as a response, but at least it points the way of how it could be implemented and what can be achieved.

OK, then please explain to the developers how they can do it on ALL possible OSes out there.

S-Rob, unless you can get the info from a couple of Windows developers (they surely want to stay anonymous!) who worked on the API for the different Windows OSes and manage to get that info to the BOINC devs, I doubt they can use it... They'd get court problems in the millions of dollars thrown at them within minutes.
ID: 10753 · Report as offensive
KAMasud

Send message
Joined: 13 Feb 07
Posts: 21
Pakistan
Message 11164 - Posted: 23 Jun 2007, 14:29:44 UTC


:-) Yes this method of throttling does put the system hard ware under tremendous stress. ThreadMaster works better.
regards
Masud.
ID: 11164 · Report as offensive
dbltapp

Send message
Joined: 9 Jul 07
Posts: 8
Message 11586 - Posted: 10 Jul 2007, 20:35:13 UTC - in response to Message 11164.  


:-) Yes this method of throttling does put the system hard ware under tremendous stress. ThreadMaster works better.
regards
Masud.


Regarding Threadmaster - if BOINC has 4 apps running do they each count as a thread and the total cpu % I want to alot has to be spread over 4 apps?
ID: 11586 · Report as offensive
dbltapp

Send message
Joined: 9 Jul 07
Posts: 8
Message 11591 - Posted: 11 Jul 2007, 0:12:30 UTC - in response to Message 11587.  
Last modified: 11 Jul 2007, 0:42:29 UTC


:-) Yes this method of throttling does put the system hard ware under tremendous stress. ThreadMaster works better.
regards
Masud.


Regarding Threadmaster - if BOINC has 4 apps running do they each count as a thread and the total cpu % I want to alot has to be spread over 4 apps?


Just tested it few days ago. TM treats each CPU core as a separate CPU to manage. Watch out though as TM gets the % from Windows thus it sees on a 4 core 25% as 100%. To run 75% per core you have to enter say 18 (only takes integer values afaik). You'd observe 4 processes in TM hovering around 18%. Also, you need to lower the threshold value which is like 25, which on a quad TM treats as 100% i.e. regardless the sampled 18, all would run full tilt. Play a bit as i've only set it up on a C2D.... works a treat.

Oh did not see it scanning the thread, but BOINC itself needs to be set to 100%.


Just realized it's throttling the project processes, not BOINC. Ohhhhh..
ID: 11591 · Report as offensive

Message boards : BOINC client : CPU throttling: How does it work with multiple cores and/or threads?

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.